homebank-5.5.2/0000775000175000017500000000000014045525102010310 500000000000000homebank-5.5.2/pixmaps/0000775000175000017500000000000014045525102011771 500000000000000homebank-5.5.2/pixmaps/Makefile.in0000664000175000017500000003374714036076652014007 00000000000000# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2020 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.5.2/pixmaps/Makefile.am0000664000175000017500000000325012407562410013750 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.5.2/pixmaps/hicolor_apps_22x22_homebank.png0000644000175000017500000000267311330305272017610 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.5.2/pixmaps/hicolor_apps_16x16_homebank.png0000644000175000017500000000174211330305316017611 00000000000000PNG  IHDRasBIT|d pHYs|4ktEXtSoftwarewww.inkscape.org<tEXtTitleHome BanktEXtAuthorNathan M. WillardbdŒtEXtCreation Time16JUL06UIDAT8eMlTU{f:M!ɸi%MXB E]l… W¥1qƅ 0BHLT\EI6De{qі9D;R㥱=Z|]VG򁑜Un Cus+Kg<\&}XlOqw: kȥWkvkiXA<_<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.5.2/pixmaps/hicolor_apps_256x256_homebank.png0000644000175000017500000011124712407562505020002 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-h,-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.5.2/pixmaps/homebank.svg0000644000175000017500000007224612407562510014233 00000000000000 image/svg+xml Home Bank 16JUL06 Nathan M. Willard EN homebank-5.5.2/pixmaps/hicolor_apps_32x32_homebank.png0000644000175000017500000000450011330305240017574 00000000000000PNG  IHDR szzsBIT|d pHYs : :dJtEXtSoftwarewww.inkscape.org<tEXtTitleHome BanktEXtAuthorNathan M. WillardbdŒtEXtCreation Time16JUL06U]IDATX[]Uk9N;W2"X ъB%$a`5QÓ>`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.5.2/pixmaps/hicolor_apps_48x48_homebank.png0000644000175000017500000001010411330305170017611 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&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-fr_CA.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.5.2/data/datas/hb-categories-pt.csv0000644000175000017500000000526411374317671016130 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.5.2/data/datas/Makefile.am0000644000175000017500000000061614002765523014300 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-fr_CA.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.5.2/data/datas/hb-categories-de.csv0000644000175000017500000000466011374317625016073 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.5.2/data/datas/hb-categories-en.csv0000644000175000017500000000430211367354455016102 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.5.2/data/datas/hb-categories-ru.csv0000644000175000017500000001121512532111546016112 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.5.2/data/datas/hb-categories-cy.csv0000664000175000017500000000434113311142110016066 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.5.2/data/datas/example.xhb0000664000175000017500000003351213756421001014400 00000000000000 homebank-5.5.2/data/datas/hb-categories-es.csv0000644000175000017500000000557211425013520016075 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.5.2/data/datas/hb-categories-ro.csv0000644000175000017500000000535711374317700016121 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.5.2/data/datas/hb-categories-it.csv0000644000175000017500000000527611374317662016124 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.5.2/data/datas/hb-categories-lt.csv0000664000175000017500000000400512436321407016106 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.5.2/data/datas/hb-categories-fr.csv0000646000175000017500000000522711374317651016113 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.5.2/data/datas/hb-categories-hu.csv0000664000175000017500000000534613436221666016123 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.5.2/data/Makefile.in0000664000175000017500000005405014036076652013225 00000000000000# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2020 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.5.2/data/homebank.desktop.in0000664000175000017500000000047714036076662014751 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.5.2/data/Makefile.am0000644000175000017500000000076012505267665013216 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.5.2/data/homebank.appdata.xml.in0000664000175000017500000000165012603765621015501 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.5.2/data/homebank.desktop.in.in0000644000175000017500000000047712603766713015355 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.5.2/config.guess0000755000175000017500000012605111023413026012545 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.5.2/mkinstalldirs0000644000175000017500000000132211023413026013021 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.5.2/README0000644000175000017500000000044711023413026011105 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.5.2/mime/0000775000175000017500000000000014045525102011237 500000000000000homebank-5.5.2/mime/homebank.mime0000644000175000017500000000004111023413034013576 00000000000000application/x-homebank ext: hxb homebank-5.5.2/mime/homebank.keys0000644000175000017500000000052511262177611013646 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.5.2/mime/homebank.xml0000644000175000017500000000070011262200530013451 00000000000000 HomeBank File Fichier HomeBank homebank-5.5.2/mime/Makefile.in0000664000175000017500000004153714036076652013251 00000000000000# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2020 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.5.2/mime/Makefile.am0000644000175000017500000000163611023413034013210 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.5.2/mime/homebank.applications0000644000175000017500000000027711262177641015370 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.5.2/NEWS0000644000175000017500000000024711023413024010720 00000000000000HomeBank -- Free, easy, personal accounting for everyone. --------------------------------------------------------- Every changes can be read in the ChangeLog file. homebank-5.5.2/AUTHORS0000644000175000017500000000004012166572746011312 00000000000000Active authors: Maxime Doyen homebank-5.5.2/depcomp0000755000175000017500000003710011023413026011576 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.5.2/config.sub0000755000175000017500000007713011023413026012213 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: homebank-5.5.2/Makefile.in0000664000175000017500000007072014036076652012316 00000000000000# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2020 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 # Exists only to be overridden by the user if desired. AM_DISTCHECK_DVI_TARGET = dvi 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-zstd: distdir tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst $(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 ;;\ *.tar.zst*) \ zstd -dc $(distdir).tar.zst | $(am__untar) ;;\ 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) $(AM_DISTCHECK_DVI_TARGET) \ && $(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 \ dist-zstd 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.5.2/configure0000775000175000017500000072026414036076656012171 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for homebank 5.5.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.5.2' PACKAGE_STRING='homebank 5.5.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.5.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.5.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.5.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.5.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 MISSING="\${SHELL} '$am_aux_dir/missing'" 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.5.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 gtk+-3.0 >= 3.16 glib-2.0 >= 2.39" >&5 $as_echo_n "checking for gtk+-3.0 >= 3.16 glib-2.0 >= 2.39... " >&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-2.4 >= 2.26" >&5 $as_echo_n "checking for libsoup-2.4 >= 2.26... " >&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="ar ast be bg br ca ckb cs cy da de el en_AU en_CA en_GB es et eu fa fi fr_CA fr gl he hr hu id is it ja 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.5.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.5.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. If GNU make was not used, consider re-running the configure script with MAKE=\"gmake\" (or whatever is necessary). You can also 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.5.2/doc/0000775000175000017500000000000014045525102011055 500000000000000homebank-5.5.2/doc/use-budget.html0000644000175000017500000000571613560017662013746 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.5.2/doc/win-vehiclecost.html0000644000175000017500000000600613550556541015001 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.5.2/doc/use-reconcile.html0000644000175000017500000000465513573216272014442 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.5.2/doc/use-auto_addition.html0000644000175000017500000001070614017417742015313 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, there is an option into the preference that will run the scheduled transactions insertion every time you open your HomeBank file, each transaction will be inserted under some condition:

  • the due date is reached according the rules below
  • the account is not empty
  • the amount is not equal to 0

Those last two option enables you to manage the variable scheduled transactions, for amount variation for example. They will not be posted automatically, and no edit popup will shows during the Post pending scheduled transactions at program start, what would be confusing with no context or window behind.

You also have more control and can post transaction in advance with preference of 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...

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 post late in a maximum of 10. If the overdue is more than 10 posts, it will shows +10.

A filter enables to restrict the view to :

  • This/Next month
  • Next 30, 60, 90 days
  • All

 Note that Late transactions are ALWAYS showed

homebank-5.5.2/doc/dlg-curr.html0000664000175000017500000000656213552425742013426 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.5.2/doc/dlg-tag.html0000644000175000017500000000270113552425251013206 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.5.2/doc/00-lexicon.html0000644000175000017500000004227014017417714013554 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 Amount (opposite sign), Memo, Payee and Category are synced. The status and date are not because date and 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 4 balances covering the entire life cycle of your accounts. You can show/hide the balances you need for your usage, for example hide the reconciled and future for a simple management.

Reconciled : includes reconciled transaction, so this should be the same balance as the last reconciled statement you checked

Cleared : includes reconciled + cleared transaction

Today : balance of transactions until today, ignoring the state

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

n.b.: remind transaction are never taken into consideration into balances, except if you have forced to

↑ Back to Top

homebank-5.5.2/doc/Makefile.in0000664000175000017500000005103014036076652013054 00000000000000# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2020 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.5.2/doc/TODO0000644000175000017500000000141111023413036011453 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.5.2/doc/win-statistics.html0000644000175000017500000001163713774117134014670 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 grand total for the period: 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.
The columns visible in that list are those configured in the account window.
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.5.2/doc/dlg-pref.html0000644000175000017500000003524113774051152013375 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
Max items default number of slice for the pie chart of 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

Gtk settings

Override font size Enable and define the font size for GTK
Dark theme well, you know what this is about right ?

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 list

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

Transaction dialog

Keep the last date when multiple add When you add several transaction to the chain, set the date to be kept when:
- you use the [Add] button from a Transaction dialog in Add mode
- Inherit a transaction from an Account window
Transfer target date tolerance [xx] days Define the number of +/- days to search for a target transaction for transfer
Enable memo autocomplete with [xxx] rolling days Collect and propose memo for autocomplete or not and 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
Show confirmation text for 5s Will show 5s added confirmation text into the transaction dialog

↑ 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
Smaller legend font set the font for scale and legend to be smaller

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.5.2/doc/win-trendtime.html0000644000175000017500000000725313724722654014474 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.
The columns visible in that list are those configured in the account window.
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.5.2/doc/dlg-paye.html0000644000175000017500000000556013774051612013401 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:

  • txn: transaction
  • cfg: template/scheduled transaction
  • cfg: 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.5.2/doc/dlg-arch.html0000644000175000017500000000603313557563204013360 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.5.2/doc/menu-account.html0000644000175000017500000000741213724722560014275 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.5.2/doc/Makefile.am0000644000175000017500000000020012460436056013027 00000000000000SUBDIRS = images helpdir = $(datadir)/homebank/help help_DATA = \ help.css \ $(wildcard *.html) EXTRA_DIST = $(help_DATA) homebank-5.5.2/doc/dlg-assi.html0000644000175000017500000000614713564005206013377 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.5.2/doc/use-tipsandtricks.html0000644000175000017500000001456214017466050015352 00000000000000 Tips & Tricks
HomeBank User manual

Keyboard users

GTK has native support for accelerators and shortcuts.

ALT
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.

CTRL
In most dialog with several input widget, pressing CTRL key with up/down key (or left/right) will enable to navigate through the dialog widget.

ESC
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 + shift + 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 check numbering

HomeBank also manage automatic check numeration, this will occurs when several condition are satisfied.

  • You first need to configure the current check number into the account dialog of each account you want the automatic numbering take places. You can use 2 pad of check for each account. If you leave 0 for check number, the automatic numbering is disabled.
  • The next check number is prefilled into the Info field when:
    1. You are Adding a new transaction
    2. The transaction type is Expense
    3. The payment is set to Check
At last, if the type is an income, the info field will be emptied.

↑ 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.5.2/doc/dlg-bud1.html0000644000175000017500000000636713571301036013275 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.5.2/doc/use-vehiclecost.html0000644000175000017500000000610513000460267014765 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.5.2/doc/dlg-cate.html0000644000175000017500000000603713774051573013365 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 (# column)
the count in parenthesis is the usage of the sole category, when it has some subcategories
the usage count:

  • txn: transaction/split
  • cfg: payee default category
  • cfg: template/scheduled transaction
  • cfg: assignment rule
  • cfg: 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.5.2/doc/dlg-spli.html0000664000175000017500000000533113557647745013431 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.5.2/doc/win-balance.html0000644000175000017500000000617413724722631014062 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.

Transaction detail list

The transaction detail list will show every transaction of the selected item in the above result list.
The columns visible in that list are those configured in the account window.
By default it is not visible. Use the tool-bar 'Toggle detail' button for changing this.

homebank-5.5.2/doc/win-budget.html0000644000175000017500000000570013724722637013747 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.

Transaction detail list

The transaction detail list will show every transaction of the selected item in the above result list.
The columns visible in that list are those configured in the account window.
By default it is not visible. Use the tool-bar 'Toggle detail' button for changing this.

homebank-5.5.2/doc/dlg-filt.html0000644000175000017500000001256613557637551013420 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.5.2/doc/dlg-acco.html0000644000175000017500000001121413774051752013346 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, you can manage this list with the currencies dialog

 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.
 From the main window, the template will work only if you preselect an account in 'Your accounts' list
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.
Maximum the maximum amount for this account
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.5.2/doc/help.css0000644000175000017500000001050013560021422012426 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.5.2/doc/win-account.html0000644000175000017500000001304213724722617014125 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 shows a summary of the transaction in the account. You can use the filter dialog if necessary.
Column order can be changed by left click on the column title then drag the column.
Column visible can be adjusted by right click on the column title, this is the only place where you can do this, any other transaction list will inherit the columns configured here.
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.5.2/doc/dlg-xfer.html0000664000175000017500000000372513557647564013432 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.5.2/doc/use-lend-refund.html0000664000175000017500000000666713442553077014713 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.5.2/doc/use-auto_assign.html0000644000175000017500000000376313560016677015015 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.5.2/doc/index.html0000644000175000017500000000074413000457213012772 00000000000000 HomeBank User Manual <body id="top"> </body> homebank-5.5.2/doc/dlg-mult.html0000664000175000017500000000266513557563456013446 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.5.2/doc/dlg-wall.html0000644000175000017500000000412113573143107013370 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.5.2/doc/dlg-tran.html0000644000175000017500000001233113650121037013371 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

Dialog action buttons

The transaction dialog enables to input several transaction to the chain.
Both [Add & Keep] and [Add] button will add a transaction.
Then, the behaviour to input a next one, depends on the button you click and the preference you have set:

the [Add & Keep] button

  • date is KEPT
  • other fields are KEPT

the [Add] button

  • date will be set, according to the Keep the last date preference:
    • ON:  date is KEPT
    • OFF: date is TODAY
  • other fields are CLEARED


Using transaction dialog

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.5.2/doc/00-intro.html0000644000175000017500000000456513000462002013230 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.5.2/doc/misc-csvformat.html0000644000175000017500000001333014017417766014635 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 import

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

 Starting
v5.2.5 : you can change the separator for transaction import into preferences.
v4.5 : tag column is mandatory

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
      ...
    

Transaction export

The format exported has more columns which are:
date ; paymode ; info ; payee ; memo ; amount ; c ; category ; tags
c is the status of the transaction:
R = Reconciled
C = Cleared

 Starting
v5.4.3 : you can optionally export every split line
v5.4 : the c column was added to the export

Example:

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

↑ Back to Top

Budget

level 1 = category
2 = subcategory
type * = monthly
blank = month value
category if < 5.4 the category name
if >= 5.4 the FULL category name
value(s) 1 amount : if the type is monthly
12 amounts, separated by ';' : if type month value

Example:

1;*;Fuel;45.00
2; ;Domestic animals;1.00;2.00;3.00;4.00;...
1:*;Food;17.00
2:*;Phone:Bill;25.00
2:*;Water:Bill;50.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.5.2/doc/00-whatsnew.html0000644000175000017500000004437213774116340013760 00000000000000 New features
HomeBank User manual

New features in v5.5

Print for graphic report

The report graphic charts can now be printed, or preferably exported as a pdf, and this directly from the report dialog.

↑ Back to Top

Your account new columns and display choose

There was a lot of changes in 'Your Accounts' list:

  • Bank column renamed to Reconciled
  • Added a Cleared column
  • Added column to display to be configurable, with the knob on top left
  • Added a tooltip to display:
    - the remaining amount until overdraft
    - the remaining amount before the maximum
    - the last reconciled date

↑ Back to Top

GTK override for font size and dark theme

You can now override the GTK font size and set the dark theme directly from the preferences.

↑ Back to Top

New features in v5.4

Mass assignment creation

Like it was possible to create a template from selected transaction into the register list, it is now possible to create some assignment as well.

↑ Back to Top

Popup menu on transaction list

Now a right click on the transaction list pop an action menu

↑ Back to Top

Multiple line scheduled post

Now you can select several line in the main window scheduled transaction list, and post or skip.

↑ Back to Top

Reworked the welcome dialog

The welcome dialog was reworked: added an icon, relayout, show next time checkbox to enable or disable to show it at start

↑ Back to Top

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.5.2/doc/images/0000775000175000017500000000000014045525102012322 500000000000000homebank-5.5.2/doc/images/dlg-transaction2.png0000644000175000017500000001510413604616712016132 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.5.2/doc/images/dlg-filter5.png0000644000175000017500000001361513604616712015102 00000000000000PNG  IHDR,PLTE5sc6؎Nѕጪ퓋;Ԯ˹𔒙Ͻ㞱ż:塤ؾY朔늉¶йׯ~̽İıE烓ʱڡʾνΣ}ϯ׹ҾmfkyN騆rĨػǷ̩p{u]ҷ\.46tkvjbzw~Hם~?sYЪfꃠv˲ekRr7up{ٱ]Yiwpob7=>MPR˔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߽Zau9{ʊx`ϥ\N7o׬}ǧ緙UuþEPm;Ju\ewkT{mV[|Uɠ|ٜ~dPmKFwq}#<,B@HN6hՠN1cWPXxxȖe)/2:{"RʄwLԚhܮXڰ}7~67~m]L,IDATh{PS׾  RB&3&4I$` .A6*%" /zT@PX N8=?^gzqy 8aa^kpX` ,X`e~co,5}՟`Aj!݅0%` ߁pd*1yhYND.c9?6IcC}9?l$S3l'5 @<:K*$CϢe? *՟YzIrlT,JBBww挼588M9G͙(*N&&&+;GCY3( M\@?gjd'O%RV~! ٷER N>'ޗR 'f:2[.b<eȨ֨.:꯶_m$p&qQCcw|pkUaQH#*[,~dsۿ?5D4.ɞ>qÉ95mA_s  W}O_hn=%({E '9s+*Nz}'a{-n~G? ϟ,3 c Wa 5rߨ(}mclİfZ غoZZ+:Z@iro6?w|{7>Q/x iUMPCO'> ڿfwqmw WwU9w[ٿ_ڻvW?)J/q&A> n ؁ի*vx?7VupUd;\w,guoO8(HS2/ClWG!E`w|hw(rvig!5FmTd`jL?tz ٵPfv;/i145[Dֶο?`Sm։qrStcKP0 /· p'#gp# 9>sa\A! s'gLVs_z7n䀲stpcπ~|L'λ9pA^i`4jhSWLL.%L\IP`0QÙ_/N(_SJZt'ЧhM ?7kDbގAZ/rgh\:c2f7Ciz"djE_RgHkMjo7uvĴڕ^-oM[5|iUQ]ypb?7$7NUVhM׍㛟\n)zr-R%f r5߅?,/6 5ަrx Lꯕ7K;a֜'1Xѝ2:Ӊ^U4ܺ {4:n VKZsYsłsÂd3g,3NmBk厌V1x(0yLJqP̛j0]4qc0-TnrDfKj\`8߳DT$&KJJ$)F)`_VVVD+ ]ۿS&KRӕֺ<_SwG)|tx=gddD@kh-!`(v]/uXirޓy^ +>=wEGu|FkBYΞmS3{8=]`Z8eev%%].L{jmi_^zn{٫zt{]~YH߿3XY ك_C8.vqnźejF]~0XqBS7>8pM֙? ^U,m/f}!d8z`Zd2Oe}}OI=<dN}*l3jl-O= s҃"B9֣QH"N􇠶䛷a&+GgY̤T7~'f~_j㲶91=ڔ5`#"ߜL,)"1}StYH/1G'/K _3dSzw>C?Q +,)t?9AO16WG')௳T_&~/:_By;\BX1scݱl1m 綠IҍKΧOcJ[].ْyd_'\^[v$O"LgD|q+̋uvHDڶRק6 Gd_tnRxAZ^/ouy[d~r-FYoMW?t_a _dl sm6$r߉% `N7MT?u4fS-Tgevh'? Ox_K2NIo2^#.77Eu٥]jnK)w`˧/!B )b$ a 1!3ڶZd5_Tf2L3qB?#$Ѕ\:'iߜ5\*8rcsS*t sLA <%9#Gc VOt!a5"jlo2lT^#&#uombHx:k)m=/b;udĞ{zG⎮m=^rQA->{oJe]QmC^hqѧ Tg#J+ḣTСW jkQfz!g9 GՄdc_䱷6oEe?oKo]cݘb5+a긂I ‚⣇%~ [.)V+LeTdiοL: ?[G3!dž۱w@9/EF_jj:ĜG"3ĞF4?qQEίcB!|XBbD c@X;!;O+,MWUOChjn#/Hd2DLـ3x].?+߼|?>o$=&_?毋gs_?KB ߟj/|"f^~KmH 5}Bf=:kڞ[SxGꏃ,*DCHο q~e&Aw6|ϻͺk/y>//?+_|w#/+31o7?ߟcwB-Vw7Yu?'|w|1K;@,9Vo%{nk7a_ݽ$q'y|g}~>c_AqʯW[ 8 P5C]uu8zґ xilj TTܑUKo5eGWn?zʲyz.b_ k$,Ut:䜶ck\:ict4,"\:X ώ]s?ř<RtmW]ЃbIBӟ+%v ^b&aؖH`Cil0M!<x4@e 3TMmR@:I%*ZuLNVs __=|7fqLF~;:M~eznTCƹ#_ٕ34KloCBib=>ɐDAujs9@Wa},/e-k_r||ݼiJ,J]k5s+KՂ=.d͙4\q29"\0$RIלaKVY9p=9zOdQ*p{5,Rf0DA,'37p?tz[vz{{9N k 5R1v#ޱyvI|>ݿ$zRTɠPDAO1}Wזpz&[iz3d(WDE^zF=[X8" A6ĚK `~tu-,$鱉A-o,NW !\e#g}q Lųt:>X&Sn쇠339PcLO:=ذ{|ӟwe[,5u/m?&I#iLg`kZ@% rNu\_#[+|ӟhh KBZ]BK'\_V.Ng.U)uU27ߝƪW%crY&O os|?!%C8b0T?Ę%@?2}i}Wh*y̓bGJq9&9G$A0X6nO7@ܹVIIMM*f0e]oX7}u ԏcSR 4'cS7M9SӥMҒŲ?n`mG:ןA1ۏAr24Ca*?P[T6*tmfK ^+Ch4LI3ă/1d"on%*i>3s_1-!IrTP3ddy i6CԂ jJ*?oa'CD–6%mx?R$ E1)mZ†F%a^o-bh۶ Y781NDE{?D"8&c= #NX#_ sxEkFb 1//y?o%7naX& 㒿򧁪o?4b=)W8f*G?ԖU1S4\ ڷ9Q8ln>ndABl\\"kI|k&&[gCoZ׆5WZ."(FoWӭI^OtzZ?^K"}Rǵ$ڈc R8reg)]JofKƆy͏kDW٤:OS55$6fo~((t)Nr+V9mC_?4a cOGCk;I_\;X~棳g~[cflA_&TveYQs\ *-kOˏ++=(v Y, 'M &&$fp_ɐ:&vՙ`|ti>7=;ECƿJO}1du] Iwb%bq TO})Ͷy{`cV}G/򇢼ʟ>Ӱ6Tct'yS#`DBގШaW{#B S;=٧,>޸Lo٩omSY wm F_oOjo gwnz}5v?z$r?~c$E +79xHur7w|2?rvZQ{#+mF5CM#p?bڝNC&ڬ2$l\_c%"k5PuKVӰX%HV;U"}j͛+y: ttmPGio4+=n>*δ+%;9>;`%o_[Cfq^ne ŭZ\hϪh'zFvNuu9*_V\}:Cy.o|ÕLX<%I{ol.wURi.:V0ܐ?(ӘS]Tu(_'qq$/?ݻȑqJ9UT}A~؟u슴T7>;!WA ʈd D[OߪLdchR q֐qqD YGGGex \]2 xް?f[ O/q(mzS';π 7LpDiJv>t)ʛ;zT metDRCZn3e՝/087 1uJ,t񠱅2 ϵ,u Iͦn}sMs_d-t=x?[GB9Ͽ ~?y`@t wcy(x^@R9A3^/鱶oLH??_p>z 4wkdrQzD(U9 I opp^tmJ?6]8+#B/#?#kߖ7;"[;~>c$_䉎]A7m_OK8+Ucpc%1r·Lst%ݝOt>;a"eWDW~Q'iQ* e M%`Пކ_Ix_Owr,SqY='Oח+ m ~-{T<-*+iJ}j}}GPƔmKF|+2]ۘ&H8VUq( nS3NIxw[_RZ:"|9AI.ϢBСK!_뿾?@a\`//LXL{CM $sm[_;`a*JfW(a0.̩_Q( ![K9Bpמ;W^ykCq^\RŖDRkxj*C(ʙe_9`Pj &HM&kVlS,tgHsTNs< \SKϊ-acRV51ǔiKLdʵ;IJNu~?j2@sא^<(Mnm<1a[I؀WUeg4H e܂NCCyCWI(k ](S?~NʡÔ5믜;oeC\`t}Iu p [C vlW)+Չ#^]|Η+Jy+'Wb. Q|Vc z?4Let> 8z ,0/ ƂӘ§FLPeb$;믜\;~Z0${}[8oma/H:qeKp3np4 $qVbSBN/6N6w`mR2{ՒAUM;m/$J᳾l=sd7:9Z/9TzO_9E/O?\>KD>0%LbK_;MR%iF|^yC 3qɜ%-9Iŷ4aE-hW.P"O]yzʓ^qZ6[uj,(QD%Jh4k$?F.t:Sirg_pzIcdD) FxrұTs̰w bNa0hj FD.cc%d 4! LF^ bY~FLF)Ɨ_c4"dL7_ im;%dldBMIN n-k˝Bmn*|l?Դi7/=_j}EOڟu<T(򗔐wcosx07Y|2S(>j _[ߞ(z;Ŷ`0pHΚ-w|q֯)쭮4;oJojK$D_ުn*Xj/i+Tm\ZS85+pNyZy^&tf[:C:E=؞+fwnٶV[vV }Ik_6l.ȃƯw}3a>Z5cn1prUk;wg/VۇgޢZw7NsܿGVvGF0|p\;ORҭsi]UoGBUV-Ņ&JiBb.c7tbqh:_,UKLƄhd^㗿 ?/1yog]8@|Ȁy& a:`̚|, [emgQ29̿3m25 +_K!KPx͎7.#RvDIENDB`homebank-5.5.2/doc/images/tip-accorder.png0000644000175000017500000000655013604616712015340 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.5.2/doc/images/use-budget2.png0000644000175000017500000001601113604616712015103 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.5.2/doc/images/dlg-filter2.png0000644000175000017500000001750613604616712015102 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.5.2/doc/images/dlg-prefs7.png0000644000175000017500000002342513774107736014747 00000000000000PNG  IHDRH@PLTE54,ſȄ$򿿾0啗눉񜞜wͱƹ䕄y²qZƹͽо)人4pƱ>䯜wxwكbtPֽjspouůďֻbaoBRq]ml橘ͤNxmٮ}\˄{bΙVǺٙeh}Hq5섔աN蝿ӻ]DjjpߛjѮ.h/t2zӅuvyrrX1#ҷɦTxeWsy*⻊٨[y>ٝ~Tl홦ԝm;a^Z\yfdKOezֺkg›͎缜fѽ_X)Xr{˃윜layG@IpK36YB.ث}>mrƓ#IDATx @WC8ZC$1!4HbIR^ >DQAmQ<}X]׳֫Z !D<ϼx XY.n_޻0==# L KIQ$Ax4'Bt\̙a33퓿#"Đ@TKc s>sH5Rq`Xb4 ͒Hc5x;M ,cQaѾ4\P,+qitAƒ Lee'h˜О@W֞ " f8KI9?[tx77>x|@`E-^Lj'g͒+@^]}/P A+|r}uM_zZ%fs`Xuh>xlAd 6[DO?XD|W?C]bLم{1 KPHAz7^嶷_63 lnoog"?}NE-"Yik.wg^NGLsM_C(E5οA Ӂ}L]^_`|Gѭ(S P;``di()},?n/e_dqk R, n?? FCޮ@&K2տ AN|Y#9<@J2vi3#Ws*tV ɔcGoMorIGk"K%X q$*+wMF|7Ϡ?vZ5Uy<[Y.jLȳFcce{W5 %[6]x,tȻ/yٟrLf M UlY.j,.-i4l&vzH$x`ܸlYd ~cgX` `'Mzנ?j@eYJg6kp`Q(;X;jӡZg{AvE*T;Y;vl{(Қg Z|x_uxt/eؽݷȇYp@+`X !kwqxh];v$to(5g@uD:/ 3$Ҭ5),f70!$ RejLS{xNKX4eza:vlAf jxfs`Ci F)$eKd.ܖ.rʛBC77TbYr9BBW_>[ʠ[ِ !Z: 4X^_?kߘ?8(g=r3$`ƠFx_2W57?3uhJlM2BKRqUISM_o5,ULNݱ-I! 22 2T YSkFg0@X _ؾ}1W*(P!?Jٶ}ǎw?m.#A>۾fn W!f6ZQzŞ1Ѥe|nUΥ$i$54h_S$n^bbaɠ+9{2ddcUhP@v£ӻFB~_Lf-_x)ϫ]俴q 1}m˦KC˭CC<l=rBlS7m ߮[|)Lћ;0=ӳ?G5sFbI /w1JPX|^ee+Ɨ9fm BNZ1YV^zooeߓ /:ع#wkc,F[Q ,D&-G 6R4F)gPwTQ*ҋVxMGK1U@+c' _>aV/+*@ R`ą*VLkV;PBX1Ǜ1D7VeP!ۊYhxu)FT1.}xdjN<&.]yTXVۺ㭧T7+B*g4sw7OqO<$xRV0:lam/ˌ3DFǍ4um>gݏz1i4_,wmSzƼ:V}?{ &BC7֫<&OU?oS!~9l j8$g.2#2#{mBWFbшM3;N<3@}yO 'd[JbMЍ Xy4 l[oEG cI/EG/dU7GxvB.aŵ-897?h+b+ƈjh0a'/bSm ى6 d4ՐMUԀ7d԰dW6xΈ]]K^LPWXG2F} 7AtlG~5nYR<5Gc6~!\Mf ; L^+bEv^ޠ]r:=W".F7cäހ?9:?.R|Orr T_rZA?9s3& ?f8 "«HqLfLyO & cf9B6ϤsLgE'1&#@)oT]Ie-#VdppqdVMjh?gMn' {}/ccG@h|NmB25[QUoĖGz{Zy_bVp}QZXIީ[h Հe}+HNUI@J zoC|RЙ?#qF 9jc## iDȄЈ@rsB $kxݼ⌨F 1x#!y Putf?I?Ӛo+}kIǿ%`mѽk/ s{y pXȍWl\q!ѝM󎻟x]po«rK 皻Yj w3{r2@0k{qWKu B7qq ?;ކCo۷#CW.W-vGL\Zrve m锝-b4 ko}_zqI o7 ~~D6f_yrn}NS&7^l߭}s4Fz|yAͿTqCݕuW:]~TƧ(^PHO-46̂SI7 K{ =\zgA$x|.46 Q?+k?gϞ7N{ĥ>^fL3{*\muxKitz2< H7H$5ƹEIc7;2ٷ7r؈Cߒ% (D5uo.*DIR_<=+`O>Kc϶s>?ukRmBR0Y5Ҝ鉢D`5+e)0g0sMŶHDdy& JTs_$iA];~';8Lc&9I}ѲK?8&ܗN3VGG;HWx**`;]l rO 8LO I I%L*jB c6rEe0- {rzm - Vށh-;6Ͽ0I٠)>5O<(:ԇъ{Wx:Y?]nX^mgٲ&NNXG6L[;f埈pz;c\@ w JU(O .g_}LJӹ?}7Z׿w;_?>/3$xa߹Rl]ܿ?`PN[K(7慗"u/(ϗ_E{UeI? ܶϢuA?{?:(ML3Y`T&Q޽<>)J'/v?vǩ&CO2Vȕ%n:_ǓF9]Gƿ7`Io_)iړ-s +-.1=p :}z_p~߻__ŕGXZtw;MU^ g}UG=rIDΗ\< |{uߪw=ru ufػ|ou_&2D#XbYyfn6y`lyn=n(&nBU0’x.f;_7{G@dFՉu?uWp?*1loz=(ZOݱJ\Zo:uǶow?mۧB%}vM>]3BYп{ {GcEoĿm6?>klD4ṁzWG|>L)WF2ax jhPx ?. v =?215?N}a 6(SP4N;QDokRېI :-A-_yTyȯm&Զ6K?%l!n=qq]PT_W:wqL3Aj9ql[eRG) DcU/L*}ླh:uxܒ110b@Hrp xx?|wd:ן?Mǚ5fOޣ{8'!?8?'/)HMAzWv`u(ץ|Ɍ?R{6@m!AgKЭxObvL 06"n+6{s`|pB?@ի?E՟PXz0kŖM_=ӧ^37n7 $A֟M:t#3B/r,[SY<6t_<#|*֟ןCPGfw? :d2`_#ׁҥ3^I&E$Fe_'f_yq"N /tju_}=cR9ykg EZ}CN茯>?Oܪ fw=k>ɇTXH9`pC?C?C?C?C? 0@? 0@?C?C?C?C?C? 0@? 0@?C?c܌t:wLt􄁁MLaoh1Ҽ ЂCkpX̐YhѐF GS4n]~+n|-^Y=l]X'r2Qx9fȼcin =xm`.Z/)=>e[ibeI@&w7y_1u+5icbiG^ w_7*_尶wwÄiw9oy8]xŅ͙M>&4p{3Q O\eryOFCdN#xEz]N16/?GM( {1Ou8ԟFmD-). s1 u%  §?8y1ԿQpG*AGJOM|{M!.bnLOpߍqo.&p|^8}, {7 7*4,&d,҄lic"D'"_oB53s"ɣmL\ xSM@ ބ &\\\k7Ү!F_dleao_nZ6/ZF8cMCh8EC/t!Qq1#hcc dTcEc/Fno(BѪ!fxx!  Acu"?IENDB`homebank-5.5.2/doc/images/dlg-prefs1.png0000644000175000017500000002702513774107736014741 00000000000000PNG  IHDRH@PLTE54,ſଵĸt]0便叐jŰurto꯯5߄(䄦ʹңuuuzԺX}}>梊m[X\{hǯ¡̱ϽeyeŌԶuG葝_aoܽՉwêت0yxzӿ٧ByzcSvwjлݼ/et~~8\\mݿԼhh{ufgIx\{WQȑɧҵhloVEm2rhwU–lڕq͡@NkԡP0ޞQ䃎sQΔFUw1yٰ{,27eHUꭁgx;%iW՛kVtP=lzPCLFjʁٵR.ӗ**IDATx@S?H $Ab`T,C*HE*YZsZڪjm[soFYk wܓs=y̓`d?`?ϓ\OVCH Urr_B_/rE{b}n|)%F_or@wo ʾ1Te@7ʈґAcBlsX/)7,I޳y1< :o=o??TU=|_po|BaLk̓1eL{{H-x{ ޗM' A)d}ҹ%y/^p[v{eobĜ37?r{G5*>.`G=_d:{3b៶?_t-= &;߲ 2փWMi#Q;vppvVMluKj|2j"2Ldх2%/ N-6qPqiߕ}c.Y= GUZFቮvr2F?~wX6}{H&zk??<7>%z#Rt&,/߱cpV7x@'[ `|{`T`lCk9)q#^ 'jKT*ɔ'X}_ߙ\j[csf_:\S;$Mcp*#RYF,z}VRcEv7Ha=28\އ][;LɃE;>8Sל3\r[<͍*KÒOvoܱp^'7~"8/xS}u?/Mg)%__vQovjOP>JH3CMM&UJIVՇc1-,Y"p(_U_9%rRt|yɗQW@ nCri9嫏h?@DOBW_BWMs%S|L?xb/3#ؠ]w9sjps Ddi}ES- 2\}09Zt>xȯŶz=hl|U?b#?m`ava bÿ>xՖ&j]2 }p:~ _Ĥmʤb6#VAqgDAg%_Uܹԅ26w @OX[n١Sk]_%?$qV]S]S]Z7DvZ5K̟5$o|0ɟ=$o?f`o`say,CZkE PӁ̟'΀ϻ 0'{x@IWgwVKqX'RԴߥ?ۧ.k>[YCw %ݶqGEݛ+**BڱIEv7K?ۈ\)GkڬoqJ356v6'x<mx/G0G"Rٴc ҇VZ9UN`?%HŸ5#u.{"}j::*oOj{ޑ㓴;r,wKJH͡g MxꟼR0+GƏwDeސyy\]P] Kpd?KQ?5.9)5a{j*_[yj{X1푅iNJl dCfʈSڽ".PG󪺪Y N@Sz{pzϐ!_"=Ҥ; c?66"!'edO_*-;UQ3{SOݽllaad-oj6X\UAojYc/Xa=}Q-]C?8K3yz Unl}2WSfHvm6ov@qV+d%fa;>:w_驚'cfUlu]l4_wYf?)aA@OuPP}&:`9l҂'-y-ԆR2pjj[uԂijlsd ?4?><ͷH=?LJ41R#_E xS #x+AqI?q4AoBhHKxёɕ&^_nh'ex0ȐHdF?Ӏ?:X/Lj:n&Yl{  pݪl3cmSgNQNε;+RW8ᛝ nTg}Ƴ3ȟ%Vy+Rh!Ww CU bZբ:eSJ7 P RZO"lݬ*YFΙ9 lߴc+B \(:,@[R9Qlͥ߸}kc֜(lFK_AwKKVeuڱO7폳3~;)v3? zluf8:fUC~6X\,&.wIq$0~aG2Ey#!X yvA--/ @Zn^e$rGd|ރ|k폞ȓ?F[^@Ҡp)MN:2NK܇K32l?& 64>Cm/1>'1Gd,u~~% }{]޲ZN~fiMʿ.frG+6 o׾5Vst?<cȪ5 EcC sԜEg[0_hnog0{'u8{!ȭ&=s`o< ~_k𺮣GN/eҐ?q*NhlOCQ`vo&偑;3z:Vk>MwTHxo +X?C zO'j#cWKN/x~h=?+>gI6 U :%gY4n6a* be Hބ#-$O 0RФI$Z@zid='I_ظOO^ \YrT;s{rgqKCCE{|yfz Lx]Ί䏼?gq>k9쵭 ylVPpxfBWP=<4P&9l>Fdf6`!3_݈ $d1fiM˜UQmWe2.E{1hVbwo_<76HgTxMtEM?`o[XKΟF^L#6 3a?=cDQ(1\p gÌMs X<ևm]Sbx?pgΚNB1Gs?uIl>\tE=#*ʎq9@~ȖM=× q擠_},?/ K5>po}xA-X'ױװ7'_=˓))cF)--=S_^>?}Bm*666j C=beA (P-ld?hKRɳWo 't&r;I;6UVfTȗ̎-AS_~VPP0N^ =r"|O~52FL,Ͽԧ!]"$n+Jq\1Qa+CJ#68ǜjNs)J 4N& M_Ylۊ($4Vt5VXE s?GAg6|?E9;P-~!Z-5C}to:z5:ƹ]̚s KzV$yw-r.+ۢ:>D+tsKEa@^\,ϫqρuYQfB,.3D+J_TW$`#T?ۻ`sNZ{(hZ GQG _h'<+|Y YaˌR+ U,3%ʪt<+td0 20*@4БE7s t7e`:1v L@99|Xj*p *)SQf \R05l9F,iQM ԳHvlTf fϿ*d7( l`S o?|>_|%O_~H??z$([we>Z/?_ӓOxfIgı7m+$$?>_CʼCQvKʲ^=FaO:I%߿Vzy>5>>+|.yc4*'172HimLEF D*SM&,ـE⠓T&EV OϗapP0wCio?XRW_=zͨrRՌHٽgE]'2/ki¡n54"k)VY5~ļKC*C L!cV4:4rmBᆂgq~kR\,\?}}{Pwmioy"S_߂r:H?˭!4Dzڔ}-ztYK#$\oJb'ZU^<,>֪9޻0wX-?-VΟoH~tȟk埿}QI{j@k&oa78KQr# _SݔVV!|Luh'Wjߜ'[=m?`({XːE.boz-2esխoR;UhPhu-NO4VY5ݨAhV_,Oܝ?'xӚh3_LC,NLF:ǙTnôe|bpt Bo R`ޝN7?ɤ_DrWst +)ǿoÿ~Зq泍XTo '~l6Ր_2?3,׿29t2#>sɈ2q)ÐNO=<΀oy_  m?hڱQ ȰlL> 6*4?:*s nc#CwO9-% FzLՍ[J*Yg9 ʒ_8&/Ӌ-Qҟ^+5#0aP…ҿO~WR1*ܒ(gxi>Gs[_] |}AcaW7YCby_ԜU7Ar-X\? c=:`KҟmV՜HbFFxkfӝ 9: ~WSzs?'|FzrOȿc2yTȈs}nY-൐;OS -Yܖ'Y2Zk0>DN66'fE_nb?su 4u=@ ͙ooMKi ')Z6m~G/w6yhw9]`wdz+?>WWlD.肯9J7Iy_ҹW.sui3en~eQd,Cc/remkB/=kMtcͻܢ>Vc v;4lu)O?Go.:F#VZrԓ\>콳f[_č*;:d2m TF><1U%'F)wy{LD)O&SY5D YyN6GɵNJ#3\2/ʰd&bPW2{ץ@v'{C F^ #؈ٺyIֹu)OK3Kb>i )7L֕f?Q7RD!)$D+_>O2E t+!3֟IQurv%lsuƤ?DΛ=#T@ס1 MP[@b_޵?: %?5?I2,_֕Jd )?W c ڊ.?$DEWy<Q(:S¥E1`o=w5:u5,?FU ~CW@mT`Xp Oh[+Ɉ럙 d'gg({hG {܄ saB'7G4zwT; *3p>;w( YZN1ÍW,Ԓ:3&^U#Z;x  NH(xi4OƗST.Eyz k]qWA4R(_VҙCaLROy>eHH:*#L)'R%Ou%A?*)Q%S#B$|IƕJOc HIDC^:N+ wc0ß/y0ogU/bo㾽4YWeIF7=Elh2'˟*?O_)=2uyt"K' vRi#?/gAJ?CC |MjO}?7h\bz@ }/I XNŸf2[/+ۂp/psuͭ ?_|2EsD솳M^ؕs>3.Tn8{V]M/ WpKƮ8pVoI}mW?qVT̬>5 AOlQ[91k |*z6`], =v_>/NC뛡ۻ/~)]_|bФ@ųۼO xR0xѺQ7`wa@GjGt Н+n6!6x!IiQ4*$2ف_0ggqy?4T⿌aM'l3K?8>‹[ꍌ]&ձ(K氿ܚIK{ ,4!Q#" ?6wd`k*WْRj~bI?xlLη:ӫ!sG}+1 ˊ79b8bCUJspQoɳJ #_Ĥ@gʵ?9.а> zYvkɞ3ө먱y\ Ƈ1sy*IYyEV7W bnTXhJ5ʜ'w C?'Cq5'M8B7U5?G~j a?Ca?C?C?C?C?C?Ca?Ca?C?C?C?C?C?CQ\ HCOY g$xmJR'3' xx7RQe]'!lHԙJ8#,--O lHPҦĉ mD6 'TkP4H׉@I؎8#&2aBBqAqr/##A\5O!jP4\\<3R5ɑCf5ame6B#l}?6c?bߘns sv%~1q}[^92:I"=E"g kR^!*J!Zv֓fJ-*(Բ.9l0pAxThms}k!n<_[8@"1"io q;av,sg̱=G7pAI\I$almE`HMIWZ4/MghPz&jT_gn6I*s>oY#?d깢mPz[=[conn <#h .:"(pgR7scOd ⟘0ʷxV?8dcLY6[q6F)_B2s7?HON q$w Cs6B GCS(/nNd/; '6z C/; 2ІD7TІ3_I^f*Pɕ@W؆3:ނ,$HkO`C}ȘΗ/xux ߐl(3R 3@TB!'!ݐ8 `Z JIENDB`homebank-5.5.2/doc/images/doc_balance.png0000664000175000017500000001234014011021102015142 00000000000000PNG  IHDRonb7PLTE4 GpLv552", 435|%3LL#: 9_NN3z.b{K>gW]R9nDy>4U)BObzKQx-NNN13N|/t+AjMNu-NNS7XNNN2NFt.U 0c%NMDoNNN\#.47NNN4N#NN,H8\Og'N-46CoS ?gm)) {/MN33Ny-NNNN;aN2 . Epn*/P N DpN\#NM 3 NMf's,0NNM\"a%1OMQh'Gv.46)B$: _$ 3,G.45V!)C6Yw>:W!0Pc&, OIx;0Oq,TIw<`Y"%-373TN. l).46`$PrB24-35) !7 [gOgHNkE$; O"-45N7^nNrAfH.46i)-K,I nDuBv=lDlEe~JnCj)a{K' 4t?5|<;/56N Q T+NUWS)"mtRNSf3V*Bg9|1T l;pH@c]x6qmȭxI"YBHδZt`ѧskơNbjǟU5Uwf!۸&/n}₱|jg׳hu}ڡiӇ=贩5؏Nt@(^ܚ/y߯NLގИO–dxduW֡쒡_ջM^4$IDATxlMɶ?|tGru3Sc&u1׮ ȶxјdȌ.mZ@HUѶhn1 Ui6Pۼ-^<Ͻ@4L5UA.™;讵o:"49GhISc,ܱZ `/ @u1˴GUa?=כ;v.72+|(>9NRJ,̶~P >DP{F%&!*ݙvQlX;b4P ^k ,Dz? DzY]F&.i\a _([dg9"p1'w(Vыt10B^f"aDq6[h8F烄ͦe؄Rc S,'D,PN[q2|$h7!ȦAhfEI5qxLj_ pPsEMd;Y^qAW,%(&QP7;Pa2么 AI~|% YA ^oDix% 0\C1q Ɩi4~% A:)s^ ѹPŤsؓT̆ bq8 d}mhé֗k>t6qOipR.WOrrlx0d2Bl(6ec{\*HA(( BGZ8%E䷠P˛H qؓX7s @;`j%0ae4b4Fpj[Rv6*'#IMDV?Za* 1%YJ Iц8y{OP08e0|R(H^P'cl ص;fP\~( 85C~{8jxFTfAd@ |)5VY) R,%EA'( VMcouSHIŋxfx1TԅB(Y(eu#CiDфYUiph\`ƨaGKpHɆHi͸3]G.h %1"G2O o~vND)ƾeql[2orZ/pvg<ǽ2o20i|0v4oy*7aJvgci)Y2b9m&/]҂sJNQDE8%_q5̛,rCʼn{xH;T-9#vBF.OѐҦlVoy0P2@C9j!rB\lD8O\+B *&!&-ъƁk)[bFV &t|)-?/WY2o,{)?O{#o{cu. mFe2o[-y˼e2o[-yI=66zilW}wL~49L]ծ1rFH{X57gꮪno#R8HݳFdt3d7dHty=$ݷd0DF^wg}2rX[yFHwy4y#I p 6a'Wvm*{|-XϛL=Av38y捦4=z׮O}ٖGj{˳O}Bc_o~g~y׵>}bsM[O9D'Val;**Pl9g[bk\o^w[Z~r}{GoyWo|B8>}3AwʢQC1zH(h4⿪EXB46.&B =MM$$%?=4e;M'ecɼ>M;#G>hƽīlAFU|ğWfr-t&zh<)!ۗd RjSNlh\C%t:;JVeʻX@OɬG(hݧ̌-gP  ~d*n(❍-ԍQ#ДƉM6)w%4% ޫpDx:yQ(rTlHؼ|3stnOyc:U=hRzNO VhDAiz2Zo=`W6Dz6M- R *y^*}>bPw8Gu׻^\GW`~??/ |gCrB׫Xi[](#\jFcxo 3c'=o&ߝw C$pG#ٷ"޽w&465,PO-*aҩGԲ5`7hCx6Y8ݚPߝv3X65’f5s1T~>#*kW܏c2.p!ޡdQeG=C<0fٸ0\~ 7"7x'}}dXޡwƨEjK?bF<^x}V ` KsLUXb*5"= T-[qb> >}+FHjywḇH91`}f=[99Ibzb0~9?̿=;KٯoϪe1jJf oQxh=Y%,CPUB]Ck%mĦO(tA ԥ%8./ZO8PN=*a(Jbz5A1Ln"2MǯEmtSWԔu&MT``TF7<c\`KDj!K^0i4)h4jWB/Śyu62+ PszE%z:QT E>;N[2Q$މ'bɶ`W-.ԏ@[3 Cyk ;ֆ6.NBY0wҞX3o>S)"xMjwzU.FL) !{c 0n~JLOgdΟ' c}EzPèc~d9wϟ-+?~"H%O=}i~򑼟v}W='?ޕ'RxK?t޿}&rW'9aħ)C*bǁv^h$F[/}eH)Tss3k-wY)p/)V.6&nTjƼctJ^#% }L\&s$iw㢿lÀk mxc·hS(IENDB`homebank-5.5.2/doc/images/use-import3a.png0000644000175000017500000003343713604616712015320 00000000000000PNG  IHDR7*PLTE5C7LEL娸<ĭD̸:ܘVb횝ɾ񿲪̹􏅜qpϢڡ񖜮ӂ逸սI葔ַͷƹ[UדҚϻšc퉬둒}欣ﺞ̭¦Rͮɱ笗ұ̐{ԑ矋׾քո׻εX㉡қٲ+s̀?ɠu㨗Ǎw|Ϝpoz釷Ӯŀ¥3sД쿹28:`גjѬq}㦇҈ܛjerܲ닊_s΃jq^bNLBLX^ofQvszZ{tqrjͽOftzSPQ\#i>o}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.5.2/doc/images/dlg-prefs5.png0000644000175000017500000003376213774107736014752 00000000000000PNG  IHDRH@PLTE54,ſ(㒒3rżwrr/־ఖ|t_ؙˎ}~|īꆧsϢﲲǂlāߴvpq}emuЊמθǺ~}үجAJ7swdZ㟂kͻ큐|ÙHEXYV^'yudzp{˳at߶\ƨ_ӺԹJZrddm\|{[ɝzN̰PkU3ݪsp^eM{ĵ73}ZR1zњyFhdPOl֟SNu{͊H|k[Bm~.48TԨp5Q=x谠wREVi\ގ́NeA׳ne@ƄTt̖"zG6V364IDATh P$L B6Oy  C@[TC<4\2Qu*V:(V/ʨUłש޾$# "Kt&9{9 4hРA 4hРyi6~>ANA'OŽ_tn84z27RXt3dL{#ߑxL6$r*??j_~IfҩSFSl=(>6H\m$ rnxT2$ y2@g}S3Ai C&/07H۠ը~|KiR:7?76B"U]v(SK۰lq[ZG=)=FJ lט4;jvyI~Ng#C(| @,?4sVIQm> ;'wʳ=iJn3LQڒ:RRxSmSgEwes/Vq2?55_p 9BLL1 5-5{[4Nu4BS_ld5B`KxvI{'P~Sȏ j׮mٳwѴ#[<ğ1и7`_\7O$;JAL֬? bCOAzC?! ppFGqeǎ\.*iG*=JұX^pEwٻXw:Fc@'r8 ~ߐyh8o"d8.z{ 䆬7R+q?sO7%au.j'e߁S yic?4PGʸAJCgτ-J3;pl@RwܫgHzR ڟ]hO0 r6:mMAcg7ԩKj=\K5hi"X=Nۻ勒5{Օ6wI .W]{G/UF?-A* ap9QG9zFCPa./ IAz6ti ?svv ph08#3<%@Φ#T4̿daUDKW+FHu@*dnɼNs`m\?f{?.-pI(ús{r <*ڷ5*,X.dYqSG*Kf .bl%NX'g@Ԛxn^& 2#H$l%fV*S~ HCo'A6;bg呟kT_ߞ~2F]Í}aL{q_̋G'1״",U+"c+ňkl7K^^};Gje{>B / uTkN4 'j &O̠c'?~l15Qmǖixw4F6GK(H 0M^JHϕP b~i3BGI_y(u]*AQ4x$wk,Xs"~vwoag^3"Y˱C|`GjuSv!^w;~̢ؔ3u. S-;S(HXMh/7/gE@1cEnO=|Ldz#0?kܑAC@`e5[ eI𻹋s3i3'5&,49<^.bk$i&3BRڳ_ ElfZ?[ZYx-yDsdi:?_7 s)"b8b:L!CA\{0Hg_'iχKgŰLtș^2r o1$Пny-"x́rEc,}qs/P/xSdƣU!\d ۃ;;" O 3^#ۃ)xl9y~c~&t͊E&opVe0mqVĻg)yG.Xq}{eO _Da<3vrܔ޳,[P++&uwEƺ-<30-"r}r BZM_eZaP4fIcV,W''8lO)Xy@]|+ef*^ J,Wo U~7w;%}\ޗY\.|~/Ja#@d1[ߜL18F+r7ixCrS`EE $\o%h`!nd8EPlz%O!.IۜKɸ=6 *=Fw3;w W կ_-^;;4 c;{[ږ$(!cu9 A%H/ٝ")"{E*qi7{fSBkN گ63Yv<|a(-{l,UKͽGyEM*䳳T;Uv~xWC{qKaNf\Zd/ӧ;<}O-lJpW`E&D[S tW?PU)<$-|DwO|Q{xG"{3CgE'Gm;"[3֒NfctiN; {fÆgDKjsX?cK h$)"5i۹'i8rmQT_}S~o?4;!oۄcysy7.gʘ^a?DƨNN0PԵBr-͹p:]"o6蛿3Qc6 1?9L:ӜXNpM_P9X~e82qX/hc i,;ucv.E֨LHy;$^aiy8R_2b39DV{ǟKրUƹ+@]tn*8a:;IϰB$l:`r%0՜eY[4^l{fHw_ZBbTԔ[J}"`AdI}"wmC>A.3q$12Ѯ: ^>AU --}_䃇^vX4DH k x4Gz޷]"hnHy{F$99'C(I扒dM|e w+-FÇB+tA_"(uQS`c8gGLIҔʈDew;[#|帻4^5r(ba'=dCT? ܂?lH4*7Yǿok}s$㆒Ł8G?7Erk9_a1(?A:FD@1t`ltoܺEi n sʏuqG ~q4"IHpt@|8OJncxX3MONz1>N-| JSPAv㏶Fn CpVdi \ʠ9p A ȗ7kc{{Ს8,  adNC۳Xd;n+&*^t[ofFʟ&:m@ixΊwF?^: \?bg6_BXKzO8?a =ܴ8w\hNmr h?=ն(*$PSP,mqxG֑qG8,@Pm ڑntGʹr+ zGRWsm_?ŌN7p ˸hgEHSn'Glj_X~= :nEg?new*P*:9yȥ\5f1_/ YaBWå\\.Jv$u1/9MvPkm.n/9x8=Ab5 A5kx# *wΜg,a0$?֚h /AU'V"U02)O]n-$O. S/h<Z 8@d%ӆ)kիTY%%uM +\VDȭਞ{RO Ϊ*,<S+ Am ٧,_XY%>g`w_njR;[Jx6 >b߄??65d%\7Ѕ^k2kmAfX`9gbQ +sgLkl0lckp 90Lp1qp nMd \_]޸W^Hȇ>4 spPl@o-,{fg%CP/?Ue@TJ_qZB\U"Tqv~1ϰH Չrkp}N ҂Hppu\TIZ'DTmU+Á~qw~'e`l#- b..}+avVKDxJYUOO+] ^qQЬy7o97 k\V\-5g֭߱Y4AU?ڏM+WiQ/hVMr,+^N~EeWb~~ .A7Dw:(;.5X^ BW9 g[L о0tyJ:dMYY'U32![uL,!%~@'tڏt|Jo2(8odTñNEm6!{_6iy$2C*#ڰD"䘡oxf9m1j]6aiG?_kovfFɟЋr.^8 G?/yeZ6ֿ6L9uMҿ8ߌ?Ⱦ$1V_ZzߦH0^*$PMc?R7OOM1`nnn:& ߭cTiaA4LML߇ť!⎩+Bδ觮quuM|N t}/>5L%x潒 bGLM]NWp)]x>u8dԐ7\9p$^(,m?O+Ww\Q|#&DWk$J:җB ȞsaEhޅ?|ǟϫ 5Zה`k`U E Uz+Ty\*x2l T?~xiYA?F<55;_TrB3!>;,i҆WJDﶮpSg⤃с?~3Ҵ7F[75vq&"#k0X;hW`?ZZ6 jQoT%.wɸ5VZv+RygiC 0__Nm[ӕp dߓr'ɼJ/{,O3G5FE=g/. 7UpYUf$3u/Ϸ.;O!.g/u ܀I{L[,Jr Ti;D (ίצuW)T]x^1W4y ‘ 6ܰ4YctvOk6}W;R {aXo,0M_#1aHW/_N'1_kk₩>cΟj~.Q&srǷ9+֙ρ?Olœ~u&e8fN `R 8%܊4DKn2?9x?ͅ[Z<ל@]ŋif$?㲿ƑytJh o$k-CmrGPr"dW;ָ?ʛjiWJה{Qy<;3?jfo9sbt$}܎UW{J+j:*? ׸߿ jn]#bxٿ |K|C_Z5}nGI0oʑ%ό;8n8ҮlxGcK2{bT+v@0oho^tVWgQuHKFz+FticxT7*Z#Y=ـ{[xw?ʤ@qv]H9voڵww72d#!Y;b-)^Pز>;(7C?C?4&C XEl#F^(~p}]X;c?eR<=`H}(?z I}s?Mbx;0ŷ;rj<5;.0hl Z„UR_tNtWMξw0l;sD9t[G wMCdgH{{$6Wz 7P[&sj>X"N ^" k7e2}'v 6ש3#3 3 VL|v 桜4 ~LsO )EWxv$^5Hzs`*W_̱R myl-;:}o8>kF ش:ҽx*DNjBHCmqs ] YrVˬO]&骐z\ YG&ї2mv-|mOxj5$u׵"V "?[[EʟEٜ{Xl?L YxHV6.U@=;*?CGZ*(8i, _n[3lZ?jUTWgöu Ŋ da#qG]ۛfvUM2%B{KhРO(EDML)7]3;&0NTWҘ]W&G;lЀ2 ?@_#)k(?)7o3"] 7q+5._N:l"%- -V:c#NYigZuBͦXb?_ds ?f>]Jg}%h o3ATOuu o%&*uJOv,f_퐆c-SRނD|\Pt͆Q#+|z2ѦPcK5JfGjV?Pb/U6Yk>x?)V78%6iS^T%9UĤ=PRX&&q5B߾瓲 .l?gO*V<%6/$/~e 3E?!ޞ52p%'p?C?D@ںC  c$~ sRecs7_Xý.=l-W¤\Ax{7]dy> Ǹ Ḥ,,(/#?Es5hQ>B?'Gظ4hP@wrԟ1BA>œGqgK sԟEE"())u?OMke mOͰ:?w qf[Z$p!}#Z?)h:n 2 Ez: ̿fZdjZTT5T{UM?{uu2i֊U6 fhU8cfIj̆ TJ2~0HfQζn`У-Wŷ=yii=p&*uT$)?#wiQ:ld? :(]gK(忺Ej@n6z /o-3D~ߩeʴhl!% D.)QZ"OVg[iV7( Be\]W#nOg,韩\1<Ϛi}tY)jA*:x$=mZtd072M̿nDh ڌgB׎ Cd}[6dXPD'|HJ-t~ßDBLGF-&PAFk 3ޡ#L<q=qKq??'*Q~e1P GaAS/M.Ls($؋G$m@aq(79>AP`Ӆ.VHt!xA@pB* KIENDB`homebank-5.5.2/doc/images/10.png0000644000175000017500000000060113604617042013170 00000000000000PNG  IHDR exPLTELiqyUHyUHyUHyUHyUHyUHyUHۯzWJdZ{XL|ZNúc|ptRNS/b8]IDATxe0 C$R(K۵,[iCVR6H?zm_}v/s Zn>\Q!~C4yR.y <?|U٭<._Kԓ}WK3xIENDB`homebank-5.5.2/doc/images/46schedwe.png0000644000175000017500000000612613604617136014560 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.5.2/doc/images/pm-deposit.png0000644000175000017500000000120313604617136015034 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.5.2/doc/images/use-assignment1.png0000644000175000017500000003024113604616712016001 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.5.2/doc/images/dlg-txnmultiple.png0000644000175000017500000003446213604616712016120 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.5.2/doc/images/pm-intransfer.png0000644000175000017500000000046713604617136015553 00000000000000PNG  IHDR(-SiPLTEGpLˬ< 8sTTA=0+)DTD]"hDTѫG_ͥtRNS1HNP^jjjjjjjjty{}UdIDATxڥ70 sl)hJsJpb6 !MEDz0H Ԁ$ t iMiB#: Ƴvb%zMdh=;lϯ/ \]IENDB`homebank-5.5.2/doc/images/key_n.png0000644000175000017500000000055713604617136014073 00000000000000PNG  IHDR(-SPLTELiqopsjjjmmmppprrrttt|||ftRNS3ebEkIDAT(;JP9'O`k-jmE"`L6wi^]u𹱦^v7y}:qqӶ:1wVIyJ)mt,<kJK@D%GY{L3?+&IENDB`homebank-5.5.2/doc/images/pm-cash.png0000644000175000017500000000041613604617136014310 00000000000000PNG  IHDR(-SWPLTELiq^X^Z_[`\b^b^d`fbfbgbjfiejelgoktoyt}x|ȆʉˊՖ(etRNS3cIDATxڕ90 7,GhBLcid7Cx2Bwl*V#LX/"9XcFoveG2&d  sIENDB`homebank-5.5.2/doc/images/web_title.png0000644000175000017500000002026213774107736014747 00000000000000PNG  IHDRgBPLTEz|z~zzzzzz}zzzzzzz~zz|zz}zzzzŘz}zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzĻzzzzzzzzzzzzzùz.eUWT#K*Z,FGE+RMOMBGI8Vu;?A(a!]ǧ ƠX\^Gko@$4ZӲ*XP=b`}wmfjl379_BdTi'xX˱2xty{?_wkprԼFİUyp²h«@3G-5ItRNSE4X% ,M%d0XWqG0dΎdεیuGZqW{00IDATx흉[և; a%2jLfsFA65d;uyd>U rNW_}W_}W_}׿\<-OOo%nw_.FZo..w!'R??T?̟5;43rV=XGk/_;==z9R$"6{0(`Vk@w)Ve6Xbw[z/vk{?幇ioXA꺆Z K`~orˍҹ7Փbpov'7/׷n WgjJqI依K5vsL<_sOmHvܕץr 'kauFx}was8u61:N:Ty|3cn;>>9~wo&r{3'lpRZ4##nN[4+$_nrXY\."\v6_ }nOJGۚtGl ֏R/2qomAGp}~5n?Hr}b3l'4Xb@kt9PٜM aSG2n*LJn/q{]<<ͧ(Sh18nCnvmڛ[<5qt'zjNn6xCr8;`{RSesXY.wO&}5novS)ʭ9UQl6M$|6QDrz'jQ?fvzfffz,[ȲH)\%)꿌@"!n*6rX,OvLAp]XETWh7n!s׷0gnX=~v:] ekpJNoomm5B> ȠE1 t߲8kaYF+aB#ǾfL/KhA8Up׽r6[qmV-Ztz>*C/ }6؞I>)d )ܜ&6em9ԁXos#qӮck=7nQgiYmIiH+p5n˱v;tBUˏɦa^n [vOŔڻ=pٴ:C 37;wd?=qɍߌjȣ*7H֘N[TXKnlz H2ya7„0Ӓ3n0I=r7D2q3b9|*7r;vʎFjYy#Cś9r<# ;w'9 E㙰nW8Fnԛv<Arln<~s٢Iu؉[ڨ-7}+^+pܘ$ZBdv]>`}Ůe/`ndȑͪ:o'ܦ fk]b9{.֫t5.급"lZnpX7,bB;m1s;ټ6nj=\v|2rCEݠ3#aggڪc,4~&K &^?JbsI~XOsGC+]`g[n39bqV`3г^gACF հȸ Ԏ2o#zQg]pkQA[|b^\,>N5m Sn;ujV t&3!b÷T ؆8nCCxUǮKk5tv-)8[Zr K& ն"FnF=8/W2ۚ%c~GtPQj"q7 s}%*酻&fwJu7VoN3+eְ ~ې}ᖁ pmn^T[7 2=^/ $G0[ְ8eC+&Timc<8)QD-Riݦ V0g}ޅœrsNV3Xq;h0v7ܹ1n2{.qI%lP{ ش-t-ݼ=\WTn6{z4%&RqYj<"jo=z=; tM;B`OQL"p8N" \pƍ:+xkan>DQt-Q-plS/˲8G\8~$ @zܭW1|Km>`˜v?:73]p%OYSbn|!ړ^q7L{ ֑\$`c[>J0y /'ݳ͛.DATgwrspQK>r<@:#nTl7}W[2uz͗Íc en|M = 7b]v v9ͺ{YJe?;U-Qn͛C> @E5XW&k3ܲ7ۼ*'L;_>saTG6.ݝ9J~Ԏw87.3mGdm/Ykn! NA*2ڛfۦqʬ 8%+>![ ')IEL{ǹꊛpbZ;;C>&tHrdy7CmzXz7Mڙ,mn]R~Ԉ]榽l2t{;nGuFuO)WMpkН7Pa T"r[璭mdYt7zO}&ĝ7 ->"7W%0R ]r#0ܚcu q k(siغPBG]ćě† Ɔ罝3O? 7!Ho [nݴ&ٳ9#c3 !$OI$y;l 1ca-YmEčd뾿R:p',cu{΍˹yT{ j$n>!75¦Vh9= 'vg'EIRF7'm-l4 U0Ս,STnQm,IR Psek1hGYG5i%k.,i5=K?NPkv 7{,wR!>%Y34,Ҥa~]J40,$m|8-?u2?2iP(l . Rs^S.CAT#үk[ 0]ʈ$HiI?idzz ֒DDrnwUT|o7+!ek] K#4/r32b\a~+ .  2H##Ai1hU"I}՛yٯ%|n7(;"nI5L޸V{淚v!oeEo=r#Yp E/G2ý"Eq!˪ UX썛+ԢpX[ɢf&q!"WxsЖ4ٽn" a.*>d"lh,6!RYQB QVtzh|-l(PhRi(b$A(4_^ m-Wp 5˕RV+hj\JyuPW&Thi>߫ (1ò¨R>8f+tTV"Ku!R̃Ieu|yэ>/eıV* X(Q!7d%޳5n5r l5*)!D%.ϫr,Bz}0,,MJH!aPQiHkT*K|SRBLj4V2 J~R3Qr&!!EV%beQDϤǑY* Y-J G5-p%GEAR|%91 AFEV`&Wzy&-$ݯd/%P|˲46S&nNa?6ରQ n@) u8"V6/+, j|.m2Cl T  &QTgx4![kJyx~w -G8"+!@ fjCY CBVԯȢTIgv|煺S%i/z -Fb|cPi79L'> ܄^qld |Ru`v!U O~UTne.PLo=4Q\֯rkJ4)B(JUyoiBYѐpR:@>r m s!@u͸K>pRԬ]ITID25>nΰ#6^- jpM|B-B3p-IQV#yܮdCAS/XR/ &#*jG@ iRR,IQ UHa-/u9#Ŷ_z`i։7%"*.4mp K֡,Up]\?TҔ<@ܠN,F[WRS"liBrłnܘZ,\PRnPQD-ҀrH*!f$fG՗mRFA^]d|7Ť\_CwZB!j/u I>|u)&^~|8 Q:lq7V^4aKqY@ .\* zq%NF/ 6]\Xh[ؠ?t:&ɐ匠Ci NSh^ OnS9=d a{3@p,VewurX(܌ viw;{EYW.Vhm.:n4 |"LE{.Le$p]^8(ML,ύ?|uHSX/f4EXmm6/} ֢qҼW`.y܆N=;߽{zcÐgrsՒnS<-7(-cPs3;`8 !STa )n>^'t,{Sa)pi#~eD,^;rl.FItUv`f֧tr]L#KFn#I#:#Pn6B2\0MM8ɗi?&o_?-nN&ߞ% .W|.5ԵA+$;r6_[ЯJ0(.}w8R[h.4 ?4s[ԈG}G(MK\jrZ5Az=>lv:r ofE\EKoޠS!ن[15pڠ`IpYu.8p~]I z[:lj\+Kxe.o,Bڽ 񒘰(fpY"!7T..i,)D/LM%RBgQN,I4Ք $_7.^#%8Áe 9nVY`i@\*OD*5l&l_ A++mЍp(^C=-ms\:lծ_\\pAMEg˛U&7=.j1ƜbXsvk櫱v*pun?YqrE7ST*wwnrƩqg39XlYn@misuE`њw_~J?)Bơ}1xlЮ5^H>o-@M%z>cևPFkx{׵ 4p>\Q__ChzhRX_}}C-`/]IENDB`homebank-5.5.2/doc/images/use-budget3.png0000644000175000017500000003433213604616712015112 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.5.2/doc/images/6.png0000644000175000017500000000055213604617042013122 00000000000000PNG  IHDR exPLTELiqyUHyUHyUHyUHyUHyUHyUH~]Qh^ogrjxq|?FtRNS/b8]IDATeG0~lO:N ?. IY 2IʌI &ep@q5xЏǺ^r`C X& b8./j.;L76; .QIENDB`homebank-5.5.2/doc/images/use-import3b.png0000644000175000017500000004060613604616712015315 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.5.2/doc/images/pm-directdebit.png0000644000175000017500000000102013604617136015644 00000000000000PNG  IHDR(-SPLTELiqDDD  ]]]''',,,FFF]]]^^^dddggg19+tRNS  5?`cvx| vIDAT(ϕϻ0ѽI 1@l,GP\+kOwY~>:fYY61jYw@\a2DzqlŅDokw/,=DN(QIU\;a9.2C»]/y pU(4i{:(vIENDB`homebank-5.5.2/doc/images/hb-ope-cleared.png0000644000175000017500000000121713604617136015527 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.5.2/doc/images/d-info.png0000644000175000017500000000147013604617136014135 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.5.2/doc/images/5.png0000644000175000017500000000053313604617042013120 00000000000000PNG  IHDR exPLTEGpLyUHyUHyUHyUHyUHyUHyUHƈmdzWJf]i`xqyr{t#tRNS/b8]IDATxeOPËwY{:_!y" βI; =6T=\&īcJa검IYx 7q{R9wa]v^=^skVRBIENDB`homebank-5.5.2/doc/images/46fiscyear.png0000644000175000017500000000432213604617136014737 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}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.5.2/doc/images/doc_title.png0000644000175000017500000000433713604617136014734 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.5.2/doc/images/hb-ope-auto.png0000644000175000017500000000076013604617136015102 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.5.2/doc/images/Makefile.in0000664000175000017500000003450014036076652014324 00000000000000# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2020 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.5.2/doc/images/d-warn.png0000644000175000017500000000133713604617042014147 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.5.2/doc/images/3.png0000644000175000017500000000056313604617042013121 00000000000000PNG  IHDR exPLTELiqyUHyUHyUHyUHyUHyUHyUH{XL~^Smdqirjslxq}vùĺĻ7z.tRNS/b8]IDATeEA3"q@_SN$Iօ,8$$$LOMo`26Ԯ2@;ݵ9`3X{??< [ X@IENDB`homebank-5.5.2/doc/images/use-vehiclecost3.png0000644000175000017500000005471113604616712016153 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.5.2/doc/images/pm-transfer.png0000644000175000017500000000110313604617136015210 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.5.2/doc/images/win-statistics2.png0000644000175000017500000004676113774107736016054 00000000000000PNG  IHDR*PLTEv`s1&x3cyUH334փwyd/$k0-$󪩪tpd<{ӫ4~Ѻʖ䏐­ذȳ/01«𐡷׺Π幠u_򙊗ͱҿ·来©؊~ȹ|ھ—cî–ʭԉºlii󡔪XWXDT{@CFxxyÄΘۥTȤԴq{խ<ƪ͵vjC0wru[㬁ޙnU`t]rײX91iour|59ON|= Y}Y>P"FQ가z˒Ð,$2(32u[bq!Uâ'(>h?@8c@H!`FAs YPe*,bTu(:!aY_4"7Q6`4W)O@yS@j'ryC0 ajIPRx,ռP6`uwͦ9x"/^\~ὑ}v Ypb6G\6#?ef ; &R/1>_}t݄1uf6w-0z/ 0ѝ \Ի,0y˗]HJ>#.JKm|F]:OQ#zD6=ǶpPR{ɠ{ح'O]y{lkb@ Bq,(9!2gwTơp%Zic6v\@52C /c }m3V캬ۮ9{*S|Zwٳy4,*MMN,M.ETv ԐS@Ӆ.aT/tg{؟D /om<| ⅈxx 9?s_PmJE9Ԗar8d2,@Θ;]71L?Ԗq{ @ ٬ffs~2>Nm g,0WSK(5 q-ݐ0hQ:k+HFmzZy+[&L&#M鈕K1h*vM0DPU/`@B.-Cet;/E /"H0wH`0v7dnBk%@ZZ˭P9GMh'_p87R9j&w= XR`ᢙʶP>kH„UGM bI-5u0@L֚^"*¶&~E- :t XYNut쫯m9Y?ZTu QWW6p<@o/$S!o[~0j430$lpࡣQ\>&q G '74|J;135H_ntĪNc_u-O:2){_O^@>)}^ @CP/m >APg`-qu]cmSy"5ﶥI@h?6!o8AyH.̩1\Ep ʃPj/X_uB<` PN@L9uʛ p>^|LJe$('Fx( f ⠧yf&ܩ4@_I (+@#JI}$ 1AohUZfZzL>mɫM X8L繖Qy;5ޝp ?\~~yi%)?X_Z#a&hNU,}n,uo1 ;g PNzU6,TPǹ 347<_hy0prAi%s:Kwഞyu0:W{OU-+iǔxy$;tuD бfe A!}E: 58_CD(l(ߗq,: !ly~~۲V~..]ZǾXwU? >V 7A2QPS89W[CMltV=ݿWPM [.0P V,H1aaz Ux>jG+OOc+7K|s4}J3RzJʃ:z+HWU 8걟RODHX䉛=zD+(?M-m}Wa[Fo{PpbDWmw.۲Fл$BK՗ԶFNT 6W-| X?% F`:IDk 'X^R@,Fph 5f[獃^yM:5Mr,_I/&`k xM o<:^g߇ GY!'cG@".C0n"@>3 RĂA0&%̶3tOum]J<6~hfxˈY :>hgI=(D#uT;16)R[{rde1 kt_)i0V7F}ӤE=>L55%(re@@,-.Ś!& y50D-&7MyWzh ̷ge2@?,ht`jYZ;8vZZ%)5G Hpέ|iV [͠ оkVG !Z M>`wZO)G4kG~#'yh}um&U\ZoP<ʃg8}(mE5y3|KU"?QpzTI~Zw-]^.-4]]uU86Lڠvw,>zVmQ_Dž(Q]÷8%xwձӅ#q+dvF 7*nD(B,+|c~ߘm]ٿN 1T; 48O۶eEܝ.P`Ge}5Ǐ /8;a/xkk{RQ!#5&ˬJLoR^^yymy9`xN.* V6KCH*ցuXBQ}J6575ZpR%dঈFT/+<{WU=km+Bσe`A8? Ɋb٘_|g8ASU){CϢ}ʨm#G(Fb8Έ@B1h:aheޮnB Ť=P2{\fVwiX. vOE@7>O fLQa:T{@sx=(`<f~{$E{@nZ=K@FϿ5`uupOXRދ^=> L,j7tĎ֒T}C'#Bz@p(6 f[GPfDAaӜCk-u-^_ 0\[򈡫x`=Aa0m&ޒy?;T3D]J=k].GM^ S{Nk3yzR_mTM0!~)qܣ[ΙcWa,TkNk.xP^R\ԩ˝7OHBB89`+b8$dsd&>ow%/*h[ʔ )QbeJ,%EO)&+S"#>i> &u*DE 5=R<"#!Yp8_ fqiE7P TMbʂD5"HN/U R2VE0PmX&N@feYO0ݲSq]W.eH鲸8,C(#$Lq@teH|%vtDKO偋d)q]RH246||(&w(ԅll黁?.=4!?rls+uò[7:w ٝ׫dʯ7olzY]z .K~_m}y@s2T\D6Z.ߺ(=tY\iR<8[ఁ_i >Rx=v; חYW\X.M*1g`, aڌ@87W ]DeXyr?T#p3|=ʫ#,h;0c݅Wx0'=RlMؗwj\mv7ł.ޟz,?8-,]XWLJűR] 0=>7}W/پOG^C/=|^hF(!a!8(,e i'?tv4}\|@1?>7hzD֏j<׹%x.{T^8"йRN)H9:A1pvࠝ&w)=MLTr.`>LJ$EJnnCndjL_ Mcc%]~wVc/pc*ƥ8FF;Iil6</Jza&RXB!gEs@zz)>y@lFw(V9RQ<66y`Y$<6H iXg13{%Y {1dYKA,Ip^ Y2!afyZt  80$0dbHPqH0t1sY}cN>spGQf"@1\wNv6I1N2\Piש7X*)3"qlo@c߆~~QTFI(p/Ȭ'EX+\_:t:0LT!':|1G1TdF6P7d} =2 :.ɦ!=$k&FwF X r0|pf*s-B>+WgH0ѼJqr-U1ui ݛTyjUj^Ƽ ȤX.'eGO>^qEUPtϖ4ԦܦzF@pS0/U4{$Ty oa\.KvFp=N!S |@@l/|s^po-A@( hق>ǖ(c.QL3!ɭVƴbN&عUi5Yib[ qAT N%}G\ l9ݢ8!0@ : #p`OV2dLuͯw}/; .85i`b+i'ޜ,ɘIn,jp19.L87M5<2 }>ft 枀YTXX\2 bb t{OE`Ç}xebM cи.Fv"uěuoLx2'ZwO `XH<8ȃL O`̊ XfuBޔCH'G 賆T0D{gժ_`?@| 6^)\BPX E6/ӊ L(@` N|Z<t}/O04p` \:0"]W-`/~pQi±W&c\zRam`v -ll8%hQ g.^7_eN> 8`#)xbA ϥ la,}g°EK:==KH$\@\eM|ip?tpdhEl" bmjrL~8М,Fmv/,i. LNb?aX:; 7*Hֶi=x0Do8 RVGhXVͿ-f7kg;/#uKl/LgBoY"L A#< :MפVɪ=Ykݕj>~06L05;ʍ 8.΋ːu%Lm۶\@{kOVD{PF ڶ==4|wV7%Cd$:o& s { "7VV 8 `&\r \ xa+ /{/GCR_ ?@$vyg= Kw #`.DT ̌02,$++^;@,z:&U9ra2ϟH| xg<μ+Wt6[tz5'` :R«dR@b,je,.x0;74΄ / q,%ˌ(͌(.QY(? s&Loq)7; @q,Nߪ=Qs>Kِm=YvRZ#s<`Z :(`, (yq51(ꐈn+ ..RH02BcUUxB#xz: 28&}t13$ $ӛw&9@,19%,JMC2'))+  q#g. K^Y)VU h4kc;A`Jϟk!NH6}L7r--- Gؘq.Mn_jC<*8FrAS-=t6\?b0bKbُA1;P8x#0ڃ  r"q~ti*!>}ұԬd>UJOMhs<mraJ9ϷbִHk~̝ ~jk8x2‡r{6>{nW/JVÞʝz|9I[a*S6. @?n73v(lYcs> pK|/ WoTkFq6@GQat33%,d0bņp b_bHrwvef4ҊZi #x,^mxaD贕Ӏ'`? 4:7tnU].fDYUf^EvuE^F6Ԉȁ!$j؝:PLey1y$wj ]Ջ`0w`?47/fw*3Y){;$?4CRUs1Qz"_Дy4_ZJ %,/md8XUrN> aqCB9] mbj[5Kzy1yu*S_}p"q6n $9@SCz 70 @v/@9͒5(8&YX؞\јrjiF*E _H3I8H\(}t17v.<ԧ C buOEJ^)"9%g\133>`Gm "Lctu^^Ar;$L6rxH\8}q4[N`2! A@`ЧVAc1GOR*5hy,] bB@|/O#Aq#`LYw>c/x ȱYp2 g7 Xk :+[Nky@KL~fd0`wn^ow/`F|0pzqy9V1Rh=rraVqh*lt!,QyT`E+}wϞ=vCHQr骽]lƁfA70?.-&1I /U Nɠi}&5#:d2CoQxL` \7!h=DpvZY9%y\A7#}iڋ{]Cer W,.k-ȺҀg<~d@)v-R mPJ)B-rA``4#E.6\5fKVٙ䙍3Ya' =-9=u>!\|_|oneXVV[l[лd[(].b4x:Rď |#؊b~/SbSؗt}T R[ \wSkAW׏+_]>eZ Uv?ni^,x$9;Ab SqF]-?G|$xg7;$> <#{f4\zP|?isjZ,@/w>{g)H3ZzL/[B߂||\9`}љB@8Sf? e«I^Ѹz.JAQZhA^ȋ>~?8|LruUy1zdu3qeY !>m %7|H_+™ez&vN1ֱ$R Epv೵5"DO1 z4+5en>{-|i|=/N<{|Ncd ,y^vEHD,7N[ n%LjdKic`[ffL; ޠZ8P'M'ۦ Ͳ3wqhˁK+|伍NӞx;ݗ|_,=@NY%U"3΍ܡS7y>(5Mɦ3cS*Y=d Wԕ^kNO[. {QKoRhn<52 Hζ4O2$ޮg5t~5xcyYB4k_v>O\KvdB^[ZK׻<@v<7 g1|09l2MW:Wީ/*r؁X,u ~pm"x g?a43YmJݸG68>8?  y@B/ 11   a,R,mdlzE&} Cb8spN#|;AQqќ"':.}#HIP&}%L3,CXzªx38$X#}+Xsuzp`#B 1I!L@7J=t0pdm+W;cࡼ1 j;&z"$ 2ڽ~/SP$h#C@ ;m*RUhu0#ί0: bB AxoEnnFl6 9 \TPnpl v ~!p킂6!U.[ w kA''nJ) \YF@]ɝ71L('<HFF'-6ؐ_1WU9 3Җ4]ʪhe%0+8nx079);# ^BHjА"FE%%:ɾt^UKs )gKmtVPSZ o~¥cXA3 ;Bc:5VB\a!Z8" 3Fkq!}QtygryZKyEgR}.XytB-,‚"%E"u?|gG8ұ8>!90dR@v"kSs366=i8+; 7ͅ'3QŇMfNhTEX:Dr.*{vax uQ #Lvu5 {[ XWf^ڲ)+gNيezp9Ɯڨo *mpwAL);1*:mMBI&@aU>u8Q@'!8I;u3MQ6 >HLbh !Z8SFЕp.& `+ _U?";+ XC@r}Pp;?A dR|Tbt% 5v463d0"m,L⸭ԟ&1iZtB y-< D6zG!onRQ3FP@L-2{OT?>qN '֘L!@@.eRNd a.KJc !e:񭅋vH؍Fc1ݕA:0W~B')WTe_ gA{r !Ea.a:0=|/|]S = ]A#` cטBq ^J!.8nM;t_ p$bb.<8@k~٢ C"My~ٰ jCrKِ8Zfהu) e @2Čި 8xBI RFr 1ٚcQ;+YK[Pk)/\ A|]JVBe1bEܫlmP ص뺀43T7zn~ ^K@Z$v j˯.6 J]`lTnPS.N)<@YtQatI\l5,u"KԠ`ʠrY3l^ \`^jIaF% w'B:@kDŷ.Uq䝊Í i^b7F&MR՚DOpn~HAЀk,E@/hK<7Z.l\}Uʊ~mkNk.n>5_vmE^[Dz3 l:]O='rzQN6,͏rre7u. X_! aSuvwfSFX^_o_B@H^m0`w;b:!`Wx@s۷׶<o aKJP̥2cm*.K ޶\2M&Yr4Ƈ0S@BnB]c2ʢ49҃!%9 !?`Ė,=I[]zT}lo-Ő-Y໴ĿER|tָ >GK'Gp  -97?sҸuާqL7ꯅ8{/}w;\ scWLW-ĎrNyߴkE>*GK/lZҏ7d6;@-k\M>jK? zcp/0v~R旂pEHsz>^~$?,TZHY9G]o.[ Nv8We`g#EWvh95}?%'r s/e9(Jo-/e ($Z"g/hz5ׇ6b6X@=HqmYT<&Q7}Oo#t8 85#d+4^>5VX@NxO&6Pe[- , P$i੡wy].mm!E o*\ {.R+&m(ӮZ${@$틴'67 M"xKO Yxӏ3w@W, zt#I##gIJQ5z`0s ٘|P ̏;?P(KT*'ݱ #a࣠]ϡ#4/Hv)X-pi(t? ra!2~Dc?&~5akc;M,M;Di`b_(ogx ʓ٦P_ U!1,k}'^l2}[]\5 J`ZU~ʬi϶De+WΜ  ź)QMFp󇍅D5wct9Ќ+CrLM335MASG)794,SËG␜bOpf `00œ@g|E# D$FY24 ۀ;bH:pT"40 (}BW/ LnO+-Jۚ)L y={SJ&ܓ}-_~^TMU|COGSM̔ b孖QnW?X@ X9X)#L`p|(7bC!VWx1 bрE0^IVx'7V|Q,XE^P3>S!UpJ, 4fB TH#Ao.}ЎH4õG5P8eFv> fMC!EE]C- c:^2`@Uȇ?AN740<(dɾ>¶ |͖qIENDB`homebank-5.5.2/doc/images/hb-ope-remind.png0000644000175000017500000000133513604617136015407 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.5.2/doc/images/dlg-transaction1.png0000644000175000017500000002560413774107736016150 00000000000000PNG  IHDRd ~&PLTEyUHĿ½ōoezz-36ث񷜂uxz֪񄄄jxv~~|v}tonoŮ^]aɜzј}eԨz˰~pqsƱخpѩsȥŻͯŠ}ilgtm߼GJM|YMnbkcgwkdҹɽ_mb؀ܻպ|g|g体ݯUgfdey᱅ж(+_xŮșhK|x]dڠqa͔dǤ;?Aٱ÷ƅҏ㸃ev۠:ɼHVpɏwըcIIcBֿ|?͉cݸ@'S(?IDATxyT3I Iİ#}}KdWل "PEqZjX}X]l_w~w `Bs4s;a;{/J +!K`봆.+5:v _qX4%}5e)CJ{W ,cӯvZB/{\6^vy2'۰ˀb ]lFnYβ8 YϷ,T!Q$ $,dJcltE!s D[ PX  /fg#|.0Q_qӢ3W {VFBl6CyUF2 o`s=0ce,5BŢ;Xf15퍋0* Xmg`&Ql\%;PPuXaA @€'+`@ z03"YHDj,0iT煤 HJJ?TeH_-JZũVVVd2MPy L#/GK-BxxΗe&JSBBw?) }øL1 la<^=ˀ4@DcO(g6 '&lL'Og"y<<Y~%Kv @8/";) '( hdnj>s+4`l`wvНi]zZ,e< ȞY R^;J5!/u7 K!P#Gowgd*|*]O2* P&}4fP,V;UL{33o;'3O2@6Pгʇ7@]W4ct&n?RDOM[l+NW8q6ۇMЀ-Cf:( hU=wFu؀PPY(SnݘOG]irqn? 0]6sŝ?j@L6Yxgc^6QXU\?PZz$s@O~~0P%?{4r@ڮv&i}TN{&{24n?BDnfZ. 6e9*7/y3f'JZ--0=ӪeG>1--} 0|  dDns?6cH +Mq,#feD4 T?J`"qh͟0Ydg Vs6 NX eUs0՗SR61ZN(LR6 ( @6,ʀPY z=>zHtp [AڰBaca*,V|ψ6 ZP¢ka%VB-3TW j*% d( "KHX񳰿ֻ 2dȐ!C ._u-D=B>V !-^3)-h :$Rf{0D 0VRr0EB`PFB[X7jmyWr[A 2@DS0Om( zs*G201ױowp&_= Pp}`|ǃڹ/+.Ѐ e,<'&1o}Hrj٫1%N\*w=Lîx^>@Nhίy?Jo]C_B[hcDvkOovcЎv]RP6(p(56gOu Ap|^0-nnn91Sq8lG&=4{'~\{4b"uV% "NJF?AF׭ra^ AՃ?Bϼ yڀ"Xeg&' :AmM1(^[9wK_]_x~cc<;6,cֲ1\` ̑hPZLueyp_ZL{Z܆Lg7v6`Ծֵ}_ľ]^ Q=9q{#CgFnJ87'޽&޽tu΄ 2`R=aZcnaп=YqLK0KDP?> t鯈[eX#'6!X34Źs\b"6iYWUrH :ZJHHM}i h[ b-G%3b1FLVDH(ao,gd[%` ҽċv˫ 2dȐ!C4F!/@OG1GZEՠJѣ^C0x=Uխ衫MW,z#U* * b|9XTF>BGw_n%`u  ,r7f?~^oQWTkfMt@ 07Wţ6nL71Ӊ}znG'i?t%N_o1 ~ ?BQ9{N;e]k>qRӭdA4%} S~˯$TEz):\`k}T/} \ hK׍/m _Twlynj 0[NŞ\2m(1PsMUA y;bvńWl_|GRҁ$r3h)8KhLx {ɕ;긽ߑklѫO`s{ԏ΄>qirSu2ߧ1@5)!@_ѦE",-̋#)NKs8d*So5 v޸)oמ]Bt3Rk\$D 0tn `l?ۆ+8M0p;JTpd"XO$h*8v2NDo zoH%k) c@AHڀđQ3ѓl/xc{ZIb/>T\؊gma/a0 (%M4MEڵ~+2E$z(I" $y X8w\lppǭDglL5&^~ %kb O 湂7"s$mwр%^}, 4iu(jf40R־B`l\=[^Grv뻹pcN8,\ $ x;~4pmG¦laNyNpV X KO7H720i4@# "\2ˀ 4pV6 wyUg25ev|tt "0cG_/lGhwK7lk|g+PyV4l+ p۲:'iTanjg hbbu 5`y:~f_I}fATض-##%W* *hwf<+g2ڧW.yxEFYe(66$<04-+ռ8@[ڇhѵӵ]9m}Q$-p |Sj@dθ]$. *I:6\9z]Zz$n/lk lbu^k^a30 zI &p})jNdcϲ.-̂Y&WD^2jkkѻx4&iX Xe H[)!` .F4mH͸-PtD)Jyώ&FD SAlD124d5&nu+R@jIk}*} *J\J[ {qbk+nTcZo*=AG54!d?-9]bEwvF)56ySmBjpm90 E١7lG#p{鋮1i)ZozFRx*}w4~Ab η]gϥ#a9pc rjQm_6:N >(, T'/}:ɖH6cD\l`9v,f8H?k |xx١.n(gHG*@f šKYwF&ns|PgG^Gi_|t28͓A3pg cyI]FyYƱ@ L}YSgVn\;zG{JCױԎ[Tve9ly]ǎz33v]dlo}el;/!fK`/ "AKn`.Zm mڵ(̀%KΖ^;.U_yΝ0J쩢} B-5l`'bWTK٩Mw9j*Vq'~󦊫#5p d2ׂ^1k͇t\f$,a:+SIs|6Z>4q,ZlϊPkM2.@=f7ƬV1{'}($ŧ5)nkX663eUY|Z2[ 4ŕ_oh߼-%3mk PatY>(̙\S6*tUϜ<h}c} ͒ ~h՘߮zֵ[*݀+-Ya[c&hʘP jN:b}%``gN*`o"cCRug{fs6\*=dE(ifi Z,:ڻ?Ӻ+b~L-F׮ݠo=w,rj/ɲN?#"126t,qKڙ O i{,–V7lXe->v) TfO 0;Q1F!2↙r"2; @RY',5apZ/$5zReJ.w} ?n@0IX `Ou .. B@d, ݂ǎ"R:5(]PSQ.|4"OL\F"~dK;?@ C< r\`J".w_1d  w$+cDƒqI˒]%;=Zap j3x"sF\,>đ>VSBDf`(9a2.k$6,$6kus_Jj CMKn-f|9sH ._f؜#塈]I=Ճ8䜁盾;2HJӿ\zcӷ' | y3_r:]*^Ϋ)X7:5M])Yz&ze΂Ƕڋ3⺟6F]|& 7 _y[K;YSm^9áwpx8u_jacw}iwܿ/.m-~ln|zޥV?Y` @e.g SU%P4p 2jn+w* 0W$!QPbٸS!Ӻ:QP0A#!!/hD7ř=#Zy'}w=O_aY10x(q#e% '`@(,0"6EA>0ܝRbJgrĨ9&b@ڝaN9^SqPpi֚is={*WE(4]VmkL[3E}$。c>˫Yu ~޳G\w"hբ$ǘmUo ?="/\ A("^(rzF $LOaa&Z#a4πpb ^5@5@D kr?rHg fUżdр 7R39#RAQPu_j'|^u>H@]IMArff[IZM1&Byfqv ylUj>yG&ۻ3w3;,q^FG+im۳\ǥln0K*U*?.|nydhpΖg+,қϛ_GO5~5[]γƛ+;{;82]tKO%?+:?Jf,nIr*րqjӁ%'PԚꡲ/hKy Mw0lxWbm`]Yn}5by3{kVvmGOO*8XIu}*) 4P &i2(_ $1,y4kL++j)~gt L1 =i@ Ak{p&o {Ұ25 A(kk@ C0 (]0ieK2 e@ '!\%#3bE`hy'ޓ.n֤C % 'gMh-ϛ PMdQiPD-q"@[?Q?87IENDB`homebank-5.5.2/doc/images/win-budget1.png0000644000175000017500000006350213604616712015112 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壦}52ǫt¦sl/䎁Ěq砮ȭͽxP@7ϳֹû}~5>P05Aprr歞މ]]ZژDGIkZRQSֵǮcӌ>L`äQjvѣ{UEWtdPAMlѦwћŕfβ׳ͩe67 IDATxLiLJɦPi$+?1DIaOM ?tDHʹ3 `>tDxi!)yn8_0hܱTѰQcЗc6{@ q@k͊k6L7KFJ vy>͛76ˇ((pdB32l0\s-us(OunYO yI\ux Z_O?~h$ 0aD@"[!*pÂ&0旊Dp yX/7U /@$>8g&+D ^)YKMsx ca ES8x70Mz4R8x €߾5&@ā D?[;-vjf ĊՆΝMz(Vh BS*e #z9wiS¤wIK#퍲Ei;,Pܒ%L)ZT6!7ʈ`YB @Tv(a~0gOFfp@<iϤ>MSO/,h7 f sdb*S= '3&pA{VOgSuJuY(>6gWFB?@  IJ5/tG^nw4TxvX_pvXt+X{9lr,i 住av>|=s⫪W[g.|-`'VZ:xy^$Rc?[v(`YxTLyܹjأ[Ά>>bJ55*0|\C䉮N>L<~+x٠Zlx>cO5?nʯvfW1ד^ Z2W] lI ZѾ SMpwqzJ `_]'һ氇ת[W{_^0<'w6%L@.l}d9^K9P,z)dy^Qܙ볋wG W|^l]5@Е߶p*vݘ>aCrM4:&oΔhobQ%aYH3J)K4 ijw4u͚6d`_zJ]Q @?MIWi 4v&v,y0v߂.a D/ #:@ '+A)t#Cgd!CmK*`p;s9D:#$G sPf&5Oc:,C"\ȶ#϶r-C౭'ǖt[-#@x/RѸͪV7F/ܞPpIkɁddTԅ =.)u ̆nmcýnՁ%ۯ֐zn!.(Vuf_LQhP=|ݧ7+ 9^de4(Sdh&i(Tlo^\`*[]cj{] Vp[P_Y.6&jؒb(,%٥|@:{cBsqsa+`Z{jĢw7͵(@nM}v9VWt}lm[.Aqr6Adqب!Z0TRTPꌛ4M%h+B"{qM]%=ڒ ݦS1{'96z{q.9Ù֏>}l_=P'p~(| >?Ckf=* em'Jz~gPH뜏n7 Sl)2Vaҹϣk`W 뱼;!bp /ٝ`|ZL\viVfY@$YP GkDdޥɄqI%cA]V~3F/bd:qhKh[.;bhglv"aυ*{S~ő '07[<h $+hH~}刅(̑+0$kWe5Vtn>X!%3<j*l6“Ti 6SHG5 J-A)ΰ>ቕ]xgߨpJ %rl['rk7dn1LX:d="fV"꧗dk"ט6;;h{oYώ6*XT/`+JS%_.ξS TpY?e/, ǰ}# VytW~4@yÙd|8Į,/3QH^d"W P÷xxqߝ[^@`>g&,mdc}KB'lCd~/=Өi$ʘ!ZVM|PAlǏ ^'F\zBZlF{XBm{#8pxȨiֺ4r{YATWu#{\od؈)% EE0?;4r )ݵ@^F .80X(T+01RqqUW%t|9Xb5c ˮ HR0Il$pupd ,SIHndg0(R/0ȟ:ҋ󤯓4dRQ@EP9 Ǫ,TL #p pK"JLtq?Uk $* .y}[5@o|ܡ`*ix$5=l1?9;Ahv{Y=p͔HV^Vb{[$ نڌ (Ǔ[.t7*k=@-5H 5@wQke黥!E(.T͗ZM]5I ؆0w6h֧O 'qgӬ1Ӽ WLs{! 5a GRt&cl;F(6F7 xšpB} lqЛ{i@X2a:W+ =ıy t'g{Ѓ OjHZEa1!2XWgjWMT-jO88HS MFH )-1js&fWKž@RVSLÒ/"T\ !HiU(0Sbi8ۍĔT iO=i⓲p!~uĐh# :qC{}9ب٠,*_T81L̐u`(+)P|:zga vl)dZ˂$ /q4RE(P]n+jP@IЦ0 }Ѝ+Hkݤ52e5}ZG#X ]}.цT!-ˠVtBl&*]A\h*rE<~Zj`_*Gs4ju€W(qFP*]w&ZU R,ś  z5yL 9H|4(?[Dj]njLJ0 ,Wa@3 |cO&F fj]@,  xp )O7FIH' ;06!A&„ 2La*w9=N.<ƬOxl@@H2DBXFscci0C@߄yL\DҗfT$OH7[Oy>ZubO}U'3.$jcԝ{JfHP mc}Nt&D Y %Gt 2) (\BOyŠ{_B wc?fҲȇck_r/w$rtbJap"QTwDRa8* 9S>{_dRn{1>[ruý_6s}q ;`Dr3M<H ➺6 .yrbs9 qhq–THV\Cꔽ|L 2?s Oy{ h IWCL ^(Pc,; ͙9%'[L(*QS s$/Gܷwym- yK闑.z! lL27{<4ΖU4بx-0wMno e"7$9[F{h,T)([-}8sشpJ00EJ:}j05x0 o![ϟP"ob'bq2 #[,O+ |,ׅb5GgsTtBhFY闑l6YbB!eNN"h;i=/eڤOڦUJ"(4rӑX|c^~TXY$,>vl, scbd_6蕊-_Fsl7 _f"Dgި ޕ.v Q>qa-퍲pPj βpwEPy2cbe A»W?!j8?Oa "?v5q|m ~1z { }TUWիϬW"b|=8Ѣ Eˡy-mϧG vӻ|)?b DDNx~ųM!x8IDAT@bww=0iy|PWg;RS/Jq\#<{=_&ʐ;ݍ@4LeukSpr!Igz^I Qk6޵VVAo~~ ]cWLrXz5ہBPRh A>.Ru@h>)v8b`Z3ܦyO>Gʳ&&'y,*m1KlMMU  e'Ɔfǹg[:O-}<15lK}AF,`St?<AQli9Y?CV336ŽngH/ܾY2[+̛]iuV XN/A;؆tnulAŢ7ݘ729i抶Yj!o+@B?'B:xCpwQY‘?ˣȿ@M^Sf0LP'򼺸ZW A~,|qwT~*jz?u9+(-mO~>Uw"d6?~izX.65`֔  B,U2{dٜFR]J=]q22qeHyu0=v{Ĵo](P5]FeIW_McD\2G; CuCRvNDnq[-bgnljlo< v\pgPOu<Ff:`6pyhJ7 Nq1KC&np멻^5Pu&NB}u5ѣ9umn :k`P<u;gcvuЁ[Ϗg v]ճ-Æ7`מeܛ_^B9u%ƒš XџZ͞?ܘ/f*O jo2M`iNJOuo=b W^wRQ{k*>P}I!\%,q߼~׿~0G.moR_(]{BO#mn P\pzGS[{?U6ȓ4RydytnQ9][@|8ɬ0ax 2r`}}_X {4W [ɑ 6q 7薀qX>~Ja7=kB$+7`˪| H} vB_)@ BHIs? |7pF;H/,-:Dėh$l rjT*:VcD70{e|$;tJ4%?4z(D TQStl$ DءH$A ˆySpH$!$g*RG@L`K:Âмx0YKaP @峑²*1'O-y>4kH` @j(1n R J:>I>B@d \V3R#kD\BrIED>$P@-3x@܀JP'@LP-VV6i g9|]X 0+$pUU^E'8HVB!>0Hlj`A1V "-G*x9(S%D!g`2 :;P%H@u;j : 42o:9$W)_^a dXV1]mlRY˒l 1JM8!ƒ݆~Pg\6C8-VLnF5R&îdƯ۴f7.NbM_͞sl{8oz=\=y 0!%0@{6Q\@{V`#v`}ߤ{t)rwP !]v[ 墇62 MU0zs* 7vQ `n Cp75j!)T6ӵ8kڼfFM& [jx,ts[?B7SXVTYz٢mi`m7if,[Q8P]&]HKZB[N6N)&5ln - @\.Т2<:OQ3Mkk4bPnb\S._<* ^y9@QdML`0.Gf{-X-) b^k\ÝLSyKOFݽn7|T ]h뮩bPdq~'LȀ)uJaVn@Ew*Ъ~OS2`PCf%Xl65非;eR\L)`yNp "(&-\QrXI.޳'H ɫgu:g$7x1){&?7o~ zf| h pb&\21O9fҳ쥶\qIf[W4qʱHfm`kMm:]@Y`x*b~j(Zc2@ڗ@n &Kߎw S:g3e_UϜ`V|<Mg)[V-Z hFh-@AviPߍG?W}<77wo߇&WROν{_tfwNSgnވTYn8؈uL:"{]|heeW9VCoVC 3ֆ^{R#^KWKG/A(U"Y<$ mOi|ss&_T FbU ]Ehr8CC@8[H &@6pb$pd_F)F@#QᬐT` PH# I p{ 9@ [tψX `m" 4t g̭X ST4Q+sʺh@Y QJq" } Bs$chJh \qI)T@N0 !Y8> ]u4F 0@.FY9(`%ٲJO08#Qs]@/gY @5L&@NF=#T8?q @Pp8**4bP=qpTހ H0hq#wBVļ ^O.cD" @`PIi@9CzE8\Q~W9@U-(  ķȹ`'ty-@Murx5H 8bbP]ȏgGwv.l?cK cFb<A[ j`FIcsƓlşG:N':,"ֲD9h8BQ@êb#50xV@ E!U!*WVq [h"IŨ*VX@V7D_ ghN?V,@gZ@{2q-"i *#* ]I`\@K{8@@Wi`P)a4VvpZ8URh]rBpZ8 1[2[1`h)(-ɔsi5B҄5197QA` .L1 , B J\ O{4p0R-bv|8 Ur=glz{ 8|#!ܿϭ<ѮJn5(JL^X£~ϼtgv'^ }N\{9ss >0ku]v1Nvr1}]k[։_6j6_! e*VdUm*;/fo@PRZ?"PEFU?@WogJov 3t|؊|:w49jWh_ɥw q0)h!ors { e)5"SF QR*$ - B<<٘|[fڢN0mB:rEDkdލ[œ3״wp~q6afy&3O<@oYݘygpMM\3g0՝)񤚌u*ˏઉ?k /;jy#sp^"́T./>33 %z] yi+:cdplj/ܡ=C}cݠ!Kv'Ow[} :~g:i|^Yt雎ȵF۟hnYQTc7ޗcY\e*G~yAFk <{swB e_Jx1yXk! $|3scHqBy"Kg]H=R!(kLUș\-)cp +DʴU&߯˫f,VWK:yX C0 rGtHd}7KMz7$k %2L5*Zlgʉo W (| } yngc}mƪN@7ֳ>} p=zEV ߽L36t=E: E̞XEr0, bviaűT&#7 NLÍ%Mtf#(Mx% Vbq0˒V$[tGM9`[cBTv`Aulw "K:k/ui(6O d&>s6QHIYUrw?csN`DZ+-zІ.1Omx8E96 57[Ks@@@@@@@@@@@@@@@@?@_dicZ>X0zYyvyT@=r.H8(M5GnR( 8A:S(%IENDB`homebank-5.5.2/doc/images/8.png0000644000175000017500000000055513604617042013127 00000000000000PNG  IHDR exPLTELiqyUHyUHyUHyUHyUHyUHyUHnezWJ}[Pogvn|u}Ǵ|tRNS/b8]IDATeE1~m1:},\ $ɺg07di~?/Y5K X9`bp @zWu 11@Eu. ,MNƼ_]&˫%3IENDB`homebank-5.5.2/doc/images/use-scheduled3.png0000644000175000017500000002710213604616712015575 00000000000000PNG  IHDR{tȭPLTE5<6K9奤\䝙b>{˼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々'?[&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.5.2/doc/images/key_ctrl.png0000644000175000017500000000057413604617136014601 00000000000000PNG  IHDRPPLTEopsjjjooowxx~~=TjitRNS3e%@IDAT(JBaՠmzGEILY/k8۷-ay]˼鎧v!Fsk5JUH.~QsY4_%4e(GGC>s%C3IENDB`homebank-5.5.2/doc/images/Makefile.am0000644000175000017500000000015712460435643014310 00000000000000 imagesdir = $(datadir)/homebank/help/images images_DATA = $(wildcard *.png) EXTRA_DIST = $(images_DATA) homebank-5.5.2/doc/images/dlg-currencies1.png0000644000175000017500000001611113604616712015745 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.5.2/doc/images/win-account1.png0000644000175000017500000013140513604616712015272 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@>>"$%,,=2D3F3F{Ȝ̡\~,tRNShjp|dIDATx5PDS$Uj۶6}ƴa)I!60+ ܈R[d%"&"#L^!AlyGD-*>ٺA len{z9A".e08 .N<`@@M8_PsCN>OmIENDB`homebank-5.5.2/doc/images/dlg-payee1.png0000644000175000017500000001724413774107736014727 00000000000000PNG  IHDR6;`]EPLTE5yUHG^Ŀ}։ne*9Tʩ͵stulhpL؞0戇åu䥣aqټ{[MTRϭýĶǴaibafem=}s褯-46EGIyx|۾~hp̒|gj̝mҹ<==PRWcinb˫ȮԮt֚Ѿh^qhe|޻b{bm^eysza}ZZ[Eu|Ɇĉ|jИޢ|vɊӱsӴEjpSk}itz{`D逻տ@EcPmDžWÕ˾tU8jeQ_[/I+&3jebIDATxX٢𡅖B%H'pCD!tX@:H#MwDz v]ײ뵗uwu{$$ DS$Cr<393# lS3`OHj̸jNjq"6^èkZ.xݯZ9`7g[<6`)8l,6')f5YG͉WIzӣƖ#lKbee̪k$M75ee#3VesŃMm.ʨlfl¾o[ Lq&ؖG%śFؠsDNc32aɦliGd򡇓ԟa;;Ss݋{97 NwVV^֗t" Q 6v-KlT!P 0l,6zo2{ӾTmll>8{)FlXa&جJllJ{;8Q/$*_׊<*Kuv`U%Zm+%+p4"l]c3fi]9݌4Yl.1s!H/R" fvg-9We0!H+Y>QAń4QpYJ"ॖ d jP;-2U o`kI5cس2jLpxd-VU<tY"!fMV:Rh `4j~,lb{{%bxL*cCR*+lZ&ˆݜKr`(ဋtBinTZ|ՄF2=^oUT=̦m),6M!d6 %؄͆ y󧇱V漱si>DVx-sKBj6GmY a>(2|ۺۖDt`3at?cAu~'ePХ?%"<ͳEt?MYl~,vb3w]lPa3s}[G-N.jYWfpf,D0(fk=#Jl6w<]ﻊL@ ϔy6l51 oz߶\X+FgƊy*Ƙ}|l9gfݯk+㓨W{SWx9FH[a y$NѹZwmDp#u/.D=[niQ )˭S)ƌE r(fIʎe2no`ɽӊA&liq-/l22s=Ƴ)͑cCȺ%ŊQs!Fbs̅vY]aKbW:2<)V,)D- kգ(lvWb|ͮ]K=!b+ؚ[%VhB6+;1eVLK($@Էi|Ti]c^ѱ^kN17Zl"]]yS`](,Լ?ҕo.efF=;o6H*23xH 6j pQld-ڶ;Ia{M8h6 Ic SFTy(c yQL6olͶj1 [~FSćym2bFۇw(lKXہg߶0ْ#O:|?-ui'.FaqK)KTƙS=~~yvhJI[P{꩏3 ג> j6}~U}qd;p'kX&/)B ?]وaݸ2t.d0ٞo?ܽp]"F{G^lyGe&=էu7Cϟ_MN3.Ϗ~fGd x"䩋'EtNvh6&xI܉#Ua$B:o| D #J ?Jֶ\l{9QxDH ҉9zg?$Gw+;rVپEh'`ǺzĞ >%G/`Z.Y!4@H 5gBīs_ %v24wQ`v6P(p%G1lˆ.AWaz1 HMthFFS,<[墿-SE~罊 V1 a fhi}5yw]3`)T7RywQ:>d{t4hO0ְdb[Pvm<4k%mstGxXlŗ!bXn]1cwy|lfjj>tFA硐.3WPĿaTLF e 0}%Ilw[ϖ;/SNe{|Zl<\vM7A98Iy-)OB֞)m &Za=EԡhޟNۏ^6dM蟔s9sn DwӻYX]|UYSJ `z6H2a7?fc|KYB>||B[7UlllrsY᳂y/SWγ &Da[󏉬dM_-u b\6߱z_B e97Y mSֺ`ۺUNu+!|Ǻ_ SrSp!ׅbw?~(l BO+syBM=pl[[htt32dl,X~&אЦ茕1ݏŬ۔Sڹ)#4fS`LtAh Jxzl;wn>EoŊMћx{;gt -\m{]b>7}_T(~ΌEێc#6"k=̶!&^dD~Qf \8>^ߔ$y~Ѧclol1[EmE}hۦ覐uVag=-`墅b{o"l;CnbgN-sSzxaBؙs\϶Fr/h ߶r;÷EGnu6X0mܦ;]5- [O)RE۶ sӺmֻnnrt-X}7n88JG mls곕y߰Ŧtll:Be,7o>स谵j^ :uYztܺRȄF{3]F<87_}ɛ)<[˼L,f^VN.k|CJxt_|^?NK[v E-ї,F(lqςsݾ5W]w&_WM5>_w^m -pӑtCWB_.9{8;5E|#E8}{ڂ\?v~YmUㄶhoi^ `y~lh{E]<}ʽgyHm˻rjHwڳ{k^;rɵ?lOm6mH@aF/_>M:$ѯ@ @\ 4.8JlR:3]gfa8G`#6aKl}ecClV)[rTd.C7WZ591bN5W LJ/ >j=B &Q(oeR/_ZI)l6w7>]pKAnĝ)}v(U[P>KL6ҵbn0}k_藶orɖ39H.|F'CdmA Y{ZoMpmk vBq2r}۽\VbY+;^}&lA 4w`xlgǑU6>R j|k`UEwGB$+mؐ3 pK-k!]OݿF2ؼwÃ?J$DZD`{q䴤İB҃j(]iPh.`l}Az0CK͛b}Ȱya!+Al5Q.5CS6qptRTᥪү$W('jrL۠Wӯιw[zO%_:yn9u"?%φzrө>Elu?1CN>F3Q_Պv3N=:K=bulzeiW[IegA6Kq$leeeg]D +(PFKplˆ,*oy[ҩb`#6aNI=Daps ‰z(đzry2!s(l t? cAB8E{ҿ!l M_կE<q*/36sxg{_Ӌ)f1=B L@Lʢ?+1AgpkB,cDB2-NtdP\Bd6 #5+gmwF2(OP1t`6Gdãd% Mci&-Fwrlxa6gK'80 !hE* bQʜP7Z<+*:O EZLQ{0|ԍZۡb` `b#LĢt_72`dx걝r/,mH@ToufM<ɻwo2I!P%~MdZ]یYT ib[׷wo_߲ 6fd{{tj̸k kF"L:h1:CSHMLLML&6R=kFHZIm"NlaJ920 s7iܷ3b{1ɬkՐ2R:U'0hjEZΟb;߻M~\̬gJ 6FcGS[V٦1P1=lF L6Cu*hJ%laR1%L6'`%hJ6M Z$v&[k0&Z͑mPL9fg!}ln) Rc0*`6C*K6R+jD9Q̴4$MVj)w/Rig|2m/9/Cqv!IIq-sN<{OO%v֘;$ɨlZ(l&Kv1IesɨkvZ(l2fZ&2H- l퍰Af Ʀ邓%8GM9 Y"l 62۸F[4ߵʁٷ RUe em:hg@~u]0p4`=ugeF>r2E&E8f;Zb[bہ PL2,?*2aKKH "w&Smp&ڌVǶh6 6žmORx#eMeG5Bҝm| 633Z66*VT&pMd' H]#!p{b M[ٯ!LCآFpGy3J*+xL̍sG2AN$c:TT3"C%L:`qE9CK"\Ɔ۪=62]Rc@Mڹ^H."G&/ߓ 5~rpqNVOc3I6-n6nYr6-~m2V͆kH2v|،`ыmd9`᳷N3KM3 c!p`l$5Bi-Ŷux6G!q??e{Yd^=YkBd% N qYIYYꏦ]o} sRl, w#dSF{Et}L8p6)%AnmiI} O8%|4fȏ5H󏹣9(kϷ .d;Pe#bL)S%xn @|mJ-CQf&VsD$Vj'0CqUGSK K8]|&/6;6IENDB`homebank-5.5.2/doc/images/win-statistics1.png0000644000175000017500000010335013604616712016026 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.5.2/doc/images/46search.png0000644000175000017500000001226613274017036014401 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.5.2/doc/images/use-assignment2b.png0000644000175000017500000001170213604616712016145 00000000000000PNG  IHDRIPLTE험̹Ǵ🤨cSYjȸʯ8㜑Ƿ˶㝒ȞʪȵU_sb]ho]VñӲF䝞µҿͽbtycirxͽGJTSQkcRYvg`cpҴξٻn̳vv~γڷOb^[ć|V虉|mabm_mtnVd~}|vrɑʾ׼Թ\LGZWaNj|^p´ȬGUkrܢٜ1tdkujƬŽѫMױ2up_IDAThXپgHBLh ¥C轺ޑ U) RtTŲzku뮻o۽{g2A>݈>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.5.2/doc/images/53txntype.png0000644000175000017500000000434413774107736014657 00000000000000PNG  IHDR24PLTE¼珐wp-35vͷŬ˿xvt}vſϣ[_xxru~qpzm}wʼnf~ѪǴȶ۶שٶ^bbk`isgtpjfworqvΘŋ~ߍįϬùѾû̼׾qVNckZsinxss_xsky}Տ뗼ܤѸԸҬڼʲ˸N]kQdhiOp]rynt`ҷgfܺomے˔˺Ȼ’ɳ޻FIDATxgXISH! B6m$$P#!RWGQ.6"={キ7 d%E|cw'yv3 6leR#|X98?1Y .ry,clr#Z7zL8i𗗼~lƇev-u,LҥF\=V;=eW&Ffq0kۇZfMF|2ykY⌡#?8xF`G4*Uj]Z\ !R̾1N_;"#mQ5J5jvݦ7`:f|QʵE?<P#ɣ|QuYΟ8 m7R}sK. 1ĸ&P/hhJjz"HUܚvp֨bjU@y*"\5]fEe309#|ЂYKJC"+W6H-,643ed r&yr˅`'D\Q$*tD3 `xWO dA Fڝ_GY@.qx c'x†绷 ]ƄOn$%D 0XNf ӄ!HʈC@#s%3B  )B8FYdCIcdBI"tmY˜`xPV|@AzP)xm3 abUn6lذa㱂>$AlU\ɐUA1(}I.^0igPf] >w>\u1H{H 0bHw1jrjsi]ma^[ν4l+hKkؤ+ iW?a#H.[܊Ňk?^dFw]3qg 6Xgyvo5޸aA^/yuEF,\C}FީzA{)%%G7i*s֑P?niہX1{R+}g/-2-L@(n{u:#迶uƆM4*`9IENDB`homebank-5.5.2/doc/images/pm-fifee.png0000644000175000017500000000117713604617136014455 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.5.2/doc/images/dlg-account1.png0000644000175000017500000002562113604616712015245 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.5.2/doc/images/use-scheduled2.png0000644000175000017500000001000713604616712015570 00000000000000PNG  IHDRHjPLTE¿jmo蛖䢟¨딢Ƕ]ag˽ﱢPXqXl]zǯfup[7AL㧌lʼƯ͹s_Ucfg{nf˜ҫμŢSa^hugRx|qsƥѻĽEGOj\X4zZ|˴ȸܯ׾px|j~FԏxeuV喈մRR][RM\[\dXtvrPbvnŌşβ԰ӼBygl蹗}§׻MPg{t}ڍǤ IDATx\nX $PBB@ޑ^DJAEED(w}zz5^޽YDLJLJo6/󟝝 TRI%TJT5&8r̗]HNjfiu"qu$Mq]/MάfXهyE$l&ʧ@&\8"ծnU:t_aEY/C^v#U]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\SIWUggDq8+^; 8IENDB`homebank-5.5.2/doc/images/4.png0000644000175000017500000000045313604617042013120 00000000000000PNG  IHDR exfPLTELiqyUHyUHyUHyUHyUHyUHyUHmdphyrzsƽ"+IVtRNS/b8]mIDATxeG0D1{T}&CPW Wu;Ǔao IgWYTى_QS/XQ-m9':o}79eIENDB`homebank-5.5.2/doc/images/hb-ope-budget.png0000644000175000017500000000105113604617136015376 00000000000000PNG  IHDR(-SPLTELiq{^Zqm{ȣԗՖ՗´ùº»ϪƷ؟ƽԴʷవ箴qtRNS(AT]mO!,IDATxMB1Ezq> $g)FJ2KT~)[jo ! X,'c(F(d+r(HE$S'9!\FCSbg5EA1@Fi5ư\&A 53wнE"-QTwsIENDB`homebank-5.5.2/doc/images/dlg-prefs3.png0000644000175000017500000002763113774107736014746 00000000000000PNG  IHDRH@PLTE54,Ŀ<^ģ勲񐐏ؿЉpY~۶vuuᅎ𘚚ѷ0廬´ջ۟lpyc걱hy򉉉ƹdsjwwvtnnqUX{П(䂜}}yꤋpvKho|wrɭɳNϻvAwɿ6^(gbv׫SSVIv`}a^c{ȨybPSLirek׫yʨٜRd~@lyT^—xuFCMknih.vΏ{a޶].avfdpoԟPYyQ~,R<>Oo.n2|ثϜk{ˎXVhHIg3V.36޸{|ٵ̇W8Ld䀤6}@m$],TIDAThyPSX+f1 $-KHRB d ԂaSeĥw)ԱԺOc?o~ B0s{9sA A $H A̦|be>B2F6ao]W!#O3(E"?t.Y P#2 ǃg=y:eGf Cc#O_ߡRATݾ}V,EuZ GcO)7TJJcJYG?RQ8f' ;RD7Fڟ)Ko$h%-iݶNmn,u|~/H"2<3L@8G#[C鶷:b{1}w'ԍVb)O"R[0 :G{;Q\i[]N/ѽ?~)%$ Y,1K s6\8_} ȿ\-zvMMc=zU(xRP<4)4v2>yX@we@%qFjq\s]Z{H<'  sǿ4H)*BQMﳑ֯"2?&9z?~Ǐ*[??7rL2KC J Cf:X,.ez#mynAB,3P_yRP!xRp;</&e%NPump5ɪ+alA4 o}D5g?oJm5@**-ȟٖyKK&)lkgLU@M߲~G֐O6wC_&6+v, 0Hv$22}'xG7A<Fyn9yQSSSL٤ʌ4 6| qZ/5P6ZsSVDv*)pSt45m7ud./ci{AVA ²}Uo]hY>QzQxc֏5A*\T.[?!ʍ+a C}諫5[r o5ꋂ' :x:{,xmo'z5pOZ)GmwpU 053kye Ŏ߄cd!We#FAMZk\Eȴ SpTr)o?.zZ-FOR'0o@`爂Y-DB7?nO Ϳ*.߼妰,>%e,yΟ>2X ɹ  gj!`O \#]+DuOߞ|hWܹS-9oݻe۔Gf=mƫE걊ʢ}r3? ^5nI ;89!F㉴:do7*o?ɘA/G2阢\;#Sa5/e#cCDڟ]PTY. g  JY*z: ߈iE< OTe۔rYF7I`^zaDO!VLfz]ec~R1oHl&U\m /IT(- "6gd乞$dl[~ͪIO$GM8 8雑!K@+#[~׽^1v&y_VԔ5y)x4~1n]72Kdr)X; VƤË)MqH7w Eؿ.ה 8TuYC`au@ŲBEda:od.16S{.?K6lbm菡gqYi^gqP1;1Z[ZZfZ&:7_Ot5GxG[?+LYX,\`2n&a̴' F?c>"]'EzLSwY?cKo0`ZA2,1 ̡,ZiGd:[m@.4$S`cnVG3pT2KR 8#1À2| L7 p+W1O{jW'fqTQf}.?60~mcy:'-+^rSkRJ,F|&$Rz%ѩT/})Me …FdaHg 2 ={tCd?2ԈN#cg>Z 47P(Gć# <%QVCv.y?tv8.Zy\$bz]5\qXQh'l]i4:\7`>8/ 7y1Y:3p!pϊ}m~[>~o!BzD/K6?|!x-,,^U ^ ҿyQݹ΄6CV+J)hs^skqMM`Hk:4:a5˰Gn={*(ۅDk{p-ofmp\d8W%)ˁV z{A# e=)4ȿǚ0H8ԏ phpPQܫ=hMA%YoE5FiO~fdnǟ1fmILVipX ;b{>J;$x1v yLLӨ8 (Ùew<$#4?s= {${S_.5˜FgSi+Qd}2ؠACA'.WJzuXVH_:/s_W{_^H'˿C=|P=$~_Y97 ?VdX).ޯo*:|L,I Cƞ5<l,q}z N ߡ;,>12Ӄsğ4 <:p_(,w\]\.B66*8Q;#QPb8z]za)ay$ˎЭDWܭGH` if;u42R C_]ny^;a /+%.R2 4Rtiq!u(< *8(k_dKSWPNBu|n~XN$'G[/e;Q" __B;"-qxkwfI۞;|UN7_t!N0Jr(Q%zۑuUbCǁus̟$s:g9dqL9ԘP_LjAހc31P]LDy5nc2k>p o_/_ C.?wgKo (qQgsۓw@ڙ5Hڛ֜vYZZJuxFZ6'zq3c%2sGl@3^Yô %ί༗"_?s w/{r? oAM]w&p($<BƤ8@^ %y - ȈF@@AHժAT{3Z{X9k'"Rv}ǁw€-"DLZ'q^%2NN6?|B';?J/}'{2 9Ȼ7 +9m,kF皐Մ/xg#''p?bWJh,;Nv`gKn[[rb?"S?k މ燘T6zd!~;ti;B::`642Nyf'dohf#0bϨG +~\~_st_POJ?'?oUƨ'_%c;O2 3kkk;p-iX L]oo{IZC'%b%&յI 2n lz5n<_B0ׯOܜĿ5kxIg~Fd h!Lw_uPx02"CB\|q[#wA!u -[Jz5TĹٝ`?834o>h>42C m)#$s߷@* &o\wDloE__Ϥ3b + ;%1.e2䔽X{G ͛hNs`8_rwE{%۰ \]\o<~*0C1?=aW 1?h[UEbG8aSqg`h([,t<4*:uv& lSS^n"X˸|+!"rq~7rð׿NǏ5ơ`v)DF?r`.Np4p{& .93 4菥}QdF} ~b/R~0Q+"wo‘dBdnSwd>j}JMO Z,+ѽWMןnH=>/Wnqsr*+ HYu;oGFnnQkOl}kˡ1h Ų GobR/Y$_6KzzŬl~;7,6F"ҩD\"`3ٌ]Y-enaoaaav8]Z_/T2`oۋ$녛(W?F$$ֳTE~L01_뿷mDn:V7ܻڡֻ6/ig~2)7>rsaSͽSw_KB°@rߦyzQ(D/E>h07G!c /YFQN˨QF6$_HDS̓iC&~{.n'Р?,BK5 Q ?r(M +ܻV吡?pmr'KC'9Nt)~,2`[+`wnY_~FzSo"qgFƾԷax~T?@ j o>Y#迱O/D[EuCWæK͐grȈ{f\lG2Kfx"3z_tC>d\AeVWqtOϿ???+#%+Qg>Ӎ>vvG#<2}ze};h=θu==0Q?E@w{~dOuSYˏ)iX͆ϲ w^]s}~ϥ(6W(ǽ[3Z_Ũ?#BrO2'Ac {~-}Mgs鮇ۑQSՀZ\M,Q/ST_4߯E"zDu&*&v㖅|/ WR'? ^;ufhX=j.#f"Ag}Ibf3k߽ݧ~WsC[u rb;^P@_8{Or8\yZiq|K9\0 Rp\f[6i2ki3JU2 ]\4`?qw~eοo˖-a%_ ox'q){𯆕[%qTp?zT7h){O?Xx<w<;5 eBOvgooM7N=dn).\Z!_7wKN3>e:g)ZQGN;VGƉn M5;.ljAg,;Q΂@^+ȋDHc\%pI~p t (D\+ˆƆnnnNaRȸ?|C?C?U\ճϳN(ofu_3oﱉl?kYʉbR-Yƕ˸f-׋[ʥ6sV(\-_˳.mmvjhnDCh=qouw>ǒǾ?WpѾ^5l;7ZxۿcxxtM91_?OOw]G<>m#~|/^cIuXR2EFюc UWOc?Kt1?tz2X#zo{c&`:p4Eպo_y5o_|5G_vX3;~L ?C?_06fz.)v[LL/[J# ӤԤ߬GHZ;LZ$y\EUܨRMJC@+-0xNf!5Aa?ʠ_ O@C9I%Mg8F/7뀩= ϝ2m{u6I6P%7VҁZ_ w*<+%I8ֈ-V.Eg'JhAUPwsàs\L[J:ѸG] go]WwRUJ6ڮGB-dgVwB }i]7.bq0K4ZH[=XGlؚt; - в²C/ln=u8?o{F^%<9(bKwWGQuy4nIgу?F]qeEm) ]H&קRxHVo,9LYו*GJ5}O˝Vou:>0/gvE=qfz $(5; 7??CsraO2xB @NQhzS%?w[+EA1ۡA."h1!vZ_pgC.z(BEզz4p2ojEz|p~g̣o^V_Uʥ[9imkez™k~yѶq;Zq*ӞmSG?S;ܳi=w.aBgz7'6~cӯixd]pi+c\fs<j[مlnzXKrx+m2oZao6SU?dکF5862LE[:D6h!†9>5Esu,c_Aw/].; ^ITEhSA7c=YB^/IqH8 )ȲDy$EEt[.z=_h;M#lE&hCv݀GaW'y&*<ydtYIENDB`homebank-5.5.2/doc/images/dlg-account2.png0000644000175000017500000002204113604616712015237 00000000000000PNG  IHDRQTkGzPLTE5yUH957˼ߠ򠨴вpfȸtvxνɽüŷk_ĥַն֎ĵOVi}Ű]Z_UjԿ:橴ʰٻt~]}蝽Ŷᅌ`гal{edkCX崐w̚عŝuxGdkQ󃝶GINM墂gͬ`z}ۼ279{_RǐO_}ĞfTX}m|ˆte`u]dXjPm>ф~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.5.2/doc/images/45topsending.png0000644000175000017500000001643313604617042015305 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.5.2/doc/images/win-budget2.png0000644000175000017500000003356213774107736015127 00000000000000PNG  IHDR*PLTEv`xyUHxcu^ڶÓzǝͩ墴w媥ogϣʺ媚߫ӽ˴®֖ǹ殞ȯ౿Ūпttu|v٭ɨwbӦԁ̙Ҹᦏٽғ{XLлǵnu鶇ə]]b5&㿼oܾ~ÛݮҬ84hᲬᵛ֦244NQNuתϩtl@xȟ\u^fcİ򝞪Q!szudrouGfنYh?l40IDAThPSsp;9DON#?a&B/7lBpݘ[ -*,Ng:Ң-ju`: {[EHnungݽ;' &ZLy?>>/ ET ?ˡϫkG<]cR|j&l .y}Iܛ"%l5O=vT(?`Q8@{1g<Ӌ8Fڀ=PP DLYt4w5[ߪ[ =@E}Oa?633S9d*U%*> ]|y9, '0cEڂ ;jw5Tn&) ࿠׿߷䭭,AMp3viھs_wuGz߾|N0a\ڝva4@L19;QV \'ePTh  q樄tW.KDݮ=\՟ls4uN~㾞}ؒ ctKlPߗFO饘Sܾ˗ѻ|3336}{YݦV ­;s"Zid|IRm`ȾJ+3Um@7F`r.eKe_q.~kCn'osK.op( bo_ʱ!#JTb#l$ syyf2Ɯןw\<Oz_b P@$/^4/WGw<)ԺoIq'(LVu}f[P,&+ 9? n oC#jpoΩHةQP[\x-%9[pp6P,:|CtΠ*9u!*$JO].X+hNBQ2h9} aXzYQht`9poqPTBDr,8&@tA@- x"X;밮ps~Z4yKC۷W@D 2SZ<ɜ&8i2@fJMA>731Z&Ԓ P&1Ŝ 12O'3>I٢PXkuzYS.@.k7p$ I*E+i0Sܠc{=f3Q[T JAз$p(e0 N.*wzDY >VQ5b]rSiNCV-8ej])+jX{4_)0ޟLe+JKmxOF+׿ &7tf7nLRx1R.y, `ux -c Oo1,2pfd+` 8Br,!b Gmp)!u\؋"dB-^8ICI)l )@&fBG1mc@s*8y%ܣRxၶwHyO 4[q7 UNO16=%=1=v`sh<*׻sDbN M[yNNO24م"-S١pkt{$HM a`w9xፇ?D`0{A";0:*@ii<,-ۅi8(WxvK-fk !hm9k<B5ecJ0:]2PYmEwUE/V PkR ,.b8ZcVeH qnRN^hY&r^a Admԡ\Q HmqOov Kp&sCt2@>d[~zUZ# WMrǵKJvH&! j`,MBLn+Y$ju24 ~ύph՟eG.{c@gw{jY"0}&h L镏*L%C(2K)5Uo=w4_R="49t! 3A,g!_XόXNM#v;BF{m _3SX))$N<[ZNXF^"@'&̵=_ Bm˪%2' =\ zG> .tNMM85;$"Nyư23 zehk{1Z[ SSw~sЧ^5×9WſsŲ_8~GZKw-,߽!x@ p(6Q*x (pmq_mtntFT)gPk)=GF'qz :_O{$K3kW(-utX63#UuK@ABX2]@]ty= { Aȫ{dul:Z 6(? :ȵ $uP=z9ӏ' @vd Ps`F  9`~ O[Ԧ< kW>L*'{~0 ڊz */:>@Uq.dyx#n KU{Cc?-v:%,ÓTiMrm!!U0`VW<-0Uj/8ڏm~Йh"%dtʊ)0C?sgi( UvYW[r$:T^GhD!Vc9pL@v- M17,OADeF88Wkl| g\Ds~,{qF1ǁLg딠sȵ.06@:ȟoлF6dSQ(gS*DHK5Ʀ&.^Hh6"b@BDJ7?n\e)T Vyl@QVDE+/X Q@,P0mn6p5P7綔:~ \1~gǎ}u!;JÇm;vYyERctm#xO? 34}z WmmͫW{WNy>D{lX*.l XTTFTǹ_Wd>|ŗf-wkK h֯f~UZf7DFk>KM/}~뙑٧7W<~ٮ3_|~Ocd3!u_qӿ"ӹǒ㟽xk#4Ru?b녑ks-76RrwFr_)v 3G ˺7WzOox-+"#W`_ny#E4mg ?^߼e%ďxb< tK&XM~)͠ye x*.'F^ٮ/Fv]47f;^ve8ޏi| 87RőM/?TBl*PJ (k  ;$ܔ@0qb"1csr&˙owAPK }pk6a~/qip-|ٛχ_^NHnhi-?iv`c7tʼn}P~`h& +7ï7^ZOmSY%LPRUqߺ/'r&[n,LYҽNxkғ.ԡ5/o,骪+Z n7ڵ4fÍ  Xpl<6tjbCoՆ@bQJD5:@grʠ%]< . &n/ B &oz49Z0hLw k+mzo*Y{= hNW  pnn{Jc`sY ǁ|3TZQ~!im`IH>uRrwh[jIRX`M9C-HuV ׀K/p.dz9:VF۲Hy,M 6(:Ni :UzKXPeHwı&q|I)``U$+R<$*lZXV\$kd:))!.]-lI2:F"Djk!t+p8x Y KQJ&"Tu`@p>N[#W9ժgݜ>J"$;tqeRS >h1GqGZvOkxAxR|df8Q, FV`:ݑNOJ NJd`[@:ie ݔos> G{7s//[3roP*8 2|]+& >-:pņDG Hm %{<7U-qɰl>nsX܋\sjUagfTQ~G=#S^X hMu CRqj_ÔG C4Ԏmp22vkL^L[bmNۣ'IPO:52I֑Y{㞡I J|g`³"{hAgq@=2p DX+ <@=?+p60$ o(:DXSf\,oB|cv;h s&Z/Xsߡv!±$WED Ryy53n&GqB-nVv GemVv Ce_l + fpqNp}55V L{3V}!IKE*XdelMLlF1w2ĉ{9@s~  y9GǍGwN ;DB\:\OD@^Mby'H/s[5 qN.}p{Сs9exOkHbb3(|K^D0gcGK ?/H(Lc: ^u[2# ^D&V^kF=b7̎k @Cf&B@B)h'̫nQ(X憧Fqt.ы 4 c.,\[~w @Q x}(J:[Iݢd4ʳJ4X.I&ϋi#@t(.P C-tɵ ohxϥ]-k~\s;UcUǽnQ}SnROM\mcs/_r^ozA 3k5̡NBQM({jǨghSLaMQУ]\ؒD!6%R(@'B D& ^]&$\džGk" H3Tw6  exՀͨ 0o&4O~e_Q{}Gs4@أ:Է5ƛ|+7dp0Emi2ԡ]%_ -6' {w( E ]z=RFP'`>N04Ic( @PSH65$'-#Tcԓ6L``&-c6r-#}n.z΍sc~ã7껞yRi[_2V]2YnIJb}G9T>u"CQ^`t%05#=z1gEe yFoީ?}Q4Ui`=_FGϓ&U/ K ٨E{N֯y`3(|R Ͳ5IJ@qR}_+צ5^ԡ=DRˉq`~'/LI |,..5ӓe+A!-ZUY U8ERc:K0S}-K¸x٨~g EUk&o%HྩO"$2/#@aNB׍ Q_@xbyaJQ nUN` >u Mzcs4`a4,8֓/̯J†f"-kQ_l_xV3NaI盲$z|:YGI=zh"`#NWW G/#@GBUdcorI@d\BOS:Krn_75F#YxMD  bGVQ͕|1|:etI:ubC@0 QpNlHwtuS "H O-N3 EmKoIvA 3(x KEԏN}++Wp۷קBb-!c|;~)ty1>#g[-S{n[ܱv{ ^c?@מrߕ%ۧ5t\{Wrӷ];v,[d#J ּ:iMGc>(/SbFoe*.lO({Hqr{9}BjvZX"AgOk/dePMVεԜ;={\_oM҂=w7`[kgNYD96?|R[ mw13񌌸Gh]T5}#vj.>8{Bl-a+J1bW//qzvgSC>vP3_w: ͳl{U1###ݖs%wli%O\MyZ!U:ٹ]R;]jl.蘱M{b>y' 0'q藛%[TڦT3'Ћ7ԉTU1414 uzܱvn^{C9=jMCb*ۧўҽQ|s}r~4$#{GiN ԮNX%N&C(no8ň;=@x_M _0ݒ)n֞u{f\žc6g*V-bd'!}U&IrI"UB*za+1(NMm`mR@ `"hn&ygNwa?@LP*Fltb9J|c.Vɤ@@#`$}ϺpȔ ꔤ'/ޚ)9JGRGw}Ր?j=c65 ̽'P"19DdS(j!q/xPd딚?MTweٟM-ƨo]}w_oM9@=]R2DΪ{KaQsJwd4X! 0ޜGPl!o+P"sԊ*@}MQH6Q;[G}fG냳VYsceh 4bs,K7~z8a멳Pq+W WW\By!냃>k"ׂچ@IENDB`homebank-5.5.2/doc/images/dlg-filter4.png0000644000175000017500000001225413604616712015077 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.5.2/doc/images/hb-ope-void.png0000644000175000017500000000042113604617042015061 00000000000000PNG  IHDR(-S?PLTELiq$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ M~tRNS23MYZ_`c_umIDAT(Sm kDڤ䴈ax$ך%W3F [c@ 9#eAIL={pl{swv.6MDI}'nZrIENDB`homebank-5.5.2/doc/images/7.png0000644000175000017500000000045213604617042013122 00000000000000PNG  IHDR ex`PLTELiqyUHyUHyUHyUHyUHyUHyUHzWJ~^Sph|uI'tRNS/b8]rIDATxeOI0DZ[)xs HUuS ڝ0jާi@>?#~Ȑ7@\Bht].|?&ó?v  p}IENDB`homebank-5.5.2/doc/images/use-import4.png0000644000175000017500000003104213604616712015146 00000000000000PNG  IHDRh- 8PLTE~􌎏퓕䚙򝞞߫Ľۖ侷ӹdb`򧣞˔Îjt|zwqVXXV\bؠ߭~uy|_dhfhj^^\onm~|z뻱ƳjpuNU\njdq_Yvpiưv}NQQbktžɸUfzf̿ҽDIPpTpqĶѸκԴXclоܿ`s}̰ר?CDRToiWxiʼ[Uhw¡ǩN\zfxu[tãŸoͮ]LFt܇zf0.IDATxOپOy`c7B{!0x' 61`m  H(AEl lE'dޮ InH~73SUw~.\pWI_ Ý;?xN]A߁f޳\b:= p=qV/ \FTзu iٿ ptAVV@7!aQ uxMJ۷ew0.qkBa/+>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.5.2/doc/images/dlg-prefs6.png0000644000175000017500000003014413774107736014742 00000000000000PNG  IHDRH@PLTE54,ᏺѧx1ķscsvv`0庫~ǯ˴|}}ɨpZstttu[~'ֺԭ۫ͷߞ~fn֫mvŰÙٹ]T[we֨ƪ~fɞӺyqKFgnӿt౱dyv{@f`dnh|t]Rzu{DŽo|yiٮ~?J虢\zfej)5}؏ضKwpR󕥹QrȵSDke簌ѝpКP_Z?Sw]BIVZ\ͦڜvH78z{\je֠OŁ47@n4Bۇċ=S㨰Vw$X:Ll3nJhCq 7~Lt]{gekG7SxV_XDT-IDAThyPSgl C.aɎ& ;lʝ1Q`w,rY,AAEZQѢN]i[G׷}959 8w<xu.C);˫_>vA2770ż:rB*?\y}ῖk,lX&Sx GK ڣV\][nORVhD'EJ i(oWjΚs9֧Уe/?ˇK0!У <_FmAD߫é:\tLV7Qh=d|Sv=?DG%~? HtW†1ЌX[?6&E{nF#)seT,B?nqءLǓş= nZxf)zY2&6CDU rc uğӑ]: [bf҉D?&d&Ry`_to:eV>&։fOę:xğn@7ێm\p| r>L$Ҳ }Onlo)<]v,}4ӹǦ\~ѵc)͝p2S(2ϷnݪN۶~ ale`/pf56Cw/9#CtM@!CFE" =Wbbb",z Ao: Sk!چ!?_'y /M!> OAٲ^G/Y1xiM8IDm?#Ϝ!![G叞I7?$I&wkOe5әgqӯŖtBgw+Pa߃4c࿷Οt%g' PoCD zDLql/;__'Rd?T20*cο|ur o܆!W[bW`}~L{gw믟;I \>7^:0zxr翀G9F߻wthL>w܁L?c'x,ߓ dh4wbh?_<0[#~{g;I$Dء_l?P~;{4{!1eaF KCi&h{םFI@x_RiNޯljόֈpQ'HĿ8a8L~E35OI|@YV[gzS@jm1w!~ tɏe3N17Ed![XڿESBYx({eV۾&t =_ ?0VSWƍ⬠cM*0C> i~ \_TږPa7l?vBXFh$zNnI4!o<ƠL˚gןd"_g2tg/?Qg-c?㜀D&p)EB@lL$?<~p 0TPë0&*Z@x!4$D?]ܡhn/.?oAPBQErDaT܎<b55N˦[K iWWf^x=˿LXބH!<&x+[sJ,1~բ? #0Ӫd`=GCr##A;b.x#{Lq5?Ϭ\k?V||Y`<^0B,ML&k{dЄldXfK4r~[]oPk^ ^9>HUR%Sڣ+FOitRwڪly<XͼYTTj搐ЦDb¯g0\qɨ0r@| ,V231?ui^_ކO?;mCYpjȆ+`si5O.Q#03Ei';36kL_M3bceN1=iF;O1?!4}d3#w79ߒJ 74d&|fvg+?Τ߭5iPa{|[.w([bF%n~3=?M^0qQ[H6 B9WH?IBT wFJN!iȰ=<{,e+L:~e."705]11-GWFn pY1? 23S7lD,oM/#P6I=T~jfw3{f߂)[[#arB'@bi1=w!xmemi,Jn*tk(+c(g[q [wԱqd2FzJha1 ȻHM£h ~;]]E+4)X|wZf\AY:?xCmZ?SF&Ipއ^4^Vr ';%tW$,pX\=bqݭ8,2hB,rD5klcѢ5b8b<A9clbWQe/J51/Q_K8νt6G>״|Z/+nZZP6>{{$pwyXs#W_=!&5,tED,I?ԒrL[}p3g9: 8qBS| LSmGO"flxg|'ғA?*6={Օj^T*=jc^~q;99&Rb_& ؀LDso 2Zcr@Nh)1Ǩq6739?L?L3ŏށgWc:C&@TPxJx2)y·JO;`N`"?u7h:S/wKSϐs~`8c.?Lnoa|O?:F 2?{?`ñCoߨw~~pF~Ccpt{!߻=l nήw|+#߆5 %*BR-dۇ}^5̾p 9u`UVsJHӦj}C뷬}y213-vWo:V垑r׀dzжz)dc^"C9=7`%vf znaSޭOxصn:(.PvoY%7)$v*{p=7riM\ (ree [>E۷Q{,7C4]>K7|4gn(m %mrJw(]v%]y}6⅚R=?W|b{꟱*2]Zws;6J.~<10Xn (ʇO1LF)ϸ@Oae*3HAa\i7[hDӟ2k ;+q :zzzK՟cN1?+6dwل<O{{^Hrptt^w?~(̄2!7,ŏ#ݩaO&ys{ 1n_ѥ :2%rxQfQ`P ~D_u/_luxo "IC~߾(!jJzR]+#i4 />]}㇏>Nvi˖w3}l<5N}vǚg`O*__=7C/P%'B2ٿ=ő%{5<$_ T+.eO/_K/m?3vW}?Yg7w=Q Fs3yX"P#q E+SY#Jy1ҺcF2XզA/ w[0Eb aU\*~w3oyJ_wg~) 5.nL'-aΠp{;;[[;;{p86ۭ.?:d4?q縧+`sԹ.S@c;Xod ɌwI>U;)Tc[bkͻd_c{dӧO݅b? pdؗ*]o|vm64~g/>C̍|+W.$ƻ׾ZOt͎?~{ˎVq ψl4O'e#6$GgC iIW,'&̿zL>X/@X52o>_I(h'r=yWIiKFeRJI6c|G~g]QD1kHj_xO}=یJo ;_6&QSZQ~jN˓ krʟ?l/wE!yMZgߚ.ܽ,9x!kejoo_u^-ɻ;ܛTBNmudCOoS+WE>_WUieg4L/A&8 CIwtQR?2$Nzp_&D!d|( |:mߢ\"ݹWb_oO" ?A*M '}v0.wd7-ɟZbx8DojxXAcY$p_O nF Fcҍb2IcF 1uZ_Q~+ȟQrfx._G0 5w.푪_wS6S޹O覱cC2 XmϐT!e9mkmzH@Qn MpFQc?<|oNdEU`udlT&ZHY8ڰT_9]u/s#j_.1E῅ h*/I$OfC $B–79і.85u$ 6݃~}Z4ioIbNµ̯ uY}ˋf1^p3?)f@0C `In0jE  tt:nkm׿>W,V́a_8"ެL>ǂʟﻌ"8[{۫6.PY?%,,l~_6oIҹoIXW "}$ o~?8[]5iz@` M+Xa1{)X[W~sI8 MⵝBV}orZHxXnB-7{9zD"'Ʉ?9oVq0pHũR (5OY@eϔ ݺ}}~ } Ṛ-L[yE E~`yC  TH1v VQQW7JkJ?ZNd_I iDTг*T]xGhTYl1*ip|E+5z -AuۤȔ7:Z O;͘eb}]ÌVJ>Zb,QP4TF=_(nYQ?ʯ?39ۍ&[6{irZ7nqOy|E=SӮ>TV]_ G-7~06V\?ְ]jI=s=' ='X壷 󛨯)o]ٿr`:D HwO?A!!'^h" LTH]ʁ68'lr3KPxbM)E] 2!wqspgE-AD;93joEҊSU pyn o&GҢmHjVWR恛]*$e /@*))5[+mTo.qpeDz4|rUcU,?Ҷ % VC¾ZQBMz^&{ f' IG'e)j^׸b٣KQ+$L(RBQ RGs[ww]cXǃU഼01w  AVm(LXa~)0A?C?[ .z9A+ AǿP_pt8_*~u_#:7Pbz EI*HȀ-_"V_eo_~Y~bQ|"v0SXв)%WXZP;RʓFb+Mb6ȁϝ (Lsƫƪъqo7t}h'`A >M޸}`VC/   !!/K4^ƏM\fګ)]ymL[SH$mH D""%t_*Y_OZWIB 6ވd} )@*.vDyX䅅dT-Y}윫K&MsK>.sJO[Z#>%'?W៷_0/l.b Z變ɡ^ oUH;-bT@zk4OS?l>*3Yʟ 7ZMo4o?O|$mzo4~hUΞI⿳)iL_6izeP㮷P9[RX!8`0Ѹm=֟~?|Z";ywAWc,=߸{I96(xqMEŐ4?M.8?sۉϘ4O]遁Z%5$?%8QE&o:$!!!!!!!!F)4~jsm.LNUW;м}Y`e61@6ݠ yhBP"(Ɯ'1&Ĥ,a 4m 2F`  Q₅N6i[D9M vR8ج_)b@֑ M7c\&_ԣi.i4-fI5 V[@Ej1>wihA2.洃8h">u7acT\*sɿ7sfSϭdP~6Pk?V_3+x͓hK>v!hTv9401tjl&FK쳓]5vйˉ/Ρ'Ex* OPi "kQD3)*F/_n?ۼm gmq]G/Zk_{?F`~ϒ?myhZ{闽k?[sƖge{=y]uh <D^xI&w S wӍN}ɿӂߌȿ $[ q1Tf,Ш}qb/;X)3p&icv0@'EvsfxKoe vY~u[#AQAN7AAIIENDB`homebank-5.5.2/doc/images/use-scheduled1.png0000644000175000017500000001471713604616712015603 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.5.2/doc/images/pm-ccard.png0000644000175000017500000000066413604617136014453 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.5.2/doc/images/dlg-properties1.png0000644000175000017500000001527213604616712016006 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:+ҋ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.5.2/doc/images/dlg-budget1.png0000644000175000017500000004572713604616712015074 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.5.2/doc/images/dlg-prefs9.png0000644000175000017500000002474513774107736014757 00000000000000PNG  IHDRH@PLTE5,Ŀ3嘳쾾!60vvvFָι(Ϧ0xϰu´̲J興vѫ֢<{y}®Ǻɨص\pnam{zgvacijiyzbJqWLɞAUO٭ջğ-kZyΪP.KWsatrigȫwrUV^x^椐qyޫݼEnzuӜky澚{uĩ~<]We~n<_y4銥 лva^IwTCG`Y]lff{wˏx)hsrܓؙTO[o}n=y#&oN;+~ݩ9سN~΋RӤ6启m{(&IDATx @SG?;KH Ih #TDp!o@(*W!(TxhտVխj=[  ̷%SM&fޛ`00000000000000#Sa ?FEV}VOԂQ('Yq rEqK'2!C$Cub"+;ZVd&1 Iqq5g߾G]bL 0,;履0pϾ O>сvLoK̹NNT /;~y.,]Slѯ?a`nb99b͹\KY`*5пߜ_/V?~}YZV 6k)m=ŻwRY/UKK;vl٭|r`1 NB'ж[’Sv-Dy;=tn49':5п]7?w]W-? mhJ]dn޲%)ka-.KCW>uѻG{,XUއl%;;߷>T7N;oYOq 䕟E[ @[G뤇o,^oWopª4 #1W?#?.>J0BYD3"i$XX&ٯfvPq㙮ko*+,U9D~\$)iKSk_WioUV-=2(߿E8 L!AhYh4~VB΍~2qVn@_-3E!,wH0 w jB@QYz ٮ# / wT\s;eF++؎ W~= 3 vmt!RhT;^EvײHXldE%_6½?}6a q?zx߲Cد-,>'|5m!i<µO"F Zt 5W?mu.K6bEw_us -Po>? @sp퇢`!,D qW-]orv 4Fͭqh'H$V?2lU/{Ir5aoի/̘Z) G/TiE r OCv µ7ӝHf( ogմo^AxgÓ"{w;l_dժ ;,G-^,{m5@k};׌m&jOa.ś>-*uΧrY Nie٪ea/6/B~gb!˵,7o//;frJ Fs%3fځnʃ?br #=e5)w-cT㐳cnG]׿ƽOb0cfwQ=m1q%q1VpU7/XZ+uzkOoZu֭3v@I .IOgTdWn~ z]?WL0Gww]Џ?l~[:7?MYe9Sef ٩EٍʑLz)}/g*' %tpOѡ(R 7j|n 7-rs_m8h= 2?+Kp8o?A!G} ۟/`~H;N윕>K~)m?Ve f-3[Ld>]<=W D"e"+nܭ&|ܹseͪ@maPO?>w(Scp8 b08*Ѧ\龹uu>`?K11ڑȋpnniL-m\pjԬþ_{t_pow`~eG[ K[׳R,=c깥E.;]yNJ;J]L\jQ"8%ȩ U?T]='r: l"jlIx%2]5ޑA8pY%Ȋ'¿!f|UnƬʆ²d/ETñ %8نDalrmxD9aK}k##}m[?gSoĶYC`XJwf{yz_V^[Qݸ|}c9aXl^R oAML0."wUrsn-I.:'#$ɡf.v M4ӬM vTZ5OJOҔi/q4Eޑz= Q{ӂ_Is_21$wdEkC{/2~?c_W}p wbVzziJ'Ƥ?ᅨӿ ;6dC0?eIe#[O^;敔oFV4o^G"~`wzg&R6;j,S9~$$ \+578X?\]x%%\|E$VFpA0J !&'9 S PǴ]w"\.rk6`*,ra_%LG"f4]}K?o)[CvB߫*!&4vWgSSsΞtKH~wa3 K+B4Fc-dXl,[} ۟aseGBy3dnGv@7YyF9Ю'-0r^#b0ףP89WK!+?_z^-NҳYLF`Fߔ!Y3D*Tb* s2 R@s_>Sppӣ?jrJkMMKrz˜ewGA'L_Lz6"y k(}4Hh{-[?sm;)I  ov [dw i]oC{/787 e84\nDUju?Yod8u ' qCbtmKѨyr?rBf CT =$I͚aGdo{n*V?g9_BiSa ֶQq쒱pr40J_xS?Y 'M_i5ÛgZNA5k k$C>cOdϗ_)}N^ylgs9Nh]/vI5zB834D`Ǜ{C9Ǟ=8.ǒ=;#kxGpu󛁁&T6k9A| ?!/H q[Qk9FFxM˲&F+YisҚ2 qY`3fMugEUdTߐK#t<*TـekG?N@L 5O:K*G?qOo{~4ENoiߎf۟,[] M@4D>z.J1԰?CNSJ8N)ĀK8A7)5)GPpCrG{u? 2?OUO?~?`T9'>v0wrݻ҄0LL B(ڟ!:=%bA)"qK8uIMeʆ,d}_MsC$`mG )J.ݭ)LtOR(Y:`o7~ )߰"}Hjo |n+C폗*$UuRHҴ:"-ʹP=QZb/}446gRM"nؠg[_ D/h zxknAR~@ (S|v<H_ 11{gVWR  :FT*NG_9?2@4 G=i?G_;9O٨@L4/JY\=podh__Q=̞+hrfeIc7e9?(2L5Ofht/={@%Ƣb̶Ts@6 KCohjRsc`ic/l'w eYV4yFj_PU=j-?b.wK΅$?t?iѧjG5u5L&9BCwfHN&^Z#p~?X;wI&c17/?=Gp KsÉқp פ?9$jeН8ߑ'q ; xHc{x/_cNݜ& G<bHdD5z Ls*$s5B10pu#cX2bXpp{M9oߑcxV,qm?q#(zԱOKZ_#nm ;[U#rfx#f'!"CT| HtqlK??Zߊ)ȉ,h3jk}GᤆҌs,Ґ &ps̬ó2ߕNS4̲4' +_;=7.;6; ޥEm7l,σI>8_,{6M 7N)(v|>$s钦̂n!2^%W ,'eJEK {b{ЀK]⻥'=NjͼdtO5&Ϥ:b|7AaM A_C?I_HrtA O lZ(\RguT\N&3? e܍OYXef^s;- I n{=*fكgdʍ魑^#]- ymX /]`'&` vvVk\ K+î'A:ǰbYA%| Y!k1?]~;hvb=fMr4~ ekG1y aGnxxjcPSI#=3%5 DR1{c('~ p&v_2K}p/UZPI8K[<e?cpYFap8 sh_ϿB{׬`?4)<%dy*83 92% ? Ad7ϯ  + ?5R s,vSYӫ^(`C]rEJzP:^W':sd.$CPJa7꟱yZ"/c ,DNOv 3|ˑ`\| n5)Ƕax/BQu̿](z/@ {A_1ζIR3F&aUgO/+˾ʌǟikɖ1e{rC_濱LU9g%!,zd29US>%`\N&t%gU;|ح17Yh}%YYFEq XLl &羂KFeS*/_RK܆d'uDg&9?qj["@̜OХhпmDlH?oyFtbUwU69<e8Ǯr^9p e;yedgBo\_~̙`6DK!p8t2]&0Q9?LmiO}3P(Ξ ({Q,x,:oW̸I(]"ܽϞ(yy| kǾd %$.">~bKKƂG?6PUH?tE柾 ; ~B^/j'?qugO4u?Q3)~ynDYǟ0M&M35,):ڌdO ::M ؐ OH?b_p3s?1R㷵|TK5ϫnD,hX8^KF'=]m9ˇ}c9'tcjw L}AAgߞA6?=9h-E\r܊]?t⍿^}ag\--տ]%GHb-YɒD]|rU%ۅGWg$vXuanמ޽{Rl]@ܪNSGå[\u_W O<|Æ 7 X/&HfAse,[;d۸O?ݻ}o{6lltgJSNJ/tyW &+6͞־4!uu}io:xmں O9sk?gN3M[EVu^rbv?fQi sCy'VL%;P?No~}-~ř-ڊ g6[SusQ] g͐*7n ]ow@ShR-T$Fg[ӯ3kg\jW֟;-)(]?-,6͎p?L|?ZM8Bb8th?8tCe_u2{aSoگ3v,_#=ٌ%+]'s ?lG~W??|%^g>p##4˖,?;#?Evލr#\{W/W LFvTL)4G30!{gKh<'*zdZ7`?"C;tp}Wl@ͱޙ1RL#Va1"^Fe LbW#xEKr9<7\i[U翡$jslWR+49繹vaʑ+>wGuh8V. 1%2'+|[1kxX4&O/ jG{ b0AqMnNbǼyȕ؂c'y,+`V޽:F(&&/aebL I<J3K MCu5&ޗ?/6eϏ~y^?_p  e]{ 5󘋾 ?.tv 5Bd(.D,UhrLϔ!0 XQ n;@=>ݝY1I1evI df~~WlW9F?3tS/'S2bbcäs;B;wt*Ɛgo%$?ETa\%-+\+ Dމ. ꨽۞ۺ/M7(4:4kRCj ]y~<C?C?C?C?C'0@? 0@? C?C?C?C?C&DG}@AG_ц000000000c(8z F.(BAP ; nd g: yDc۹pmmbAS!5y; Ch16t]S!5 [o4q 꾥6o8Ă&C*{P)<[H1C> #[[O7Uo!;PU@y; iݷ_G/*8 U'Ё1~'[P~gG(n _f༧xn~H4ԧDm ^S} U=r7rΐ B5 _g !ʡzC*X`HR2156BA CWtHMNdـbRA`6o NW1AƆuL_$:K +BqC, ?]pbIENDB`homebank-5.5.2/doc/images/50txnstatus.png0000644000175000017500000000744213604617042015204 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.5.2/doc/images/win-trendtime2.png0000644000175000017500000004162513774107736015647 00000000000000PNG  IHDR*PLTE'*.yUH%(,GvݽJw쯽M5,-2Nz򲱲es¾^ؼӉS}樼X퓕ǾƣnߦҢUY]ӻߕȬ|Ïײȹ̹xtxuᵨݼ)7KoeЊȯŮӷ˺򠔠ѱ"%)ccc:428JcEFIĜpάrh7Ib|qvy~랫gM9һfPud#M<3gltrs~y?nFtf}q]ZHfUssPbl&jvA֤H@PIDATx @S׶95i!,TDI H  E)dAT,2(lsm{;;'a&A2s2lIk7 *j*b@&+% 4ן޲ 8, ˱mIJ혲% Bec8k;L"a q_?H(2iv, &&K0]HMRz.? o?U$ SP DtHWgaa5p𓄨4Tx p[C@MHND}>yD~( ))o>a" ǏC^NzT>R{2*UfӖ^ILƀƘR_?FxO DwL 8m&DCCC\@zQ4.Cr!RZ|jݺVoоѤ}cG}Bf),S<zKCBl BB"H_t rs@0ti&FPxD}"XzLgvounߦZƸR#)$z a+VJrp/C1109fl0 (( UX^J ׿&$]ݴ"}3{ 30@@x<4ϭX-YmT,oc`)ӄ\5#w]@ p$_3ѷJp`Yw]c6 @K3D7x<zŊ_ o;4䔊$>`pWxqQ Et7p @H|{{`?282wu|Riom偁GDHKP@|V ZJt3 ~\O@R؈`Kq2w: xt~7]TCx! d4]=*4HĚa0\ZpEr~cRK_c(S60G}Bf`/}{:0PuM1l&Si%>Niq~ * q-NvmOk0j̠)-ۛkX(t(c`~N,~q}I_Bx?1!4Y\צsG'6:e4<%1 h)ޥ4#S%?&ТDUbbB$L "3C@mK_M oAD"!cX-2 0}H,occ2ͷ Dk࢕#X FY=`[{JVfLmto|NrQ,{ox,D#Z)( `[`~n9 F+Gb% TUB1A)5+0fDH jU(v5TfMTYQg8{)3]qޕǐtYKfGRdRRz@2в49 pgOq. Xa$6,mpb̋QNޘo,`84A DʀT H ${LC3O3 dL+dqa9'ǿ!\y#) [B'Ue4rs'WD&\Cay4^);I WShV"h>“NuIO>biL"?EZb%,\^/`a$fVq jYi+Q$D@ez+ b @&@yfg7{ﵙ@( 'O'#F~w2gۇFd h@] 2a/A%0sf?<պ>^$1 r Y mimצ秭g SvO,g~A+ggg XR!Ad-Z8!V- .QZ \yW}y(7bc#=AKMo lJʽόN·rB!ŝ>Avj'x|\5(JP h0h3Ξ_w%ߘ7y<ї<:{B!ζTa/L߼|4}.{x W)T">a=>|bvf?~jv_`bծ}'e! ۮ{޾G $v( 9l+?|d43C3}jRb1`xWnK3k Cw#8"UJ/ хWG*gsVg.ma2 T`l=`A0sBi@V!$¹ޯS ]9_G sj"=(>V]" hѸ(u{B}]ͳM%gϙB+gF$X44K yBA^}}/ZsO@:_ d$]'`E {zIËǫ<^Гk6,w M}|_C#8l{_&𪳄}叾y:!2^ E3p@r?O}EVϋv ].ׁ/< *O@f/=Oq_Fb`p=xՏƿ}e-Cϋ BxWÎS&@#_Ҹ|/=/8}}O;S$䏞<)h0V$xq>> ё AE_ χg]V50+[.]`{jyކ 4;9¿z\%TEZ֌ɷ$ʹfgTO=Ùr#kp Y;CEX'&K;wrsbhq(fn QP=19ab`@b@9|;ą9^?qy &xfV\e $u<X11N`Fi2T$40C/ VkhHL+uEV`X(pm&pWBr@5AY*iY%g<L] Z5觀wJ/; : m {g٘TbL5lYq  4 "I=?g,Bb?ފZ [,_]\\]qXO>a[vl'U v E22ؾƒ[FzXn[ȄCt eEx}_p΋tiǂ5xՅTgi`0BYD8?.:KyFv[".ի5TT`eIdaPqέND:q (I1̬d39AN݅B|mq]QDI5}9qRWMJjTX#*t k1 @pgp qK4 t$\ZK<==wt'mVC[ `vZk: ZPqU%"Nd}:lJ: @ <#CC`<(j{2ՎC<Kd! <o? X;AK<Tk9p=6ah F'yoY" :Rh7YM鹌$鷺HTj-b5R $긆FO 3_mn7fiCmwFn\F1/=8AS=LqF&}@,{AYݪ7p25z6"T˥lGs ƕ }-E$? BU@,C%)P@Ts!MM2`eHYKTpvE=e[*,N QlY8X䀘N Cj 4( - K3VVq[M%ΎQUL8W=,Q,_$Nqq\ ,<ݿ/SPQWd gqZITp)4j`ip-?&)8\x8u7B)qZTT1U|G )oksbln( w讶;Y. F(}kYkv 4vj;  0zWT$PFz]q@ Z j`1oq[(#NGfLbן eTbAA@ YoV/*PK;_":12{Y/$N6uvX* B1s+YZG eGKe@KZ6A~{ĥЊ K〬RP& Mz@&I`6”O.a X): 'W@x)@]jKP@:.|mU P sPdt,IRS1x 1׷"@:Xo@u\ZN_H@_g|x*r p`Ŭ"!"L6@ I*X|cr OL1J6T `~%aAv8.7iƭr r\Z:B*8FS ?rȉUi r-HQ(ƞZG0itfoh'^ƐOwM@s&clfz ͎RLPgq&-K&$L[O:{qp&;1Dc¨Ow6 rm B/1k`4zfy [qN$T}IN`K~:t5T=흺׻qLcTk֎QϢbs@Աg#a}ٵW~G%̲X|F'w3E>gaJMX[Y.|hx=(谯r;rrp+ȴ3}U,\!%$Vci$dM7phxmc?+ߘ"JͻUi꘬KNeg4FgeTGTuGgi[*Hg(5ʕ?K|f‰m%.ԐZETd$zXj՚57[l&zWh_a`Nr7Z&Av݋"HE Z [X_‰@q& ?|b@PlxwVeiP'J |8߼;+O;ᷢ;ך(!n'F_.{{qk^Dz7NPV5JtN dL'>llj<ZSowwN۷L,P@p)N={W{O>o6dw?4> *i cn_y/ߜow''^PA-{/Q}:^fߘ;'v}u/=z9>+ѓw$"cۖe1@ǻŒOv}^-v}~+3X'{c0ݺf\|Wkve X) ߈~")ͱ)߆񵻅%M Cg,F[0ٷC(%̎Q1ޖd2[ijd޴q@EA0O4۶l^*'m 0 1@ zY?"|M[C"RzOF0؍Mobؾ9qlf P`Bآ-b"|N5M%M!ETLfJ0`Б2\)ouGS5&18S"FGh]1V>-|?y޻;ى>ۼnq*HµY'AD" D"$^%Q@&1qd,ua5ߟϏ6N|7w6 xFզ$,Y4'b82W͝|߿ټ#{h.@]}G7H=b}_}H^{=|fm3nRRR6W'۷+?8ݷOR~{Γد6gh=o3> XtϿ]r,01%|JUX"#:&ƶ XR­l zJW'еz|YkkY ;)7Mkĥ @Ap< h-waVnUPp@ND' ƈҐs,W7 i.4y-6O76!w{SYA ød>{p؃'10@ Lg$OPBkBsBh8S^_ĥ7vu# Z +E̦i֦W˘iWDAtxtZVhuy?9g?]d4vI,fb`='_Sҋ kƭʀzI!.d$79-@s=Ȭ$ 0ui+KH3`CYΥK3|MuA5t: ч hK Ǎ4Ia%C/8{, v,y%j\65Fgɵ(.xUI}p)J0eAq'MrDMr2waΌ@* 1?N @@`9x ?Ax0#ݼ_r ;m*;R=d{]10HgF%[OSSH++6&```:v.}a`W ~FΪX-\VCfl#s \v`B4 ު&:Uw`!8<rwϙ9 Ej,$^O7e3: '?ys[W#߯%p=¹ zJFNA}nM{e?\C5ڭ!?0+Jr0S{8cb]b)"QAjT&& qNHrJ/ `Q2/ B`+ @Ta0sX5TTO.X PC@ P pBS>B֚It$.^LvTV @0kE̬$ 8]HN' &L[T@:zXhd[?s>֠`N]bx Dm'(M H @f>oky]G3{M{Zm wK?63 #8B/c_C[wluzh{KoVTWe'ɜpx*F"/ra1ιy>ofj8ڔO)bͥ<7Z=6SkU)KXϞr#Aae 0I䲓N4 @Έ[-xF͟tnV%l*jBwgR/vtRnmySR๱K #CO~WI8L.!y|]5BaP.w;PMh1 @PJnrylw5aGio}?{Nb^'a)i4^۰Y.7Y~U] edn"K O&O@}F"' 䤧Mt"UϜɞm'>x2q ,ۣi O<;! ѵrqyڴ%W@ЫG8z3.r ;&O8߾_Qx4`m#@qH~o(B5;|Od&M56{epÎ|-$I`-0&!* W\6m D$촵ݓ>,8fXVDgq[mUB J, %m1!&rDqȰ JC:әbE0Re7#rԫ"hRzV!"y;E!y^PA9B棉ի,\O 1=f@ i=JXLIg=޴zLe勩WYb:TSc!y U$lH $ݲp pZPq>Z.P0\7MƦɠ)!@Yddh껂;.a:xjP>2'MȘV$*Lo'e@^WIWҮ]M[ Bp;[~O-)V႐␜N{䇭+ac{ҝ;5=tl^Moz&u{.g]*~pu >¯=oy "0-~>K Tu,rsl]UryW[S㘀KgaD=ܺix21{Zn.}:b3B^kë|9S{M}KOlݕ|ێ^;-8rʃ/"ۤ&2,vqĶzx^.7뺄dpx  !M TyԆR")gӼX41DZCRDξXtnsXNI{D#_7SSBZ3B ,Gnjd~b,NxP"} яݷv{2wyQ9i\4Gv|}) *]yxXs祗{Ft34t wF?coA,aʬ0}#Gj_M`[{S#>̳?glah[>_c ঎D%hI}^n e5pXi\0'}5;nv4;姤zOz3l/a D\!@ɶf0F>_@Sto4 ,D) D̘9UĪ@bxJ qEH|klEL+Ch=Lޡ nZr+Qp]Bx b r钙kQ>b ^BPؼ~U0 P]}t^M)V #TRPirm4JR : \@9C_= |e7CP) !9xAj 7[l B Gm-EL.a`ܝ:[s18'BGB!KYH}1*>ckkP`4zTC0VF}u}|{i: + Bzbt0 d ql{5* G#S6PS4oR)FTe$(V&5QP4Xq=@C)וkvFi.9DЕr\|4$x>ȦvS%}EξFOP!{j>H-,Zj&^-\#{'%ZQ@}5䬂( iWjt6RS6SqkK^-\Qخ6bws)h"W EВ@5Z@ Q:9q@> D}P!|l  P )Z5Z&],Oe(0@N0P }Eu,`MiJ[HPQM!x`E!0 Z+l@}ٕkey4 - G}PHhY8hEh6@}"B}@qb@@@M .Xaq0pq Kkul<qo y U^W#g[-M9^GgtE<r4w),-djv 1v!kuBxb'6 Hd1!~aiP['CP *BX+q*<5sN?GMig'5;n78~0//_^lY>f~q) 5p ~~7$W#{W S)>^!mx.W7z^0#+rrE SJ+/hHh ^ k0sy3k<~yǽpLˬIBmf50W]#_#pZ+/.?NMkKϢ2 mS?a¤\:g|xY駲l#gwᧂ֘/m^75\_L #3{j?|u} LMY=eMn.-饟y18@fmBw- )gsw=pS=C3:8 um < 7(NlVlL>M}F֫p|ټߜ} Rʶ ^>{KY헥E eM4F5 Ɛͺ>t}M' Dyor􁌗GN=]oэ}*- VFݼXDFǹٗ>ȑ3ٽvٴM;ȶm~n =/^8G \RKme/3ɵ\^5j?6*}s/@pcy `q7T@;v6in0aɌbuhu78XuocZR` *( *(( huQY0T.* * w]`mRT"I`cj$FXbC@e!b>* &mUIENDB`homebank-5.5.2/doc/images/dlg-payee2.png0000644000175000017500000000747513604617042014721 00000000000000PNG  IHDRwOPLTE5Pӷ9Mȵ@唢󦣤/57пݔ_璛ˏɷ􉐞̼LORpy磦{ʱ骟Än^|w˞ΠϺe\`Prh?Ɖ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.5.2/doc/images/2.png0000644000175000017500000000051713604617042013117 00000000000000PNG  IHDR ex{PLTEGpLyUHyUHyUHyUHyUHyUHyUH|ZNzWJ~]Q{tǿ htRNS/b8]|IDATmGA=z9 !Y fYmI)UpBt孻́(y`flc6\Wv, ש k  W?!PIENDB`homebank-5.5.2/doc/images/win-balance1.png0000644000175000017500000005370613604616712015232 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 )CCFDFILPUHEGMUKMSO\^\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.5.2/doc/images/dlg-filter1.png0000644000175000017500000001333213604616712015072 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.5.2/doc/images/dlg-account3.png0000644000175000017500000002061113774107736015252 00000000000000PNG  IHDRQTkGzPLTE5yUH957梡tvw힋oh᪫yuؠ򑥷İ˯a樚ūλ䩵wŷϝoз˻lax~´f{N傴㏳װγGIn\RfϢ{Üֽ|YL\gqc^{sk艚ؾѩ{f¹ŝ⯇x{~ǔֿ۬*16:BS𨮶ýfQY`dhthrV{\䮛cڿǾ텄wVoSPSz\tc=@DasMzctϔg:Nnes雰HsػD:UjXlUKE\$5$_DIDATh\S׿ UcA6I !`y ;)Cd -PE>-ZWsZGBO=w${ϹsOo@nsۦ玛ڹL(jzNL&DJoЛ D]I( b̈́H8]- Os)_[UU5VIUup&V>Y L$:r՛p&b!o&}l{Mt̘Ȯ 8J±gBp^Quľ&+;P0ʮ\Ac$ l!q '9Ш5Q+h,/XT|*4Kj8h޸D^UdTg ZaE!WD):_ s~ E"`Y©*}X܄zB,):|1N"љLԍTax( P($ _’f|#s趱R+ ΥڱbŰ'ad#v!Φtn56y-6ǼM9h1DD9KyQ-os23M3>E ȱ_#$]N-7]ɍP)+)bf))`+jO!3s4H먆(u9h{7N|#aDv~ٞVtr{m+8?7dILѱ/9FF5=FQ F%â29VMk"q>EeeEPp0 lEEvYhi X]T(+**+(`q?؇ 23=zTm.ҀY23^ d|zK}Td}^Lo/5Ú(QxA`hhiT64–n(Sh{QSm^Bo s"m=mR\laEn$QXP]`m_+'`mOhi{g5}7<Hr" .QL8\nY6Ω6YkoɎo.ZcUN_֞Wd s"aHohI@)͞OXW¢gS}|>*љ=Eu{.+Wf]Ilkv .Ӌ`]nԊnjEiEiƵZ|LJ ujHvR`rhz .?4uz7=7Y@zgϯr,PE|&ž%ZsnZG̚v]ƍ jۊ4aր]VeGsn7aqqEܸր[ Ł28n"+nqEWn⤢BLnʴy3nnn]܀#Wʹi=X^?q5$kYRѷ[OEnmi[A.*jsԮ]"7ZmijWV涼-mVXM*Z謶6xE'.t.HL#Q/$>GTϙ& F!7B!/QHEU0UHS6':1IU*.?4 A4Y֩B(  ㋒`@cI2 5 4 Y\|K E.(YVCRΞ,8Ry+|{rOigw;_0E}/E6栟(lDWjIVͲNxrp~nftbQ1O=qtFgpGTwc#X=B'KJJ)L[rɱdaUMΙNfڒ=5r"]C8͜ Qk=ҙq0*y-(橵Kэ۳,ˆET:SևE(g3¼\5NX l7fhUYsf] sZUmgżGQIǵ_h=l9S&Y߿Q-Q3z]5Ԣr`ٕmBf0\99bl'MRF0;0,@=z>Ml;HO/iCITP;?AsDAΛ_0k}r݁' 0}yd ;/LaQ KGǛMu9/Mt3M`:Mh{Νp$d+ _+N+&ycgÿ/x x0%9F n B$O׆o"E RB^S2D?SV9V L\P2E%3yE~ LUCUtB"T̢rٍTk'KI(rTT̢ˤ@ s!=xV*:PcSZ[)# fV<|yȇ?Iv {[:| |>e{֛A.dP]:/l"^𷢉y«pؼ! j EST F _!Xb`*#:4,yE();_׍F_c/5hmB:zQPlu)Kܲvx&Mprw-[%rXTaه<[`q3h:Φ@$ $Id 9L\El$ 9y;5޼PƸ<ʮ\sF$EZ[mbS5m`&HF-H['y;ZOãPI | aAAB`XCB$ ĶGe4I,IJBRQɊBI$L< '>|e [3MjUb*"Ҍ?EN]'},66OK5{k9lTt!Әb]] HEs8csJAzAƉ޻Mp9qcT2clH20`  R[>(-/PM􀉿΋ƽ> <\x^c@4`b[LVOs/Dfˈg/go-3[$)_H0v{ )wfJ+U3&|Qha^^(D]oz-@jB06RT*cɆ)`uJT )!QQDhQ ӧ{ʺDl/NQ%DW*ctUtw)hT'wO J^~ pj"*OB0WKi`5,X4<E#IH**{G4Ƌ`艒DpǐreOD!!~hH`~#D/o"|HD JT A+S-G':'weDeI1+lS 'L6ys-ζ4U1+!`$xD#Dǔ=bgMQ$l2u ܏1 9nOYCA[?5k;7ds勮x!(pC~ܙr}B &nH԰#=GDprġz/Ziʿ!1 (rcLY2BԯVdQlqU csdzu8NQ:W$cS\jM=7O$Z-fфkcŃ"x^QPi{UU—3IER7bAB(i"tD̝&(a[`'vXnijlI1D-%d=mP^ J4i͓/N#{UtgKޅ.V:~w߱y]ֱ9%<?q~{ώֈwYS|iYyv5UTd& M;hP&͚uؚ4]Eo{ֶoNl||ݲGO/gݎ18?,O_iO^;{9lX8;;WlȾYŠL2 #^5/diY}zrk Y l:FM[&lfEcwtnuujNZٿ1au.%dO[쏧G;y>˧>.Ye~|DADADh(.C)"(. *>3EbZSwxt/chD蜉G1S5g˴ -ؘ\q19QUnL54˙%x@/yGo#kӶ.ޜS-Y˽(9 S}#)?:HQApv]~#~Hϣ5\2wR~?1z2ZԲm\6L[ZŽA:1"7Xт jOlj G}]cbGvq9n֭o &5坬G~C~}SߵzTkl4zQdPtzAmn>ᒑͅuK:Vn#ܱz5޴#tG'*:Q_Om/D [>sf1>:4^+m>g:RuwA@k}OORauw~_)HYGwUٖ];_t۔qxOQ+ El@@U|oY˺ -^ݟaӏgyg1N7>\ahdURSTUTbٟVdXRq6`6^G0>(DG_4g|,|b)UY_J3EC"/*/k(+]]t.8LQMgHj4U-2R4((dޅ}=׃(>3&>1=*s%$mKWh8w^V#=%; lk/x4%z"':?V{)'0i bT$Zۇ%sQƒht*Z_[n2-)mS$(v_=Lxx۱O h%ɺJK^|4OQhxAAXAtވr+l ;@#qջyA6JO<>Hk^K"2#MOۗzEm=[IQ ZW6iy SA!^LZx`'Σ 1mdkGEc?n~a_KtԿuAm|jz";Ɍel''/95nO }ÞJOΗģJA*P]vpzW&Q f0QQx" 3Ql- ^YHQTՅjbT- +0DQD QǤԿX&la)NMVͧH0bog0  .?l^*M LT"'#xe2D=L !?(+")<D=EAb5i )@!Q*rDDe+ruz(׊UBQZt%ۙ+&\fP.֪#/{C"ԢIw/^ws7a"+:=9Zt9zN)N j\N7o^M8.0uG/ݗ^bI"nQ|:!NƉ2[u Jo9dt%V2QTLYVi6 Q *$@I_djK\Tju%d6)#@wE`81:鮊:=sy'*QKTVjN gSv4a #p=)%΁XO-2E&]51Ca$rz(cB92hYQ@K$X ?kQzJBD%Iw%K3|ZÏ.{:yxzePA=&e҄YAD Eh 㔰r4a&%ZΜ-eqbbae V3{gIrmV;K4%'̣H(D*(pD"y)hp!Aױ9lOhkB}uh,q= O%Q ¢l4=J^ЉtQ}=S_([?}_/GK74ϡRN7*s2"Cp ^Tx aҕ%^Ŗ^mKF/|h@Q0-WnY*xrUR/ͭ>: ^TFnDXR_ AtQwk|5iKz$eqqR{Dgl}[*cٞq|#|Q:BXGį JCT2W(*яDgQ1 ^D'RDwΒ8>'taiRK \aIENDB`homebank-5.5.2/doc/images/use-vehiclecost1.png0000644000175000017500000000725513604616712016152 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.5.2/doc/images/win-trendtime1.png0000644000175000017500000005644713604616712015645 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.5.2/doc/images/dlg-tag.png0000644000175000017500000000712413604616712014301 00000000000000PNG  IHDR|БPLTE5yUH67of{YMriَdfhJ嗖8?惁\Z¬UWW隴ŵ̵¹佢ҭVQj搟ǣЯд279s齚ԑ찴Ӫ¹CFHB隅rd峌tkꋢݭƮųʰؼmdni`ytЛ촼̹ռǼ^]fmdm~vwḱؾ}ts9꠆ɧѪ˵q~|緣Ͳ趵 IDATxwTML D|!CH 4!. HQ4( \ *J_{キ>{/~{}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ͫtFUF":%=ܚ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\$kCVtD9H6$xQiI3Fz=56z+WŢ QN#= +J9˜X$)ljp"fdr|!$u'$́֌=8H:z 1f*qҲQy/̞ +"muq(0fqBz-u'2Ao%.,Y/e\fz!pV/b^XijDJLEgB)nq2dB+z"(1PS|2iKk!wNjxze vc9pSCJ322ʖ׵zSL/ɌJr0J._y!ΆN1=3P /A7{@9W*ed3SutBGJqrNsḹ|"KCyHa.VfH+r~1Y[bm5c"KXe*Ɩ([fbcX{1!sds%6-3%%抍 A׋TuW33xx_7lL٠o  =,'ItI.DI+34LOwDޞST+ʬ=)BZOJ50WXA7yN66'ZdSnsP!D"ebckmjcFTT|llouXA Lb{{RcF©e&E.n}K eZw`H}9nEQo>SX[nYHy@%0ʱݻ'xs1[Xnpape,937=(4jwY?C!Mz)ѣ }sk$z g5]KI sbs)#9aa>1^^}9^ zmq(NnQP 1Nnn zGk*l%d9Fi} 0GEl)+r./{/%4ܯ+Jq)2-11}CwS^ N~K̘從~̐[frl ZF5O|fH=39TDŽHCW{=7sn+P~V\8#>ǵAsT 5<(){0X'T=EOmnW. ܒ&۩'pK/f{Zc\IH?wxuǙn.8[RJɵNz`ke`<?UmVrU0&z%Q2^AhÝX+*^]Gl0t;~1QU[iVPz~Gno:yB^U 4;Za2'C={նƫqv{q`oKj}1Afq.ՙV~cMF.T=ɿ9񢵳I%}>0t5V.z a>;1%_M$(|F?z3B왩(e,6:N/6C* '\-AЏsfo{f߂V9ٚ?Ȥ?=~ WnŐ`к81}%=݃I)FGĴ Y Fp>?r3_( ?'LSd GL F3w0}`<]?b# B㎠ ':};`oPΫ`c_<{_^`pwaw]:/Ò>yII-̒WQO?ˊ_gFå0Aݞ <,>wlW!Vm-^bs>XW[% [0G\8pSv8??qz >voOq;l+]Ig%?t|1{C'Xt׺1C~SoImK'܏G^wHw<_ zK?|4L[js? FJ>i. }K{Г@8BLtzNth7 ?^uzd$c<1I|?;N7^@?Eg#cD^X,?~M)["jҎ1 ;IKjfZZM%2Iw-8s9(3iCIBOnrqS kxڀ .gmKڶ˺ wVvXOںW~m(d Kғ D'!+k()pHjmE_⫖|Q^@?3v!qѩ4'7&DOWPow۶Vlc %'k(G<n$]zrAiڎGcT_k@o-{(UMa\׵OGWlC*n5MnhK F}|350z;ݭ`&g{ x3vbM6H\|fqwOдE,\Z+Fǎ17r쫨nZ ~08cOڸ;.i/CKWX}KDŽÛ?:ӐO|%t'|)3d߷(\Ox>l؞7?cD[F^1ٞ̾ZlϞ/`_u3p10[ 2=_= A<=f:f,G'Ͼ鳕O7~~߿*o?⫛6!/B6 ?|ȥ{~?SYR87gYg$>W,'e>H7ϖo_gf9O} 1/{z/z¿/6پ O?28k輹}\;͌KYr/c曇7fhghG7^Y~{_? >4txӛEenY͏n2/%K}t9˖~پ 瀐1}9K<|M] r\aO.]t)vWx~?}%{Iy-͖cP&Vo^٧+>]%>]ghCLL2h̍Z1;(@xtnQ11L}{|krO<ݟ@}z>ݵ` [X$^TؚY$pq V_WXkipmSa;xK̫w!gp ^bc͏'JWT;Ttꆃ}??;㣫6o'4p}zޠDz }*!NTwyiUtؽqo~Mc(bl#:9諛mݫ<(3)<7^p':pڽ%)p'opx\pj# oEZ+"laZx˒a#>4"uSG|]0SJ){ѓ& v +Tӝelfrc ^P TnjՔ40nn|G6ս=%RU:˓;ғ[myQwmMӧ$t۶bH¦9lNIx˩+I`w] V;~Fs$B4"D:F4蠟N Mw9Wo5]zƀ;[eũbE.?Ae%NGQJXT b>Pa ޥ(E ]KL_ m Ϭ  WG0dz> '2ғ>66Jy``'.y^l= J?ؐTqƶΐ-1M*%W j`ԙ#aVFyA?.PUy7m~%jS[^}[j J\\|2J}#+ƋD^=#8 }*{)Sڝ*bbb*b-9%D1v*Z/甞F0^;YHT-NGTDx$I$q t^;D﫻sMȔk|iL>'MJW8''yiT$8;9&b'Si{樂ia|)Gӫ=xn2O8:/$ k*vU{ă9/On^;yR9֞z;yzaᆣ.6B^,Prqs{v}ݙ`I۟`Sс޾ŭvV&'K>A(Kέ~J$FuMլu9sm0 w<߸.$qrmڀiWb,O,'<놃U>ihTGIzZb5 v Kzk5D)eR?7;v9=lA%lӶb&9hH^$ /tk[f`UL E6 wKcГLp&(;,D~ŘĝWs"Ǧ8b:K~ֲC>6Ͱ.Z<6m䬤Pv]Mj5n[q&{ Kb8-Pe]dgJ&Gu]9H:٪K"{_L!oרo(IN\Xw2UŒ QQn픈CrK:vY#<U7:,淴1_[n`=in%mbb ):7]k_7iV!Y;y}á 9-7y:̛(JE9=D;֩ѴAR`LXmu'Z?-0u^8ߜ7Ax!0*Ol/M`P[u G-ZF/,4K$6z})N^\()o6\"C5-@ U&.R*6JRh JO"IJ(NB%T\JK2cS"B@K@ϴe;yX4~t矑H 3kD|7˗^\CV&RLψIm\4`J4#OoDcGJCxՖ|NQ//1xbAϒilܼ*r0} #VNz ez;=ܠ<ʹ<9&*e]xP\^\au)3(Ey.[>3ׁ%FJNMn 9G\"zDzT^dS>FٽFa @Yw.OݝJ6*Io%1h+&",ev{z&&B׸̬Nj+u)JYS)zҌURM)6*vZ&6BB6 -SP28ESݢQ"&\3e*FYќep.a5)e;D-nKH~s {!Y̗")EHo.!rSBHX9͗PB6((+B`.zc=,Ƴk<̞2}\7TbEͬ|>l~_NEO 4`j<8e'".c7cg>;LkVI۽?uE򥥸gzTwl-$ML#L T5Ik]tџ\:E}tjo/~a/4ֺ^ oӟ1ZK)ѵ-z^T[9Dk@+һyݚf==2;yjt%v..1|lѓMM,.ʤ C黓:ƾntXSOؕ,J<7`#Qye]$e-( [PVO4~ݻ87'C 'UN},6wmەLKۑJ8,6>L`U9TLT+JN%roOx55/-dܩhS:6h{M2 ;8]zK{9 z6kj A}e z냇,NK<}"ۿ-S bc%V:8$:Zo@\9}m>\Cή0!./+\{ l-}C{ejṨ/'`ssW%v߻fL=g#F`bN11?8Ijtzo .ui-̗&w+H|IN z= =N_s 'd<= 2p|A/Bq.yI~& jzC>\"zE&/V"ˋvȏ WGC9BAW">Eyb0yi?xV_k#釔7#7#4w`]jL:B*I72;gKe(Ĕ+zGϧ{@OkT_wd@ҏ~%7{Q'&.Jm! ~ד\C/5zCHO%'e%s;jf .T28>ӕs5eRhwIENDB`homebank-5.5.2/doc/images/dlg-currencies2.png0000644000175000017500000001464113604617042015751 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#,<;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.5.2/doc/images/pm-check.png0000644000175000017500000000067213604617136014453 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.5.2/doc/images/win-main1.png0000644000175000017500000011371013604616712014561 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.5.2/doc/images/dlg-prefs4.png0000644000175000017500000003601313774107736014741 00000000000000PNG  IHDRH@PLTE54,Ŀ(~~{鮙ʏzstҚҥIx{}Իvο}j|y豮҈paqȭŸːŗ{sv|˳9弫q|~حäʛwgfxbq0J{j۲8թ~Rrrvzf@懎ԸлNMPiRʜuvfɨuee{f}gݷЯT]qY|4۪[Z]zhɻlDzax寇Q5{\eՠSNl=Kt7`zTuU9:>mnTqܪۓNo1UhX[!{fS:zW0WzPn@.tR8ٳ͍o6B&8IDATh P$@Ac<D " U%BQ@+PAH6b}}UjaQ§0L3ڱwM $ٳ3~,bUٟH6-%N&+Ogk+N{<KF",e)g lmmP!hL7_XK.))Bq%%u$ 2ܥϪe ೙R 5yķ`Ο=:<ѿ>A@ǀyEoP.KٝrаϺ1` R(c Dvls~aeRx {mw)6YVKfQ0oIQr? O'^|:$Ou Ip--SqEVSݚ,H<+3h,fCݤqiyP74_S92oj7+l_)2#BL O ފ?40+GQ7"1jZj ʟi?@Ql~~⋊y y0 %虦UbcğaiBK'ۣQ.ouz(ZI)q`^4t,?C \Pn%#a!O5[3D=K-?JQ(JOI=Ao]S5RrhZ={1sbOm5_s|~',#簽d;DaOcGa+KMpfB@o<&]~;ZpIg,Ȩ`ccܚ.سǃcvG3+qGC&vB)fŎ_}*(ptbq G͟32o|5GM&ycxԆ}Tτc@?SO_# SO_ G-3YH.'~KXvPR3NzB_%aA7ou +2p4-*=?6@;jW_[:{.9@[9{%-caDM׮yyE/m{D<2WlI *l2d*AZZYKCq-^#""Ay?U*5Ш፿/)o|;Nq /iʵ}ġ-![-k ',?*PfpLgӾ;{RD~StthߝGu߸PDͣp_dOuw=|gO|9~?^$&A577ϴo8jHKǒݫ- wz*q7n}8}w.9 o}i's P@ 7Y3v$"##mx7l!{ ؽ,SY_oM}}`.z+p `B-߈W}\ cddf÷CΘ$ ~@D?= s4%! lkL˔"S @]'1cjafdL'HĒ]K34eGƶCd lDǴKXzZ(`#E۟lY6+dV6:4e z_xoo4<RQIߏON&f"^2lbʨjX/޽a0[;zL6ev4)=.##ˈb:}Lq¿ZrNa`g>z5)[Wtt᧑7O.{Ly^Bp+1c,1% HYŴqt%4%7t8y5O>z:ݒ08'7ZqFkiABǂ>{Um+/ZukQ6 }_bQ8>/~Зr #/ 2h+ûEQ(ucn hbKz4gџT wqk.7npM !@ 5\ƴ$0"r/01mcS&|Swv.1,&xј4O3gtY"k\4[R?.A)3nEm+R $)ju ԥhvMR*RxՅ ?Y3P?_D-7tyHQqvK[zzZҺE񧌀6aHCmE@C lyGVM֓ _luBn;?/ʙq2LeDgE[KKZZMjMRwu=)öyU$v,ְ8ٙHi3%ui%=iiry+VUorhgtxbp5)i ^Z߁?y) ]~:G?Qy+VuC ο诣k2M XlH@Xu x`Z@-ۿ1 ;- G (O"0Z~"[-o?b-b Xqcv)KOb-z@_M`),f 腌C]#"DfCxI#O4?&'7O͟cE9s!~G  !mxh 0?H!5:8=Giq=B?Q%q^0!bN!{Dݚ/>:\M;9h[/J t=arw~I+h?JTuܨǴwD+c,ݞaX[Ρf.Y>8%ߌư87_ ֯Ǹ!/bTY _9!kbn^tBCjs뚉g]!?kVgdfdu۱.rs_6~u8\~[]UpG y|(EDê(dip^Xe=k@;rtBrpٞ9O3?:0˜?.sOm۽v/7Z._Ҍ=eKtGwsy e)/~O&[_cK qk~:+KGd+;&zٝdQhgK_t KDO.wyDhsfӣ>Os6K!KzfoᔚoM.X88g{+t[%=q1KƒS:Cx+@ a+ 6/1t\`=?:`j+A~c +wz} O{y,w<=Zc66?/hsQQBnGdW_Qj-Xds8`jgsbO/ِz意ө8cQ6_x&aCGMT_Qx` :ASZYy_4O ̙3fRAJ*ST/* t KuqM ʓ0UJL~%wYٕM\|H(2(LUw~<q.kא58@03_˿\B&G_ AO C+0R]_!C_?_gt~}s|7gZ}3j\IUPGr;i p0EHʒL0a U c0,lEPPŹ\tJA뽝~ZZ2s h5?Cw}XZs0}!##?=<4=YC\obl6@ԪQi\f{Wc˟bUvS21Οw_~0_@wV"Z#h^?"2 a"R矛^qlۡ  =W_욱2too gV.yP`L~ Hu&-|< yp [w 7 zM[/?QRvp O sq׭*6T]R+vgH a%e>b3d)ͷ_: 4E6?peCs (}--tvtqy7]R'*eUyy]Ӌ-7x^lQ>mmysˆx9i=å4spHݢӎʀ,(bQAjek+0".bYX,g]+~'?Cc;܌ow6vԞ<0Kz#@gUug΢ZM 5Sa١p xs+X7 =49p+ó+{ 7[#tɉlvr zl*Tvw6CmT %\Kiu_M<Q}QejjQUkхQ?:G<3d?ۢ_tw{Dxå]! /##=7ܛ+750)AߠaûTEdW_DR#/~N&&DƇQb%?XLûwDaBɟiܬ1qB`3I1UEGGo a?r\. c1mצu[a}6})d(#iבf>|hzTW<1?D4dƛWΛt94g?~pƕuxLTޙCMTbF0Kc0Ӭ`A 4-;A.ǮCsB-KلbhI&y&++[5B\|}. y!^`EdA)v) 4״´r>h/OC*ޞ3z#-5=>_jJG[,ɉ 6 m=NR`{:Ivy,{;P96i)5tȈ^PZ\sgVx:ğ=5uT9P"#[r?V{tLO |Ya!o@#w&u1Vx!u+&֥%|m# jF(h[}{n_PJ=&շf'nv(߀k7nu¿5D~ je:?@y-5["#<ԧE`}oxyo$WxJ>؝R\ o`NLwcᳮ7N"XU 7]OSn=#Y$&pktLL3Iϼ{3:>%"`Ͽ(Ja6*!8piE%vO|2Vz/_[4DS S=sĄF m fu|$0}_jXM$\B@3XF@&,"t4Vu:?SfvGa7-7rZ1YXks-Kߣ/v]wW<_tZӶC+;W QNnpr:ɆFtRC2}4_-#9 &sSHZxy>p*,$2 3gn"i 9/~o6 Bq qcj£H/ğ:P H_OQ5`ЅijQbEZ,_x[PnY { k'̥𿶢_V/x.GQi}sQg/,f٨G1hxzںtҬRq_lɞem,WTަqbj)`UW5'%e⡢xJL#{`_zy`dI g!JҬ5v#@ug.v,EcU1Oz 9d8\x%}H0_%3?"FTlc&* Nק_l:f H"*Y cxGao%*D/&SXGMQ$%3"g/,7U 5Kq`/@m a_Ҝ1MIgg!]8^0ִ\%?(S6:{h^vp0lTWAlk@5ų/V )®"7x5P7`+W"!;raNz֟/#ch_ܺoLIi6W`29R[GW In͛Ha(gO|G 3/_ y)kB_bpOLDfĭս~mˌ\}-xS?0r~, "\WawjT)Q O BR6'e4 yWy_\ > ĺS%ҠԶ^gm 0<۶ ;,aK>\p9\0tl1. 48^P61p;Ut9YrX[-N gC,--IU-gU5Wh!XF6z)ayZC"**6}J8`?= ӟ/d<5b8w1߸uzhve,V0/MfGɍ iLMwǟצ?ij?}bz3OA\ KŊ `ܡBbܖrs{IC~"j&&O< Ep}$->ߢc)Cy8\H?[;]\&0KqOybEײs|<@#:=ÿ׷?+g?>x j *հ4He:JEciVhyS<Ytb,wg܀np`OypN?xpg@}@~B'MGX[a- lhTpݙ(",m)>S??gd`mAlIoLd11N$E?+هMڬ5"hT D X ֳن@l64%xTl`2r%S,ɨ6ds?_Yђި8Igʔ2MO"*B3s7{69R*<0ޒ}۝'TowlܵRVf}2!rݮ KՓcsC޶}$v2k_%qkɤ";wt|r+(ݽNp*6z^㼘sN( {Gy e >n5zo@EϕT ]dxO_cqG ތ?oʟ@׷ \O7'@׃d=0H5[G#k?-ۚ6]c` uUo?qz7Ϧ >P WQidvA)|6\f ti^l((!o 2|E9G!"$UyV,GPq_[D B (IA>P7G'lYܳR 29UĽ( i :c3ģg%>p7Mw@\ .R!ć^$nWr|OA._.>]q()D4ɱu Nȗ_7\!iPQ}3_Nx'-d"80= /`P2 Q: VLV2 FklO3Ә^54ǩ}aԜfdE3~hG(Ȯ_/.bk?aI9wV?I$vσ%[0>_Rᯃ-?͚FI),?ш?mɕ1B -m#EX5 }G5WKce5Ͷb)m\׮0wϻ'ŷD"V0 "!rP Kt<<&P'KjWEUl*+Ucd ^;QrQv~dq$J|D0\*P`Yx6ƀ?$J lgVK3Urqχ'}2ib8E]/6zd?/T|Ԉl.cFJYvEY~`Tbxv' g^dwovw)2-*/ꆆJLRn>r?]Ao?oɢQx3 -ܺ4RA_j^.WVќΥf+a sIJgcx용f/x;l5v,,ʛ(/[?T?hLMu"?77ylk΀ sjJkf봥9 b,Ot}j}rA5ʒaGxI]@xقrqB`ӄ^w?1)=CFF1aPwK <}&)сS:bYwV?viL3  z8[jozIu`PGozky`xKuϭ-Y&X^RZW$u}aTW$c^2޲'xڞzN̠+SaPcP 'u+Gk LWI&p %nO =(8d%tUq|}?_"X CHa ?ɟ9xɟ,۩Ao#:DР}a%q`H%E?L^J.IߧZ?;LNRJ*dLg?@ѷk Up |w<|*ʇKz|A~s 5!.|5<#yc_Vzes+ǂ+G _y ԕ:o'$}/P .XW ۹X}nn!YS@|Y>7g>?}:_q>O>dx U9D(s'4Lx^;(Hi;=O'19~Oh5E͐?8[SIX9ͫ7evt,Rim]` k/Z&@i]{X܄n'>M|WIgg@Pó [7_O Կ_nS1Չ">O{GjeY@ OX\8OG-M;'ĺӕ`+łw-hbTv1/t=QC^9uѡ;=4ahhƅ_(^#wO3_&Y#.ݽ.)mv:M/?q:d߸\['jSXW/]n>P@L]UFaVd>Y u} yMB_7 5\N&h}~*zѰӻNwǿ ɻ0t V qO:~;,vem EuKaP?afQ/t-Y*m+r$<źs@,*?taR"/+ 2 D $0ɟO'+&h%@3J>cm5jgx/{[hG"/*oprj_SGjzW֛>L߉ B`K> >qhP?(aJ; A5];6[bP1UV ć# S~ǞdS,ToŬg D`.WwiZ2W_l#oVvgE^ߐ[G X,5ǿAs7,#F2{Ϸ$*݅'l,۬b;rs8*m-ju2sa1XK7A`Wad‚5LesQIŸHeSYP silr#L@ .ӽ9ۚa75d8$L;%J} /H}D'I=Sw/V9Bk]H\Awď2 EuY&ټejhggMFs}˦Q M9K;g)n[!+Hj6kO<ӆĂu /-U#`y*drM3:xy>(ei(/#=:wW,52.-7ʕ`5KEzr0,..# s9uWT-CH}y(7'pN[Ȣ$ORH"E)RH!z8a?"**6DEq@l  aPOB2#8Tj$C. ޷ Lo5N ](Ec Yba`$(JАG%d|B7Gj}AyNj?OY \ʯNX_fk\ن1o#P4Q#"la.;Tvk/h?e_.Q&J{Obo|dvGJCzdfb2 Qio`ȋ)UGYon11/H&V2U:e);`GC57p%?ݰϵE3V[Y/*?DOy6#—D5^rhe5l[Q=RV }s5`t[p]3ωk[_-u"I @<֐ɽJ ;~9o/1Qnig05K864hm~fRMAj3ކ@=kKb`B*0(`~)]-k?.ih~?j$&ZRi y>MK)OH# Hv8:1CO_GG3$'jȋ f {8C.ص"bJ D㦠'yQ!r0b#B7 rҸ HjF0(OaBL? RB66dB *IENDB`homebank-5.5.2/doc/images/use-import2.png0000644000175000017500000001264313604616712015152 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.5.2/doc/images/dlg-filter3.png0000644000175000017500000002226513604616712015101 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.5.2/doc/images/9.png0000644000175000017500000000054613604617042013130 00000000000000PNG  IHDR exPLTELiqyUHyUHyUHyUHyUHyUHyUHzWJwoxq{t|Ļƽ!tRNS/b8]IDATe@fe03㰏4IH+"$%>$')cx0K̭j n %ܘݬ$9\K TM_轎c_o7Ss  IENDB`homebank-5.5.2/doc/images/pm-epayment.png0000644000175000017500000000123213604617136015211 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.5.2/doc/images/tip-listsearch.png0000644000175000017500000001146413604616712015717 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{H(G5>Z̕ߙl]kO0 CW]o rXEOo(CdY1kTms̐g%a@EE&ooH7ԦI؜Gʦ/IwR\_fE#<۟Y7c}MSS*C›x5G*R^n Lʸ߿ 9VB=qX6)NRmrرD.~XI8F[lv[z%lu}|>> !}h,_nIc;Kܭ$R qpœOls»:{ 0iY&ߘ9eQjo2(hx6e r 9@>?l{&/?/]84d}gY?_eY%h~!VRm ED`s ;;>e; .}o~h,_7ۄP8 ͥdU1+##c|p$ߺC^żHY/uxBm ],;"EBlb隘=l{ǧӅ^be1 GO|R8چDזF.M\j#IO -WtȂ{ک <ȒRf"HtuF? ?/ M3/?j/?m?辢"eӟdQ3$9HW?aŃk|ߛkK+`$A\gl~U)m@T; d~A%4?צ|<++1/W肽Q}\&519,os~yMN8YnhQ KTo`$[scil^?rAO {m4 'N X!!i{/;cW[-lD+/%ܼm4CQ% ik_v1л(AvoXN8YǕ erȹ)S@ffk%RпE8/i.)񠙦 _qE G?']]?zrquߓcE-wzkt`>{dR3j6l G mQrӃ3ю;gU7ltQ%3vJ?26 $1U'Ή}Vu]"4كYZkCQ3gM'%]FK ]q̃ma;*ݎ ȃӟ wc棾8}eڍkf^m/e}M/O& :X\x!g(}9S,5k7>F܎&.Dn]PlvB1?L{@])y_PTz5Pߜ&mA^jȬzSL%1 EkTE!;cw1j/)GOHGJ 0O`\Wo52Z/.A/(CPRKx u&1^\xd#)ɳ^7vfA?BR~POTXTx%[7%?TVtӊUR57onmhlE2@qԿ PJ^?Px7G6}(ū1FaE Dn);qhwkkk1u, 5ZT埲ݽt!_%I.Knz\Kaնo&hUZИՃW<%E_#c_ 7?MgD%M/^`swixqLGdt%2=4<U-q3c2=xr.x.jl' `LBZW\WCiտoBKlzMxS L&w(fl&9P/2M΋FW g)dsroo>^ȏ$8qrK²ҡ"2|Z \>]h|$:I9i#qu;~LǡWknu"ϙAʒ_[Us%1iyE=>w0I@4A[ΥY4RܭYxzQqq@Q79UeWj_5_h~nYfo_os{_\VEkqU_W_}%u?33;ukmCS "O79wXd5>mCG30:)h^VໞK]sˣC h<7y.o>䕜#->[₧U|b jgi'R|uJeQ58 K8(rf`?>y:i3ܰO}?uWr8lqtu]RgYY]b6q_wqEdD%DBW0Aup+87%$p:kY,2ÓEW#Q JƑ<`Z!w")B# cײs$E%X,WWp:y_ 1`\S&?!~߄;2 /zp;ਛwuZш$}z>SFqo?˟.s=(I:a+5Wgc#.-<F\bo#.XWQ+{+p1^y.HZ(}ç͓<%?|?$"S`<3+<^K ~p?M審(?@-]/şJU#94EosNP(Z]O OԦK D'-ҶUgXLhThLU#3ӘITrQA W yd( o=_LS ,yՕ1E/"\髟l篾?A˿oU_o_gU?c>[ߟFmac]1'@ |Ũg5A+;jgͶibY_灁_}%kw8ri󊳪xB_qn[5zmGmJs'ʶKY=.Xxg=?i9NC7B"lmEKV__~Ϋo%srt*x:k|15C~|Sh^ww,uܜ?g׸Ŧ,N+vr LHt5>Him-Jzhu,'76o[X'pUZn1`5~E4w'ÆIFx5wqqtJB?X|K[LOR`[ mrL _,izɳg[5qD(' mn`:dmyOc+?$b]4ԶrskM?i񃫄 'I ;)0ڈCb~A+Jf_-,ۦGE%?x][oSuVnS"\_n1 pN|kT1?Sdo`ID1E IXOѩL1oí`[wRƍhߟe׽`ne:$=4H%ܲ8,l3Zͭ',B謃g¬x{&dӓoY^-vhh-0/V30[=-Kɞ+ʦSuY Uۛ|>пhFm;,в2gTMz`# >#tQ658D_Qe[mֈb4'⿫lx k=bG?W[xWE.FOW[!BG?k[."[ =-X .ͭB,aijw:u+(ύߟ;#x+ˮ7mظfpm9Sx K"37:^P*:)1$Kcb0H`s jPFcp֜+fݛt=pِEM/O?}q``5gל^7l^kN/~ߟ\Bx-:e%}+C9\mD_3t:ZnfPc툎ιnY ]Ņ1r>\'lۨfǎ[FWfװWcHr2vʖ.J3kG  G Y=4[leYxg禕f.L3:~yWWۛMti}9NBn1QH)&2%XI5D9xmF:!}? x hGT폛!|_{_#+7@ wWm'<§[I$i{()/nsj?.O& Q?~ʲ2 mluBc U3GQkq9hǽ_ }d%ԸO5 _ST`* W'0t?w\ʦiWxz#$(߁dY@rt˟xMrDm1;O?~ 烿iT-(MC[&t_'n~CşQ /tۿ2r~7JS֟5ohD0͛HӒ5%cO;Zf _>"Kh潱NeOӬ;{>Rn㭿B_37,>nΚY柾_yجzQ2fz02J˟gccæFd)Y{>1mTd{3?e++u#iDQ|d'L>DG{zNF.ؽ%므%#ffy,7qGN1<=>kD!]E$Ot $pDHDj !"_DEE8++" ktXHDJٽw_+e׀ґYrJ5_Q_Y.j[G[kՅI_rJۙ7:.?\ci:r)  L^'V7ΈNVt;]Tą~ۣ x+^/|)b;76hۃ/=-缲qIss>Yb@lN) ͫ\"V[{?kMf] qo:W;ݿp>{ȖºMc]TY~>ݛT0P *SP:/cF믮]JJCcۤt?Mx4 ؂͹v-w_MM-as&G/*'c5\7&*w|GVyVI-5}MAWBŶ]}>NzIJeEsRK/,ܶyxNi;ݿ3*U'}boęeg0nWTCUEZ#|*VFW !*Y|Dө55,P- G ETWWJ4k\t!j U?bسGw\g {?/װj1T1OH8C{kaK<Aٟ ?ГT>2dq85`khβWlfkH6_)C3jq:Y*mC_0=\֏>5-QAj;AQo`Э_0S"(+ jGE?s($MUm|G  nE+vΪ[XWI*Y>c<^G~{jO?GsG/rP;_VŦ (ɛ|_Y@)#ۿ݈znf}:vO! z{~;6_ 6w5?tWAhE L$ۻN߱]:ҿ3ա{5;#d?8d~tO?{S23?tz} i3k< @ʀ`J@~N>+5gҡIYlŢ2OJ?Ca?Ca?C?C?C?C?C?Ca?Ca?C?C?C?C?C?f|R]CVe ' k"a!Ւ_sDX: `A$4VO"MpI8I,H6P "N<+m$$gLbA }ZQ &Ll,UCcqR喝6'V ¤QCMי̂ƤgBȅE~ƈ:VV1̑-[ꯣ(9VRe1:ّL5_KO.Ǯ6*]ƅɿ)tD{72%:D+>2(ƿ)zEt1ҿP;Fs./ף -FpϾC sgsJ\@ W$XoBD\_`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.5.2/doc/images/hb-ope-reconciled.png0000644000175000017500000000113113604617136016232 00000000000000PNG  IHDR(-S2PLTELiq?:&O'C H!sQ/N)%H*A\Yk+x ] l&~ 9(*u9BN'V)N g9jqFV*]5c6GGoMHHHvUE]S"y^fUd2jk7y?ɂo;iӆWb(ԍ~AD@5z)3l2x$w(~,~..5-;3H;<78BA=GID?JW养爾1EtRNS #+.02:@NPUZ]m|IDATxc` Č\B †).Y$<^b r$X@M'>^ 1Vd6H Wrֈ4 0k8ZJ rqtYi+gTSa BIENDB`homebank-5.5.2/doc/images/dlg-template1.png0000644000175000017500000003263513604616712015427 00000000000000PNG  IHDR"23~PLTE5=yUH56T9嚛^C:碡kmdK叧窚G竪ԽL̥̽þ068߫蒳꼽c@ނxx{巑eVuڰͺǽnɶۨƩz纮Ҫtˋ±Ų٧ř[٩놜􁓧Ӫ𢓏ҷǔɫ|û쭰铅׻䦌vΠh֝Սˬs{ŕ~sϳտ気ՙ{YLϟkhm3{\{ԷxxXXcɤ͚eILN⽩:qP̥諅m_fk~䡾oI@B\5i IDATx[HǍIjԣx鶦1J 1$aAI0Fmj"abJ7қ֗"J_y93MmR;g7Zƈ#F1bǕkkɈP8,E9IZ|VGEՌ:v0ّdA@PUI~F!R:?!"Zcg ;#ľX9}񵔎* !,M=e3JB ׹AaQR x'@RPH)HR422S#3ghHs"362^j,hp #'>|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.5.2/doc/images/45txnsplit.png0000644000175000017500000002703013604617042015013 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.5.2/doc/images/arrow.png0000644000175000017500000000016013604617136014106 00000000000000PNG  IHDR xU^fPLTEGpLHHHTtRNS@fIDATxc`  6ZM\IENDB`homebank-5.5.2/doc/images/dlg-xferselection.png0000644000175000017500000003533513604616712016405 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.5.2/doc/images/54txnpopmenu.png0000644000175000017500000001130713774107736015357 00000000000000PNG  IHDRBPLTE55'/󃅈Ȝްhiu|yxeff涹ȼͼzz~wʐɳóҷi^C럃Þǽ̭>拋v{ڇ荸̴˻ıڼ][zjZ{tj|u~ǩܪɺդupqo{O䨋p鶧իղ}|z̚˞fOLVnjtz|gwV~whԵٮž27:Y[].隃sq鄽ԹxhYb]&eep(ܿ_apd[.Gt!ՖxGBp(t~ZQepGFû,ޮ0W EK8߷j)hP! YEf|%'f -3q'5u̓CBxɫpG0lj'E1ռʏ9;vLGۢ/yw` ^l7yYlljyw򿉙K.<8c޽5s_ ^;;WĺS}/ὺख़Bgz aA3o+ޛ7c޽4$8"C/‘3xH'I҈phI6| fq[:q|'(W@Pp/A ȯX1Z;tRhU &ovt^W1' `Duun{\G}oDr'\ppȡ1)x9ДdžE@/woA? У-YT:s,z#l?Sp0W^͠BĞ8P*[o;2gzoI3+!8uFzXd=h fՏf QWq\ J#Rx1p>O~;A}ao$ѰHurL*>v"qdh;TY˪S5fƛۏ{:9yT|}63zy 9hڞ g A_K_&[!JDT98ٻt X"R)6)9 tӤl\왢8)Ch`bQJ?zNYs:/,p0`oDaNdn`}wZ`8wKe jYǺ:U\H;Rô{>!NmwFnPas]G8)jiΒ[K"_ł9T0D6q*0G2!q97KCIWU5 Rt 6WqKq\ݐ8W^ShN Ȥ<$pD۠`/﯀U*"soĎ3)툿'QRh5˷`fp ?92dd,E GOS5):ˡf#윕I^bv]$CɖH_Һ\TW +tdD$=l|r'{fGzv;2=]G7kF!!ӥJAssl\ sl=?^y^<& G"N, N#xM,3mZ\xq.oc>Szj.qJto ϱ'$1>Di4r%nHKU'׶(5[pA18 K .@LrN@>&|  DŽ92Jr 2XtU&[h#L/.8^t>p)@rSrnpJ8P&Y/Wk{R'Ō.EزCg.V A}#Z%߬6>Z^47ky~2lVؼr\;< FD'r&gNrce38M0$.\ݜ`BGn-Xl{(mU"rX`5iom-&%suB6Z JMZi%4P}A c?`0Mڮ٠,ta;smnfé.Zp9׷R5bLR-kRl茠vd'h6kTl}PkEtG+9`I&!8!ޘ^ImD-e|ˋIF--˷vnW& ͱQC<4J CL 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>»>>½ϼ4e3d+Z.^=lZ]^_újvtRNS;<@|%IDATxڍ0"뢨 {wrgx9L]1  Is(14 uTJWm3g5 ~Y\@BL *<)~Ÿlz! 1s:A ʦNI -k+IENDB`homebank-5.5.2/doc/images/key_c.png0000644000175000017500000000055413604617136014055 00000000000000PNG  IHDR(-SPLTEGpLopsjjjooowxx~~~3tRNS3ebEkIDAT(1NBamЀ!zS@Ƃ >PIENDB`homebank-5.5.2/doc/images/50stackbudget.png0000644000175000017500000001201213274017036015414 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.5.2/doc/images/pm-dcard.png0000644000175000017500000000076413604617136014455 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.5.2/doc/images/hb-ope-edit.png0000644000175000017500000000120413604617042015045 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.5.2/doc/images/use-budget1.png0000644000175000017500000001256513604616712015114 00000000000000PNG  IHDRZG`PLTE5J墸5ͩΨÜԾ9R6媜ʴ=䃏D䑌Ʊշϲм瞣śѴī_盜յ}ۮܟľڹ޽Aq湟wk=楚vΤ֪ƸUVqzyϿȩδ`qqe꒚m\Zadsv{z翢ũǵqV墒n㼜uru\I硂왰ԯÝNHTwӰ˱Na~1uˀeZm^7f_XbOQMhkŝ4v}A:3IDAThXfFՅFH@H {^W?HYAWe{}3 u!'sy}!IEeEl7x/Q; l!*{Õ A؈-4+ij6j'QN|c%(u$H\|bqqC-&U״Ψ|YHӺ..[nkY>T~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.5.2/doc/win-main.html0000644000175000017500000000640713641173033013412 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.5.2/doc/menu-main.html0000644000175000017500000001742713724722573013600 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
If you select an account from 'Your accounts', it will be preselected in the 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.5.2/doc/frm-navig.html0000644000175000017500000000727013573212071013560 00000000000000 HomeBank - Content

homebank-5.5.2/doc/use-import.html0000644000175000017500000001215013356354137014000 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.5.2/doc/frm-main.html0000644000175000017500000000127214045456365013407 00000000000000 HomeBank - Documentation in English


Version: 5.5.2
Compilation date: May 8th, 2021


© Copyright 1995-2021 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.5.2/configure.ac0000644000175000017500000000751114023102117012511 00000000000000# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ(2.52) AC_INIT([homebank], [5.5.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="ar ast be bg br ca ckb cs cy da de el en_AU en_CA en_GB es et eu fa fi fr_CA fr gl he hr hu id is it ja 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.5.2/Makefile.am0000644000175000017500000000153213224202055012260 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.5.2/ChangeLog0000644000175000017500000024444214045455746012032 00000000000000 2021-05-08 Maxime Doyen Made 5.5.2 release * new : statistics report add result/detail to clipboard/csv file * wish : #1923368 calendar "Today" button to not auto-close widget * wish : #1916365 please add Toggle detail function to Time mode on Statistics report * bugfix: #1925976 statistics "total" percentage breakdown incorrect * bugfix: #1922829 reorder transaction buttons not updated after date change * bugfix: #1921741 top spending chart legend text overlap * bugfix: #1919080 OFX import deduplication unselect valid txn * bugfix: #1918479 choosing to force budget monitoring does not make document dirty * bugfix: #1918334 void transactions from previous periods show up in the current transactions 2021-03-08 Maxime Doyen Made 5.5.1 release * change: report window are now closed when new/open a file * bugfix: #1917837 the tag popover list is too small in width and height * bugfix: #1917075 delete unused payee/category do not enable save * bugfix: #1916932 impossible to read text when using dark theme * bugfix: #1916587 scheduled this/next month date filter is wrong * bugfix: #1915729 windows "tag" close the programm on delete item * bugfix: #1915660 update to the Help & Homebank for check numbers * bugfix: #1915643 the "Balance report" does not group correctly by week (ISO 8601) * bugfix: #1915609 qif export of multiple account double xfer line * bugfix: #1914943 statistic by time total row doubled with subcategory * bugfix: #1914935 changing the "Include remind into balance" option doesn't update balance in accounts summary * bugfix: #1910857 transaction category autofill from payee is too invasive * bugfix: #1910819 paste amount into split may input too much decimal digits * bugfix: #1889659 crash on typing in category during add due to inconsistent XML * bugfix: #1842429 difference between loading 1 OFX file or more at once * wish : #1904569 more flexible date handling for QIF import * wish : #1594684 balance report to select several accounts 2021-02-06 Maxime Doyen Made 5.5 release * new : your accounts added cleared column * new : target xfer dialog add a match ratio column * new : added checking and savings account type * new : added tooltip on 'your accounts' to show last reconciled date, minimun/maximum remaining * new : trend time, added average value and line into the graph * change: your accounts renamed bank column to reconciled * change: statistics report renamed the 'Balance' term with a more accurate 'Total' * change: statistics report added a compare Exp. & Inc. checkbox to clarify the interface * wish : #1911838 integrate fr_CA categories (included with wish) * wish : #1909694 duplicate auto assignment find * wish : #1909590 include one decimal digit in the fuel average * wish : #1900281 homebank Stats Rept - Subcategory heading * wish : #1898277 add a "today" button/calendar option when adding new transactions * wish : #1897810 search or sort assignment rules * wish : #1897696 red text in budget report for negative results * wish : #1894425 Add switch inside app to change dark/light theme * wish : #1893854 shortcut for scheduled main window button * wish : #1892606 graph legend text not smaller than windows font * wish : #1891878 your accounts add remaining before overdraft * wish : #1890024 add a high limit for saving accounts * wish : #1887212 internal xfer detection day gap manual preference * wish : #1884376 payee multimatch for autocompletion * wish : #1882876 category/payee separate usage count for transaction and overall usage * wish: : #1882456 txn dialog to order popover category by type * wish : #1870390 statistic report - sum/total as last row * wish : #1866456 import option to invert expense/income for credit card account * wish : #1857636 Allow showing only short/medium-term scheduled operations in the main window's overview * wish : #1847622 txn status display to button and/or add icon * wish : #1846928 top spending max items configurable * wish : #1846822 your accounts column choose + add cleared * wish : #1581863 on main window, accounts have 'Reconciled date' * wish : #1565386 ability to set time interval for the Balance report * wish : # 300380 add direct print + pdf/png/ps export mostly for report/graph * bugfix: #1911805 the decimal digits of the Belarusian ruble is indicated incorrectly * bugfix: #1909323 windows: crash importing an OFX file with info + add to info * bugfix: #1903437 date column in transaction list can be empty * bugfix: #1898408 split window does not provide 8 decimal places for cryptocurrency * bugfix: #1898294 time unit is not translated 'Manage scheduled/template transactions' dialog * bugfix: #1895478 ofx file marked as invalid if empty line at top 2020-11-21 Maxime Doyen Made 5.5-rc release 2020-09-06 Maxime Doyen Made 5.4.3 release * bugfix: #1892828 position of auto assignments is lost after reload a file * bugfix: #1885413 inversion of sign in splits causes the transaction to not be savable * bugfix: #1883403 Cancel editing a "splitted transaction" is updating the expense value in transaction list * bugfix: #1883063 Scheduled entries can't have a blank memo * bugfix: #1879451 press delete while the focus is in quicksearch try to delete txn * wish : #1886299 export to csv/clipboard 1st column title naming * wish : #1886181 default preference or remind for import similar date gap * wish : #1880386 revert ease to combine expense/income in splits dialog * wish : #1882081 add a gtk font size override Edit * wish : #1871383 increase exchange rate size * wish : #1869112 "Export CSV" feature for the "Show all..." transactions view * wish : #1837550 export transaction from account as CSV with every split line 2020-05-16 Maxime Doyen Made 5.4.2 release * bugfix: multiedit from expense to income was not changing txn type * bugfix: txn dialog date revert to today when applying a template * bugfix: transaction list column popmenu chooser was faulty visible in window it should not * bugfix: reset from filter dialog for statistics was faulty set date range to last 12 months * bugfix: reset button of filter dialog removed from transaction window (reset button already there) * bugfix: trend time report, changing the text for account was leading to a crash * bugfix: #1878483 transaction Screeen shows wrong Status * bugfix: #1876134 windows: pasted numbers from calculator loose dchar * bugfix: #1875766 "changed" icons are not removed from accounts summary after the data file is saved * bugfix: #1875070 merging a cat to a new cat do not merge subcat * bugfix: #1874548 Changing the amount of multiple transactions doesn't change future balance * bugfix: #1873643 keep natural CTRL up/down focus for date widget 2020-04-22 Maxime Doyen Made 5.4.1 release * bugfix: #1874404 win: missing icons until 5.4 * bugfix: #1873660 vehicle cost report miss parent category * bugfix: #1873324 register status quick filter do not reset * bugfix: #1873311 inherit with keep last date off should set todays date * bugfix: #1873248 auto. assignments menu faulty visible on 'All transactions' window * bugfix: #1872329 automatic cheque numbering doesn't work in all cases * bugfix: #1872140 new scheduled/template transaction have **PREFILLED** added to Memo * bugfix: #1872039 make - error during installation * bugfix: #1872038 tooltips on toolbar buttons should start with "Manage" and not "Configure" * bugfix: #1871776 lost some or all of the scheduled/template transaction 2020-04-08 Maxime Doyen Made 5.4 release. * change: windows: upgraded to GTK+ 3.24.14 * change: remove deprecated GtkAction/GtkUIManager for rep_balance * change: harmonization of dialog dimension with aspect ratio * change: split list column now follow same width rule than other list * change: updated the file statistics: added tags, currencies, template, scheduled * change: updated the welcome dialog: added icon, relayout, show next time checkbox * change: reworked and improved the new file assistant * change: prefixed template created from the register * wish : #1861759 search "Manage Accounts" * wish : #1861432 merge tags * wish : #1860905 sort by amount in budget report * wish : #1851733 Reports/Vehicle Cost Report filtered dropdown * wish : #1851729 multi line scheduled post * wish : #1851718 popup menu on transaction list * wish : #1847907 add reconcile data when export as CSV * wish : #1829597 view split transaction detail from the register (expand or other) * wish : #1810621 mass prefill assignment from the register * bugfix: double click on scheduled list total line was faulty reactive * bugfix: delete tag was partially working * bugfix: your accounts list was not refreshed after new file or import * bugfix: #1870476 typo: Your * bugfix: #1870433 default backup path folder not initialized with wallet folder * bugfix: #1869727 typo: assigment * bugfix: #1868185 search not finding amounts with more than 3 digits dollar amount * bugfix: #1867392 delete tooltip not translated in scheduled/template dialog * bugfix: #1865361 txn dialog template list switch sort order on each save * bugfix: #1865083 when moving a transaction a 'changed' icon isn't displayed against the 'from' account * bugfix: #1864176 'Restore backup' doesn't open default backup folder * bugfix: #1864089 missing icons for "Case sensitive" and "Regular expression in the assignment dialog * bugfix: #1863484 scheduled 'stop after' cannot be removed * bugfix: #1862769 manage schedule/template and quicksearch behavior * bugfix: #1862677 add and keep FROM register reset the date * bugfix: #1862540 win: currency symbol detection fail leads to crash * bugfix: #1862436 win: incorrect display of russian ruble currency symbol * bugfix: #1858675 import/export budget mixup if subcategory has same name 2020-02-10 Maxime Doyen Made 5.3.2 release. * change: remove deprecated GtkAction/GtkUIManager for rep_balance * bugfix: edit menu was not disabled 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 toolbars to drop usage of deprecated GtkAction/GtkUIManager * change: 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 colour 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, cat, 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 assignment 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.5.2/install-sh0000755000175000017500000001440611023413026012231 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.5.2/config.h.in0000664000175000017500000000700414045454637012272 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.5.2/aclocal.m40000664000175000017500000023511014036076650012103 00000000000000# generated automatically by aclocal 1.16.3 -*- Autoconf -*- # Copyright (C) 1996-2020 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 6 (gettext-0.20.2) dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016, 2019-2020 Free dnl Software 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 Lesser 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 Lesser 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]) ]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # serial 12 (pkg-config-0.29.2) 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.2]) 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 $2]) _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-2020 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.3], [], [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.3])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-2020 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-2020 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-2020 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-2020 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. If GNU make was not used, consider re-running the configure script with MAKE="gmake" (or whatever is necessary). You can also 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-2020 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-2020 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-2020 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-2020 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-2020 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 MISSING="\${SHELL} '$am_aux_dir/missing'" 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-2020 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-2020 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-2020 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-2020 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-2020 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-2020 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-2020 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-2020 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-2020 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.5.2/po/0000775000175000017500000000000014045525102010726 500000000000000homebank-5.5.2/po/fr.po0000664000175000017500000031140614021210661011615 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: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2021-02-05 22:12+0000\n" "Last-Translator: Adri \n" "Language-Team: fr \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 msgid "Free, easy, personal accounting for everyone" msgstr "Une comptabilité gratuite, facile et personnelle pour tous" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "finances;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 gratuit (comme la « liberté d'expression » et aussi " "comme une « bière gratuite ») qui vous aidera à 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 à utiliser et pouvoir analyser en détail vos " "finances personnelles à l'aide de puissants outils de filtrage 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 recherchez un moyen totalement gratuit et facile de gérer votre " "comptabilité personnelle, alors HomeBank devrait être le logiciel de choix." #: ../src/dsp-account.c:221 #, c-format msgid "There is %d group of similar transactions" msgstr "Il existe le groupe %d avec des transactions similaires" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Aucune transaction similaire n'a été trouvée !" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "Vérifier le résultat du transfert interne" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Aucune incohérence trouvée !" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" "Des incohérences ont été constatées : %d\n" "Voulez-vous revoir et corriger ?" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Le montant de chaque transaction sera divisé par %.6f." #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Voulez-vous vraiment convertir ce compte\n" "à l'euro comme monnaie principale ?" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "_Convertir" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Aucune transaction n'a été modifiée" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "la transaction a été modifiée : %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Résultat de l'affectation automatique" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" "Voulez-vous créer une affectation avec\n" "chacune des transactions sélectionnées ?" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Créer" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" "Voulez-vous créer un modèle avec\n" "chacune des transactions sélectionnées ?" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" "Voulez-vous supprimer\n" "chacune des transactions sélectionnées ?" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Supprimer" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "Voulez-vous vraiment changer l'état en « Aucun » ?" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Certaines transactions dans votre sélection sont déjà rapprochées." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Modifier" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Voulez-vous vraiment basculer l'état à Rapproché ?" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "_Basculer" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d transactions" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d transactions, %d sélectionné, moyenne : %s, somme : %s (%s - %s)" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Ajouter..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Hériter..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Éditer..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "Édition _multiple..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_État" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Aucun" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Pointée" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Rapproché" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "Voir _Ventilation" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Créer un modèle..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "Créer affectation..." #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Supprimer..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "_Monter" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "_Descendre" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "_Compte" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Exporter en QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Exporter en CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Exporter en PDF..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "Imprimer..." #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Fermer" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Éditer" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Copier" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Coller" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Coller (date du jour)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "_Opération" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "Re_chercher" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "Ou_tils" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Marquer les doublons..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "Vérifier les virements internes" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Affectations Auto." #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filtrer..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Convertir en Euro..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Ajouter" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Ajouter une nouvelle opération" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Hériter" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Hériter depuis l’opération sélectionnée" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Éditer" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Éditer l’opération sélectionnée" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Pointée" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Pointer les opérations sélectionnées" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Rapprochée" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Inverser rapprochée pour les opérations sélectionnées" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "Editer plusieurs" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Editer plusieurs opérations" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Créer un modèle" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "Supprimer" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Supprimer les opérations sélectionnées" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "Monter" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "Déplacer vers le haut" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "Descendre" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "Déplacer vers le bas" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(fermé)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Toutes les transactions" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Actualiser" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Plage :" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "Basculer affichage des transactions futures" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Type :" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_État :" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Réinitialiser" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Euro _mineur" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "Rapproché:" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "Pointé:" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Aujourd’hui :" #: ../src/dsp-account.c:2764 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 "Voulez-vous vraiment anonymiser le dossier ?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "La procédure rendra anonyme tout texte,\n" "comme \"compte x\", \"bénéficiaire y\", \"mémo z\", ..." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Anonymiser" #: ../src/dsp-mainwindow.c:675 msgid "Welcome to HomeBank" msgstr "Bienvenue dans HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "Ouvrir _dernier fichier ouvert" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Créer un _nouveau fichier" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Ouvrir un fichier existant" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Ouvrir le fichier d’_exemple" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Lire le _manuel utilisateur" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Configurer les _préférences" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "Montrer cette fenêtre la prochaine fois" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You 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:997 msgid "Open the backup file?" msgstr "Ouvrir le fichier de sauveguarde" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "_Ouvrir sauvegarde" #: ../src/dsp-mainwindow.c:1044 #, 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/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Erreur inconnue" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "Erreur d’E/S pour le fichier « %s »." #: ../src/dsp-mainwindow.c:1132 #, 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:1135 #, 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 » a été enregistré dans une version supérieure de HomeBank\n" "et ne peut être lu par cette version." #: ../src/dsp-mainwindow.c:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Erreur fichier" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "Le fichier a été modifié depuis son ouverture." #: ../src/dsp-mainwindow.c:1212 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:1213 msgid "S_ave Anyway" msgstr "_Enregistrer quand même" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "Effacer" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Fichier" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Nouveau" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Ouvrir..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Ouvrir les _récents" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Enregistrer" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Enregistrer _sous..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "Importer..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "Exporter en QIF..." #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Rétablir" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "Restaurer la sauvegarde" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Propriétés…" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Quitter" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Préférences..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Affichage" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Barre d’outils" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Top des dépenses" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "Listes en _bas" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro mineur" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Gérer" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "C_omptes…" #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Tiers..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Catégories..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Planifiées/Modèles…" #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Budget…" #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "Budget (vue tableur)" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Affectations…" #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Devises..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "Étiquettes..." #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Opérations" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Ajouter..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Montrer..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Tout voir..." #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Définir le planificateur…" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Valider les opérations planifiées" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Rapports" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Statistiques…" #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Tendance dans le temps…" #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "So_lde..." #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "B_udget…" #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "Coût _d’utilisation des véhicules…" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Afficher la fenêtre d’accueil…" #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Statistiques du fichier…" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Anonymiser…" #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Aide" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Aide d’HomeBank" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "Obtenez de l'aide en ligne..." #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Vérifier les mises à jour" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Notes de Version" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Signalez un problème..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Traduire cette application…" #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_À propos" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "Nouveau" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Créer un nouveau fichier" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "Ouvrir" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Ouvrir un fichier" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Ouvrir un fichier utilisé récemment" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "Enregistrer" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Enregistrer le fichier actuel" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Compte" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "Gérer les comptes" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Tiers" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "Gérer les tiers" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Catégorie" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "Gérer les catégories" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "Planifiées/Modèles" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "Gérer les opérations planifiées/modèles" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Budget" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "Gérer le budget" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Affectation" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "Gérer les affectations automatiques" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "Afficher" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Afficher les opérations du compte sélectionné" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Ajouter des opérations" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "Statistiques" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Ouvrir le rapport de statistiques" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "Tendance dans le temps" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Ouvrir le rapport de tendance dans le temps" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Solde" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Ouvrir le rapport de solde" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Ouvrir le rapport de budget" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Coût d’utilisation des véhicules…" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Ouvrir le rapport de coût d’utilisation des véhicules" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "Aide" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "Faire un don" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "Faire un don au projet HomeBank" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Planifiée" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Futur" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Rappel" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "**PRÉ-REMPLI**" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(sans catégorie)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "format CSV invalide" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Date" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Info" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Mémo" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Montant" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Inconnu" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "mi/l" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(sans tiers)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Options d’HomeBank" #: ../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:515 msgid "Your accounts" msgstr "Vos comptes" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Tout développer" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Tout réduire" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Voir tous" #: ../src/hub-account.c:556 msgid "By type" msgstr "Par type" #: ../src/hub-account.c:557 msgid "By group" msgstr "Par groupe" #: ../src/hub-account.c:558 msgid "By institution" msgstr "Par institution" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Aucune opération à ajouter" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "opérations ajoutées : %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Résultat de l’ajout des opérations planifiées" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Opérations planifiées" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "_Passer" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" msgstr "Editer & P_oster" #. 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Valider" #: ../src/hub-scheduled.c:562 msgid "maximum post date" msgstr "Date maximale de validation" #. 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:103 #, c-format msgid "Top %d spending" msgstr "Top %d dépenses" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Autre" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Où va votre argent" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "compte importé" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Total général" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "dernier rapprochement" #: ../src/list-account.c:544 msgid "until" msgstr "jusqu'à" #: ../src/list-account.c:559 msgid "before" msgstr "avant" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Comptes" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Aujourd'hui" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- ventilé -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "- catégorie requise -" #: ../src/list-operation.c:1438 msgid "Match" msgstr "Correspond" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "État" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Dépenses" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Revenus" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Prochaine date" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d en dessous de %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Liste" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Voir les résultats en liste" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Ligne" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Voir les résultats en lignes" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Détail" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Afficher le détail" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Actualiser" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Actualiser les résultats" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "Imprimer..." #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Rapport de solde" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Affichage" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "Inter_val:" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "Montrer les lignes vides" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Zoom X :" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_De :" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_À :" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Nom du compte" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Sélection :" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Tous" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Aucun" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Budget pour %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Résultat" #: ../src/rep-budget.c:852 msgid " over" msgstr " au-dessus" #: ../src/rep-budget.c:858 msgid " left" msgstr " restant" #: ../src/rep-budget.c:861 msgid " under" msgstr " en-dessous" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "Empilé" #: ../src/rep-budget.c:1001 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:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "_Résultat vers presse-papier" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "_Résultat vers CSV" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "_Détail vers presse-papier" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "_Détail vers CSV" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Rapport budget" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Afficher par :" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "Seulement les hors-budget" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Résultat :" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Budget :" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Dépensé :" #: ../src/rep-budget.c:1422 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:1423 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:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Dépensé" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Sous-catégorie" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Étiquette" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Mois" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Année" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s par %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "Trop de colonnes à afficher" #: ../src/rep-stats.c:792 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:1180 ../src/rep-time.c:970 msgid "Column" msgstr "Colonne" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Voir les résultats en colonnes" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "Beignet" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Voir les résultats en camenbert" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "Légende" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Afficher la légende" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "Taux" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Inverser l'affichage du taux" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "Filtre" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Modifier le filtre" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Rapport statistiques" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "Mode :" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "Trier par _montant" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "Comparer Déb. & Créd." #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "Total :" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Revenus :" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Dépenses :" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "Moyenne" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Jour" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Semaine" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Trimestre" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "Semestriel" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s au fil du temps" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Moyenne : %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Rapport de tendance dans le temps" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Compte :" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Catégorie :" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Tiers :" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "É_tiquette :" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "_Tout sélectionner" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Cumuler" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Compteur" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Carburant" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Prix" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "Exporter" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Exporter en CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Rapport de coût d’utilisation des véhicules" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "Véhi_cule :" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Compteur :" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Consommation :" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Coût carburant :" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Autres coûts :" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Coût total :" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(aucun)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Visible" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Annuler" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Nom du compte" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Erreur" #: ../src/ui-account.c:1505 #, 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:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "Impossible de supprimer le compte « %s »" #: ../src/ui-account.c:1557 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:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Voulez-vous vraiment supprimer définitivement « %s » ?" #: ../src/ui-account.c:1570 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:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Gérer les comptes" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "Renommer" #: ../src/ui-account.c:1917 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:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Général" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "_Groupe :" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "_Institution:" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "N_uméro :" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Solde _initial :" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Devises :" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "ce compte est clos" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Notes :" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "Comportement" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "Automatisation" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "_Modèle par défaut:" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Exclusion des rapports" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "exclure du ré_sumé des comptes" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "exclure du _budget" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "exclure de tous les _rapports" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "Divers" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Numéro de chèque en cours" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Carnet de chèque _1 :" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Carnet de chèque _2 :" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Limites de solde" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "_Découvert à:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "Max_imum:" #: ../src/ui-archive.c:753 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:972 msgid "Next _date:" msgstr "Prochaine _date :" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "To_us les :" #: ../src/ui-archive.c:995 msgid "More options" msgstr "Plus d’options" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Week-end :" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Arrêt après :" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "postage" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Gérer les opérations planifiées/modèles" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Modèle" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "_Programme" #: ../src/ui-assign.c:344 msgid "Search" msgstr "Rechercher" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "Notes" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "(règle %d)" #: ../src/ui-assign.c:654 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:718 #, fuzzy, c-format msgid "This search text already exists at position %d" msgstr "Ce texte de recherche existe déjà" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Désactivé" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Si vide" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Remplacer" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Gérer les affectations" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "Glisser & déposer pour modifier l'ordre" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Condition" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "_Rechercher:" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "Sensible à la casse" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "Expression régulière" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "_Dans:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "Affectations" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Paie_ment :" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" "Cet assistant vous aidera à configurer une configuration minimale\n" "pour un nouveau fichier HomeBank." #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" "Tous les éléments que vous configurez ici peuvent être modifiés " "ultérieurement si nécessaire." #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" "Aucune modification ne sera apportée tant que vous \n" "n'aurez pas cliqué sur «Appliquer» à la fin de cet assistant." #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" "HomeBank affichera un titre pour la fenêtre principale,\n" "il peut s'agir d'un titre libre ou de votre nom." #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Titre:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" "HomeBank prend en charge plusieurs devises. La devise de base est\n" "la valeur par défaut pour les nouveaux comptes et rapports." #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "Base:" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "Configurer des devises supplémentaires" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Ajouter" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Non trouvé" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" "HomeBank peut pré-remplir les catégories pour votre langue\n" "si un fichier CSV est disponible et fourni par la communauté." #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "Configurer les catégories pour ma langue" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Fichier prédéfini :" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" "HomeBank permet d'importer vos comptes depuis les sites téléchargés\n" "les fichiers des institutions financières ou vous pouvez créer votre compte " "manuellement." #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "Créer mon premier compte" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Nom :" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" "Ceci est une page de confirmation,\n" "\n" "appuyez sur «Appliquer» pour appliquer les modifications" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "Démarrer la configuration du fichier" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "Options de fichier" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "Choisissez les devises" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "Choisissez des catégories" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "Créer un compte" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "Terminer la configuration du fichier" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "Valide" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Nom" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Ouvrir" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Fichiers connus" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "Fichiers QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "Fichiers OFX/QFX" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "Fichiers CSV" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Tous les fichiers" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "nouveau compte global" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "nouveau compte" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "sauté" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr ", %d de %d opérations" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "Importer %s _vers:" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "ce fichier" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "ce compte" #: ../src/ui-assist-import.c:1331 #, 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:1340 #, 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:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d opération(s), %d sélectionnée" #: ../src/ui-assist-import.c:1384 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:1392 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:1398 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:1418 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:1422 msgid "Don't show this again" msgstr "Ne pas montrer de nouveau" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\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:1662 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:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Ordre des dates :" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "_Importer memos" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "_Inverser memos avec tiers" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "_Nom OFX:" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "_Memo OFX:" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Inverser" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "Casse de phrase pour memo/tiers" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "Basculer mon_tant" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "Transaction similaire dans le compte cible (duplicata possible)" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "jours" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "Jouer l'automatisation" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "1) Enrichir avec le défaut des _tiers" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "2) Lancer les règles d'affectation automatique" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "Cliquer \"Appliquer\" pour mettre à jour vos comptes" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Bienvenue" #: ../src/ui-assist-import.c:2264 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:2269 msgid "Import" msgstr "Importer" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Confirmation" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Erreur de format du fichier" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "Voulez-vous vraiment effacer l'entrée ?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 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:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Vider" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Gérer le budget" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "_Importer CSV" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "E_xporter CSV" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Solde :" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "est le même chaque mois" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "_Vider les valeurs" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "est différent chaque mois" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Options" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Forcer l’affichage de cette catégorie" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Fév" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Avr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Mai" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Jui" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Juil" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 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:266 msgid "Oct" msgstr "Oct" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "Total annuel" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "Moyenne mensuelle" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "Mensuel" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "Ajouter une catégorie" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "A_ppliquer" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "Catégorie parente" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "Nom de la catégorie" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 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:2350 msgid "Merge categories" msgstr "Fusionner les catégories" #: ../src/ui-budget-tabview.c:2377 #, 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:2384 msgid "Target category" msgstr "Catégorie cible" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "_Supprimer la catégorie « %s »" #: ../src/ui-budget-tabview.c:2507 #, 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:2754 msgid "Budget (table view)" msgstr "Budget (vue tableur)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "Ajouter catégorie" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "Supprimer catégorie" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Fusionner" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "Effacer la saisie" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "# opé" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "# cfg" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Supprimer les catégories inutilisées" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Voulez-vous vraiment supprimer\n" "définitivement les catégories inutilisées ?" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Éditer..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Revenus" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "Modifier le type des en_fants" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Fusionner la catégorie « %s » ?" #: ../src/ui-category.c:1943 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:1952 msgid "Include _subcategories" msgstr "Inclure _sous catégorie" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Gérer les catégories" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "_Supprimer inutilisé" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "Bouger/Fusionner" #: ../src/ui-category.c:2460 msgid "new category" msgstr "nouvelle catégorie" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Devise" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Format" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Personnaliser" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Symbole :" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "est pré_fixe" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "Caractère _décimal:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "Nombre de _décimales :" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "Ajouter une _devise personnalisée" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "Mise à jour en ligne" #: ../src/ui-currency.c:1762 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:206 msgid "Transaction" msgstr "Opération" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Mettre à niveau" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Choisir une devise de base" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "Devise :" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Exporter en QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Importer depuis CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "Ouvrir un fichier HomeBank" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "Ficher de sauveguarde HomeBank" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "Enregistrer le fichier HomeBank sous" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Fichiers HomeBank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "Fichier sauvegarde" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "Toutes les sauveguardes" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Enregistrer les modifications avant de fermer le fichier ?" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "Fermer _sans enregistrer" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "Exporter en _CSV" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Dossier :" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Sélectionnez un dossier" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Nom du fichier:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "Détailler les ventilations" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" "Vous exportez depuis 'Voir tous les comptes', avec la colonne Compte\n" "le fichier ne sera pas dans le format CSV HomeBank." #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Exporter en PDF" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Exporter en _PDF" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" "Avec HomeBank, l'impression est orientée vers une attitude éco-responsable\n" "vers l'usage du format numérique le plus répandu: le format PDF. " #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Choisissez parmi les opérations possibles…" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Sélectionner une action :" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "créer une nouvelle opération" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "choisir une opération existante" #: ../src/ui-dialogs.c:1091 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:1049 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:1155 msgid "_Memo:" msgstr "_Mémo :" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Informations :" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "_Sensible à la casse" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Tous les états" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Tous les types" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Virement" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Forcer :" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "afficher « Ajoutés »" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "afficher « Édités »" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "afficher « Rappel »" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "afficher 'Nul'" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "Dates" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "Paiements" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Montants" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "Textes" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Catégories" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Tiers" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Propriétés du fichier" #: ../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" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "Paie." #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Supprimer les tiers inutilisés" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Voulez-vous vraiment supprimer\n" "définitivement les tiers inutilisés ?" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "Défaut" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "Pa_iement :" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "Fusionner le tiers « %s » ?" #: ../src/ui-payee.c:1510 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:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "_Supprimer le tiers « %s »" #: ../src/ui-payee.c:1613 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:1710 msgid "Manage Payees" msgstr "Gérer les tiers" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "Options générales" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "Options OFX/QFX" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "Options QIF" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "Options CSV" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "(import opération uniquement)" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "Séparateur :" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Filtre initial" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Options des graphiques" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Thème de couleurs :" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "Petite _police légende" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Options des statistiques" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Montrer par _montant" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Montrer la _colonne des taux" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Montrer les _détails" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Options du budget" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "Activ_er" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Prédéfini :" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "Interface utilisateur" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Langue :" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "Affichage _date:" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Format :" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Année fiscale" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "Début _le :" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Unités de mesure" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Utiliser les _miles pour le compteur" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Utiliser les _gallons pour le carburant" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "Liste opération" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "jours avant" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "Cacher les rapprochées" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "Toujours afficher les rappels" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "Toujours afficher nul" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "Inclure les rappels dans le solde" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "Fenêtre opération" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "_Conserver la dernière date en ajout multiple" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "Tolérance date virement cible:" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "Voir la complétion des mémo avec" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "jours glissants" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "Voir confimation ajout de 5s" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "Lignes de _grille:" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "Preference Gtk" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "Outrepasser" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "Taille _police:" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "Thème sombre" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Couleurs des montants" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Utiliser des couleurs personnalisées" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Dépenses" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Revenus" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Alerte :" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "_Activer les sauvegardes automatiques" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "_Nombre de sauvegardes à conserver:" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "La fréquence des sauvegarde est une fois par jour" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "_Portefeuilles:" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "Sauve_gardes:" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "Fichiers d'échanges" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Importer :" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "E_xporter :" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Démarrage du programme" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Afficher la fenêtre de démarrage" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Charger le dernier fichier ouvert" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Valider les opérations planifiées en attente" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Mise à jour des devises en ligne" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Rapports de l'accueil" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "Max. éléments" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "Réinitialiser toutes les préférences" #: ../src/ui-pref.c:2244 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:2265 msgid "Preferences" msgstr "Préférences" #: ../src/ui-pref.c:2512 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:2520 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:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Opération ventilée" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "Tout supprimer" #: ../src/ui-split.c:966 msgid "Apply" msgstr "Appliquer" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "Annuler" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Montant de l’opération :" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Non-affecté :" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Somme des ventilations :" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" "Avertissement: la somme des fractionnements et du montant de la transaction " "ne correspond pas" #: ../src/ui-split.c:1022 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-tag.c:602 #, 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:645 #, c-format msgid "Merge tag '%s'" msgstr "Fusionner l'étiquette '%s'" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" "Transactions affectées à ce tag,\n" "sera déplacé vers la balise sélectionnée ci-dessous." #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "_Supprimez l'étiquette '%s'" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" "Cette étiquette est utilisée.\n" "Cette étiquette sera supprimée de toute opération l'utilisant." #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "Gérer les étiquettes" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "nouvelle étiquette" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "Opération de %s créée." #: ../src/ui-transaction.c:858 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:860 msgid "_Break" msgstr "_Briser" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Montrer les _planifiées" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "Voir _tous les comptes" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "Utiliser un modèle" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "Ajouter & Co_nserver" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Ajouter une opération" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "Ajouter un modèle" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Hériter d’une opération" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "Hériter le modèle" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "Editer l'opération" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "Editer le modèle" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "Monta_nt:" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "_À :" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "Carnet _2" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" "- tapez des lettres pour l’auto-complétion\n" "- tapez un nouveau texte pour créer une entrée" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "Catégorie:" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "M_émo :" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "É_tiquettes:" #: ../src/ui-transaction.c:1575 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:466 msgid "Multiple edit transactions" msgstr "Édition d'opérations multiples" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" "Typer comme\n" "virement" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "Temps" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "Tendance" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "Eteint" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Inclure" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Exclure" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(sans type)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Banque" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Espèces" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Biens" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Carte de crédit" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Dettes" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "Chèque" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "Épargne" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Ce mois" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Le mois dernier" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Ce trimestre" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Le trimestre dernier" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Cette année" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "L’année dernière" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Les 30 derniers jours" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Les 60 derniers jours" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Les 90 derniers jours" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Les 12 derniers mois" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "personnalisé" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Toutes les dates" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "Mois prochain" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "Prochains 30 jours" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "Prochains 60 jours" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "Prochains 90 jours" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "Nul" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Possible" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Avant" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Après" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Débits et crédits" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "Non pointée" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Non-rapprochée" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Sans catégorie" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "Lun." #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "Mar." #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "Mer." #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "Jeu." #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "Ven." #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "Sam." #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "Dim." #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Janvier" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Février" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Mars" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Avril" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Juin" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Juillet" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Août" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Septembre" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Octobre" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Novembre" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Décembre" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Rechercher..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Chèque" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "Virement bancaire" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Carte de débit" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Virement permanent" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Paiement électronique" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Dépôt" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Frais bancaires" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Prélèvement direct" homebank-5.5.2/po/eu.po0000664000175000017500000030570014021210660011616 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2021-02-06 12:51+0000\n" "Last-Translator: aranberri \n" "Language-Team: Basque \n" "Language: eu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Finantza pertsonalak" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:704 msgid "Free, easy, personal accounting for everyone" msgstr "Kontabilitate pertsonala doan eta erraz edonorentzat" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "finantzak;kontabilitatea;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 zure kontabilitate pertsonala kudeatzen lagunduko dizun software " "libre eta doakoa da." #: ../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 "" "Erraz erabili eta finantza pertsonalak iragazketa tresna indartsuen eta " "grafiko txukunen bidez xeheki aztertzeko diseinatuta dago." #: ../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 kontabilitate pertsonala kudeatzeko era erabat libre eta erraz baten " "bila bazabiltza, Homebank da zure aukerako softwarea." #: ../src/dsp-account.c:221 #, c-format msgid "There is %d group of similar transactions" msgstr "Antzeko %d transakzio-talde daude" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Ez da antzeko transakziorik aurkitu!" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "Egiaztatu barne-transferentziaren emaitza" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Ez da inkoherentziarik aurkitu!" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" "Inkoherentziak aurkitu dira: %d\n" "berrikusi eta konpondu nahi dituzu?" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Transakzio guztien zenbatekoa zati %.6f egingo da." #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Ziur euroa kontu honen moneta nagusi\n" "bihurtu nahi duzula?" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "_Bihurtu" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Ez da transakziorik aldatu" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "transakzio aldatua: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Esleipen automatikoaren emaitza" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" "Hautatutako transakzio bakoitzarekin\n" "esleipen bat sortu nahi duzu?" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Sortu" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" "Hautatutako transakzio bakoitzarekin\n" "txantiloi bat sortu nahi duzu?" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" "Hautatutako transakzio bakoitza\n" "ezabatu nahi duzu?" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Ezabatu" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "Ziur egoera 'Bat ere ez'era aldatu nahi duzula?" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Hautatutako transakzioren bat ja berdinkatua dago." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Aldatu" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Ziur egoera berdinkatura aldatu nahi duzula?" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "_Aldatu" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d transakzio" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d transakzio, %d hautatuta, batezbestekoa: %s, batura: %s (%s - %s)" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Gehitu..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Jarauntsi..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Editatu..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "Editatu _zenbait..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Egoera" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Bat ere ez" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Konpentsatua" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Berdinkatua" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "Ikusi _zatiak" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Sortu txantiloia..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "Sortu esleipena..." #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Ezabatu..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "_Igo" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "_Jaitsi" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "_Kontua" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Esportatu QIFera..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Esportatu CSVra..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Esportatu PDF gisa..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "Inprimatu..." #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Itxi" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Editatu" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Kopiatu" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Itsatsi" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Itsatsi (gaur)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Transakzi_oa" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "_Bilatu" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Tresnak" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Markatu bikoiztuak..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "Egiaztatu barne-transferentziak" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Esleipen automatikoak" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Iragazkia..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Bihurtu eurotara..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Gehitu" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Gehitu transakzio berri bat" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Jarauntsi" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Jarauntsi transakzio aktibotik" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Editatu" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Editatu transakzio aktiboa" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Konpentsatua" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Aldatu egoera konpentsatura hautatutako transakzio(et)an" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Berdinkatua" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Aldatu egoera berdinkatura hautatutako transakzio(et)an" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "Editatu zenbait" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Editatu zenbait transakzio" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Sortu txantiloia" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "Ezabatu" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Ezabatu hautatutako transakzioa(k)" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "Igo" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "Mugitu transakzioa gora" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "Jaitsi" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "Mugitu transakzioa behera" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(itxia)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Transakzio guztiak" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Freskatu" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "Data-_tartea:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "Erakutsi etorkizuneko transakzioak" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Mota:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Egoera:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Berrezarri" #: ../src/dsp-account.c:2668 msgid "Open the list filter" msgstr "Ireki iragazki-zerrenda" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Euro _ehunena" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "Berdinkatua:" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "Konpentsatua:" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Gaur:" #: ../src/dsp-account.c:2764 msgid "Future:" msgstr "Etorkizuna:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "Desegin %s fitxategian gorde gabeko aldaketak?" #: ../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 "" "- Fitxategiari egindako aldaketak behin betiko galduko dira.\n" "- Azkena gordetako fitxategia kargatuko da (.xhb~)" #: ../src/dsp-mainwindow.c:136 msgid "_Revert" msgstr "_Desegin" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Ziur fitxategia anonimizatu nahi duzula?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "Jarraituz gero edozein testu anonimizatuko da, \n" "adibidez: 'x kontua', 'y onuraduna', 'z memoa', etab." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Anonimizatu" #: ../src/dsp-mainwindow.c:675 msgid "Welcome to HomeBank" msgstr "Ongi etorri HomeBankera" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "Ireki _azkena irekitako fitxategia" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "_Sortu fitxategi berri bat" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Ireki badagoen fitxategi bat" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Ireki _adibide-fitxategia" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Irakurri HomeBanken _eskuliburua" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Konfiguratu _hobespenak" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "Erakutsi leiho hau hurrengo aldian" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" "'%s' babeskopia fitxategia irekitzera zoaz.\n" "\n" "Ziur hau egin nahi duzula?" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "Ireki babeskopia fitxategia?" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "_Ireki babeskopia" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Ezin da '%s' ireki. Fitxategia ez da existitzen.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Errore ezezaguna" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "S/I errorea '%s' fitxategiarentzat." #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "'%s' fitxategia ez da baliozko HomeBank fitxategi bat." #: ../src/dsp-mainwindow.c:1135 #, 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' fitxategia HomeBank bertsio berriago batekin gorde zen\n" "eta ezin da uneko bertsioarekin kargatu." #: ../src/dsp-mainwindow.c:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Fitxategi-errorea" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "Fitxategia aldatua izan da irakurri denetik." #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Gordetzen baduzu, kanpoko aldaketa guztiak gal litezke. Gorde hala ere?" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "_Gorde halere" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "Garbitu" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Fitxategia" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Berria" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Ireki..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Ireki _azkenetakoa" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Gorde" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Gorde _honela..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "Inportatu..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "Esportatu QIF gisa..." #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Desegin" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "Itzuli babeskopiara" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Propietateak..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Irten" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Hobespenak..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "I_kusi" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Tresna-barra" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "Gastu _handienak" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "_Beheko zerrendak" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro ehunena" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Kudeatu" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "Kon_tuak..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Onuradunak..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Kategoriak..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Programatua/Txantiloia..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Aurrekontua..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "Aurrekontua (taula ikuspegia)..." #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Esleipenak..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Monetak..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "Etiketak..." #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Transakzioak" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Gehitu..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Erakutsi..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Erakutsi guztiak..." #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Ezarri programagailua..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Idatzi programatua" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Txostenak" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Estatistikak..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Joera denboran..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "_Saldoa..." #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "A_urrekontua..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "_Ibilgailu-kostua..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Erakutsi ongi etorri elkarrizketa..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Fitxategi-estatistikak..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Anonimizatu..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Laguntza" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Aurkibidea" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "Lortu laguntza online..." #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Egiaztatu eguneraketarik baden..." #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Bertsio-oharrak" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Eman arazo baten berri..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Itzuli aplikazio hau..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "Honi _buruz" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "Berria" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Sortu fitxategi berri bat" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "Ireki" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Ireki fitxategi bat" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Ireki berriki erabilitako fitxategi bat" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "Gorde" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Gorde uneko fitxategia" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Kontua" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "Kudeatu kontuak" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Onuraduna" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "Kudeatu onuradunak" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Kategoria" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "Kudeatu kategoriak" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "Programatua/Txantiloia" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "Kudeatu programatua/txantiloia transakzioak" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Aurrekontua" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "Kudeatu aurrekontua" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Esleipena" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "Kudeatu esleipen-automatikoak" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "Erakutsi" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Erakutsi hautatutako kontuaren transakzioak" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Gehitu transakzioak" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "Estatistikak" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Ireki estatistika-txostena" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "Joera denboran" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Ireki joera denboran txostena" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Saldoa" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Ireki saldo-txostena" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Ireki aurrekontu-txostena" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Ibilgailu-kostua" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Ireki ibilgailu-kostu txostena" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "Laguntza" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "Egin dohaintza" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "Egin dohaintza HomeBank proiektuari" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Programatua" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Etorkizuna" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Gogoratu" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "**AUTOMATIKOKI OSATUA**" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(kategoriarik ez)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "CSV formatu baliogabea" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Data" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Informazioa" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Memoria" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Zenbatekoa" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Ezezaguna" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f L" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "mi/L" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(onuradunik ez)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" msgstr "%d-%dA" #. 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:865 #, c-format msgid "%d-q%d" msgstr "%d-%dH" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Atera bertsio-informazioa eta irten" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[FITXATEGIA]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Arakatzaile-errorea." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Ezin izan da bistaratu `%s' URLa" #: ../src/homebank.c:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "HomeBanken aukerak" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(erakunderik ez)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "(talderik ez)" #: ../src/hub-account.c:515 msgid "Your accounts" msgstr "Zure kontuak" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Zabaldu guztiak" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Tolestu guztiak" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Erakutsi guztiak" #: ../src/hub-account.c:556 msgid "By type" msgstr "Motaka" #: ../src/hub-account.c:557 msgid "By group" msgstr "Taldeka" #: ../src/hub-account.c:558 msgid "By institution" msgstr "Erakundeka" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Transakziorik ez gehitzeko" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "gehitutako transakzioak: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Egiaztatu programatutako transakzioen emaitzak" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Guztira" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Programatutako transakzioak" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "Saltatu" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" msgstr "Editatu eta _idatzi" #. 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Idatzi" #: ../src/hub-scheduled.c:562 msgid "maximum post date" msgstr "gehienezko idazte data" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Gastu handienak" #. future usage #: ../src/hub-spending.c:103 #, c-format msgid "Top %d spending" msgstr "%d gastu handienak" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Besteak" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Nora doa zure dirua" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "kontu inportatua" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Guztizkoa" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "azken berdinkatzea" #: ../src/list-account.c:544 msgid "until" msgstr "arte" #: ../src/list-account.c:559 msgid "before" msgstr "lehenago" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Kontuak" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Gaur" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- zatitua -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "- honek kategoria bat behar du -" #: ../src/list-operation.c:1438 msgid "Match" msgstr "Bat etorri" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Egoerak" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Gastua" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Irabazia" #: ../src/list-operation.c:1491 msgid "Tags" msgstr "Etiketak" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Berandu" #. 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 "Oraindik" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:403 msgid "Next date" msgstr "Hurrengo data" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d %s azpitik" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Zerrenda" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Ikusi emaitzak zerrendan" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Lerroa" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Ikusi emaitzak lerro gisa" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Xehetasunak" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Erakutsi xehetasunak" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Freskatu" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Freskatu emaitzak" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "Inprimatu" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Saldo-txostena" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Bistaratu" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "_Bitartea:" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "Erakutsi lerro hutsak" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Zooma Xn:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 msgid "Date filter" msgstr "Data-iragazkia" #. 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "Non_dik:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "No_ra:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Kontuaren izena" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Hautatu:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Guztiak" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Bat ere ez" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Aurrekontua %s-(r)entzat" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Emaitza" #: ../src/rep-budget.c:852 msgid " over" msgstr " gainean" #: ../src/rep-budget.c:858 msgid " left" msgstr " ezkerrean" #: ../src/rep-budget.c:861 msgid " under" msgstr " azpitik" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "Pilatu" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "Ikusi emaitzak barra-pilatu gisa" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "_Emaitza arbelera" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "_Emaitza CSVra" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "_Xehetasunak arbelera" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "_Xehetasunak CSVra" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Aurrekontu-txostena" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Ikusi:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "Aurrekontuz kanpokoak soilik" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Emaitza:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Aurrekontua:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Gastatua:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "Ez dago aurrekontuaren zati izateko konturik definituta." #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "Kontuaren elkarrizketatik kontu batzuk sartu behar dituzu." #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Gastua" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Azpikategoria" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Etiketa" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Hila" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Urte" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s %s-(e)ko" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "Zutabe gehiegi bistaratzeko" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "Hautatu bitarte zabalago bat eta/edo data-tarte estuago bat" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "Zutabea" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Ikusi emaitzak zubate gisa" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "Eraztuna" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Ikusi emaitzak eraztun gisa" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "Legenda" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Txandakatu legenda" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "Tasa" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Erakutsi tasa" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "Iragazkia" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Editatu iragazkia" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Estatistika-txostena" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "Modua:" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "Sailkatu _zenbatekoz" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "Alderatu gastuak eta irabaziak" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "Guztira:" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Irabazia:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Gastua:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "Batazbestekoa" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Eguna" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Astea" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Hiruhilekoa" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "Urte erdia" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s denboran zehar" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Batezbestekoa: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Joera denboran txostena" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "Kontu_a:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Kategoria:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Onuraduna:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Etiketa:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Hautatu _guztiak" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Metatu" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 msgid "Time slice" msgstr "Denbora-zatia" #. #. 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Kilometro-kontagailua" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Erregaia" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Salneurria" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "DIstantzia" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "Esportatu" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Esportatu CSV gisa" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Ibilgailu-kostu txostena" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "_Ibilgailua:" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Kilometro-kontagailua" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Kontsumoa:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Erregai-kostua:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Beste kostuak:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Kostua guztira:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(bat ere ez)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Ikusgai" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Utzi" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_Ados" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Kontuaren izena" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Errorea" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Ezin da '%s' kontua gehitu,\n" "izen hau ja badago." #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "Ezin da '%s' kontua ezabatu" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "Kontu honek transakzioak ditu eta/edo barne-transferentzien zati da." #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Ziur '%s' behin betiko ezabatu nahi duzula?" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "Kontu bat ezabatzen baduzu, behin betiko galduko da." #: ../src/ui-account.c:1618 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Kontu honi ezin izena aldatu\n" "'%s'(e)tik '%s'(e)ra,\n" "izen hau ja badago." #: ../src/ui-account.c:1836 msgid "Manage Accounts" msgstr "Kudeatu kontuak" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "Aldatu izena" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Arrastatu eta jaregin ordena aldatzeko\n" "Egin klik bikoitza izena aldatzeko" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Orokorra" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "_Taldea:" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "_Erakundea:" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "Z_enbakia:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Hasierako _saldoa:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Moneta:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "kontu hau _itxi egin zen" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Oharrak:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "Jokabidea" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "Automatizazioa" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "_Txantiloi lehenetsia:" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Txostenetatik baztertzeak" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "baztertu _emaitza-kontutik" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "baztertu _aurrekontutik" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "baztertu edozein _txostenetik" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "Hainbat" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Uneko txeke-zenbakia" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "_1. txeketegia:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "_2. txeketegia:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Saldo mugak" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "_Zorpetzea:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "_Maximoa:" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "Programatua/txantiloia ezabatzen baduzu, behin betiko galduko da." #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "Hurrengo _data:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Zenbatean _behin:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "Aukera gehiago" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Asteburua:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Gelditu ondoren:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "idazte" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Kudeatu progamatua/txantiloia transakzioak" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Txantiloia" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "_Programatu" #: ../src/ui-assign.c:344 msgid "Search" msgstr "Bilatu" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "Oharrak" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "(%d araua)" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "Esleipena ezabatzen baduzu, behin betiko galduko da." #: ../src/ui-assign.c:718 #, fuzzy, c-format msgid "This search text already exists at position %d" msgstr "Bilaketa-testu hau ja badago" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Desgaitua" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Hutsa badago" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Gainidatzi" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Kudeatu esleipenak" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "Arrastatu eta jaregin ordena aldatzeko" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Baldintza" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "_Bilatu:" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "Bereizi maiuskula/minuskula" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "Adierazpen erregularra" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "_Non:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "Esleipenak" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "O_rdainketa:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" "Laguntzaile honek HomeBank fitxategi berri batentzat\n" "gutxieneko konfigurazioa sortzen lagunduko dizu." #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "Hemen konfiguratutako elementu guztiak beranduago ere aldatu daitezke." #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" "Laguntzaile honen amaieran \"Aplikatu\"n klik egin arte\n" "ez da aldaketarik egingo." #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" "HomeBankek izenburu bat bistaratuko du leiho nagusian,\n" "edozein etiketa edo zure izena izan daiteke." #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Izenburua:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" "HomeBankek hainbat moneta onartzen ditu. Oinarrizko moneta\n" "kontu eta txosten berrietarako lehenetsia da." #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "Oinarrizkoa:" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "Konfiguratu moneta gehigarriak" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Gehitu" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Ez da aurkitu" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" "HomeBankek automatikoki osatzen ditu zure hizkuntzarako kategoriak\n" "komunitateak hornitutako CVS fitxategi bat eskuragarri badago." #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "Konfiguratu kategoriak nire hizkuntzarako" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Fitxategi aurrezarria:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" "HomeBankek zure kontuak finantza-erakundeen fitxategietatik\n" "inportatzea ahalbidetzen du, edo kontua eskuz sortu dezakezu." #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "Sotu nire lehen kontua" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Izena:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" "Hau berrespen orri bat da,\n" "\n" "sakatu 'Aplikatu' aldaketak aplikatzeko" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "Hasi fitxategi-konfigurazioa" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "Fitxategi-aukerak" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "Aukeratu Monetak" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "Aukeratu Kategoriak" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "Sortu Kontua" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "Bukatu fitxategi-konfigurazioa" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "Baliozkoa" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Izena" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Ireki" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Fitxategi ezagunak" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF fitxategiak" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX fitxategiak" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV fitxategiak" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Fitxategi guztiak" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "kontu global berria" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "kontu berria" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "saltatua" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr ", %d-(e)tik %d transakzio" #: ../src/ui-assist-import.c:1135 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" "Dataren bat ezin da bihurtu. Jarraitzeko saiatu dataren formatua aldatzen." #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1324 #, c-format msgid "Import %s in_to:" msgstr "Inportatu %s _hona:" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "fitxategi hau" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "kontu hau" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" "Izena: %s\n" "Zenbakia: %s\n" "Fitxategia: %s\n" "Kodeketa: %s" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "%d transakzio, %d antzeko, %d badaude, %d hautatu" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d transakzio, %d hautatu" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "Inportatu transakzioak bankutik edo kreditu-txarteletik" #: ../src/ui-assist-import.c:1392 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 "" "Laguntzaile honek banku edo kreditu-txartel bat edo batzuen mugimendu\n" "deskargatuak inportatzeko prozesuan gidatuko zaitu, ondorengo formatuetan:" #: ../src/ui-assist-import.c:1398 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 "" "Gomendatua: .OFX edo .QFX\n" "(Batzuetan Money™ edo Quicken™ izendatua)\n" "Onartua: .QIF\n" "(Quicken™ fitxategi komuna)\n" "Erabiltzaile aurreratuak soilik: .CSV\n" "(formatua HomeBankena da espresuki, ikusi dokumentazioa)" #: ../src/ui-assist-import.c:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "Laguntzaile honen amaieran \"Aplikatu\"n klik egin arte ez da aldaketarik " "egingo." #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "Ez erakutsi hau berriro" #: ../src/ui-assist-import.c:1481 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" "Arrastatu eta jaregin fitxategi bat edo batzuk inportatzeko.\n" "Zerrendako gehitu/ezabatu botoiak ere erabili ditzakezu." #: ../src/ui-assist-import.c:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" "Kontu gehiegi daude aukeratu dituzun fitxategietan,\n" "erabili Atzera botoia fitxategi gutxiago hautatzeko." #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" "Helburuko kontuaren izen edo zenbaki bidezko identifikazioak huts egin du." #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Data-ordena:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "_Inportatu memoriak" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "_Trukatu memoriak onuradunekin" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "OFX _izena:" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "OFX _memoria:" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Alderantzikatu" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "_Maiuskulaz hasi memoria/onuraduna" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "_Aldatu zenbatekoa" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "Antzeko transakzioa helburuko kontuan (beharbada bikoiztua)" #: ../src/ui-assist-import.c:1822 msgid "Date _gap:" msgstr "Data _bitartea:" #. 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "egun" #: ../src/ui-assist-import.c:1838 msgid "" "The match is done in order: by account, amount and date.\n" "A date tolerance of 0 day means an exact match" msgstr "" "Bat etortzea ordena honetan egiten da: kontuz, zenbatekoz eta dataz.\n" "0 eguneko data-tolerantziak bat etortzea zehatza dela esan nahi du" #: ../src/ui-assist-import.c:1908 msgid "Run automation" msgstr "Exekutatu automatikoki" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "1) Bete lehenetsitako _onuradunarekin" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "2) Exekutau _esleipen-automatikoen arauak" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "Egin klik 'Aplikatu'n kontuak eguneratzeko." #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Ongi etorri" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "Hautatu fitxategia(k)" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "Inportatu" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Berrespena" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Fitxategi-formatu errorea" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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 fitxategiak zutabe kopuru zehatza eduki behar du,\n" "puntu eta komarekin bereizita, ikusi laguntza xehetasun gehiagorako." #: ../src/ui-budget.c:912 msgid "Are you sure you want to clear input?" msgstr "Ziur idatzitakoa garbitu nahi duzula?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "Jarraituz gero, zenbateko guztiak 0ra ezarriko dira." #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Garbitu" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Kudeatu aurrekontua" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "_Inportatu CSVtik" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "_Esportatu CSVra" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Saldoa:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "berdina da hil guztietan" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "_Garbitu idatzitakoa" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "desberdina da hil bakoitzean" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Aukerak" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Behartu kategoria hau monitorizatzera" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Urtarrila" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Otsaila" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Martxoa" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Apirila" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Maiatza" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Ekaina" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Uztaila" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Abuztua" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "Iraila" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Urria" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Azaroa" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 msgid "Dec" msgstr "Abendua" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "Laburpena" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "Guztizkoak" #: ../src/ui-budget-tabview.c:1561 msgid "Annual Total" msgstr "Urteko guztizkoa" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "Hileroko batezbestekoa" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "Hilero" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "Gehitu kategoria bat" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "_Aplikatu" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "Kategoria nagusia" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "Kategoria izena" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Kategoria honek erabilera du.\n" "Kategoria hau darabilten transakzio guztiei (kategoriarik ez) ezarriko zaie" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "Konbinatu kategoriak" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" "'%s' kategoriara esleitutako transakzioan behean hautatutako kategoriara " "mugituko dira." #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "Helburuko kategoria" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "_Ezabatu '%s' kategoria" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "Ziur '%s'(e)rako idatzitakoak garbitu nahi dituzula?" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "Aurrekontua (taula ikuspegia)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "Gehitu kategoria" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "Kendu kategoria" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Konbinatu" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "Garbitu idatzitakoa" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "# trn" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "# kfg" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Ezabatu erabili gabeko kategoriak" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Ziur erabili gabeko kategoriak \n" "behin betiko ezabatu nahi dituzula?" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Editatu..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Irabazia" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "Aldatu kategoria _ume mota" #: ../src/ui-category.c:1863 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Kategoria honi ezin izena aldatu\n" "'%s'(e)tik '%s'(e)ra,\n" "izen hau ja badago." #: ../src/ui-category.c:1922 #, c-format msgid "Merge category '%s'" msgstr "Konbinatu '%s' kategoria" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Kategoria honi esleitutako transakzioak\n" "behean hautatutako kategoriara mugituko dira." #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "Sartu _azpikategoriak" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Kudeatu kategoriak" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "_Ezabatu erabili gabeak" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "Mugitu/Konbinatu" #: ../src/ui-category.c:2460 msgid "new category" msgstr "kategoria berria" #: ../src/ui-category.c:2472 msgid "new subcategory" msgstr "azpikategoria berria" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Oinarrizko moneta" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Ikurra" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1487 msgid "Exchange rate" msgstr "Truke-tasa" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "Azken aldaketa" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Editatu moneta" #: ../src/ui-currency.c:808 ../src/ui-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Moneta" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Formateatu" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Pertsonalizatu" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Ikurra:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "_Aurretik doa" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "_Dezimal-bereizlea:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Dezimal kopurua:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 msgid "_Grouping char:" msgstr "_Milako-bereizlea:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Hautatu oinarrizko moneta" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Hautatu moneta" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "ISO Kodea" #: ../src/ui-currency.c:1225 msgid "Add a custom _currency" msgstr "Gehitu _moneta pertsonalizatu bat" #: ../src/ui-currency.c:1238 msgid "_ISO:" msgstr "_ISO:" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Online eguneratze errorea" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "Moneta bat ezabatzen baduzu, behin betiko galdiko da." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Aldatu oinarri moneta" #: ../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 "" "Jarraituz gero, beste moneten tasak\n" "0ra ezarriko dira, ez ahaztu eguneratzea" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Monetak" #: ../src/ui-currency.c:1720 msgid "Update online" msgstr "Eguneratu online" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "Ezarri oinarrizko gisa" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Fitxategi-estatistikak" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "Transakzioa" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Bertsio-berritu" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Hautatu oinarri moneta" #: ../src/ui-dialogs.c:404 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "v5.1 hasten, HomeBankek hainbat moneta kudeatu ditzake\n" "azpiko moneta ez bada zuzena, aldatu ezazu:" #: ../src/ui-dialogs.c:409 msgid "Currency:" msgstr "Moneta:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Esportatu QIF gisa" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Inportatu CSVtik" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "Ireki HomeBank fitxategia" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "Ireki HomeBanken babeskopia fitxategia" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "Gorde HomeBank fitxategia honela" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "HomeBank fitxategiak" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "Fitxategien babeskopia" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "Babeskopia guztiak" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Gorde aldaketak fitxategian itxi baino lehen?" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Ez badituzu gordetzen, aldaketak behin betiko galduko dira.\n" "Aldaketa kopurua: %d." #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "Itxi _gorde gabe" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "Esportatu _CSV gisa" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Karpeta:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Aukeratu karpeta bat" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Fitxategi-izena:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "Zehaztu zatitutako lerroak" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" "'Erakutsi kontu guztiak'etik esportatu duzu, kontuen zutabearekin\n" "fitxategia ez da HomeBank CSV formatuan egongo." #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Esportatu PDF gisa" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Esportatu _PDF gisa" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" "HomeBanken inprimatzea jarrera ekologiko batera dago orientatua\n" "formatu digital zabalduenarekin: PDF formatua. " #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Hautatu transakzio posibleen artean..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Hautatu ekintza bat:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "sortu transakzio berri bat" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "hautatu badagoen transakzio bat" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "HomeBankek barne-transferentziari erlazionatuta egon daitekeen transakzio " "bat aurkitu du." #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "_Memoria:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Informazioa:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "Bereizi _maiuskula/minuskula" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Edozein egoera" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Edozein mota" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Transferentzia" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Behartu:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "bistaratu 'Gehitua'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "bistaratu 'Editatua'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "bistaratu 'Gogoratu'" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "bistaratu 'Hutsa'" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "Datak" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "Ordainketak" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Zenbatekoak" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "Testuak" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Kategoriak" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Onuradunak" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Fitxategi propietateak" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Programatutako transakzioak" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "gehitu hil bakoitzeko" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "-(e)ra artekoak (kanpo)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "gehitu uneko data baino" #. 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 "egun lehenagokoak" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "Ordainketa" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Ezabatu erabili gabeko onuradunak" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Ziur erabili gabeko onuradunak\n" "behin betiko ezabatu nahi dituzula?" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "Lehenetsia" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "_Ordainketa:" #: ../src/ui-payee.c:1434 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Onuradun honi ezin izena aldatu\n" " '%s'(e)tik '%s'(e)ra,\n" "izen hau ja badago." #: ../src/ui-payee.c:1489 #, c-format msgid "Merge payee '%s'" msgstr "Konbinatu '%s' onuraduna" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Onuradun honi esleitutako transakzioak,\n" "behean hautatutako onuradunera mugituko dira." #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "_Ezabatu '%s' onuraduna" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Onuradun honek erabilera du.\n" "Onuradun hau darabilten transakzio guztiei (onuradunik ez) ezarriko zaie" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "Kudeatu onuradunak" #: ../src/ui-payee.c:1854 msgid "new payee" msgstr "onuradun berria" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Interfazea" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "Tokikoa" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Transakzioak" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Inportatu/Esportatu" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Txostena" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1949 msgid "Backup" msgstr "Babeskopia" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "Karpetak" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Sistemaren 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 "Horizontala" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Bertikala" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Biak" #: ../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 "h-e-u" #: ../src/ui-pref.c:124 msgid "d-m-y" msgstr "e-h-u" #: ../src/ui-pref.c:125 msgid "y-m-d" msgstr "u-h-e" #: ../src/ui-pref.c:130 ../src/ui-pref.c:138 msgid "Ignore" msgstr "Ez ikusi egin" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Erantsi informaziora" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Erantsi memoriara" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "Erantsi onuradunera" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "Tabulazioa" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "Koma" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "Puntu eta koma" #: ../src/ui-pref.c:149 msgid "Space" msgstr "Zuriunea" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Sistemaren hizkuntza" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Aukeratu HomeBank fitxategientzat karpeta lehenetsi bat" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "Aukeratu HomeBank babeskopia fitxategientzat kapeta lehenetsi bat" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Aukeratu inportatzeko karpeta lehenetsi bat" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Aukeratu esportatzeko karpeta lehenetsi bat" #: ../src/ui-pref.c:1214 msgid "General options" msgstr "Aukera orokorrak" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "OFX/QFX aukerak" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "QIF aukerak" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "CSV aukerak" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "(transakzio inportatua soilik)" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "Bereizlea:" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Hasierako iragazkia" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Diagrama-aukerak" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Kolore-eskema:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "Leganda letra-tamaina txikiagoa" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Estatistika-aukerak" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Erakutsi _zenbatekoz" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Erakutsi _tasa-zutabea" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Erakutsi _xehetasunak" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Aurrekontu-aukerak" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Gaitu" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Aurrezarria:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "Erabiltzaile-interfazea" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Hizkuntza:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "_Data bistaratzea:" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Formatua:" #: ../src/ui-pref.c:1614 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 tokiko asteko egunen izen laburtua.\n" "%A tokiko asteko egunen izen osoa. \n" "%b tokiko hil izen laburtua. \n" "%B tokiko hil izen osoa. \n" "%c tokiko dataren eta orduaren adierazpen egokia. \n" "%C mende zenbakia (urtea zati 100 eta osokora moztua) zenbaki dezimal gisa " "[00-99]. \n" "%d hileko eguna zenbaki dezimal gisa [01,31]. \n" "%D %m/%d/%y-ren baliokidea. \n" "%e hileko eguna zenbaki dezimal gisa [1,31]; digitu bakarra aurretik zuriune " "batekin. \n" "%j urteko eguna zenbaki dezimal gisa [001,366]. \n" "%m hila zenbaki dezimal gisa [01,12]. \n" "%p tokiko dataren adierazpen egokia. \n" "%y urtea menderik gabe zenbaki dezimal gisa [00,99]. \n" "%Y urtea mendearekin zenbaki dezimal gisa." #: ../src/ui-pref.c:1644 msgid "Fiscal year" msgstr "Zerga-urtea" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "_Hasiera:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Neurketa unitateak" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Erabili _miliak neurritarako" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Erabili _galoiak erregairako" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "Transakzio zerrenda" #: ../src/ui-pref.c:1715 msgid "_Show future:" msgstr "_Erakutsi etorkizuna:" #. 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:1724 msgid "days ahead" msgstr "egun lehenago" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "Ezkutatu berdinkatuak" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "Erakutsi beti gogoratuak" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "Erakutsi beti hutsak" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "Sartu gogoratuak saldoan" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "Transakzio elkarrizketa" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "_Mantendu azken data zenbait gehitzean" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "Transferitu helburuko data-tolerantzia:" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "Gaitu _memoria automatikoki osatzea honekin" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "egun segidan" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "Erakutsi gehitzean berrespen-testua 5 s-z" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "_Sareta-marra:" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "GTK ezarpenak" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "Gainidatzi" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "Letra-_tamaina:" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "Gai iluna" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Zenbatekoen koloreak" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Erabili kolore pentsonalizatuak" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Gastua:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Irabazia:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Abisua:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "_Gaitu babeskopia automatikoak" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "Mantendu beharreko babeskopia _kopurua:" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "Babeskopia egunean behin egiten da" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "_Zorroak:" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "_Babeskopiak:" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "Partekatu fitxategiak" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Inportatu:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Esportatu:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Programa-hasiera" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Erakutsi harrera-pantaila" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Kargatu azkena irekitako fitxategia" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Idatzi berandututako transakzio programatuak" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Eguneratu monetak online" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Leiho nagusiko txostenak" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "_Elementu maximoak:" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "Berrezarri hobespen guztiak" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" "Hobespen guztiak\n" "lehenetsitako balioetara\n" "berrezarri nahi dituzu?" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Hobespenak" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "HomeBank berrabiarazi beharko duzu\n" "hizkuntza aldaketak eragina izan dezan." #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" "Babeskopiaren direktorioa aldatu egin da,\n" "kokaleku berrira '.bak' fitxategia kopiatu beharko zenuke." #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Transakzio-zatiak" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "Ezabatu guztiak" #: ../src/ui-split.c:966 msgid "Apply" msgstr "Aplikatu" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "Utzi" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Transakzioen zenbatekoa:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Esleitu gabe:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Zatien batura:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "Abisua: zatien batura eta transakzioaren zenbatekoa ez datoz bat" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "Abisua: zatien batura eta transakzio mota ez datoz bat" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Etiketa honi ezin izena aldatu\n" " '%s'(e)tik '%s'(e)ra,\n" "izen hau ja badago." #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "Konbinatu '%s' etiketa" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" "Etiketa honi esleitutako transakzioak,\n" "behean hautatutako etiketara mugituko dira." #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "_Ezabatu '%s' etiketa" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" "Etiketa erabilita dago.\n" "Etiketa hori erabiltzen duten transakzioetatik ezabatuko da." #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "Kudeatu etiketak" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "etiketa berria" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "%s-(e)ko transakzioa sortua." #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Barne-transferentzia hautsi nahi duzu?\n" "\n" "Jarraituz gero helburu transakzioa ezabatuko da." #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "_Geldiarazi" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Erakutsi _programatuak" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "Erakutsi kontu _guztiak" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "Erabili txantiloi bat" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "Gehitu eta _mantendu" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Gehitu transakzioa" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "Gehitu txantiloia" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Jarauntsi transakzioa" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "Jarauntsi txantiloia" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "Editatu transakzioa" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "Editatu txantiloia" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" "- idatzi: d, d/m, m/d data oso bat\n" "- erabili gezi teklak + KTRL edo MAIUS\n" "- hustu gaurko" #: ../src/ui-transaction.c:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "_Zenbatekoa:" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "Nor_i:" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "_2 liburua" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" "- idatzi letraren bat automatikoko osatzeko\n" "- idatzi testu berria sarrera sortzeko" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "_Kategoria:" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "_Memoria" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "_Etiketak:" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "Abisua: zenbatekoaren eta kategoriaren zeinua ez datoz bat" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "Editatu zenbait transakzio" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" "Idazteko modua\n" "transferentzia" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "Denboran" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "Joera." #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "Desaktibatua" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Sartu" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Baztertu" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(motarik ez)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Bankua" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Eskudirua" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Aktiboa" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Kreditu-txartela" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Pasiboa" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "Egiaztatzea" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "Aurrezkiak" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Hil hau" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Aurreko hila" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Hiruhileko hau" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Aurreko hiruhilekoa" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Urte hau" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "Aurreko urtea" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Azken 30 egunak" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Azken 60 egunak" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Azken 90 egunak" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Azken 12 hilak" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "pertsonalizatua" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Data guztiak" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "Hurrengo hila" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "Hurrengo 30 egunak" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "Hurrengo 60 egunak" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "Hurrengo 90 egunak" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "Hutsa" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Posible" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Lehenago" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Ondoren" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Gas. eta Ira." #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "Konpentsatu gabea" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Berdinkatu gabea" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Kategoriarik gabea" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "Astelehena" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "Asteartea" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "Asteazkena" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "Osteguna" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "Ostirala" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "Larunbata" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "Igandea" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Urtarrila" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Otsaila" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Martxoa" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Apirila" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Ekaina" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Uztaila" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Abuztua" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Iraila" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Urria" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Azaroa" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Abendua" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Iraila" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Bilatu..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Txekea" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "Banku-transferentzia" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Zordunketa-txartela" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Agindu iraunkorra" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Ordainketa elektronikoa" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Abonua" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Finantza-erakundearen komisioa" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Zuzeneko zordunketa" homebank-5.5.2/po/zh_CN.po0000664000175000017500000027313714021210665012223 00000000000000msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2020-08-28 06:04+0000\n" "Last-Translator: Frankly Zzm \n" "Language-Team: \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "有%d组类似交易" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "未发现相似交易" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "检查内部转账结果" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "没有发现不一致!" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "检测到差异%d,是否修复?" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "每笔交易金额除以%.6f" #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "您确定将此帐户转为欧元帐户吗?" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "转换(_C)" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "没有记账发生改动" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "交易修改:%d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "自动分配结果" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "为选中的交易创建任务?" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "创建(_C)" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "使用选中交易创建模板?" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "删除选中的交易?" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "删除" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "确定修改状态为空?" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "你选中的选项已经一致。" #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "更改(_C)" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "您确定要切换状态吗?" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "切换(_T)" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d transactions" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d笔交易, %d已选中, 平均: %s, 合计: %s (%s - %s)" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "添加(_A)..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "套用(_I)..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "编辑(_E)..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "编辑多个(_M)" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "状态(_S)" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "无" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "已清除(_C)" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "已对账(_R)" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "视图拆分" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "创建模板..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "创建任务" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "删除(_D)..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "上移(_U)" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "下移(_D)" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "账户(_C):" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "导出为 QIF" #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "导出 CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "导出为PDF文档" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "打印..." #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "关闭(_C)" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "编辑(_E)" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "复制" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "粘贴" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "粘贴" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "记账(_O)" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "查找(_F)" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "工具(_T)" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "标记为重复..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "检查内部转账" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "自动 任务" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "过滤(_F)..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "兑换成欧元…" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "添加" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "添加一个新的记账文件" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "套用" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "套用选中的记账" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "编辑" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "编辑选中的记账" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "已清除" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "清除选中的交易" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "已核对" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "匹配选中的交易" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "编辑多个" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "编辑多个交易选项" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "创建模板" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "删除" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "删除所选交易" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "上移" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "交易上移" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "下移" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "交易下移" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "关闭" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "所有交易" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "刷新(_R)" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "范围(_R):" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "显示未来交易" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "类型(_T):" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "状态(_S):" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "重置(_R)" #: ../src/dsp-account.c:2668 msgid "Open the list filter" msgstr "打开列表过滤" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "欧元设置" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "今天:" #: ../src/dsp-account.c:2764 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 "匿名" #: ../src/dsp-mainwindow.c:675 msgid "Welcome to HomeBank" msgstr "欢迎使用HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "打开上一次使用的文件" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "新建文件(_n)" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "打开已存在的文件(_O)" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "打开示例理财档案(_e)" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "阅读HomeBank手册(_M)" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "配置首选项(P)" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "下次仍打开此窗口" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "确定打开备份文件“%s”?" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "打开备份文件?" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "打开备份(_)" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "无法打开“%s”,文件不存在。\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "未知错误" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "输入/输出错误位于文件 '%s'" #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "文件'%s'不是有效HomeBank文件。" #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "文件错误" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "文件已从外部修改" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "如果您保存的话,外部的所有更改都将丢失。仍然保存吗?" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "仍然保存(_A)" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "清空" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "文件(_F)" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "新建(_N)" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "打开(_O)..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "打开最近打开过的" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "保存(_S)" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "另存为..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "导入..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "导出为QIF(...)" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "恢复" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "还原备份" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "属性…" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "退出(_Q)" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "首选项..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "视图(_V)" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "工具栏(_T)" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "最多消费(_T)" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "底部列表" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "欧元设置" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "管理(_M)" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "账户(_O)" #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "交易人(_P)..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "类别..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "计划/模板..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "预算..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "预算(表视图)" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "归类..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "货币…" #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "标签..." #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "记账(_T)" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "添加..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "显示..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "显示所有..." #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "设置计划..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "提交计划" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "报表(_R)" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "统计(_S)..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "走势(_T)..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "余额(_B)" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "预算(_U)..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "汽车花费...(_V)" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "显示欢迎窗口..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "信息统计" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "匿名..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "帮助(_H)" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "帮助内容(_C)" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "获得在线帮助..." #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "检查更新..." #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "发行说明" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "报告问题..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "翻译这个程序..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "关于(_A)" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "新建" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "新建文件" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "打开" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "打开文件" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "打开最近用过的文件" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "保存" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "保存当前文件" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "账户" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "管理账户" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "交易人" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "管理收款人" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "类别" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "分类管理" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "计划与模板" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "管理计划与模板交易" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "预算" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "预算管理" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "分配" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "管理自动分配" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "显示" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "显示选中的帐户记账" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "添加交易" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "统计信息" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "打开统计报表" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "时间趋势" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "打开走势报表" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "余额" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "打开余额报表" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "打开预算报表" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "汽车花费" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "打开汽车花费报表" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "帮助" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "捐赠" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "向HomeBank捐赠" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "计划" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "将来" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "提示" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "**已预购**" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(没有分类)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "无效的CSV文件" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "日期" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "信息" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "备注" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "总额" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "未知" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "千克/升" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "米/升" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(无收款人)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "HomeBank选项" #: ../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:515 msgid "Your accounts" msgstr "你的帐户" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "全部展开" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "全部折叠" #: ../src/hub-account.c:551 msgid "Show all" msgstr "显示所有" #: ../src/hub-account.c:556 msgid "By type" msgstr "按类型" #: ../src/hub-account.c:557 msgid "By group" msgstr "按组" #: ../src/hub-account.c:558 msgid "By institution" msgstr "按机构" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "没有记账被添加" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "添加记账:%d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "检查计划记账结果" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "合计" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "交易日程修改" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "发布(_P)" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "前%d支出" #: ../src/hub-spending.c:299 msgid "Other" msgstr "其它" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "资金流动情况" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "汇入账户" #: ../src/list-account.c:127 msgid "Grand total" msgstr "合计" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "账户" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "今日" #: ../src/list-operation.c:586 msgid "- split -" msgstr "-拆分-" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "此处需要一个分类" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "状态" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "支出" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "收入" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "下一个日期" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d 在 %s 以下" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "列表" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "以列表方式查看事项" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "曲线图" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "以曲线图查看事项" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "明细" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "切换明细" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "刷新" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "刷新事项" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "余额报告" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "显示" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "间隔(_V)" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "显示空行" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "拉伸 X 轴(_Z):" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "从(_F):" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "到(_T):" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "账户名" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "选择:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "全部" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "无" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "%s预算" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "事项" #: ../src/rep-budget.c:852 msgid " over" msgstr " 超支" #: ../src/rep-budget.c:858 msgid " left" msgstr " 结余" #: ../src/rep-budget.c:861 msgid " under" msgstr " 严重超支" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "堆栈" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "以堆栈栏查看结果" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "结果到剪贴板(_R)" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "结果到CSV文件(_R)" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "复制到剪贴板" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "导出到CSV" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "预算报表" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "查看方式(_V):" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "仅超支预算" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "结果:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "预算:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "花费:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "未定义账户" #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "请在账户对话框中选择账户" #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "花费" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "子类别" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "标签" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "月" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "年" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "按%2s的%1s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "显示的列过多" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "请选择较大间隔与较小的日期范围" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "列" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "将结果以柱状图的方式展现" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "甜甜圈" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "将结果以饼图的方式展现" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "图例" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "切换图表" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "比率" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "切换百分比" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "筛选" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "编辑过滤器" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "统计报表" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "模式:" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "收入:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "支出:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "平均" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "天" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "周" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "季度" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "半年" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s逾期" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "平均:%s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "走势报表" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "账户(_C):" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "类别(_C):" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "交易人(_P):" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "标签(_T):" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "全选(_A)" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "累计(_C)" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "里程表" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "燃料" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "价格" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "里程" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "导出" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "导出为 CSV 格式" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "交通费用报告" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "交通(_C)" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "里程表:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "油耗:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "燃料费用:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "其它费用:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "费用合计:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(无)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "可见" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "取消" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "确定(_O)" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "账户名" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "错误" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "不能添加账户'%s',\n" "名字已经存在。" #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "不能删除账户‘%s’" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "此帐户包含事项或内部转帐的一部分。" #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "您确定要永久删除吗?‘%s’" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "如果您删除一个帐户,它将永久丢失。" #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "管理账户" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "重命名" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "拖拽以更改顺序" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "常规" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "分组(_G):" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "机构(_I):" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "账户号码(_U):" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "初期余额(_B)" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "币种:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "此账户已关闭" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "备注:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "行为" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "自动化" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "默认模板" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "报告排斥" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "从账户汇总中排除(_s)" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "从预算中删除(_b)" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "从报告中排除(_r)" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "杂项" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "当前支票号码" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "支票簿_1" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "支票簿_2:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "平衡限制" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "透支(_O):" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "如果删除计划/模板,它将永久丢失。" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "下一个日期" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "每(_Y):" #: ../src/ui-archive.c:995 msgid "More options" msgstr "更多选项" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "周末" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "停止于:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "帖文" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "管理计划/模板记账" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "模版" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "计划安排(_S)" #: ../src/ui-assign.c:344 msgid "Search" msgstr "搜索" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "备注" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "(%d规则)" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "如果您删除任务,则任务将永久丢失。" #: ../src/ui-assign.c:718 #, fuzzy, c-format msgid "This search text already exists at position %d" msgstr "查询文本已存在" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "禁用" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "如果为空" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "覆盖" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "管理归类" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "拖拽以更改顺序" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "条件" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "搜索:" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "区分大小写" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "匹配表达式" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "在:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "任务" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "付款方式(_M):" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" "该助手将帮助您为新的HomeBank文件\n" "设置最低配置。" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "可以以后需要时更改此处的所有设置。" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" "在您单击该助手末尾的“应用”之前,\n" "将不会进行任何更改。" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "HomeBank主窗口标题会显示【免费】标签或您的名字。" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "标题:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "HomeBank支持多币种,新账户和报表默认使用基础货币。" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "基准:" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "添加更多货币" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "添加" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "不存在" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "HomeBank可为支持的CSV文件自动填充分类(社区支持)" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "设置分类(我的语言)" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "预设" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" "HomeBank可以从下载的金融机构文件中导入\n" "您的帐户,或者您可以手动创建帐户。" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "创建我的首个账户" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "名称(_N):" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" "这是确认信息页面\n" "点击“应用”按钮提交修改" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "初始文件设置" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "文件选项" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "选择货币" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "选择分类" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "创建账户" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "结束文件配置" #: ../src/ui-assist-import.c:477 msgid "" msgstr "<新帐户(全局)>" #: ../src/ui-assist-import.c:482 msgid "" msgstr "<新帐户>" #: ../src/ui-assist-import.c:503 msgid "" msgstr "<跳过此账户>" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "有效" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "名称" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "打开(_O)" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "已知文件" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF 文件(.qif)" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX 文件" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV 文件(.csv)" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "所有文件" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "新全局账户" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "新账户" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "已跳过" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "%d2 个交易中的 %d1 个" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "导入%s至(_T):" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "文件" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "账户" #: ../src/ui-assist-import.c:1331 #, 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:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "%d笔交易, %d相似, %d已存在, %d已选择" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d笔交易, %d已选择" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "从银行或信用卡账户导入交易" #: ../src/ui-assist-import.c:1392 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:1398 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 or .QFX\n" "(也称为Money™或Quicken™)\n" "支持: .QIF\n" "(Quicken™通用文件)\n" "仅限高级用户: .CSV\n" "(HomeBank专用格式,查看文档)" #: ../src/ui-assist-import.c:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "点击“应用”前不会保存任何更改。" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "不再显示" #: ../src/ui-assist-import.c:1481 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" "拖拽文件导入\n" "也可以用添加或删除按钮更新列表" #: ../src/ui-assist-import.c:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" "选择的文件中有太多账户\n" "请返回后重新选择" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "通过账号或名称匹配账户失败" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "日期顺序:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "导入备忘录(_I)" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "交换收款人备忘录" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "OFX_名字" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "OFX_备忘录" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "反向选择" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "句子大小写,备忘录或收款人" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "目标帐户中的类似交易(可能重复)" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "天" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "执行自动化操作" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "使用默认收款人" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "运行自动任务规则" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "点击“应用”更新账户" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "欢迎使用" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "选择文件(S)" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "导入" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "确认" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "文件格式错误" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "您确定要清除输入吗?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "继续操作所有金额将置为0" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "清除" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "预算管理" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "导入 CSV格式" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "导出 CSV格式" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "余额:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "每月相同" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "清除输入" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "每月不同" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "设置" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "强制监视该类别(_F)" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "1月" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "2月" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "3月" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "4月" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "5月" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "6月" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "7月" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "8月" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "九月" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "10月" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "11月" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "年度总计" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "月均" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "月度" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "添加分类" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "应用" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "上级分类" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "分类名称" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "该类别已使用。\n" "使用该类别的任何交易都将设置为(无类别)。" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "合并分类" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "%s分类下的交易已转移至您选择的分类中" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "目标分类" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "删除%s分类(_D)" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "确定清除输入的内容“%s”?" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "预算(表视图)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "添加分类" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "删除分类" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "合并" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "清除输入" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "清除未使用的分类" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "确定永久删除未使用的分类?" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "编辑..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "收入(_I)" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "更改类型为 儿童" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "合并%s分类" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "分配给该类别的交易将被移到下面选择的类别。" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "管理类别" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "删除未使用(_D)" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "移动/合并" #: ../src/ui-category.c:2460 msgid "new category" msgstr "新分类" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "币种" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "格式" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "自定义(_C)" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "符号(_S):" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "是预修订" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "小数字符(_D):" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "小数位数(_F):" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "添加自定义货币" #: ../src/ui-currency.c:1238 msgid "_ISO:" msgstr "ISO(_I):" #: ../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 "" "如果继续,其他货币的汇率将设置为0,\n" "请不要忘记对其进行更新" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "货币" #: ../src/ui-currency.c:1720 msgid "Update online" msgstr "在线升级" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "设为基准" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "文件信息" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "交易" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "升级" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "选择基本货币" #: ../src/ui-dialogs.c:404 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "HomeBank 5.1版本开始支持多币种,请修改不正确的币种" #: ../src/ui-dialogs.c:409 msgid "Currency:" msgstr "币种:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "导出为 QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "导入 CSV 文件" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "打开 HomeBank 文件" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "打开备份文件" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "另存为" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "家庭理财文件(.xhb)" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "文件备份" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "所有备份" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "关闭文件前保存所有修改?" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "不保存关闭(_w)" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "文件夹:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "选择文件夹" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "文件名:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "导出为PDF文档" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "导出为PDF文档" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "HomeBank在打印时使用最环保应用最广泛的pdf格式。 " #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "从可能的记账中选择" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "选择操作" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "创建新记账" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "选择已有记账" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "HomeBank发现一些记账与内部转账关联" #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "备忘(_M):" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "信息(_I):" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "区分大小写(_S)" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "任何状态" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "任意类型" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "转账" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "强制:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "显示“已添加”" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "显示“已编辑”" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "显示提醒" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "显示无效" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "日期" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "付款方式" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "金额" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "文本" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "类别" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "收款人" #: ../src/ui-hbfile.c:194 msgid "File properties" 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天" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "支付" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "删除未使用的收款人" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "你确定你想永久删除未使用的付款人?" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "默认" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "支付(_y)" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "合并收款人%s" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "分配给该收款人的交易将被移至下面选择的收款人。" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "删除收款人%s" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "此收款人已使用。\n" "使用该收款人的任何交易都将设置为(无收款人)" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "管理交易人" #: ../src/ui-payee.c:1854 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:1949 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 "选择默认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:1214 msgid "General options" msgstr "常规选项" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "OFX/QFX 选项" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "QIF 选项" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "CSV 选项" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "(只导入交易)" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "分隔符:" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "初始过滤器" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "图标选项" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "配色方案:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "统计选项" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "显示金额(_A)" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "显示百分比(_R)" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "显示明细(_D)" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "预算选项" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "启用(_E)" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "预设(_P):" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "用户界面" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "语言(_L):" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "日期格式(_D):" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "格式:" #: ../src/ui-pref.c:1614 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 简写的月份(1月至12月)。 \n" "%B 完整的月份(一月至十二月)。 \n" "%c 日期和时间。 \n" "%C 世纪数(例如2020年是21世纪,范围00至99)。 \n" "%d 当月天数(范围01至31)。 \n" "%D 类似%m/%d/%y的日期格式(例31/12/2020)。 \n" "%e 当月天数,结尾包含空格(范围1至31例如[1 ])。 \n" "%j 当年天数(范围001至366)。 \n" "%m 月份(范围01至12)。 \n" "%p 日期。 \n" "%y 年份(范围00至99,例如2019年返回19)。 \n" "%Y 年份(例如2019)." #: ../src/ui-pref.c:1644 msgid "Fiscal year" msgstr "会计年度" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "开始于(_O):" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "测量单位" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "使用英里单位(_M)" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "使用加仑单位(_G)" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "提前天数" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "隐藏对账" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "显示提醒" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "总是显示无效的" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "将提醒纳入平衡" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "重复" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 msgid "_Toolbar:" msgstr "工具栏(_T):" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1845 msgid "_Grid line:" msgstr "网格线" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "总额颜色" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "使用自定义颜色" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "支出(_E):" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "收入(_I):" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "提醒(_W):" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "启用自动备份(_E)" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "保留备份数(_N):" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "每日备份" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "钱包(_W):" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "备份(_B):" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "可交换文件" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "导入(_I):" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "导出(_E):" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "启动" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "显示启动画面" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "自动打开上次的财务文档" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "待定交易" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "在线更新货币" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "主窗口图表" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "重置所有首选项" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "重置所有设置为默认值?" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "首选项" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "语言设置在下次重启后生效" #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" "备份目录已更新,\n" "请将.bak备份文件复制到新目录" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "拆分交易" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "删除全部" #: ../src/ui-split.c:966 msgid "Apply" msgstr "应用" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "取消" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "记账金额" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "未分配:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "拆分的总数" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "警告:分割总和与交易金额不符" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "警告:分割总和与交易类型不符" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "无法将%s重命名为%s,同名标签已存在" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "合并%s标签" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "分配给该标签的交易将被移至下面选择的标签。" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "删除%s标签(_D)" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" "标签已使用。\n" "会从所有交易中删除。" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "管理标签" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "新标签" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "交易%s已创建" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "确定停止内部交易?\n" "\n" "将会删除目标交易!" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "终止" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "显示计划(_S)" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "显示所有账户(_A)" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "使用模板" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "继续添加" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "添加记账" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "添加模板" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "套用记账" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "集成模板" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "编辑交易" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "编辑模板" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" "- 输入: d, d/m, m/d 一个完整的日期\n" "- 使用 arrow key + ctrl or shift\n" "- 今天为空" #: ../src/ui-transaction.c:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "总额" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "到(_O):" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "预订_2" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" "-输入一些自动完成的字母\n" "-输入新文字以创建条目" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "类别(_G):" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "备注(_e)" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "标签(_T):" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "警告:金额和分类符号不匹配" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "编辑多个交易" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" "输入为\n" "转帐" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "时间" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "趋势" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "关" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "包含" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "排除" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(缺少类型)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "银行" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "现金" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "资产" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "信用卡" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "负债" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "本月" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "上个月" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "这个季度" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "上个季度" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "今年" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "去年" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "最近30天" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "最近60天" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "最近90天" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "最近12个月" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "自定义" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "所有日期" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "无效" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "可能的" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "之前" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "之后" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "支出和收入" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "未清除" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "未对帐" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "未分类" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "星期一" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "星期二" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "星期三" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "星期四" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "星期五" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "星期六" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "星期日" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "1月" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "2月" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "3月" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "4月" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "6月" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "7月" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "8月" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "9月" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "10月" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "11月" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "12月" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "9月" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "搜索..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "支票" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "银行转账" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "借记卡" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "定期转账" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "电子付款" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "存款" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "费用" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "直接记账" homebank-5.5.2/po/si.po0000664000175000017500000025345514021210664011635 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2015-11-27 16:07+0000\n" "Last-Translator: Mohamed Rizmi \n" "Language-Team: Sinhalese \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:00+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "පරිවර්තනය කරන්න (_C)" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "මකන්න (_D)" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "වෙනස් කරන්න (_C)" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "එක් කරන්න... (_A)" #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "" #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "සංස්කරණය... (_E)" #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "" #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "මකා දමන්න (_D)..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "QIF අපනයනය..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "CSV අපනයනය..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "වසන්න (_C)" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "සැකසුම් (_E)" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "ගනුදෙනුව (_o)" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "මෙවලම් (_T)" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "පෙරහන... (_F)" #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "එක් කරන්න" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "නව ගනුදෙනුවක් එක් කරන්න" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "සංස්කරණය" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "සක්‍රීය ගනුදෙනුව වෙනස් කරන්න" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "තෝරා ඇති ගනුදෙනු(ව) මකා දමන්න" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "පරාසය (_R):" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "වර්ගය (_T):" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "තත්වය (_S):" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2668 msgid "Open the list filter" msgstr "" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "අද:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "HomeBank වෙත පිළිගනිමු" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "නව ගොනුවක් සාදන්න (_n)" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "පවතින ගොනුවක් විවෘත කරන්න (_O)" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "උදාහරණ ගොනුව විවෘත කරන්න (_e)" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "'%s' ගොනුවේ I/O දෝෂයක්." #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "'%s' ගොනුව වලංගු HomeBank ගොනුවක් නොවේ." #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "ගොනුවේ දෝෂයක්" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "ගොනුව (_F)" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "නව (_N)" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "විවෘත කරන්න... (_O)" #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "සුරකින්න (_S)" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "පෙර තත්වයට පත් කරන්න" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "ඉවත් වෙන්න (_Q)" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "අභිප්‍රේත..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "දර්ශනය (_V)" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "මෙවලම් තීරුව (_T)" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "කලමණාකරනය (_M)" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "ගිණුම් (_o)..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "ආදායකයන් (_P)..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "වර්ග..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "අයවැය..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "" #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "ගනුදෙනු (_T)" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "එක් කරන්න..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "පෙන්වන්න..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "වාර්තා (_R)" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "සංඛ්‍යා ලේඛන (_S)..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "" #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "අයවැය (_u)..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "වාහන වියදම (V)..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "" #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "උදව් (_H)" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "අන්තර්ගතයන් (_C)" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "ගැටළුවක් වාර්තා කරන්න..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "මෙම වැඩසටහන පරිවර්තනය කරන්න..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "පිළිබඳ (_A)" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "නව ගොනුවක් සාදන්න" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "ගොනුවක් විවෘත කරන්න" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "මෑතකදි භාවිතා කළ ගොනුවක් විවෘත කරන්න" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "දැනට භාවිතාවන ගොනුව සුරකින්න" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "ගිණුම" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "ආදායකයා" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "වර්ගය" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "අයවැය" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "තෝරා ඇති ගිණුමේ ගනුදෙනු පෙන්වයි" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "ගනුදෙනු එක් කරන්න" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "ශේෂය" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "ශේෂ වාර්තාව විවෘත කරන්න" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "අයවැය වාර්තාව විවෘත කරන්න" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "වාහන වියදම" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "වාහන වියදම් වාර්තාව විවෘත කරන්න" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "අනාගතය" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "දිනය" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "තොරතුරු" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "ගණන" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "නොදනී" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" 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:515 msgid "Your accounts" msgstr "ඔබේ ගිණුම්" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:551 msgid "Show all" msgstr "" #: ../src/hub-account.c:556 msgid "By type" msgstr "" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "ගනුදෙනුව එක් කරන ලදී: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "එකතුව" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:299 msgid "Other" msgstr "වෙනත්" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "ගිණුම්" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "අද" #: ../src/list-operation.c:586 msgid "- split -" msgstr "" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "තත්වය" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "වියදම" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "ආදායම" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "මීලග දිනය" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "ලැයිස්තුව" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "ප්‍රතිඑල ලැයිස්තුවක් ලෙස පෙන්වන්න" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "පේළිය" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "විස්තරය" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "ශේෂ වාර්තාව" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "සිට (_F):" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "දක්වා (_T):" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "ගිණුමේ නම" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "සියල්ල" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "කිසිවක් නැත" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "%s සඳහා වන අයවැය" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "ප්‍රතිඑලය" #: ../src/rep-budget.c:852 msgid " over" msgstr "" #: ../src/rep-budget.c:858 msgid " left" msgstr "" #: ../src/rep-budget.c:861 msgid " under" msgstr "" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "අයවැය වාර්තාව" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "ප්‍රතිඑලය:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "අයවැය:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "වියදම් කළ:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "මාසය" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "වසර" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "සංඛ්‍යා ලේඛන වාර්තාව" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "ආදායම:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "වියදම:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "දවස" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "සතිය" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "කා‍ර්තු‍ව‍" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "ගිණුම (_c):" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "වර්ගය (_C):" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "ආදායකයා (_P):" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "සියල්ල තෝරන්න (_a)" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "ඉන්ධන" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "මිල" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "දුර" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "CSV ලෙස අපනයනය කරන්න" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "වාහන වියදම් වාර්තාව" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "වාහනය (_c):" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "මීටරය:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "පරිභෝජනය:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "ඉන්ධන වියදම:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "වෙනත් වියදම්:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "මුලු වියදම:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(කිසිවක් නැත)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "අවලංගු කරන්න (_C)" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "හරි (_O)" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "ගිණුමේ නම" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "දෝෂය" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "'%s' ගිණුම එක්කල නොහැක,\n" "මෙම නම දැනටමත් පවතී." #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "'%s' ගිණුම මකාදැමිය නොහැක" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1618 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1836 msgid "Manage Accounts" msgstr "ගිණුම් කළමනාකරණය" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "පොදු" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "අංකය (_u):" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "මීලග දිනය (_d):" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "සෑම (_y):" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "සතිඅන්තය:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "ගෙවීම (_m):" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "එක් කරන්න (_A)" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "හමු නොවුණි" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "නම (_N):" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "විවෘත කරන්න (_O)" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "දන්නා ගොනු" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF ගොනු" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX ගොනු" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV ගොනු" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "සියළු ගොනු" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "දින" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "ආයුබෝවන්" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "ආනයනය කරන්න" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "ස්ථිර කිරීම" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "අයවැය කලමණාකරනය" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "CSV ආනයනය කරන්න (_I)" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "CSV අපනයන කරන්න (_x)" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "ඉතිරිය:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "ජන" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "පෙබ" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "මාර්" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "අප්‍රේ" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "මැයි" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "ජූනි" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "ජූලි" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "අගෝ" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "ඔක්" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "නොවැ" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "සංස්කරණය..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "ආදායම (_I)" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-category.c:1922 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "ප්‍රවර්ග කළමනාකරණය" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "ගනුදෙනුව" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "QIF ලෙස අපනයනය කරන්න" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "CSV වෙතින් ආනයනය කරන‌්න" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "HomeBank ගොනු" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "සුරකින්නේ නොමැතිව වසන්න" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "ක්‍රියාවක් තෝරාගන්න:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "පවතින ගනුදෙනුවක් තෝරාගන්න" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:194 msgid "File properties" 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 "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "ගෙවීම (_y):" #: ../src/ui-payee.c:1434 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-payee.c:1489 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "'%s' ආදායකයා මකා දමන්න (_D)" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "ආදායකයින් කළමනාකරණය" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "විස්තර පෙන්වන්න (_d)" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "සක්‍රීය කරන්න (_E)" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "භාෂාව (_L):" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 msgid "_Toolbar:" msgstr "" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1845 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "වියදම (_E):" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "ආදායම (_I):" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "අවවාදය (_W):" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "ආනයනය (_I):" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "අපනයනය (_E):" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "ගනුදෙනුව එක් කරන්න" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "බැංකුව" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "මුදල්" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "වත්කම" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "ණය කාඩ්පත" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "අවසන් දින 30" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "අවසන් දින 60" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "අවසන් දින 90" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "අවසන් මාස 12" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "සියලු දින" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "පෙර" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "පසු" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "ජනවාරි" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "පෙබරවාරි" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "මාර්තු" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "අප්‍රේල්" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "ජූනි" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "ජූලි" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "අගෝස්තු" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "සැප්තැම්බර්" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "ඔක්තෝම්බර්" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "නොවැම්බර්" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "දෙසැම්බර්" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "සැප්" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "පරික්ෂා කරන්න" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "හර පත" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "ඉලෙක්ට්‍රොනික ගෙවීම" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "තැන්පතුව" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "" homebank-5.5.2/po/nds.po0000664000175000017500000024671714021210663012010 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2020-10-10 14:19+0000\n" "Last-Translator: Achim \n" "Language-Team: German, Low \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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 "Finanzen;Buchhaltung;Haushalt;Personal;Geld;" #: ../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 "" "Konzipiert für einfache Bedienung. Analyse der persönlichen Finanzen mit " "Hilfe leistungsfähiger Filterwerkzeuge und schöner Grafiken." #: ../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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Keine identische / ähnliche Transaktion gefunden !" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "_konvertieren" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Keine Transaktion verändert" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Erstellen" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Löschen" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Hinzufügen …" #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Hinzufügen" #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Bearbeiten..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "" #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Löschen..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "_Hoch" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "_nach unten" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "Benutzerkonto" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "" #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "CSV exportieren..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Schließen" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Bearbeiten" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Einfügen" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Einfügen (heute)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Transakti_on" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "_finden" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Werkzeuge" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Duplikate markieren..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filter..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Umrechnen in Euro..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Hinzufügen" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Neue Transaktion hinzufügen" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Übernehmen" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Von der aktiven Transaktion übernehmen" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Bearbeiten" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Aktive Transaktion bearbeiten" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Freigegeben" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "Nach oben" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "Nach unten" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "Transaktion nach unten verschieben" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(geschlossen)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Alle Transaktionen" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Auffrischen" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Bereich" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Typ" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Zurücksetzen" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Heute:" #: ../src/dsp-account.c:2764 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 "_Rückgängig machen" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Sind SIe sicher, dass Sie die Daten anonymisieren wollen ?" #: ../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 "_Anonymisieren" #: ../src/dsp-mainwindow.c:675 msgid "Welcome to HomeBank" msgstr "Willkommen bei HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "Öffne _zuletzt geöffnete Datei" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Erstelle eine _neue Datei" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Öffne eine existierende Datei" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Öffen die _Beispiel Datei" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Lese die HomeBank _Bedienungsanleitung" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Konfiguriere _Voreinstellungen" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "Dieses Fenster beim nächsten mal anzeigen" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "Öffnen des BackUps ?" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "_Backup öffnen" #: ../src/dsp-mainwindow.c:1044 #, 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/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Unbekannter Fehler" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Dateifehler" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Wenn Sie speichern könnten alle externen Änderungen verloren gehen. Trotzdem " "speichern ?" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "Leeren" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Datei" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Neu" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Öffnen..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Speichern" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Umkehren" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "BackUp wiederherstellen" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Eigenschaften" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Beenden" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Einstellungen..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Ansicht" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Werkzeugleiste" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Verwalten" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "_Konten..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Empfänger..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Kate_gorien..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Budget..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Zuordnungen..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "Schlagworte …" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Transaktionen" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Hinzufügen..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Anzeigen..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "Be_richte" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "Stat_istiken..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "" #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "B_udget..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "" #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Hilfe" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "Inha_lt..." #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Probleme berichten..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Diese Anwendung übersetzen..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_Über" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Eine Datei öffnen" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Eine vor kurzem genutzte Datei öffnen" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Konto" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Empfänger" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Kategorie" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Budget" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Zeigt die Transaktionen des ausgewählten Kontos an" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Statistische Auswertung öffnen" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Ausgleich" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Budget-Auswertung öffnen" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Zukünftig" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Datum" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Info" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Betrag" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "HomeBank-Optionen" #: ../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:515 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:551 msgid "Show all" msgstr "" #: ../src/hub-account.c:556 msgid "By type" msgstr "" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Gesamt" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:299 msgid "Other" msgstr "" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Heute" #: ../src/list-operation.c:586 msgid "- split -" msgstr "" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Ausgaben" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Erträge" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d unter %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Liste" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Ergebnisse als Liste anzeigen" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Linie" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Ergebnisse als Linien anzeigen" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Detail" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Details anzeigen" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Aktualisieren" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Ergebnisse aktualisieren" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Von:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "A_n:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Konto" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Alles" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Kein" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Ergebnis" #: ../src/rep-budget.c:852 msgid " over" msgstr "" #: ../src/rep-budget.c:858 msgid " left" msgstr "" #: ../src/rep-budget.c:861 msgid " under" msgstr "" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Budget-Auswertung" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Opwiesen nah:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Budget:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Ausgegeben:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Ausgaben" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Unterkategorie" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Kennzeichen" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Monat" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Jahr" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Legende anzeigen" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Wachstum anzeigen" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Statistische Auswertung" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Einnahmen:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Ausgaben:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Tag" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Woche" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Veertel" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "A_ccount:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Kategorie:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Empfänger:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Markierung:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "_Alles auswählen" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Meter" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Treibstoff" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Preis" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Distanz" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Als CSV exportieren" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Meter:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Verbrauch:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Treibstoffkosten:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Andere Kosten:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Gesamtkosten:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(keine)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Sichtbar" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Fehler" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Konten verwalten" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Algemein" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "N_ummer:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "_Jeden:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Zuordnungen verwalten" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Be_zahlung:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Nich funnen" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Name:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF-Dateien" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX Dateien" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV-Dateien" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Alle Dateien" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Negativ" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "Tag(e)" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Bestätigung" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Fehler des Dateiformates" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Budget verwalten" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Saldo:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mär" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Mai" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Aug" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Okt" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "E_inkommen" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Kategorien verwalten" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Nachkommastellen:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Nach QIF exportieren" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Aus CSV importieren" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "HomeBank-Dateien" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Info:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "_Groß-/Kleinschreibung berücksichtigen" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Übertragen" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Erzwinge:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "'Hinzugefügt' anzeigen" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "'Bearbeitet' anzeigen" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:194 msgid "File properties" 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 "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "Empfängerverwaltung" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Nach _Betrag anzeigen" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "_Raten-Spalte anzeigen" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "_Details anzeigen" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Aktiveren" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "V_orlage:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 msgid "_Toolbar:" msgstr "_Symbolleiste:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1845 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Verwendet persönliche Farben" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Ausgaben:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Einnahmen:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Warnungen:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Importieren:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "Exportieren:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Zuletzt benutzte Datei öffnen" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Einstellungen" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Transaktion hinzufügen" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Transaktion übernehmen" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Einbeziehen" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Ausschließen" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Institut" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Bargeld" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Aktiva" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Kreditkarte" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Passiva" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Letzten 30 Tage" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Letzten 12 Monate" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Jedes Datum" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Ausgaben & Einnahmen" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Januar" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Februar" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "März" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "April" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Juni" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Juli" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "August" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Oktober" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "November" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Dezember" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Überprüfen" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Einzugsermächtigungs-Karte" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Dauerauftrag" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Elektronische Bezahlung" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Anzahlung" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "FI Abgabe" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "" homebank-5.5.2/po/pt_BR.po0000664000175000017500000030674614021210663012231 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: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2021-02-05 13:14+0000\n" "Last-Translator: Geraldo Goncalves \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "Existem %d grupos de transações similares" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Nenhuma transação similar encontrada!" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "Verifique o resultado da transferência interna" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Nenhuma inconsistência encontrada !" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" "Foram encontradas inconsistências: %d\n" "deseja revisar e corrigir?" #: ../src/dsp-account.c:390 #, 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:394 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:396 msgid "_Convert" msgstr "_Converter" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Nenhuma transação foi alterada" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "transação modificada: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Resultado das designações automáticas" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" "Deseja criar uma tarefa com\n" "cada uma das transações selecionadas?" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Criar" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" "Você quer criar um modelo com\n" "cada uma das transações selecionadas?" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" "Você quer excluir\n" "cada uma das transações selecionadas?" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Excluir" #: ../src/dsp-account.c:1677 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:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Alguma transação em sua seleção já foi Reconciliada." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Alterar" #: ../src/dsp-account.c:1735 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:1737 msgid "_Toggle" msgstr "_Alternar" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d transações" #: ../src/dsp-account.c:2101 #, 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:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Adicionar..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Herdar..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Editar..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "_Editar vários" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Situação" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Nenhum" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Limpar" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Reconciliado" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "Vista dividida" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Criar Modelo..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "Criar tarefa ..." #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Excluir..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "A_cima" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "A_baixo" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "_Conta" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Exportar QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Exportar CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Exportar como PDF..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "Imprimir…" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Fechar" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Editar" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Copiar" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Colar" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Colar (hoje)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Transação" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "_Localizar" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Ferramentas" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Marcar duplicidade..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "Verificar transferência interna" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Atribuições automáticas" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filtro..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Converter para Euro..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Adicionar" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Adicionar uma nova transação" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Herdar" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Herdar da transação ativa" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Editar" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Editar a transação ativa" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Liquidada" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Alternar para liquidada(s) a(s) transação(ões) selecionada(s)" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Reconciliada" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Alternar para reconciliada a(s) transação(ões) selecionada(s)" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "Multipla edição" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Editar várias transações" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Criar modelo" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "Excluir" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Excluir transações selecionadas" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "Para cima" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "Mover transação para cima" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "Para baixo" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "Mover transação para baixo" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(fechado)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Todas as transações" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Atualizar" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Período:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "Mostrar transação futura" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Tipo:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Situação:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Restaurar" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Euro secundário" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "Reconciliado:" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "Liberado" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Hoje:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Bem vindo ao HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "Abrir o último arquivo aberto" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Criar um _novo arquivo" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Abrir um arquivo existente" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Abrir o arquivo de _exemplo" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Leia o manual do HomeBank" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Configurar Preferências" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "Mostrar esta janela da próxima vez" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You 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 de que quer fazer isso?" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "Abrir arquivo de backup?" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "_Abrir backup" #: ../src/dsp-mainwindow.c:1044 #, 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/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Erro desconhecido" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "Erro de E/S para o arquivo '%s'." #: ../src/dsp-mainwindow.c:1132 #, 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:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Erro no arquivo" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "Este arquivo foi modificado desde a sua última leitura" #: ../src/dsp-mainwindow.c:1212 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:1213 msgid "S_ave Anyway" msgstr "Salvar mesmo _assim" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "Limpar" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Arquivo" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Novo(a)" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Abrir..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Abrir recentes" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Salvar" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "_Salvar como..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "Importar..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "Exportar como QIF..." #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Reverter" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "Restaurar backup" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Propriedades..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Sair" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Preferências..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Exibir" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Barra de ferramentas" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Gastos principais" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "_Listas Inferiores" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro secundário" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Gerenciar" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "C_ontas..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Favorecidos..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Categorias..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Agendado/Modelo..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Orçamento..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "Orçamento (visualização de tabela)..." #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Atribuições..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Moedas..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "Marcadores..." #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Transações" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Adicionar…" #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Exibir..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Exibir tudo..." #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Definir agendamento..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Agendada" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Relatórios" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Estatísticas..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Tendência..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "_Saldo..." #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "O_rçamento..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "_Custo de veículos..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Exibir diálogo de boas vindas..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Estatísticas do arquivo..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Tornar Anônimo" #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Ajuda" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Conteúdo" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "Obter ajuda online..." #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Checar atualizações..." #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Notas da versão" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Reportar um Problema" #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Traduzir esta Aplicação..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_Sobre" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "Novo" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Criar um novo arquivo" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "Abrir" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Abrir um arquivo" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Abrir um arquivo recentemente utilizado" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "Salvar" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Salvar o arquivo atual" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Conta" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "Gerenciar contas" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Favorecido" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "Gerenciar os favorecidos" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Categoria" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "Gerenciar as categorias" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "Agendado/Modelo" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "Gerenciar transações agendadas/modelos" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Orçamento" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "Gerenciar o orçamento" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Tarefa" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "Gerenciar as tarefas automáticas" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "Exibir" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Mostrar transações da conta selecionada" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Adicionar transações" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "Estatísticas" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Abrir o relatório de Estatísticas" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "Tempo de tendência" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Abrir relatório de tendência" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Saldo" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Abrir o relatório de Balanço" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Abrir o relatório de Orçamento" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Custo do veículo" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Abrir o relatório de custo de veículos" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "Ajuda" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "Faça uma doação" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "Fazer uma doação para o projeto HomeBank" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Agendada" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Futuro" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Lembrete" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "**PRÉ-PREENCHIDO**" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(sem categoria)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "formato CSV inválido" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Data" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Informação" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Observações" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Valor" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Desconhecido" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "mi./l" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(nenhum favorecido)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" 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:865 #, c-format msgid "%d-q%d" msgstr "%d-q%d" #: ../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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Opções do HomeBank" #: ../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 "(sem grupo)" #: ../src/hub-account.c:515 msgid "Your accounts" msgstr "Suas contas" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Expandir tudo" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Recolher tudo" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Mostrar tudo" #: ../src/hub-account.c:556 msgid "By type" msgstr "Por tipo" #: ../src/hub-account.c:557 msgid "By group" msgstr "Por grupo" #: ../src/hub-account.c:558 msgid "By institution" msgstr "Por instituição" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Nenhuma transação para adicionar" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "transação adicionada: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Verificar o resultado das transações agendadas" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Transações agendadas" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "_Ignorar" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" msgstr "Editar e Postar" #. 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Publicar" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "Maiores %d gastos" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Outros" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Para onde vai seu dinheiro" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "conta importada" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Total geral" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "Última reconciliação" #: ../src/list-account.c:544 msgid "until" msgstr "até" #: ../src/list-account.c:559 msgid "before" msgstr "anterior" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Contas" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Hoje" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- dividir -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "- isso precisa de uma categoria -" #: ../src/list-operation.c:1438 msgid "Match" msgstr "Correspondência" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Estado" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Despesa" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Receita" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Próxima data" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d sobre %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Lista" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Ver resultados como uma lista" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Linha" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Ver resultador como linhas" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Detalhes" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Fechar detalhes" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Atualizar" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Atualizar resultados" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "Imprimir" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Relatório de balanço" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Exibir" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "Intervalo" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "Mostrar linha vazia" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "Ampliar X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_De:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Até:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Nome da conta" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Selecionar:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Tudo" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Nenhum(a)" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Orçamento para %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Resultado" #: ../src/rep-budget.c:852 msgid " over" msgstr " acima" #: ../src/rep-budget.c:858 msgid " left" msgstr " restando" #: ../src/rep-budget.c:861 msgid " under" msgstr " em baixo" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "Pilha" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "Ver resultados como barras empilhadas" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "_Resultado para área de transferência" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "_Resultado para CSV" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "_Detalhes para a área de transferência" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "_Detalhes para CSV" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Relatório de orçamento" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "E_xibir por:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "Somente fora das despesas" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Resultado:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Orçamento:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Gasto:" #: ../src/rep-budget.c:1422 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:1423 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:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Gasto" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Subcategoria" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Marcador" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Mês" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Ano" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s por %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "Colunas demais para exibir" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "Selecione um intervalo mais amplo e / ou um período mais restrito" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "Coluna" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Ver resultados como coluna" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "Anel" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Ver resultados num gráfico de rosca" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "Legenda" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Fechar legenda" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "Taxa" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Inverter taxa" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "Filtro" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Editar filtro" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Relatório de Estatísticas" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "Modo:" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "Ordenar por valor" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "Comparar Despesas & Receitas" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "Total:" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Receita" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Despesa:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "Média" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Dia" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Semana" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Trimestre" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "Semestre" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s ao longo do tempo" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Média: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Relatório de tendências" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Conta" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Categoria:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Favorecido" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Marcador:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Selecionar _tudo" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Acumulado" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Medida" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Combustível" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Preço" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "Exportar" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Exportar como CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Relatório de custo do veículo" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "Veí_culo:" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Metro" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Consumo:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Custo de combustível:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Outros custos:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Custo total:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(nenhum)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Visível" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Cancelar" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Nome da conta" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Erro" #: ../src/ui-account.c:1505 #, 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:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "Não é possível excluir a conta '%s'" #: ../src/ui-account.c:1557 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:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, 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:1570 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:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Gerenciar Contas" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "Renomear" #: ../src/ui-account.c:1917 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:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Geral" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "_Grupo:" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "_Instituição:" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "N_úmero" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Saldo inicial" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Moeda:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "esta conta foi _fechada" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Notas:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "Comportamento" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "Automação" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "Template padrão" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Informar exclusões" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "Excluir do resumo da conta" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "Excluir do _orçamentos" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "Excluir de qualquer relatório" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "Diversos" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Número do cheque atual" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Talão de cheques _1:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Talão de cheques _2:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Limites de saldo" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "_Saldo negativo em:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 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:972 msgid "Next _date:" msgstr "Próxima _data:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "A ca_da:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "Mais opções" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Final de semana:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "Parar depoi_s de:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "publicações" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Gerenciar transações agendadas/modelo" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Modelo" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "_Agendar" #: ../src/ui-assign.c:344 msgid "Search" msgstr "Pesquisar" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "Observações" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "(regra %d)" #: ../src/ui-assign.c:654 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:718 #, fuzzy, c-format msgid "This search text already exists at position %d" msgstr "Este texto de pesquisa já existe" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Desabilitado" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Se vazio" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Sobrescrever" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Gerenciar Designações" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "Arraste e solte para alterar a ordem" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Condição" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "_Busca" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "Diferenciar maiúsculas de minúsculas" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "Expressão regular" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "_Entrada:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "Atribuições" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Foma de pa_gamento:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" "Este assistente ajudará você a criar uma configuração mínima\n" "para um novo arquivo do HomeBank." #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" "Todos os elementos configurados aqui podem ser alterados posteriormente, se " "necessário." #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" "Nenhuma mudança será feita até que você\n" "clique em \"Aplicar\" no final deste assistente." #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" "O HomeBank exibirá um título na janela principal,\n" "que pode ser o seu nome ou um texto de sua escolha." #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Título:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" "O HomeBank suporta múltiplas moedas. O moeda base\n" "é a padrão para novas contas e novos relatórios." #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "Base:" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "Configurar moedas adicionais" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Adicionar" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Não localizado" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" "O HomeBank pode preencher as categorias no seu idioma\n" "se um arquivo CSV estiver disponível e fornecido pela comunidade." #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "Configurar categorias para o meu idioma" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Arquivo predefinido:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" "O HomeBank possibilita a importação de contas a partir de arquivos\n" "baixados de instituições financeiras, ou você pode criar sua conta " "manualmente." #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "Criar minha primeira conta" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Nome:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" "Esta é uma página de confirmação.\n" "\n" "Clique \"Aplicar\" para salvar as mudanças." #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "Configuração de Arquivo Inicial" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "Opções de Arquivo" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "Escolha de Moedas" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "Escolha de Categorias" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "Criar Conta" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "Terminar Configuração de Arquivo" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "Válido" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Nome" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Abrir" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Arquivos conhecidos" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "Arquivos QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "Arquivos OFX/QFX" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "Arquivos CSV" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Todos os arquivos" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "nova conta global" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "nova conta" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "ignorado" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr ", %d de %d transações" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "Importar %s in_to:" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "este arquivo" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "esta conta" #: ../src/ui-assist-import.c:1331 #, 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:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "%d transação(ões), %d similar(es), %d existente(s), %d selecionado(s)" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d transação(ões), %d selecionado(s)" #: ../src/ui-assist-import.c:1384 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:1392 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:1398 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:1418 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:1422 msgid "Don't show this again" msgstr "Não mostrar isto novamente" #: ../src/ui-assist-import.c:1481 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" "Arraste e solte um ou mais arquivos para importar.\n" "Você também pode usar os botões +/- no final da lista." #: ../src/ui-assist-import.c:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" "Há muitas entradas nos arquivos que você escolheu,\n" "por favor use o botão de voltar e selecione menos arquivos." #: ../src/ui-assist-import.c:1662 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:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Classificação de datas:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "_Importar observações" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "_Trocar observações entre favorecidos" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "OFX_Nome:" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "OFX_Observação:" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Inverter" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "Frase _case observação / beneficiário" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "Alternar valor" #: ../src/ui-assist-import.c:1798 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:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "dias" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "Executar automação" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "Enriquecer com favorecido padrão" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "Executar designações automáticas" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "Clique em \"Aplicar\" para atualizar suas contas." #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Bem-vindo(a)" #: ../src/ui-assist-import.c:2264 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:2269 msgid "Import" msgstr "Importar" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Confirmação" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Erro no formato de arquivo" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "Tem certeza que deseja apagar a entrada?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 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:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Limpar" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Gerenciar orçamento" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "_Importar CSV" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "E_xportar CSV" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Saldo:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "é o mesmo todo mês" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "_Limpar entrada" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "é diferente a cada mês" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Preferências" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Forçar monitoramento desta categoria" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Fev" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Abr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Maio" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Ago" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "Set" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Out" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 msgid "Dec" msgstr "Dez" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "Resumo" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "Totais" #: ../src/ui-budget-tabview.c:1561 msgid "Annual Total" msgstr "Total Anual" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "Média Mensal" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "Mensal" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "Adicionar uma categoria" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "_Aplicar" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "Categoria pai" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "Nome da categoria" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 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:2350 msgid "Merge categories" msgstr "Unir categorias" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" "Transações atribuídas à categoria '%s', serão movidas para a categoria " "selecionada abaixo." #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "Categoria alvo" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "E_xcluir a categoria '%s'" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "Tem certeza de que quer limpar as entradas para '%s'?" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "Orçamento (visão de tabela)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "Adicionar categoria" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "Remover categoria" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Mesclar" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "Limpar entrada" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Excluir categorias não utilizadas" #: ../src/ui-category.c:1598 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:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Editar..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "Receita" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "Mudar tipo para _filho" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Mesclar categoria '%s'" #: ../src/ui-category.c:1943 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:1952 msgid "Include _subcategories" msgstr "Incluir _subcategorias" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Gerenciar Categorias" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "E_xcluir não utilizada" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "Mover/Unir" #: ../src/ui-category.c:2460 msgid "new category" msgstr "Nova Categoria" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Moeda" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Formatar" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Personalizar" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Símbolo:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "É pre_fixo" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "_Caractere decimal:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Número de dígitos fracionários:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "Adicionar uma moeda_customizada" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "Atualização Online" #: ../src/ui-currency.c:1762 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:206 msgid "Transaction" msgstr "Transação" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Atualizar" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Selecione a moeda corrente" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "Moeda:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Exportar como QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Importar do CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "Abrir arquivo HomeBank" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "Abrir arquivo de backup do HomeBank" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "Salvar arquivo HomeBank como" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Arquivos HomeBank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "Backup de arquivo" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "Todos backups" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Salvar alterações no arquivo antes de fechar?" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "Fechar _sem salvar" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "Exportar com _CSV" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Pasta:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Escolha uma pasta" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Nome do arquivo:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Exportar como PDF" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Exportar como _PDF" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" "Para o HomeBank, a impressão é orientada a uma atitude amiga\n" "do meio ambiente ao usar o formato digital mais comum: o PDF. " #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Selecionar entre possíveis transações" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Selecionar uma ação:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "Criar uma nova transação" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "selecionar uma transação existente" #: ../src/ui-dialogs.c:1091 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:1049 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:1155 msgid "_Memo:" msgstr "_Observações:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Informação:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "Diferencia maiúscula e minúsculas" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Qualquer Situação" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Qualquer tipo" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Transferência" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Forçar:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "exibir 'Adicionado'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "exibir 'Editado'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "exibir 'Lembrete'" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "mostrar 'Nula'" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "Datas" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "Pagamentos" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Valores" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "Textos" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Categorias" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Beneficiários" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Propriedades do arquivo" #: ../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" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "Pagamento." #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Excluir favorecido não utilizado" #: ../src/ui-payee.c:1194 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:1375 msgid "Default" msgstr "Padrão" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "Forma de pagamento" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "Mesclar favorecido '%s'" #: ../src/ui-payee.c:1510 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:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "E_xcluir o favorecido '%s'" #: ../src/ui-payee.c:1613 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:1710 msgid "Manage Payees" msgstr "Gerenciar Favorecidos" #: ../src/ui-payee.c:1854 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:1949 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 "Escolha uma pasta padrão para os backups do HomeBank" #: ../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:1214 msgid "General options" msgstr "Opções gerais" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "Opções de arquivos OFX/QFX" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "Opções QIF" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "Opções CSV" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "(apenas para importação de transações)" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "Separador:" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Filtro inicial" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Opções dos gráficos" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Esquema de cores:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "Fonte de legenda menor" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Opções das estatísticas" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Exibir por _quantidade" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Exibir coluna de _taxa" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Exibir _detalhes" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Opções dos orçamentos" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Ativar" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Pré-definido:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "Interface do usuário" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Idioma" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "Exibição de data" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Formato:" #: ../src/ui-pref.c:1614 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 dia da semana local abreviado.\n" "%A dia da semana local completo.\n" "%b mês local abreviado.\n" "%B mês local completo.\n" "%c representação local apropriada de hora e data.\n" "%C número do século (o ano divido por 100 e truncado para um número inteiro) " "em número decimal [00-99].\n" "%d dia do mês em número decimal [01,31].\n" "%D o mesmo que %m/%d/%y. \n" "%e dia do mês em número decimal [1,31]; um dígito único é precedido por um " "espaço.\n" "%j dia do ano em número decimal [001,366]. \n" "%m mês em número decimal [01,12]. \n" "%p representação local apropriada de data. \n" "%y ano sem século em número decimal [00,99]. \n" "%Y ano com século em número decimal." #: ../src/ui-pref.c:1644 msgid "Fiscal year" msgstr "Ano fiscal" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "Inicia _em:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Unidades de medida" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Usar _milhas ao invés de metros" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Usar _galões como medida de combustível" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "rótulo = make_label_group (_ (\"Janela de transação\"));" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "dias adiante" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "Esconder conciliadas" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "Sempre exibir lembretes" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "Sempre exibir nulas" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "Incluir lembretes no saldo" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "Manter a última data ao fazer várias inclusões" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "dias corridos" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "_Linhas de grade:" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "Sobrescrever" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "_Tamanho da fonte:" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "Tema escuro" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Cores dos valores" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Utilizar cores personalizadas" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Despesa:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Receitas" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Aviso:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "_Ativar backups automáticos" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "_Número de backups para manter:" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "A frequência de backup é uma vez por dia" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "_Carteiras:" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "_Backups" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "Arquivos do Exchange" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Importar:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Exportar:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Iniciar programa" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Exibir tela de abertura" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Carregar último arquivo aberto" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Transações pendentes agendadas" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Atualizar moedas online" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Janela principal de relatórios" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "Redefinir Todas as Preferências" #: ../src/ui-pref.c:2244 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:2265 msgid "Preferences" msgstr "Preferências" #: ../src/ui-pref.c:2512 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:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" "O diretório de backup mudou, você talvez\n" "precise copiar o arquivo '.bak' para o novo local." #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Divisões da transação" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "Excluir tudo" #: ../src/ui-split.c:966 msgid "Apply" msgstr "Aplicar" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "Cancelar" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Valor da transação:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Não atribuídas:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Total das divisões:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "Atenção: a soma das divisões e o montante da transação não conferem" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "Atenção: a soma das divisões e o tipo da transação não conferem" #: ../src/ui-tag.c:602 #, 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:645 #, c-format msgid "Merge tag '%s'" msgstr "Unir as etiquetas '%s'" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" "Transações atribuídas a essa etiqueta, serão\n" "movidas para a etiqueta selecionada abaixo." #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "_Excluir a etiqueta '%s'" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" "Essa etiqueta já foi usada.\n" "Aquela etiqueta sera excluída de quaisquer transações que a utilize." #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "Gerenciar Marcadores" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "novo marcador" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "Transação de %s criada." #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Você gostaria de quebrar a transferência interna?\n" "Ao continuar, a transação alvo será excluída." #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "_Quebrar" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Exibir agendamento" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "Exibir todas as contas" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "Usar um modelo" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "Adicionar & Continuar" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Adicionar transação" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "Adicionar modelo" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Herdar transação" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "Herdar modelo" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "Editar transação" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "Editar modelo" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "Valor" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "Para" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "Livro _2" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 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:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "Categoria" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "_Observações" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "Marcadores" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "Aviso: quantia e categoria parecem não bater" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "Editar várias transações" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" "Digitar como\n" "transferência" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "Tempo" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "Tendência" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "Desativado" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "incluir" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Excluir" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(sem tipo)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "No Banco" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Dinheiro" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Ativo" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Cartão de crédito" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Passivo" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "Poupança" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Este mês" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Mês passado" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Este trimestre" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Último trimestre" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Este ano" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "Ano passado" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Últimos 30 dias" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Últimos 60 dias" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Últimos 90 dias" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Últimos 12 meses" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "personalizado" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Todas datas" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "Próximo mês" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "Próximos 30 dias" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "Próximos 60 dias" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "Próximos 90 dias" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "Nula" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Possível" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Antes" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Depois" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Despesas & Receitas" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "Não liquidada" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Não reconciliada" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Sem categoria" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "Seg" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "Ter" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "Qua" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "Qui" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "Sex" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "Sáb" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "Dom" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Janeiro" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Fevereiro" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Março" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Abril" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Junho" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Julho" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Agosto" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Setembro" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Outubro" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Novembro" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Dezembro" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Set" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Pesquisar..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Cheque" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "Transferência Bancária" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Cartão de débito" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Ordem permanente" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Pagamento eletrônico" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Depósito" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Taxa da Instituição Financeira" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Débito Direto" homebank-5.5.2/po/de.po0000664000175000017500000031052614021210657011605 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: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2021-02-07 19:57+0000\n" "Last-Translator: T \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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 eine freie Software, die 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 zur einfachen Bedienung und ausführlichen 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "Es gibt eine %d-Gruppe ähnlicher Transaktionen." #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Es wurden keine ähnlichen Transaktionen gefunden!" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "Überprüfe internes Übertragungsergebnis" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Keine Unstimmigkeiten gefunden." #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" "Inkonsistenz gefunden: %d\n" "Möchten Sie diese überprüfen und beheben?" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Jeder Buchungsbetrag wird durch %.6f geteilt." #: ../src/dsp-account.c:394 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:396 msgid "_Convert" msgstr "Konvertiere" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Keine Transaktion geändert" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "Transaktion geändert: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Ergebnis der automatischen Zuordnung" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" "Möchten Sie aus jeder ausgewählten\n" "Transaktion eine Zuordnung erstellen?" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "A_nlegen" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" "Möchtest Sie aus jeder ausgewählten\n" "Transaktion eine Vorlage erstellen?" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" "Möchtest Sie alle ausgewählten\n" "Transaktionen löschen?" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Löschen" #: ../src/dsp-account.c:1677 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:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "" "Einige Transaktion(en) in Ihrer Auswahl sind bereits im Status \"Abgeglichen" "\"." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "Ä_ndern" #: ../src/dsp-account.c:1735 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:1737 msgid "_Toggle" msgstr "_Umschalten" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d Transaktionen" #: ../src/dsp-account.c:2101 #, 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:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Hinzufügen …" #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "Über_nehmen …" #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Bearbeiten …" #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "_Mehrere bearbeiten..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Status" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Keine" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Freigegeben" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "Ab_geglichen" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "_Split anzeigen" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Vorlage erstellen …" #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "Erstelle Zuordnung..." #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Löschen …" #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "_Hoch" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "_Runter" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "K_onto" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "QIF exportieren …" #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "CSV exportieren …" #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Als PDF exportieren ..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "Drucken..." #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "S_chließen" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Bearbeiten" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Kopieren" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Einfügen" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Einfügen (heute)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Transakti_on" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "_Finden" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Werkzeuge" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Duplikate markieren ..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "Internen Transfer überprüfen" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Automatische Zuordnung" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filter …" #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "In Euro umwandeln..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Hinzufügen" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Neue Transaktion hinzufügen" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Übernehmen" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Von der aktiven Transaktion übernehmen" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Bearbeiten" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Aktive Transaktion bearbeiten" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Freigegeben" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Aktuelle Transaktion(en) auf den Status \"Freigegeben\" umschalten" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Ausgeglichen" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Aktuelle Transaktion(en) auf den Status \"Ausgeglichen\" umschalten" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "Mehrere bearbeiten" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Mehrere Transaktionen bearbeiten" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Vorlage erstellen" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "Löschen" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Lösche ausgewählte Transaktion(en)" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "Hoch" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "Transaktion nach oben verschieben" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "Runter" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "Transaktion nach unten verschieben" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(geschlossen)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Alle Transaktionen" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Aktualisieren" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Zeitraum:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "Aktiviert \"zeige zukünftige Transaktionen\"" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Typ:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Zurücksetzen" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Euro_klein" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "Abgeglichen" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "Freigegeben:" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Heute:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Willkommen bei HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "_Zuletzt geöffnete Datei öffnen" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "_Neue Datei erstellen" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Öffne existierende Datei" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Öffne die _Beispiel-Datei" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "HomeBank _Anleitung lesen" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Konfiguration Voreinstellung" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "Dieses Fenster beim nächsten Mal anzeigen" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" "Sie sind dabei die Backup Datei '%s' zu öffnen.\n" "\n" "Sind Sie sicher, dass Sie dies tun möchten?" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "Backup-Datei öffnen?" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "Backup öffnen" #: ../src/dsp-mainwindow.c:1044 #, 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/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Unbekannter Fehler" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "E/A Fehler für Datei: %s" #: ../src/dsp-mainwindow.c:1132 #, 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:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Dateifehler" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "Die Datei wurde seit dem Lesen geändert." #: ../src/dsp-mainwindow.c:1212 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:1213 msgid "S_ave Anyway" msgstr "Trotzdem speichern" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "Bereinigen" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Datei" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Neu" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "Ö_ffnen …" #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Zuletzt ge_öffnet" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Speichern" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Speichern _unter …" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "Import …" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "Export als QIF …" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Rückgängig" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "Sicherung wiederherstellen" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Eigenschaften …" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Beenden" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Eins_tellungen …" #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Ansicht" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "Werkzeugleis_te" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Größte Ausgaben" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "_Untere Listen" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro - Altwährung" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Verwalten" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "_Konten …" #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Zahlungsempfänger …" #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Kate_gorien …" #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Geplant/Vorlage …" #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Budget …" #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "Budget (Tabellenansicht)..." #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Zuordnungen …" #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Währungen ..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "Markierungen …" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Transaktionen" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Hinzufügen …" #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Anzeigen …" #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Alle anzeigen …" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Zeitplan einstellen …" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Geplante Transaktionen buchen" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Berichte" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "Stat_istiken …" #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Trendzeit …" #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "_Saldo..." #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "B_udget …" #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "_Fahrzeugkosten …" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Begrüßungsdialog anzeigen …" #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Dateistatistik …" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Anonymisieren …" #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Hilfe" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "Inha_lt …" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "Hilfe online erhalten..." #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Auf Aktualisierungen prüfen …" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Informationen zur aktuellen Version" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Ein Problem melden …" #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Diese Anwendung übersetzen …" #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "Ü_ber" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "Neu" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Neue Datei erstellen" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "Öffnen" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Eine Datei öffnen" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Eine vor kurzem genutzte Datei öffnen" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "Speichern" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Aktuelle Datei speichern" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Konto" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "Verwalten Sie die Konten" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Zahlungsempfänger" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "Verwalten Sie die Zahlungsempfänger" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Kategorie" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "Verwalten Sie die Kategorien" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "Geplant/Vorlage" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "Verwalten der geplanten/vorgesehenen Transaktionen" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Budget" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "Verwalten Sie das Budget" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Zuweisung" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "Verwalten Sie die automatischen Zuordnungen" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "Anzeigen" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Zeigt die Transaktionen des ausgewählten Kontos an" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Transaktion hinzufügen" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "Statistiken" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Statistische Auswertung öffnen" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "Trendzeit" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Den Trendzeit-Report öffnen" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Saldo" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Kontostand-Bericht öffnen" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Budget-Auswertung öffnen" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Fahrzeugkosten" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Öffne die Fahrzeugkosten Übersicht" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "Hilfe" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "Spenden" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "An das Homebank Projekt spenden" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Geplant" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Zukünftig" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Erinnern" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "**VORGEFÜLLT**" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(keine Kategorie)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "Ungültiges CSV-Format" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Datum" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Info" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Buchungstext" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Betrag" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Unbekannt" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "km/l" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(kein Zahlungsempfänger)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "HomeBank-Optionen" #: ../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:515 msgid "Your accounts" msgstr "Ihre Konten" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Alle aufklappen" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Alle zuklappen" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Alle anzeigen" #: ../src/hub-account.c:556 msgid "By type" msgstr "Nach Typ" #: ../src/hub-account.c:557 msgid "By group" msgstr "Nach Gruppe" #: ../src/hub-account.c:558 msgid "By institution" msgstr "Nach Institutionen" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Kein Vorgang hinzuzufügen" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "Transaktion hinzugefügt: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Überprüfe Ergebnis der geplanten Transaktionen" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Gesamt" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Geplante Transaktionen" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "_Überspringen" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" msgstr "Po_sten bearbeiten" #. 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Buchen" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "Größte %d Ausgaben" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Andere" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Wohin das Geld geht" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "importiertes Konto" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Gesamtsumme" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "zuletzt abgeglichen" #: ../src/list-account.c:544 msgid "until" msgstr "bis" #: ../src/list-account.c:559 msgid "before" msgstr "vor" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Konten" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Heute" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- aufgeteilt -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "- dies benötigt eine Kategorie -" #: ../src/list-operation.c:1438 msgid "Match" msgstr "Übereinstimmung" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Status" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Ausgaben" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Einnahmen" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Nächster Termin" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d unter %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Liste" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Ergebnisse als Liste anzeigen" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Linie" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Ergebnisse als Linien anzeigen" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Details" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Details anzeigen" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Aktualisieren" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Ergebnisse aktualisieren" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "Drucken" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Kontostand-Bericht" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Anzeigen" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "Inter_val:" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "Zeige leere Zeile" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Zoom X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Vom:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Bis:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Name des Kontos" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Auswahl:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Alle" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Ohne" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Budget für %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Ergebnis" #: ../src/rep-budget.c:852 msgid " over" msgstr " über" #: ../src/rep-budget.c:858 msgid " left" msgstr " verbleiben" #: ../src/rep-budget.c:861 msgid " under" msgstr " unter" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "Stapel" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "Ergebnissanzeige als Säulendiagramm" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "_Ergebnis in die Zwischenablage" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "_Ergebnis in CSV" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "_Details in die Zwischenablage" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "_Details in CSV" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Budget-Auswertung" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Ansicht nach:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "Nur außerhalb des Budgets" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Ergebnis:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Budget:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Ausgegeben:" #: ../src/rep-budget.c:1422 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:1423 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:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Ausgaben" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Unterkategorie" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Stichwort" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Monat" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Jahr" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s nach %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "Zu viele Spalten zum Anzeigen" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" "Bitte wählen Sie einen größeren Intervall und/oder einen engeren " "Datumsbereich" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "Spalte" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Ergebnisse in einer Spalte darstellen" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "Donut" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Ergebnisse in einem Ringdiagramm anzeigen" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "Legende" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Legende anzeigen" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "Bewerten" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Wachstum anzeigen" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "Filter" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Filter bearbeiten" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Statistische Auswertung" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "Modus:" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "Nach Wert _sortieren" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "Ausgaben und Einnahmen vergleichen" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "Gesamt:" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Einnahmen:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Ausgaben:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "Durchschnitt" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Tag" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Woche" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Quartal" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "Halbjahr" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s über Zeit" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Mittelwert: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Trendzeit-Report" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Konto:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Kategorie:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Zahlungsempfänger:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Stichwort" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "_Alles auswählen" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Ansammeln" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Meter" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Treibstoff" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Preis" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Distanz" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "Export" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Als CSV exportieren" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Fahrzeugkosten-Bericht" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "_Fahrzeug" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Meter:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Verbrauch:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Treibstoffkosten:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Andere Kosten:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Gesamtkosten:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(ohne)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Sichtbar" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Abbrechen" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Name des Kontos" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Fehler" #: ../src/ui-account.c:1505 #, 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:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "Konto '%s' kann nicht gelöscht werden" #: ../src/ui-account.c:1557 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:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, 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:1570 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:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Konten verwalten" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "Umbenennen" #: ../src/ui-account.c:1917 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:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Allgemein" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "_Gruppe:" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "_Institution:" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "N_ummer:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Anfangskontostand" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Währung:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "Dieses Konto wurde _geschlossen" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Bemerkungen:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "Verhalten" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "Automatisierung" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "Standard _Vorlage:" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Berichtsausschluss" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "von der Kontoübersicht ausschließen" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "vom _Budget ausschließen" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "von Berichten ausschließen" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "Sonstiges" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Aktuelle Schecknummer" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Scheckbuch _1:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Scheckbuch _2:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Bilanzgrenzen" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "_Überziehung bei:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "Max_imum" #: ../src/ui-archive.c:753 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:972 msgid "Next _date:" msgstr "Nächster _Termin:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "_Jeden:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "Weitere Optionen" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Wochenende:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "En_det nach:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "Einträge" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Transaktionsvorlagen und regelmäßige Transaktionen verwalten" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Vorlage" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "_Terminplanung" #: ../src/ui-assign.c:344 msgid "Search" msgstr "Suchen" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "Anmerkungen" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "(Regel %d)" #: ../src/ui-assign.c:654 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:718 #, fuzzy, c-format msgid "This search text already exists at position %d" msgstr "Dieser Suchtext existiert bereits" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Deaktiviert" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Wenn leer" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Überschreiben" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Zuordnungen verwalten" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "Drag & Drop zum Ändern der Reihenfolge" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Bedingung" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "_Suchen:" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "Groß-/Kleinschreibung" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "Regulärer Ausdruck" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "_In:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "Zuweisungen" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Be_zahlung:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" "Dieser Assistent hilft Ihnen beim Einrichten einer Mindestkonfiguration\n" "für eine neue HomeBank Datei." #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" "Alle getätigten Einstellungen können bei Bedarf später geändert werden." #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" "Es werden keine Änderungen vorgenommen, bis Sie auf \"Übernehmen\" klicken\n" "am Ende dieses Assistenten." #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" "HomeBank zeigt einen Titel für das Hauptfenster an,\n" "Es kann eine freie Bezeichnung oder Ihr Name sein." #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Titel" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" "HomeBank unterstützt mehrere Währungen. Die Basiswährung ist\n" "Die Standardeinstellung für neue Konten und Berichte." #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "Basis" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "Richten Sie zusätzliche Währungen ein" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Hinzufügen" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Nicht gefunden" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" "HomeBank kann die Kategorien für Ihre Sprache vorab ausfüllen\n" "wenn eine CSV-Datei verfügbar ist und von der Gemeinschaft bereitgestellt " "wird." #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "Kategorien einrichten für meine Sprache" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Vorlage:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" "HomeBank ermöglicht den Import Ihrer Konten von heruntergeladenen\n" "Dateien von Finanzinstituten, oder Sie können Ihr Konto manuell erstellen." #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "Erstelle mein erstes Konto" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Name:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" "Dies ist eine Bestätigungsseite,,\n" "\n" "Klicken Sie auf 'Übernehmen' um Änderungen anwenden" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "Starten Sie das Datei-Setup" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "Dateioptionen" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "Währungen wählen" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "Kategorien wählen" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "Konto anlegen" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "Beende Datei-Setup" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "Gültig" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Name" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Öffnen" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Bekannte Dateien" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF-Dateien" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX-Dateien" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV-Dateien" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Alle Dateien" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "neues globales Konto" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "neues Konto" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "übersprungen" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr ", %d of %d Transaktionen" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "Importiere %s in_to:" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "diese Datei" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "dieses Konto" #: ../src/ui-assist-import.c:1331 #, 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:1340 #, 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:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d Transaktion(en), %d ausgwählt" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "Importiere Transaktionen von Bank- oder Kreditkarte" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 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:1422 msgid "Don't show this again" msgstr "Diese Meldung nicht mehr anzeigen" #: ../src/ui-assist-import.c:1481 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" "Drag&Drop eine oder mehrere Dateien zum Importieren.\n" "Sie können auch die Buttons Hinzufügen/Entfernen der Liste nutzen." #: ../src/ui-assist-import.c:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" "Die von Ihnen ausgewählten Dateien enthalten zu viele Konten,\n" "benutzen Sie bitte den Zurück-Button, um weniger Dateien auszuwählen." #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "Identifikation des Zielkontos nach Nummer oder Name ist fehlgeschlagen" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Datumsreihenfolge:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "_Importiere Memos" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "_Austausch von Memos mit Zahlungsempfängern" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "OFX-_Name" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "OFX-_Memo" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Umkehren" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "Satz _case Memo/Zahlungsempfänger" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "_Wert umstellen" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "Ähnliche Transaktion auf dem Zielkonto (mögliches Duplikat)" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "Tag(e)" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "Automatisch ausführen" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "1) Erweitern mit Standard-_Zahlungsempfänger" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "2) Automatische _Zuweisungsregeln ausführen" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "Führen Sie automatische Zuordnungsregeln aus" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Willkommen" #: ../src/ui-assist-import.c:2264 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:2269 msgid "Import" msgstr "Importieren" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Bestätigung" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Falsches Dateiformat" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 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:914 ../src/ui-budget-tabview.c:2508 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:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Leeren" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Budget verwalten" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "CSV importieren" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "CSV exportieren" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Saldo:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "ist pro Monat gleich" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "Eingabe löschen" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "ist pro Monat unterschiedlich" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Einstellungen" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Beobachten dieser Kategorie erzwingen" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mrz" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Mai" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 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:266 msgid "Oct" msgstr "Okt" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "Jährliche Gesamtzahlen" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "Monatlicher Durchschnitt" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "Monatlich" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "Eine Kategorie hinzufügen" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "_Anwenden" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "Übergeordnete Kategorie" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "Kategorienname" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 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:2350 msgid "Merge categories" msgstr "Kategorien zusammenfassen" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" "Transaktionen, die der Kategorie '%s' zugeordnet sind, werden in die unten " "ausgewählte Kategorie verschoben." #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "Zielkategorie" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "Kategorie '%s' _löschen" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "Sind Sie sicher, dass Sie die Eingaben für '%s' löschen wollen?" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "Budget (Tabellenansicht)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "Kategorie hinzufügen" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "Kategorie entfernen" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Zusammenführen" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "Eingabe löschen" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "# txn" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "# cfg" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Unbenutzte Kategorien löschen" #: ../src/ui-category.c:1598 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:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Bearbeiten …" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "E_inkommen" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "Typ für _child ändern" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Kategorie '%s' zusammenführen" #: ../src/ui-category.c:1943 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:1952 msgid "Include _subcategories" msgstr "Unterkategorien einbeziehen" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Kategorien verwalten" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "Unbenutzte Löschen" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "Bewegen/Zusammenführen" #: ../src/ui-category.c:2460 msgid "new category" msgstr "neue Kategorie" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Währung" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Format" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Anpassen" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Symbol:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "Ist pre_fix" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "_Dezimalzeichen" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Nachkommastellen:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "Füge benutzerdefinierte _Währung hinzu" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "Online aktualisieren" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "Als Standard festlegen" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Dateistatistik" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "Transaktion" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Aktualisieren" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Standardwährung wählen" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "Währung:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Nach QIF exportieren" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Aus CSV importieren" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "Öffne HomeBank-Datei" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "Öffne HomBank Sicherungsdatei" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "Speichere HomeBank-Datei als" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "HomeBank-Dateien" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "Sicherungsdatei" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "Alle Sicherungen" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Sollen die Änderungen vor dem Beenden gespeichert werden?" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "_Ohne speichern beenden" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "Als _.csv exportieren" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Ordner:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Wählen Sie einen Ordner" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Dateiname:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Als PDF exportieren" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Exportiere als _PDF" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" "Mit HomeBank wird das Drucken in eine ökologisch-verantwortungsvolle\n" "Richtung zum am weitesten verbreiteten digitalen Format orientiert: Dem PDF-" "Format. " #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Aus den möglichen Transaktionen auswählen …" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Wähle eine Aktion" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "Erstelle eine neue Überweisung" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "Wähle eine bestehende Überweisung" #: ../src/ui-dialogs.c:1091 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:1049 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:1155 msgid "_Memo:" msgstr "_Buchungstext:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Info:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "_Groß-/Kleinschreibung berücksichtigen" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Jeder Status" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Jeder Typ" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Überweisung" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Erzwinge:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "'Hinzugefügt' anzeigen" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "'Bearbeitet' anzeigen" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "'Erinnerung' anzeigen" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "Zeige 'Ungültig'" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "Datum" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "Zahlungen" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Beträge" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "Texte" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Kategorien" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Zahlungsempfänger" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Dateieigenschaften" #: ../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" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "bezahlen" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Unbenutzen Zahlungsemfpänger löschen" #: ../src/ui-payee.c:1194 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:1375 msgid "Default" msgstr "Standard" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "Zahlung (_Y):" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "Zahlungsenpfänger '%s' zusammenführen" #: ../src/ui-payee.c:1510 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:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "Zahlungsempfänger '%s' _löschen" #: ../src/ui-payee.c:1613 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:1710 msgid "Manage Payees" msgstr "Zahlungsempfänger verwalten" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "Allgemeine Optionen" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "OFX/QFX-Optionen" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "QIF Optionen" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "CSV-Einstellungen" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "(Nur Transaktionsimport)" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "Trennzeichen:" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Standardfilter" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Diagrammoptionen" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Farbschema:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "Kleinere Legenden_schriftart" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Statistikoptionen" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Nach _Betrag anzeigen" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "_Raten-Spalte anzeigen" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "_Details anzeigen" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Budget-Einstellungen" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "Aktivi_eren" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "V_orlage:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "Benutzeroberfläche" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Sprache:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "_Datumsanzeige:" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Format:" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Wirtschaftsjahr" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "Beginnt am:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Maßeinheit" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Verwende _Meilen statt Meter" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Verwende _gallone für Kraftstoff" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "Transaktionliste" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "Tage voraus" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "Abgestimmte ausblenden" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "Immer Erinnerung anzeigen" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "Ungültig immer anzeigen" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "Mahnung ins Gleichgewicht bringen" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "Transaktionsdialog" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "laufende Tage" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "Rahmen (G):" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "Gtk Einstellungen" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "Überschreiben" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "Schrift_größe:" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "Dunkles Thema" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Farben der Werte" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Verwendet persönliche Farben" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Ausgaben:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Einnahmen:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Warnungen:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "_Aktiviere automatische Sicherungen" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "_Anzahl der zu behaltenden Sicherungen" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "Tägliche Sicherungen" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "_Börsen" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "_Wiederherstellungen:" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "Austauschdateien" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Importieren:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "Exportieren:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Programmstart" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Startbildschirm anzeigen" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Zuletzt benutzte Datei öffnen" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Anstehende gepalnte Transaktionen buchen" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Währungen online aktualisieren" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Berichte im Hauptfenster" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "Maximale_Posten:" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "Alle Einstellungen zurücksetzen" #: ../src/ui-pref.c:2244 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:2265 msgid "Preferences" msgstr "Einstellungen" #: ../src/ui-pref.c:2512 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:2520 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:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Transaktion spalten" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "Alle löschen" #: ../src/ui-split.c:966 msgid "Apply" msgstr "Übernehmen" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "Abbrechen" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Buchungsbetrag:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Nicht zugewiesen:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Anzahl der Aufteilungen:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" "Warnung: Summe der Teilungen und Transaktionsbetrag stimmen nicht überein" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "Warnung: Summe der Splits und Transaktionstyp stimmen nicht überein" #: ../src/ui-tag.c:602 #, 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:645 #, c-format msgid "Merge tag '%s'" msgstr "Tag '%s' zusammenführen" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" "Diesem Tag zugewiesene Transaktionen,\n" "wird zu dem unten ausgewählten Tag verschoben." #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "_Löschen Sie das Tag '%s'" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" "Dieses Tag wird verwendet.\n" "Dieses Tag wird aus jeder Transaktion gelöscht, die es verwendet." #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "Markierungen verwalten" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "neue Markierung" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "Transaktion von %s erstellt." #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Möchten Sie die interne Übertragung unterbrechen?\n" "\n" "Wenn Sie fortfahren, wird die Zieltransaktion gelöscht." #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "_Unterbrechen" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Zeige geplante" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "Zeige _alle Konten" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "Eine Vorlage benutzen" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "hinzufügen & behalten" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Transaktion hinzufügen" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "Vorlage hinzufügen" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Transaktion übernehmen" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "Vorlage vererben" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "Transaktion bearbeiten" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "Vorlage bearbeiten" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "Betr_ag:" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "A_n:" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "Buch _2" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 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:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "Kategorie" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "Buchungst_ext:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "_Schlagwörter:" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "Achtung: der Betrag und das Kategoriezeichen passen nicht zueinender" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "Mehrere Transaktionen bearbeiten" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" "Eingabe als\n" "Transfer" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "Zeit" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "Trend" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "Deaktiviert" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Einbeziehen" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Ausschliessen" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "Kein Typ" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Bank" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Bargeld" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Anlagegüter" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Kreditkarte" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Verbindlichkeit" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "Prüfen" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "Ersparnisse" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Aktueller Monat" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Letzter Monat" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Dieses Quartal" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Letztes Quartal" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Dieses Jahr" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "Letztes Jahr" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Letzte 30 Tage" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Letzte 60 Tage" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Letzte 90 Tage" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Letzten 12 Monate" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "Benutzerdefiniert" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Jedes Datum" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "Nächster Monat" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "Nächsten 30 Tage" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "Nächsten 60 Tage" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "Nächsten 90 Tage" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "Ungültig" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Möglich" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Vorher" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Nachher" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Ausgaben & Einnahmen" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "Nicht freigegeben" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Nicht ausgeglichen" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Ohne Kategorie" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "Mon" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "Die" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "Mi" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "Do" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "Fr" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "Sa" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "So" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Januar" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Februar" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "März" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "April" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Juni" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Juli" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "August" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Oktober" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "November" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Dezember" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Suchen …" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Scheck" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "Überweisung" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Debit-Karte" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Dauerauftrag" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Elektronische Bezahlung" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Einzahlung" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Bankgebühr" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Lastschrift" homebank-5.5.2/po/ckb.po0000664000175000017500000025032314021210657011752 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2020-02-18 11:49+0000\n" "Last-Translator: Aras \n" "Language-Team: Kurdish (Sorani) \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:00+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "+گۆڕین" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_سڕینەوە" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_گۆڕین" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_زیادکردن..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "" #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_ڕێکخستن" #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_ڕەوش" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_هیچ" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_پاککرایەوە" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "دروستکردنی ڕووکار..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_سڕینەوە..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "هەژمار" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "" #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "هەناردەکردنی CSV" #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_داخستن" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_ڕێکخستن" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "مامەڵە" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_ئامرازەکان" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "" #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "گۆڕین بۆ یۆرۆ..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "زیادکردن" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "ڕێکخستن" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "پاککرایەوە" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "دروستکردنی ڕووکار" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_نوێکردنەوە" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_جۆر:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_ڕەوش" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2668 msgid "Open the list filter" msgstr "" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "ئەمڕۆ:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "بەخێرهاتی بۆ ماڵەبانک" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "دروستکردنی پەڕگەی _نوێ" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "پەڕگە هەڵەیە" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_پەڕگە" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_نوێ" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_کردنەوە..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_هەڵگرتن" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "هەڵگرتن_وەک..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "گێراندنەوە" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "ڕێکخستنەکان..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_دەرچوون" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "ڕێکخستنەکان..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_بینین" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_ئامراز" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_بەڕێوەبردن" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "هەژمارەکان" #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "" #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "هاوپۆلەکان..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "" #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "" #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "دراوەکان..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_مامەڵەکان" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "زیادکردن" #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "نیشاندان..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_ڕاپۆرتەکان" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_ئامارەکان..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "" #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "" #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "تێچووی ئۆتۆمبێل" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "نیشاندانی پەنجەرەی پێشوازی" #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "پەڕگەی ئامارەکان..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_یارمەتی" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_ناوەڕۆک" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "ڕاپۆرت بدە هەڵەیەک هەیە..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "وەرگێڕانی ئەم نەرماڵەیە..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_دەربارە" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "دروستکردنی پەڕگەی نوێ" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "کردنەوەی پەڕگە" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "هەڵگرتنی پەڕگەی بەردەست" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "هەژمار" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "هاوپۆل" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "نیشاندانی هەژماری مامەڵەی هەڵبژێردراو" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "زیادکردنی مامەڵە" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "کردنەوەی ڕاپۆرتی ئامارەکان" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "تێچووی ئۆتۆمبێل" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "کردنەوەی ڕاپۆرتی تێچووی ئۆتۆمبێل" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "داهاتوو" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "بیرهێنەرەوە" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "بەروار" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "زانیاری" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "بڕ" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "نەزانراو" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "کیلۆمەتر\\لتر" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "میل\\لتر" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" 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:515 msgid "Your accounts" msgstr "هەژمارەکانی تۆ" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:551 msgid "Show all" msgstr "نیشاندانی هەموو" #: ../src/hub-account.c:556 msgid "By type" msgstr "بەپێی جۆر" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "هیچ مامەڵەیەک نیە بۆ زیادکردن" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "مامەڵەکە زیادکرا : %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "سەرجەم" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:299 msgid "Other" msgstr "ئەوانی تر" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "پارەکانت بۆ کوێ دەچن" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "ئەمڕۆ" #: ../src/list-operation.c:586 msgid "- split -" msgstr "" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "ڕەوش" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "دەستکەوت" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "بەرواری داهاتوو" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "لیست" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "دەرئەنجامەکان بەشێوەی لیست نیشان بدە" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "هێڵ" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "دەرئەنجامەکان بەشیوەی هێڵ نیشان بدە" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "زانیاری تەواو" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "نوێکردنەوە" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "نوێکردنەوەی دەرئەنجامەکان" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "نیشاندان" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_لە:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_بۆ:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "ناوی هەژمار" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "هەموو" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "هیچ" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "دەرئەنجام" #: ../src/rep-budget.c:852 msgid " over" msgstr "" #: ../src/rep-budget.c:858 msgid " left" msgstr "" #: ../src/rep-budget.c:861 msgid " under" msgstr "" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_نیشاندان بەپێی:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "دەرئەنجام:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "بەکارهاتوو:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "بەکارهێنراو" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "هاوپۆلی لاوەکی" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "نیشان" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "مانگ" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "ساڵ" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s له‌ لایەن %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "نیشاندانی دەرئەنجام بەشێوەی ستوون" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "دەستهاتوو:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "بەکارهاتوو:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "ڕۆژ" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "هەفتە" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_هاوپۆل:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_نیشان:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "دیاریکردنی_هەموو" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "بەنزین" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "نرخ" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "دووری" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "هەناردەکردن بەشێوەی CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "ڕاپۆرتی تێچووی ئۆتۆمبێل" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "تێچووی بەنزین:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "تیچووی شتی تر:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "تێچووی گشتی:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(هیچ)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "دیار" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_پاشگەزبونەوە" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_باشە" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "ناوی هەژمار" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "هەڵە" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1618 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1836 msgid "Manage Accounts" msgstr "بەرێوەبردنی هەژمارەکان" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "گشتی" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_دراو:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "تێبینییەکان:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "ڕووکار" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "ناچالاککراو" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "ئەگەر بەتاڵ بوو" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "مەرج" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_زیادکردن" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_ناو:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "ناو" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_کردنەوە" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "پەڕگە ناسراوەکان" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "پەڕگەی QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "هەموو پەڕگەکان" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "ڕۆژ" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "بەخێرهاتی" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "هاوردەکردن" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_پاککردنەوە" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "هەڵبژاردەکان" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "ئایار" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "یەکخستن" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "سڕینەوەی هاوپۆلە بەکارنەهاتووەکان" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "دەستکاری..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_دەستهاتوو" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-category.c:1922 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "بەڕێوەبردنی هاوپۆلەکان" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "_سڕینەوەی بەکارنەهاتووەکان" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "هاوپۆلی نوێ" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "دراو" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "شێواز" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_هێما:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "نوێکردنەوە" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "دراوی بنەڕەتی هەڵبژێرە" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "دراو:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "داخستن_بەبێ هەڵگرتن" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_زانیاری:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "هەر ڕەوشێک" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "گواستنەوە" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:194 msgid "File properties" 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 "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1434 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-payee.c:1489 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "ڕێکخستنەکانی ئامار" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "نیشاندان بەپێی _بڕ" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_چالاککردن" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_زمان:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 msgid "_Toolbar:" msgstr "" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1845 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_دەستهاتوو:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "بڕی مامەڵە" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "زیادکردنی مامەڵە" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(هیچ جۆرێک)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "ئەم مانگە" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "مانگی ڕابردوو" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "ئەم ساڵ" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "ساڵی ڕابردوو" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "٣٠ ڕۆژی پێشوو" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "٦٠ ڕۆژی ڕابردوو" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "٩٠ ڕۆژی ڕابردوو" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "١٢ مانگی ڕابردوو" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "هەموو بەروارەکان" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "بەرلەوە" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "دواتر" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "کانونی دووەم" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "شوبات" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "ئازار" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "نیسان" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "حوزه‌یران" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "ته‌مموز" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "ئاب" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "ئه‌یلول" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "تشرینی یه‌كه‌م" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "تشرینی دووه‌م" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "كانونی یه‌كه‌م" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "گەڕان..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "پشکنین" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "" homebank-5.5.2/po/ja.po0000664000175000017500000031355314021210662011606 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2020-05-07 18:08+0000\n" "Last-Translator: Seiichi Saida \n" "Language-Team: Team Puppy Linux Japanese\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" "First-Translator: nyu \n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "似たような取引が%d件あります" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "似たような取引は見つかりませんでした。" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "振込の確認結果" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "矛盾した取引が見つかりませんでした。" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" "矛盾した取引が%d件見つかりました。\n" "確認して修正しますか?" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "すべての取引金額は%.6fで除算されます。" #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "この口座をメジャー通貨であるユーロに\n" "変換してもよろしいのでしょうか?" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "変換(_C)" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "取引の変更はありません" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "%d件の取引が変更されました" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "自動割り当て結果" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" "選択した取引のそれぞれで\n" "割り当てを作成しますか?" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "作成(_C)" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "選択した取引ごとにテンプレートを作成しますか?" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "選択した取引をそれぞれ削除しますか?" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "削除(_D)" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "状態を「なし」に変更してもよろしいですか?" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "選択した取引の一部は既に照合済です。" #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "変更(_C)" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "照合済の状態を切り替えてもよろしいですか?" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "切り替え(_T)" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d件の取引" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d件の取引、%d件選択され、平均:%s、合計:%s (%s - %s)" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "追加(_A)..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "継続(_I)..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "編集(_E)..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "複数の取引を編集(_M)…" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "状態(_S)" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "なし(_N)" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "清算済(_C)" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "照合済(_R)" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "分割取引を表示(_S)" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "テンプレートを作成..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "割り当てを作成…" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "削除(_D)…" #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "上へ(_U)" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "下へ(_D)" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "口座(_C)" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "QIFでエクスポート…" #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "CSVでエクスポート..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "PDFでエクスポート…" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "印刷..." #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "閉じる(_C)" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "編集(_E)" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "コピー" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "貼り付け" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "貼り付け(今日の日付で)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "取引(_O)" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "検索(_F)" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "ツール(_T)" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "重複としてマーク…" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "振込を確認" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "自動割り当て" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "フィルタ(_F)..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "ユーロに変換…" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "追加" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "新しい取引を追加" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "継続" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "当取引から継続" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "編集" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "当取引を編集" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "清算済" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "選択した取引の精算の状態を切り替えます" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "照合済" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "選択した取引の照合の状態を切り替えます" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "複数の取引を編集" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "複数の取引を編集" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "テンプレートの作成" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "削除" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "選択した取引を削除" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "上へ" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "取引を上に移動" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "下へ" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "取引を下に移動" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(閉鎖された)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "全ての取引" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "更新(_R)" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "範囲(_R):" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "将来の取引の表示を切り替え" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "種類(_T):" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "状態(_S):" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "元に戻す(_R)" #: ../src/dsp-account.c:2668 msgid "Open the list filter" msgstr "リストフィルタを開く" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "ヨーロッパのマイナー通貨(_M)" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "本日:" #: ../src/dsp-account.c:2764 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" "などのような文字を匿名化します。" #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "匿名化(_A)" #: ../src/dsp-mainwindow.c:675 msgid "Welcome to HomeBank" msgstr "HomeBank へようこそ" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "最後に開いたファイルを開く(_L)" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "新しいファイルを作成(_N)" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "既存のファイルを開く(_O)" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "サンプルファイルを開く(_E)" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "HomeBankのマニュアルを読む(_M)" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "環境設定(_P)" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "次回はこのウィンドウを表示します" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You 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:997 msgid "Open the backup file?" msgstr "バックアップファイルを開きますか?" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "バックアップを開く(_O)" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "ファイル「%s」を開けません(ファイルが存在しません)。\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "不明のエラー" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "ファイル「%s」の入出力エラーが発生しました。" #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "ファイル「%s」は有効な HomeBank ファイルではありません。" #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "ファイルエラー" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "読み取り後にファイルが変更されています。" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "このファイルを保存すると外部からの変更はすべて失われます。強制的に保存します" "か?" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "とにかく保存する(_A)" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "クリア" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "ファイル(_F)" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "新しい財布(_N)" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "開く(_O)..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "最近開いたファイル(_R)" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "保存(_S)" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "名前を付けて保存(_A)..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "インポート..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "QIFでエクスポート…" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "変更を破棄" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "バックアップを復元" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "プロパティ..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "終了(_Q)" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "環境設定..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "表示(_V)" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "ツールバー(_T)" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "主な支出(_T)" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "画面下のリスト(_B)" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "ヨーロッパのマイナー通貨" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "管理(_M)" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "口座(_O)..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "受取人(_P)..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "カテゴリ" #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "予定取引とテンプレート…" #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "予算…" #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "予算(テーブル表示)…" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "割り当て…" #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "通貨…" #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "タグ…" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "取引(_T)" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "追加..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "表示..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "全表示…" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "予定取引の実行を設定…" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "予定取引を実行" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "報告(_R)" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "統計(_S)…" #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "時間傾向(_T)…" #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "差引残高(_B)…" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "予算(_U)..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "車の費用(_V)..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "ウェルカムダイアログを表示する…" #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "ファイルの統計…" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "匿名化…" #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "ヘルプ(_H)" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "内容(_C)" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "オンラインヘルプ…" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "更新を確認…" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "リリースノート" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "問題を報告..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "このアプリケーションを翻訳する" #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "バージョン情報(_A)" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "新規" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "新しいファイルを作成" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "開く" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "ファイルを開く" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "最近使用したファイルを開く" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "保存" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "現在のファイルを保存" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "口座" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "口座を管理" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "受取人" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "受取人を管理" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "カテゴリ" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "カテゴリを管理" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "予定取引とテンプレート" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "予定取引とテンプレートを管理" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "予算" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "予算を管理" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "割り当て" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "自動割り当てを管理" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "表示" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "選択された口座の取引を表示" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "取引を追加" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "統計" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "統計報告を開く" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "時間傾向" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "時間傾向報告を開く" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "差引残高" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "差引残高報告を開く" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "予算報告を開く" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "車の費用" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "車の費用報告を開く" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "ヘルプ" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "寄付" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "HomeBankプロジェクトへ寄付" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "予定取引" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "将来" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "備忘通知" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "※予備※" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(カテゴリなし)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "無効なCSV形式" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "日付" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "情報" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "摘要" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "金額" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "不明" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f L" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/L" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "マイル/L" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(受取人なし)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" 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:865 #, c-format msgid "%d-q%d" msgstr "%d-Q%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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "HomeBank設定" #: ../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:515 msgid "Your accounts" msgstr "お使いの口座" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "全て展開する" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "全て折畳む" #: ../src/hub-account.c:551 msgid "Show all" msgstr "全表示" #: ../src/hub-account.c:556 msgid "By type" msgstr "口座種類別" #: ../src/hub-account.c:557 msgid "By group" msgstr "グループ別" #: ../src/hub-account.c:558 msgid "By institution" msgstr "金融機関別" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "追加する取引はありません" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "%d件の取引が追加されました" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "予定取引の実行結果を確認" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "合計" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "予定取引" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "実行(_P)" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "支出トップ%d" #: ../src/hub-spending.c:299 msgid "Other" msgstr "その他" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "お金の使い所" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "インポートされた口座" #: ../src/list-account.c:127 msgid "Grand total" msgstr "総計" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "口座" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "本日" #: ../src/list-operation.c:586 msgid "- split -" msgstr "ー分割取引ー" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "ーカテゴリが必要ー" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "状態" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "支出" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "収入" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "次の日付" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%2$d件中%1$d件が %3$s 以下" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "リスト" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "結果をリストで表示" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "行" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "結果を線グラフで表示" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "詳細" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "詳細を切り替え" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "更新" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "結果を更新" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "差引残高報告" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "表示" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "時間間隔(_V):" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "空行を表示" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "X軸のズーム(_Z):" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "から(_F):" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "へ(_T):" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "口座" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "選択:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "全て" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "なし" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "%sの予算" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "結果" #: ../src/rep-budget.c:852 msgid " over" msgstr " 超過" #: ../src/rep-budget.c:858 msgid " left" msgstr " 余剰" #: ../src/rep-budget.c:861 msgid " under" msgstr " 不足" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "積み上げグラフ" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "結果を積み上げグラフで表示" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "結果をクリップボードに(_R)" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "結果をCSVに(_R)" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "詳細をクリップボードに(_D)" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "詳細をCSVに(_D)" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "予算報告" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "表示(_V):" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "予算超過のみ" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "結果:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "予算:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "支出:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "予算の設定されている口座がありません。" #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "口座ダイアログからいくつかの口座を含める必要があります。" #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "支出" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "サブカテゴリ" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "タグ" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "月" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "年" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%2$sによる%1$s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "列が多すぎて表示できない" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "より広い時間間隔またはより狭い日付範囲を選択してください" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "列" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "結果を棒グラフで表示" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "ドーナツ" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "結果をドーナツグラフで表示" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "凡例" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "凡例を切り替え" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "百分率" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "百分率の表示を切り替え" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "フィルタ" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "フィルタを編集" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "統計報告" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "モード:" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "収入:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "支出:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "平均" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "日" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "週" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "四半期" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "半年" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%sについての時間傾向" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "平均:%s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "時間傾向報告" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "口座(_C):" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "カテゴリ(_C):" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "受取人(_P):" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "タグ(_T):" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "全てを選択(_A)" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "累積(_C)" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "メータ" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "燃料" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "価格" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "距離" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "エクスポート" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "CSVでエクスポート" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "車の費用報告" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "車(_C):" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "メータ:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "消費量:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "燃費:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "その他の経費:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "合計経費:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(なし)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "表示" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "キャンセル(_C)" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "口座" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "エラー" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "アカウント「%s」を追加できません。\n" "名前はすでに存在しています。" #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "「%s」口座を削除できません。" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" "この口座には取引が含まれておりますか、この口座は既存の取引の振込元か振込先で" "す。" #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "本当に「%s」を永久に削除しますか?" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "口座を削除すると永久に失われます。" #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "口座を管理" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "名前を変更" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "ドラッグ&ドロップで順番を変更\n" "ダブルクリックで名前を変更" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "一般" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "グループ(_G):" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "金融機関(_I):" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "口座番号(_U):" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "開始残高(_B):" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "通貨(_C)" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "この口座は閉鎖されました(_C)" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "注記:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "動作" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "自動化" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "デフォルトのテンプレート(_T)" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "報告から除外" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "口座の概要から除外する(_S)" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "予算から除外する(_E)" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "全ての報告から除外する(_R)" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "その他" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "現在の小切手番号" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "小切手帳_1:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "小切手帳_2:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "残高限度額" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "最低残高(_O):" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "予定取引やテンプレートを削除すると、永久に失われます。" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "次の日付(_D)" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "毎(_Y):" #: ../src/ui-archive.c:995 msgid "More options" msgstr "詳細の設定" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "週末:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "繰り返し(_S):" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "回" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "予定取引とテンプレートの管理" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "テンプレート" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "予定を編集(_S)" #: ../src/ui-assign.c:344 msgid "Search" msgstr "検索文" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "注記" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "(ルール%d)" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "割り当てを削除すると永久に失われます。" #: ../src/ui-assign.c:718 #, fuzzy, c-format msgid "This search text already exists at position %d" msgstr "この検索文は既に存在しています" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "無効" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "空であれば" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "上書き" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "割り当ての管理" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "ドラッグ&ドロップで順番を変更" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "条件" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "検索(_S):" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "大/小文字を区別する" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "正規表現" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "対象(_I):" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "割り当て" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "支払(_M):" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" "このアシスタントは、新規HomeBankファイルの\n" "簡単な設定を手伝います。" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "ここで行ったすべての設定は、後で変更することができます。" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" "このアシスタントの最後に「適用」ボタンを\n" "クリックするまで変更は保存されません。" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" "HomeBankはメインウィンドウにタイトルを表示します。\n" "タイトルは自由文でもお名前でも構いません。" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "タイトル(_T):" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" "ホームバンクは複数の通貨に対応しています。基準通貨は\n" "新規口座および報告のデフォルト通貨となります。" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "基準通貨:" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "追加の通貨を設定" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "追加(_A)" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "見つかりません" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" "HomeBankでは、コミュニティが提供するCSVファイルが利用可能\n" "であれば、あなたの言語でのカテゴリを事前記入できます。" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "私の言語のためのカテゴリを設定する" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "事前設定ファイル" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" "HomeBankでは、ダウンロードした金融機関のファイルから口座を\n" "インポートすることもできますし、新規口座を作成することもできます。" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "最初の口座を作成" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "名前(_N):" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" "これは確認ページです\n" "\n" "「適用」をクリックして変更を適用してください" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "ファイルの設定を開始" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "ファイルの設定" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "通貨を選択" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "カテゴリを選択" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "口座を作成" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "ファイルの設定を完了" #: ../src/ui-assist-import.c:477 msgid "" msgstr "<新規グローバル口座>" #: ../src/ui-assist-import.c:482 msgid "" msgstr "<新規口座>" #: ../src/ui-assist-import.c:503 msgid "" msgstr "<この口座をを飛ばす>" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "有効" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "通貨名" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "開く(_O)" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "既知のファイルの種類" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIFファイル" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX ファイル" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV ファイル" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "全てのファイル" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "新規グローバル口座" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "新規口座" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "スキップした" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "、%2$d件中%1$d件の取引" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "%sを次の口座にインポート(_T):" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "このファイル" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "この口座" #: ../src/ui-assist-import.c:1331 #, 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:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "%d件の取引、%d件似たような取引、%d件の既存取引、%d件選択されてます" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d件の取引、%d件選択されてます" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "銀行やクレジットカードの取引をインポート" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "このアシスタントの最後に「適用」ボタンをクリックするまで変更は保存されませ" "ん。" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "今後このメッセージを表示しない" #: ../src/ui-assist-import.c:1481 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" "1つまたは複数のファイルをドラッグ&ドロップしてインポートできます。\n" "また、リストの追加/削除ボタンを使用することができます。" #: ../src/ui-assist-import.c:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" "選択したファイルに口座が多すぎます。\n" "選択するファイルを減らすには、戻るボタンを使用してください。" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "名前または番号による対象口座の特定に失敗しました。" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "日付の順番:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "摘要をインポート(_I)" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "摘要と受取人を入れ替え(_S)" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "OFXの名前(_N):" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "OFXの摘要(_M):" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "反転" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "摘要/受取人の先頭文字だけを大文字にする(_C)" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "当口座内の似たような取引(重複の可能性あり)" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "日" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "自動処理" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "1) 受取人のデフォルト設定を適用(_P)" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "2) 割り当てルールを自動実行(_A)" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "「適用」をクリックして口座を更新します。" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "ようこそ" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "ファイルを選択" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "インポート" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "確認" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "ファイルフォーマットエラー" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "入力をクリアしてもいいですか?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "進むと、すべての金額が0になります。" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "クリア(_C)" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "予算管理" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "CSVをインポート(_I)" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "CSVでエクスポート(_X)" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "差引残高:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "毎月同じ金額" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "入力をクリア(_C)" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "月ごとに異なる金額" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "設定" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "このカテゴリを常に表示(_F)" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "1月" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "2月" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "3月" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "4月" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "5月" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "6月" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "7月" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "8月" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "9月" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "10月" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "11月" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "年間合計" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "月間平均" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "月間" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "カテゴリを追加" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "適用(_A)" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "親カテゴリ" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "カテゴリ名" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "このカテゴリが使用されています。\n" "このカテゴリを使用しているすべての取引は、(カテゴリなし)に設定されます。" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "カテゴリを結合" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" "カテゴリ「%s」に割り当てられた取引は、以下で選択されたカテゴリに移動されま" "す。" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "対象カテゴリ" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "カテゴリ「%s」を削除(_D)" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "「%s」の入力をクリアしてもいいですか?" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "予算(テーブル表示)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "カテゴリを追加" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "カテゴリを削除" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "結合" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "入力をクリア" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "未使用のカテゴリを削除" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "未使用のカテゴリを\n" "永久に削除してもよろしいですか?" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "編集..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "収入(_I)" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "変更をサブカテゴリに適用(_C)" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "カテゴリ「%s」を結合" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "このカテゴリに割り当てられた取引は、\n" "以下で選択されたカテゴリに移動します。" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "カテゴリを管理" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "未使用のを削除(_D)" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "移動/結合" #: ../src/ui-category.c:2460 msgid "new category" msgstr "新規カテゴリ" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "通貨" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "書式" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "カスタマイズ (_C)" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "記号(_S):" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "数字の前につける(_F)" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "小数点記号(_D):" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "小数点以下の桁(_F):" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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 "通貨コード" #: ../src/ui-currency.c:1225 msgid "Add a custom _currency" msgstr "カスタム通貨を追加(_C)" #: ../src/ui-currency.c:1238 msgid "_ISO:" msgstr "通貨コード(_I):" #: ../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 "" "進むと、他の通貨の為替レートが0に\n" "なってしまうので、更新を忘れずに" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "通貨" #: ../src/ui-currency.c:1720 msgid "Update online" msgstr "オンライン更新" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "基準通貨として設定" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "ファイルの統計" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "取引" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "アップグレード" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "基準通貨を選択" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "通貨:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "QIF でエクスポート" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "CSVからインポート" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "HomeBankファイルを開く" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "HomeBankのバックアップファイルを開く" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "HomeBankファイルの名前を付けて保存" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "HomeBank ファイル" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "ファイルのバックアップ" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "すべてのバックアップ" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "閉じる前にファイルへの変更を保存しますか?" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "保存せずに閉じる(_W)" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "フォルダー:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "フォルダーを選択" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "ファイル名:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "PDFでエクスポート" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "_PDFでエクスポート" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" "HomeBankでは、最も普及しているデジタル形式:\n" "PDF形式に向けて、環境に配慮した印刷を心がけています。 " #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "可能な取引の中から選択…" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "アクションを選択してください:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "新しい取引を作成" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "既存の取引を選択" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "振込に関連したと思われる取引が見つかりました。" #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "摘要(_M):" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "情報(_I):" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "大/小文字を区別する(_S)" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "全ての状態" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "全ての種類" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "振込" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "強制する" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "「追加済」を表示" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "「編集済」を表示" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "「備忘通知」を表示" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "「無効」を表示" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "日付" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "支払" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "金額" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "文字" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "カテゴリ" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "受取人" #: ../src/ui-hbfile.c:194 msgid "File properties" 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 "日先までの予定を追加する" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "支払" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "未使用の受取人を削除" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "本当に未使用の受取人を\n" "永久に削除しますか?" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "デフォルト" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "支払(_Y):" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "受取人「%s」を結合" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "この受取人に割り当てられた取引は、\n" "以下で選択された受取人に移動されます。" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "受取人「%s」を削除(_D)" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "この受取人が使用されてます。\n" "この受取人を使用している取引はすべて(受取人なし)に設定されます。" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "受取人を管理" #: ../src/ui-payee.c:1854 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:1949 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 "" "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:1214 msgid "General options" msgstr "一般設定" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "OFX/QFX 設定" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "QIF 設定" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "CSV 設定" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "(取引インポートのみ)" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "区切り:" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "初期フィルタ" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "グラフの設定" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "配色:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "統計の設定" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "金額順で表示(_A)" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "百分率の欄を表示" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "詳細を表示(_D)" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "予算の設定" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "有効にする(_E)" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "事前設定(_P):" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "ユーザーインターフェース" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "言語(_L):" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "日付の表示(_D):" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "書式(_F):" #: ../src/ui-pref.c:1614 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 年の上二桁。\n" "%d 月の日にちを10進数(01から31)での表現。\n" "%D %m/%d/%y と同じです。\n" "%e 月の日にちを10進数(1から31)での表現。\n" "%j 年の日にちを10進数(001から366)での表現。\n" "%m 月を10進数(01から12)での表現。\n" "%p ロケール依存の適切な日付表現。\n" "%y 年の下二桁。\n" "%Y 年。" #: ../src/ui-pref.c:1644 msgid "Fiscal year" msgstr "会計年度" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "開始日、月(_O):" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "測定単位" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "メーターにマイルで表示(_M)" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "ガソリンをガロンで表示(_G)" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "日先" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "照合済の取引を隠す" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "備忘通知を常に表示" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "無効の取引を常に表示" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "備忘通知の取引を差引残高に記入" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "日以内の取引に限る" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 msgid "_Toolbar:" msgstr "ツールバー(_T):" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1845 msgid "_Grid line:" msgstr "グリッド線(_G):" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "金額の色" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "カスタムな色を使用する" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "支出(_E):" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "収入(_I):" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "注意(_W):" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "自動バックアップを有効にする(_E)" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "保存するバックアップの数(_N):" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "バックアップ頻度は1日1回です" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "財布ファイル(_W):" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "バックアップ(_B):" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "ファイル変換" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "インポート(_I):" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "エクスポート(_E):" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "プログラム開始時" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "スプラッシュ画面を表示" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "最後に開いたファイルを読み込み" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "保留中の予定取引を実行" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "通貨の為替レートをオンラインで更新" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "メインウィンドウの報告" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "環境設定リセットの確認" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" "本当にすべての環境設定を\n" "デフォルト値にリセットしますか?" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "環境設定" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "言語の変更を反映させるには、\n" "HomeBankを再起動する必要があります。" #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" "バックアップファイルのフォルダーが変更されたので、\n" "「.bak」ファイルをそこにコピーする必要があるかもしれません。" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "取引の分割" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "すべて削除" #: ../src/ui-split.c:966 msgid "Apply" msgstr "適用" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "キャンセル" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "取引金額:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "未割り当て:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "分割取引の合計金額:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "警告:分割取引の合計金額と取引総額が一致しない" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "警告:分割取引の合計金額と取引の種類が一致しない" #: ../src/ui-tag.c:602 #, 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:645 #, c-format msgid "Merge tag '%s'" msgstr "タグ「%s」を結合" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" "このタグに割り当てられた取引は、\n" "以下で選択されたタグに移動します。" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "タグ「%s」を削除(_D)" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" "このタグが使用されています。\n" "このタグは、それを使用しているすべての取引から削除されます。" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "タグを管理" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "新規タグ" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "「%s」の取引が作成されました。" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "振込取引を分解しますか?\n" "\n" "進むと、対象の取引が削除されます。" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "分解(_B)" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "予定取引を表示(_S)" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "全ての口座を表示(_A)" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "テンプレートを使う" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "追加して保持(_K)" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "取引を追加" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "テンプレートを追加" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "取引を継続" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "テンプレートを継続" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "取引を編集" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "テンプレートを編集" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" "・入力:日にち、または完全な日付\n" "・矢印キー + CtrlまたはShiftで年または月を変更\n" "・空白なら今日の日付になります" #: ../src/ui-transaction.c:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "金額(_N):" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "宛先(_O):" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "小切手帳_2" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" "・文字を入力して自動補完できます\n" "・新しい文を入力して新規作成できます" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "カテゴリ(_G):" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "摘要(_E):" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "タグ(_T):" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "警告:金額の符号とカテゴリが一致しない" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "複数の取引を編集" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" "振込へ\n" "変更" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "時間" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "傾向" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "無効" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "含む" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "除く" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(種類なし)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "銀行" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "現金" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "資産" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "クレジットカード" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "負債" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "今月" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "先月" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "今四半期" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "先四半期" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "今年" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "昨年" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "最近の30日" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "最近の60日" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "最近の90日" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "最近の12か月" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "カスタム" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "すべての日" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "無効" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "可能" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "より前" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "より後" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "支出 & 収入" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "未精算" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "未照合" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "未分類" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "月曜" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "火曜" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "水曜" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "木曜" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "金曜" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "土曜" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "日曜" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "1月" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "2月" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "3月" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "4月" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "6月" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "7月" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "8月" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "9月" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "10月" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "11月" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "12月" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "9月" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "検索…" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "小切手" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "銀行振込" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "デビットカード" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "自動振替" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "電子決済" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "入金" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "金融機関手数料" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "口座自動引き落とし" homebank-5.5.2/po/ro.po0000664000175000017500000031002014021210664011620 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2021-01-05 08:27+0000\n" "Last-Translator: Daniel Slavu \n" "Language-Team: Romanian \n" "Language: ro\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Finanțe personale" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:704 msgid "Free, easy, personal accounting for everyone" msgstr "Gratuit, ușor de folosit, contabilitate personală 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 "" "HomeBank este program liber (ca în \"vorbire liberă\" și gratuit ca în " "\"bere gratuită\") ce vă va asista în administrarea propriei contabilități." #: ../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 "" "Dacă cautați un mod de administrare al finanțelor dumneavoastră, gratuit și " "ușor de folosit, atunci HomeBank este software-ul (programul) de care aveti " "nevoie." #: ../src/dsp-account.c:221 #, c-format msgid "There is %d group of similar transactions" msgstr "Exista %d tranzacții similare" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Nu au fost găsite tranzactii similare" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "Verifică rezultatele transferurilor interne" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Nici o neconcordanță găsită !" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" "Au fost găsite inconsistențe: %d\n" "Revizuiți și corectați?" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Fiecare sumă a unei tranzactii va fi impartită la %.6f." #: ../src/dsp-account.c:394 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 monedă principala?" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "_Convertește" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Nicio tranzacție modificată" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "tranzacție modificată: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Atribuire automată" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" "Doriți să creați un proiect nou\n" "bazat pe tranzacțiile selectate?" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Creează" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" "Doriți să creați o machetă/șablon \n" "cu tranzacțiile selectate?" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" "Doriți să ștergeți \n" "tranzacțiile selectate?" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "Ş_terge" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "Sunteti sigur ca doriți să schimbați statusul în Anonim?" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Unele tranzactii din selecția dumneavoastra sunt deja Reconciliate." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Schimbă" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Sunteti sigur ca doriti sa comutați la statusul Reconciliat?" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "Comu_tă" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d tranzacții" #: ../src/dsp-account.c:2101 #, 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:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Adaugă..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Moştenire..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Editează..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "_Editare Multiplă..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Stare" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Nimic" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Suprimat" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Reconciliat" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "Vizualizează î_mpărțit" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Crează șablon..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "Crează atribuire..." #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "Ș_terge..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "_Sus" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "_Jos" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "_Cont" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Exporta QIF" #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Exportă CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Exporta PDF..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "Tipăreşte..." #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "În_chide" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Editează" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Copiază" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Lipire" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Lipește (astăzi)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "_Tranzacţie" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "_Caută" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Instrumente" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Marchează dublurile" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "Verifică transferurile interne" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Auto.atribuire" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filtrează..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Conversie in EURO" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Adaugă" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Adaugă o tranzacţie nouă" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Moștenit" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Moşteneşte tranzacţia activă" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Editează" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Editează tranzacţia activă" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Şters" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Comutati catre suprimat pentru tranzactiile selectionate" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Reconciliat" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Comută către reconciliat tranzactiile selectionate" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "Editează multiplu" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Editare mai multe tranzacții" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Creare șablon" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "Șterge" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Șterge tranzacțiile selecționate" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "Sus" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "Mută în sus" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "Jos" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "Mută în jos" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(inchis)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Toate tranzacțiile" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Reîmprospătează" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "Domeniu:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "Comutator: afișare tranzacții viitoare" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Tip:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Resetează" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Euro _minor" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "Acordat:" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "Șters:" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Astăzi:" #: ../src/dsp-account.c:2764 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 "" "- Modificările realizate vor fi pierdute pentru totdeauna\n" "- Fișierul 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 "_Anonimizează" #: ../src/dsp-mainwindow.c:675 msgid "Welcome to HomeBank" msgstr "Bine ati venit in Home Bank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "Deschde u_ltimul fișier deschis" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Crează un fișier _nou" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Deschide un fisier existent" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Deschide fișierul exemplu" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Citeste _Manualul HomeBank" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Configurează _Preferințele" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "Arată această fereastră data viitoare" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" "Sunteți pe cale să deschideți fișierul de backup '%s'.\n" "Sigur doriți asta?" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "Deschideți copia de siguranță?" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "_Deschide copia de siguranță" #: ../src/dsp-mainwindow.c:1044 #, 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/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Eroare necunoscută" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "Eroare de tip I/O pentru fisierul '%s'." #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Fișierul '%s' nu este un fișier HomeBank valid." #: ../src/dsp-mainwindow.c:1135 #, c-format msgid "" "The file '%s' was saved with a higher version of HomeBank\n" "and cannot be loaded by the current version." msgstr "" "Fișierul '%s' a fost salvat folosindu-se o versiune mai recentă a HomeBank\n" "si nu poate fi incărcat în versiunea actuală." #: ../src/dsp-mainwindow.c:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Eroare de fișier" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "Fișierul a fost modificat in timp ce se citea" #: ../src/dsp-mainwindow.c:1212 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:1213 msgid "S_ave Anyway" msgstr "S_alvează oricum" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "Șterge" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Fişier" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Nou" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Deschide..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Deschide recente" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Salvează" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Salveaza_Ca..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "Import..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "Exporta QIF..." #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Revenire" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "Restaurați din copia de siguranță" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Proprietăți..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Închide" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Preferinţe..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Vizualizare" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Bară de Unelte" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Topul cheltuielilor" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "_Liste de jos" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro minor" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Gestionează" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "_Conturi..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Beneficiari..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Categorii..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Planificări/Șabloane..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Buget..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "Buget (vedere tabelară) ..." #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Atribuiri..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Valuta..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "Etichete..." #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Tranzacţii" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Adăugare..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Afişează..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Afiseaza tot" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Setează planificator..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Post planificat" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Rapoarte" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Statistici..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "Tendințe..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "_Sold..." #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "B_uget..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "_Costul vehiculului" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Arată mesajul de bun venit..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Fișier cu statistici..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Anonimizare..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Ajutor" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Conţinut" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "Obțineți ajutor online" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Verifică dacă există actualizări..." #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Informații versiune" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Raportează o Problemă..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Traduceți această aplicaţie..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_Despre" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "Nou" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Crează un fișier nou" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "Deschide" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Deschide un fișier" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Deschide un fișier utilizat recent" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "Salvează" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Salvează fișierul curent" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Cont" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "Gestionați conturile" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Beneficiar" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "Gestionați plățile" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Categorie" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "Gestionați categoriile" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "Programate / șablon" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "Gestionați tranzacțiile programate / șablon" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Buget" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "Gestionați bugetul" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Atribuire" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "Gestionați elementele automate (recurente)" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "Arată" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Afişează tranzacţiile selectate de cont" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Adauga tranzacții" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "Statistici" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Deschide raportul de statistici" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "Trenduri" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Deschide raportul Trend Time" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Sold" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Deschide raportul soldurilor" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Deschide raportul de buget" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Costul vehiculului" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "_Deschide raportul Costului Vehicului" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "Ajutor" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "Donează" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "Doneaza pentru proiectul HomeBank" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Programat" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "La termen" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Reamintire" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "**PRECOMPLETAT**" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(nicio categorie)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "format CSV invalid" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Dată" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Informaţii" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Notite" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Valoarea" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Necunoscut" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "l/km" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "l/ml" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(fără beneficiar)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" 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:865 #, c-format msgid "%d-q%d" msgstr "%d-q%d" #: ../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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Opţiuni HomeBank" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(nici o instituție)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "(niciun grup)" #: ../src/hub-account.c:515 msgid "Your accounts" msgstr "Conturile dumneavoastră" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Extinde toate" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Restrânge toate" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Arată toate" #: ../src/hub-account.c:556 msgid "By type" msgstr "Pe tipuri" #: ../src/hub-account.c:557 msgid "By group" msgstr "Pe grupuri" #: ../src/hub-account.c:558 msgid "By institution" msgstr "Pe instituții" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Nici o tranzacție de adăugat" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "tranzacție adaugată: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Verifică rezultatul tranzacțiilor planificate" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Tranzacții planificate" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "_Omite" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" msgstr "Editați & Pos_tați" #. 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Publică" #: ../src/hub-scheduled.c:562 msgid "maximum post date" msgstr "data limită 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:103 #, c-format msgid "Top %d spending" msgstr "Top %d cheltuieli" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Altele" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Pe ce se duc banii dvs." #: ../src/hb-import.c:1388 msgid "imported account" msgstr "Cont importat" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Total general" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "ultima acordare" #: ../src/list-account.c:544 msgid "until" msgstr "până la" #: ../src/list-account.c:559 msgid "before" msgstr "înainte de" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Conturi" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Astăzi" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- separă-" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "- este necesară o categorie -" #: ../src/list-operation.c:1438 msgid "Match" msgstr "Potrivire" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Stare" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Cheltuiala" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Venituri" #: ../src/list-operation.c:1491 msgid "Tags" msgstr "Etichete" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Amânat" #. 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 "Rămas" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:403 msgid "Next date" msgstr "Urmatoarea dată" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d sub %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Listă" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Afişează rezultatele sub formă de listă" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Rând" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Afişează rezultatele sub formă de rânduri" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Detalii" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Comutator detalii" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Reîmprospătează" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Rîmprospătează rezultate" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "Tipărește" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Raport sold" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Ecran" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "Inter_val:" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "Afisează liniile goale" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Zoom X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 msgid "Date filter" msgstr "Filtrare dupa dată" #. 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_De la:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Până la:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Denumirea contului" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Selectare:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Toate" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Niciunul" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Buget pentru %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Rezultat" #: ../src/rep-budget.c:852 msgid " over" msgstr " peste" #: ../src/rep-budget.c:858 msgid " left" msgstr " stânga" #: ../src/rep-budget.c:861 msgid " under" msgstr " sub" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "Stivă" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "Afiseaza rezultatele ca bare suprapuse" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "_Rezultate în clipboard" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "_Rezultate în CSV" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "_Detalii în clipboard" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "_Detalii în CSV" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Raport buget" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Vezi ca:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "Numai în afara bugetului" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Rezultat:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Buget" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Cheltuiţi:" #: ../src/rep-budget.c:1422 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:1423 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:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Cheltuit" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Subcategorie" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Etichetă" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Lună" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "An" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s de %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "Prea multe coloane de afișat" #: ../src/rep-stats.c:792 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 îngust" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "Coloana" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Vizualizați rezultatele pe coloană" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "Plăcintă" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Vizualizați rezultatul tip „plăcintă”" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "Legendă" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Comutator legendă" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "Rata" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Comutator rată" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "Filtru" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Modificare filtru" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Raport statistici" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "Mod:" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "Sortați după _sumă" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "Compară Exp. & Inc." #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "Total:" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Încasări" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Cheltuieli:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "Medie" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Zi" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Săptămâna" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Trimestru" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "Semestru" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s Timp Depășit" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Media %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Raport Tendințe" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Cont:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Categorie:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Beneficiar:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Etichetă:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Selectează tot" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Cumulat" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 msgid "Time slice" msgstr "Segement 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Metru" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Combustibil" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Preţ" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "Export" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Exportă ca CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Raport cost vehicul" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "Vehi_cul:" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Contor:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Consum" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Cost combustibil:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Alte costuri:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Costuri totale:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(nimic)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Vizibil(ă)" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Anulează" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_Ok" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Denumirea contului" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Eroare" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Nu se poate adauga un cont '%s'\n" "acest nume există deja." #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "Nu se poate sterge contul '%s'" #: ../src/ui-account.c:1557 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:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Sigur vrei să ștergi definitiv '%s' ?" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "Daca ștergi un cont va fi pierdut definitiv" #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Administrează conturile" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "Redenumește" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Schimbă ordinea prin mutarea elementelor.\n" "Dublu-click pentru redenumire." #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "General" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "_Grup:" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "_Instituția:" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "N_umăr:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Sold inițial" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "Valuta" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "acest cont a fost _inchis" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Notițe:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "Comportament" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "Automatizare" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "Sablon _implicit" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Raportați excluderea" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "exclude din rezumatul _contului" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "exclude din _buget" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "exclude din orice _raport" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "Diverse" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Numărul de verificare actual" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Carnetul de cecuri _1" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Carnetul de cecuri _2" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Limitele soldului" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "Descoperit de cont la:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "Ma_xim:" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" "Dacă ștergeți o programare /un șablon, acestea se vor pierde definitiv." #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "Data _urmatoare:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Fi_ecare:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "Mai multe opțiuni" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Weekend" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Oprește după:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "articole" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Administrează tranzactiile programate/șablon" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Șablon" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "_Planifică" #: ../src/ui-assign.c:344 msgid "Search" msgstr "Caută" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "Notițe" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "(regula %d)" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "Dacă ștergeți o asignare, aceasta se va pierde definitiv." #: ../src/ui-assign.c:718 #, fuzzy, c-format msgid "This search text already exists at position %d" msgstr "Acest text căutat există deja" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Dezactivat" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "dacă este gol" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Suprascrie" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Administreaza Asignările" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "Schimbați ordinea prin Drag & drop" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Condiție" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "_Caută:" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "Sensibil la majuscule" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "Expresie regulată" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "_În:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "Asignări" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "P_lată" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" "Acest asistent vă va ajuta să realizați o configurație minimă\n" "ce se va salva într-un nou fișier HomeBank." #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" "Toate elementele pe care le configurați aici pot fi modificate ulterior, " "dacă va fi necesar." #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" "Nu se vor salva modificările până nu faceți clic pe „Aplicați”\n" "la finele acestui proces asistat." #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" "HomeBank va afișa un titlu pentru fereastra principală.\n" "Ar putea fi o etichetă oarecare sau numele tău." #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Titlu:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" "HomeBank acceptă mai multe valute. Moneda de bază va fi\n" "implicită pentru conturi și rapoarte noi." #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "Bază:" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "Setează încă o monedă" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Adaugă" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Nu a fost găsit" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" "HomeBank vă poate precompleta categoriile în limba dvs.\n" "dacă există un fișier CSV disponibil, furnizat de comunitate." #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "Setează categoriile în limba implicită" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Fisier presetat:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" "HomeBank vă permite să importați conturile dvs. din fișierele descărcate\n" "de la instituția financiară proprie sau puteți crea conturi manual." #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "Creează-mi primul cont" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Nume" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" "Aceasta este o pagină de confirmare,\n" "\n" "Apăsați „Aplicați” pentru a valida modificările" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "Inițiere fișier de configurare" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "Opţiuni fişier" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "Alegeți valutele de lucru" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "Alegeți Categoriile" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "Creați Contul" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "Salvați fișierul de configurare" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "Valid" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Nume" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Deschide" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Fisiere cunoscute" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "Fişiere QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "Fişiere OFX/QFX" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "Fişiere CSV" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Toate fișierele" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "cont nou global" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "cont nou" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "omis" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr ", %d din %d tranzacții" #: ../src/ui-assist-import.c:1135 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" "Unele date nu pot fi convertite. Vă rugăm să modificați forma de afișare a " "datei calendaristice pentru a continua." #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1324 #, c-format msgid "Import %s in_to:" msgstr "_Importa %s în:" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "acest fisier" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "acest cont" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" "Nume: %s\n" "Număr: %s\n" "Fișier: %s\n" "Codare: %s" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "%d tranzacție(i), %d similare, %d existente, %d selectate" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d tranzacție(i), %d selectate" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "Importare tranzacții de la bancă sau de pe cardul de credit" #: ../src/ui-assist-import.c:1392 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 "" "Cu acest asistent veți fi ghidați prin procesul de import a unuia sau mai " "multor\n" "extrase de cont descărcate de la banca sau de pe cardul dvs. de credit, în " "următoarele formate:" #: ../src/ui-assist-import.c:1398 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 "" "Recomandat: .OFX or .QFX\n" "(Câteodată denumiți Bani™ sau Cash™)\n" "Suportat: .QIF\n" "(fișier Cash Comun™)\n" "Doar pentru utilizatorii Avansați: .CSV\n" "(format specific HomeBank, vezi documentația)" #: ../src/ui-assist-import.c:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "Nu se vor face modificări până când nu faceți clic pe „Aplicați” la finele " "acestui asistent." #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "Nu mai afișați acest mesaj din nou" #: ../src/ui-assist-import.c:1481 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" "Drag&Drop unul sau mai multe fișiere de importat.\n" "De asemenea, puteți utiliza butoanele de adăugare / ștergere din listă." #: ../src/ui-assist-import.c:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" "Există prea multe conturi în fișierele pe care le-ați ales.\n" "Vă rugăm să utilizați butonul Înapoi pentru a selecta mai puține fișiere." #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "Identificarea, după nume sau număr, a contului destinație a eșuat." #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Sortare dupa dată:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "_Import comentarii" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "_Schimbați notițe cu beneficiarii" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "Nume _OFX:" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "Memo _OFX:" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Inversează" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "Fraza _caz memo/beneficiar" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "_Modificați suma" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "Tranzacție similară în contul destinație (posibil duplicat)" #: ../src/ui-assist-import.c:1822 msgid "Date _gap:" msgstr "_Interval 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "zile" #: ../src/ui-assist-import.c:1838 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 exactă." #: ../src/ui-assist-import.c:1908 msgid "Run automation" msgstr "Rulează automat" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "1) Populați cu _beneficiarul implicit" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "2) Rulați reguli automate de _asignare/atribuire" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "Faceți clic pe „Aplicați” pentru a vă actualiza conturile." #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Bun venit!" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "Selectare fișier(e)" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "Import" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Confirmare" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Eroare la formatul fişierului" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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 "" "Fișierul CSV trebuie să conțină numerele exacte al coloanelor,\n" "separate printr-un punct și virgulă. Vă rugăm să consultați ajutorul pentru " "mai multe detalii." #: ../src/ui-budget.c:912 msgid "Are you sure you want to clear input?" msgstr "Sigur doriți să ștergeți datele introduse?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "Dacă continuați, toate sumele vor fi setate la 0." #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "Șter_ge" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Administrează bugetul" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "_Import CSV" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "E_xport CSV" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Sold:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "este la fel în fiecare lună" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "_Sterge intrarea" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "este diferitl în fiecare lună" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Optiuni" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Forteaza montiorizarea acestei categorii" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Ian" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Mai" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Iun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Iul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 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:266 msgid "Oct" msgstr "Oct" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 msgid "Dec" msgstr "Dec" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "Sumarizare" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "Totaluri" #: ../src/ui-budget-tabview.c:1561 msgid "Annual Total" msgstr "Total Anual" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "Media Lunară" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "Lunar" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "Adaugă o categorie" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "_Aplică" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "Categorie părinte" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "Numele categoriei" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Această categorie este deja utilizată.\n" "Orice tranzacție care utilizează această categorie va fi setată la „fără " "categorie”" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "Unește categoriile" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" "Tranzacțiile alocate categoriei '%s', vor fi mutate în categoria selectată " "mai jos." #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "Categoria destinație" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "Ș_terge categoria '%s'" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "Sigur doriți să ștergeți intrările pentru '%s'?" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "Buget (vedere tip tabel)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "Adăugare categorie" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "Șterge categoria" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Îmbină" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "Șterge intrarea" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "# tranzacție" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "# configurare" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Șterge categoriile neutilizate" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Ești sigur că vrei să ștergi complet\n" "categoriile neutilizate?" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Editare..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "Ven_it" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "Schimbați tipul pentru _copil" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Îmbină categoria '%s'" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Tranzacțiile atribuite acestei categorii,\n" "vor fi mutate la categoria selectată mai jos." #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "Include _subcategoriile" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Administrează categoriile" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "Ș_terge neutilizatele" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "Mută/Îmbină" #: ../src/ui-category.c:2460 msgid "new category" msgstr "categorie nouă" #: ../src/ui-category.c:2472 msgid "new subcategory" msgstr "subcategorie nouă" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Monedă de bază" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Simbol" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1487 msgid "Exchange rate" msgstr "Rată de schimb" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "Ultima modificare" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Modifică valuta" #: ../src/ui-currency.c:808 ../src/ui-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Moneda" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Format" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Personalizare" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Simbol:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "este pre_fix" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "Număr _Zecimale:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Zecimale" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 msgid "_Grouping char:" msgstr "_Separator:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Selectare moneda de bază" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Selectare monedă" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "cod ISO" #: ../src/ui-currency.c:1225 msgid "Add a custom _currency" msgstr "Adăugare _monedă particulară" #: ../src/ui-currency.c:1238 msgid "_ISO:" msgstr "_ISO:" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Actualizați/încărcați eroarea online" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "" "Dacă ștergeți o monedă, datele procesate cu aceasta se vor pierde definitiv." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Schimbați moneda de bază" #: ../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 "" "Dacă continuați, ratele de schimb ale altor valute\n" "vor fi setate la 0. Nu uitați să le re-actualizați." #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Valute" #: ../src/ui-currency.c:1720 msgid "Update online" msgstr "Încărcare online" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "Setare ca imolicit" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Statistici fişiere" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "Tranzacție" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Actualizare" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Selectați o monedă de bază" #: ../src/ui-dialogs.c:404 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "Începând cu v5.1, HomeBank poate gestiona mai multe valute\n" "dacă moneda de mai jos nu este corectă, vă rugăm să o schimbați:" #: ../src/ui-dialogs.c:409 msgid "Currency:" msgstr "Moneda:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Exportă ca format QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Importă din CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "Deschide fișierul HomeBank" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "Deschideți fișierul HomeBank" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "Salvați fișierul HomeBank ca..." #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Fişiere HomeBank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "Fișier backup" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "Toate salvările de siguranță" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Salvați modificările în fișier înainte de închidere?" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Dacă nu salvați, modificările se vor pierde definitiv.\n" "Numărul de modificări:% d." #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "Închide _fără a salva" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "Export ca _CSV" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Director:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Alegeți un Director" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Denumire fișier:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "Detalii pe linii separate" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" "Exportați din „Afișați tot contul”, cu coloana contului\n" "fișierul nu va fi în format HomeBank CSV." #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Export ca PDF" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Export ca _PDF" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" "Cu HomeBank, tipărirea este orientată spre o atitudine eco-responsabilă,\n" "față de cel mai răspândit format digital: format PDF. " #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Selecteaza dintre tranzactile posibile..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Selecteaza o acțiune:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "creaza o noua tranzactie" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "selectează o tranzacție existentă" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "HomeBank a identificat anumite tranzacții ce pot fi asociate pentru " "transferuri interne" #: ../src/ui-filter.c:1049 msgid "_Option:" msgstr "_Opţiunea:" #. 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:1155 msgid "_Memo:" msgstr "_Notiță:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Informaţii:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "Maju_scule/minuscule" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Orice Stare" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Orice Tip" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Transfer" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Forţează:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "afişare 'Adăugat'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "afişare 'Editat'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "afișează 'Reamintire'" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "afișează 'Vid'" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "Date" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "Plăți" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Sume" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "Texte" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Categorii" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Beneficiari" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Propietățile fișierului" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Tranzacții planificate" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "adaugă până la" #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "a fiecărei luni (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 în avans față de data curentă" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "Plată." #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Ștergeți beneficiarul neasignat" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Ești sigur că vrei să\n" "ștergi definitiv beneficiarul neasignat?" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "Implicit" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "_Plata:" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "Îmbină beneficiarul '%s'" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Tranzacțiile atribuite acestui beneficiar,\n" "vor fi mutate la beneficiarul selectat mai jos." #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "Ș_terge beneficiarul '%s'" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Acest beneficiar este deja utilizat.\n" "Orice tranzacție care utilizează beneficiarul acesta va fi setată „fără " "beneficiar”." #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "Administrare beneficiari" #: ../src/ui-payee.c:1854 msgid "new payee" msgstr "beneficiar nou" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Interfaţă" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "Limbă" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Tranzacții" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Import/Export" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Raport" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1949 msgid "Backup" msgstr "Copie de siguranță" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "Directoare" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Implicit din sistem" #: ../src/ui-pref.c:98 msgid "Icons only" msgstr "Doar iconițe" #: ../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 "Orizontal" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Vertical" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Ambele" #: ../src/ui-pref.c:116 msgid "Tango light" msgstr "Tango deschis" #: ../src/ui-pref.c:117 msgid "Tango medium" msgstr "Tango mediu (normal)" #: ../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 "Ignoră" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Adaugă la Informații" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Adaugă la Notițe" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "Adaugă Beneficiar" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "Filă" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "Virgulă" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "Punct și virgulă" #: ../src/ui-pref.c:149 msgid "Space" msgstr "Spațiu" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Limba sistemului" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Selectează un Director implicit HomeBank" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "Alegeți un director implicit pentru fișierele de siguranță HomeBank" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Selecteaza un folder implicit pentru import" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Selecteaza un folder implicit pentru export" #: ../src/ui-pref.c:1214 msgid "General options" msgstr "Opțiuni generale" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "Opțiuni OFX/QFX" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "opțiuni QIF" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "opțiuni CSV" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "(doar import de tranzacții)" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "Separator:" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Filtru initial" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Opțiuni diagrame" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Schema de culori:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "Legenda _tip literă mai mică" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Opțiuni Statistice" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Afişe_ază după sumă" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Afişează coloana _rată" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Afişează _detalii" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Opțiuni Buget" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Activează" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Presetare:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "Interfața cu utilizatorul" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Limba:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "Afișare _dată:" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Format:" #: ../src/ui-pref.c:1614 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 ziua săptămânii pe scurt.\n" "%A ziua săptămânii. \n" "%b numele lunii pe scurt. \n" "%B numele lunii. \n" "%c mod local de reprezentare a datei / orei. \n" "%C număr secol (anul îmărțit la 100 trunchiat la întreg) ca număr zecimal " "[00-99]. \n" "%d ziua lunii ca număr zecimal [01,31]. \n" "%D la fel ca %m/%d/%y. \n" "%e ziua lunii ca număr zecimal [1,31]; un singur digit precedat de un " "spațiu. \n" "%j ziua din an ca număr zecimal [001,366]. \n" "%m luna ca număr zecimal [01,12]. \n" "%p mod local de reprezentare a datei calendaristice. \n" "%y anul fără secol ca număr zecimal [00,99]. \n" "%Y anul afișat cu secol ca număr zecimal." #: ../src/ui-pref.c:1644 msgid "Fiscal year" msgstr "Anul fiscal" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "Începe _la:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Unități de măsură" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Folosește _mile pentru distanțe" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Folosește _galon pentru combustibil" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "Lista tranzacțiilor" #: ../src/ui-pref.c:1715 msgid "_Show future:" msgstr "_Arată predicția:" #. 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:1724 msgid "days ahead" msgstr "zile înainte" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "Ascunde reconciliatele" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "Arată întotdeauna notițele" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "Arată întotdeauna câmpurile nule" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "Include notițele în balanță/stocuri" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "Dialog tranzacție" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "_Păstrați ultima dată când adăugați mai multe" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "Transferați toleranța datei țintă:" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "Activați completarea automată _memo cu" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "zile lucrătoare" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "Afișați textul de confirmare pentru 5s" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "linii de _Grilă:" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "Setări GTK" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "Suprascrie" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "_Mărime font:" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "Temă întunecată" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Culoarea sumei" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Folosește culori personalizate" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Cheltuieli:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Venituri:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Avertisment:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "_Activează backup automat" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "_Număr de fișiere de backup păstrate:" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "Frecvența Backup - o dată pe zi" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "_Portofele:" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "_Copii de siguranță:" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "Schimb de fișiere" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Import:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Export:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Start program" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Arată ecranul de start" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Încarcă ultimul fişier utilizat" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Publică tranzactiile planificate în așteptare" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Actualizează valuta online" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Fereastra principală a rapoartelor" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "Max _elemente:" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "Resetează toate preferințele" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" "Sigur doriți să resetați\n" "toate preferințele \n" "la valorile implicite?" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Preferinţe" #: ../src/ui-pref.c:2512 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 intra în vigoare modificările de limbă." #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" "Directorul copiilor de siguranță s-a modificat,\n" "Este necesar să copiați fișierul „.bak” în această nouă locație." #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Divizări tranzacție" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "Șterge toate" #: ../src/ui-split.c:966 msgid "Apply" msgstr "Aplică" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "Renunță" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Suma tranzacționată:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Neatribuite:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Suma părților:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "Avertisment: suma părților și suma totală a tranzacției nu sunt egale." #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "Avertisment: suma pățiilor și tipul tranzacției nu se potrivesc." #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Nu se poate redenumi eticheta,\n" "din '%s' în '%s',\n" "deoarece acest nume există deja." #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "Adaugă eticheta '%s'" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" "Tranzacțiile atribuite acestei etichete,\n" "vor fi mutaet la eticheta selectată mai jos." #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "Ș_terge eticheta '%s'" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" "Această etichetă este deja utilizată.\n" "Eticheta aceasta va fi ștearsă din toate tranzacțiile care o utilizează." #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "Gestionați etichetele" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "etichetă nouă" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "S-a creat tranzacția %s" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Vrei să anulezi transferul intern?\n" "\n" "Dacă continuați se va șterge tranzacția destinație." #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "_Pauză" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Arată _planificatele" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "Arată _toate conturile" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "Folosește un șablon" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "Adaugă și _Păstrează" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Adaugă tranzacţie" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "Adaugă șablon" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Moşteneşte tranzacţia" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "Moștenește șablonul" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "Editează tranzacția" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "Editează șablonul" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" "- tipărește: d, d/m, m/d pentru completarea datei în format local\n" "- folosește tastele săgeți + ctrl sau shift\n" "- golește datele de astăzi" #: ../src/ui-transaction.c:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "_Suma" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "_Către:" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "Volumul _2" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" "- tastați câteva litere pentru completarea automată\n" "- tastați un text pentru a crea o intrare nouă" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "Cate_gorie:" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "_Notițe:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "_Etichete:" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "Atenție: suma și semnul categoriei nu se potrivesc" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "Editare multiplă de tranzacții" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" "Tastați ca\n" "transfer" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "Ora" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "Tendința" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "Dezactivat" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Include" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Exclude" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(fără tip)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Banca" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Numerar" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Active" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Card de credit" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Creditori" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "Verificare" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "Economii" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "În această lună" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Luna trecută" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Acest trimestru" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Ultimul trimestru" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Anul acesta" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "Anul trecut" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Ultimele 30 de zile" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Ultimele 60 de zile" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Ultimele 90 de zile" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Ultimele 12 luni" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "personalizat" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Toate datele" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "Luna următoare" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "Următoarele 30 de zile" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "Următoarele 60 de zile" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "Următoarele 90 de zile" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "Nul" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Posibil" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Înainte" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "După" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Chelt. & Ven." #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "Neclar" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Nedefalcate" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Fără categorie" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "Luni" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "Marți" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "Miercuri" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "Joi" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "Vineri" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "Sâmbătă" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "Duminică" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Ianuarie" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Februarie" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Martie" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Aprilie" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Iunie" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Iulie" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "August" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Septembrie" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Octombrie" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Noiembrie" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Decembrie" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Caută..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Verifică" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "Transfer Bancar" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Card de debit" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Ordin în vigoare" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Plată electronică" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Depozit" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Fără comision" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Debit Direct" homebank-5.5.2/po/gl.po0000664000175000017500000027075514021210661011623 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: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2018-08-26 15:01+0000\n" "Last-Translator: Miguel \n" "Language-Team: Galician \n" "Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "Hai %d grupos de transaccións semellantes" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Non se atopou ningunha transacción semellante !" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Non hai inconsistencias!" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, 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:394 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:396 msgid "_Convert" msgstr "_Converter" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Non cambiou ningunha transacción" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "transacción cambiada: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Resultado das asignacións automáticas" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Eliminar" #: ../src/dsp-account.c:1677 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:1678 ../src/dsp-account.c:1736 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:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Cambiar" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Está vostede seguro de cambiar o estado Conciliado?" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "_Cambiar" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d transaccións" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Engadir" #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Herdar" #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Editar..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "Edición _múltiple" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Estado" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Ningunha" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Limpado" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Conciliado" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Crear modelo..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Eliminar..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "_Conta" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Exportar QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Exportar CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Exportar como PDF..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Pechar" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Editar" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Transacci_ón" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Ferramentas" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Marcar duplicados..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Autoasignacións" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filtro..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Converter a Euro..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Engadir" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Engadir unha nova transacción" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Herdar" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Herdar da transacción activa" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Editar" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Editar a transacción activa" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Conciliado" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Editar múltiples transaccións" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Crear modelo" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Borrar transacción/s escollidas" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(pechado)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Todas as transaccións" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "Actualiza_r" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "Intervalo" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Tipo:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "E_stado:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Restablecer" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Hoxe:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Benvido/a a HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Crear un _novo ficheiro" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Abrir un ficheiro xa existente" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Abrir o ficheiro de _exemplo" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Ler o _manual de HomeBank" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Configurar _preferencias" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "Abrir c_opia de seguranza" #: ../src/dsp-mainwindow.c:1044 #, 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/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Erro descoñecido" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "Erro de E/S do ficheiro '%s'." #: ../src/dsp-mainwindow.c:1132 #, 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:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Erro de ficheiro" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "O ficheiro foi modificado dende que o leu." #: ../src/dsp-mainwindow.c:1212 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:1213 msgid "S_ave Anyway" msgstr "G_ardar de todos os modos" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Ficheiro" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Novo" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Abrir" #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Abrir _Recente" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Gardar" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "G_ardar como..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "Importar..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "Exportar como QIF..." #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Reverter" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "Restaurar a copia de seguridade" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Propiedades..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Saír" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Preferencias" #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Vista" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Barra de ferramentas" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "Gastos _principais" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Submúltiplo de Euro" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Xestionar" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "_Contas..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Beneficiarios..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Categorías..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Planificación/Modelos..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Orzamento..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Asignacións" #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Moedas..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Transaccións" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Engadir..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Mostrar..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Mostrar todo..." #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Configurar planificador" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Engadir transaccións planificadas" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Informes" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "E_statísticas" #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Tendencia Temporal..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "O_rzamento..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "Custo do _vehículo" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Amosar pantalla de benvida..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Estatísticas de ficheiro..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Anónimo..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "A_xuda" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Contidos" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Comprobar se hai actualizacións..." #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Notas da versión" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Informar dun problema..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Traducir este aplicativo..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "Acerca de" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Crear un novo ficheiro" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Abrir un ficheiro" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Abrir un ficheiro usado recentemente" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Gardar o ficheiro actual" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Conta" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Beneficiario" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Categoría" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Orzamento" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Asignación" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Mostrar transacción de contas escollidas" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Engadir transaccións" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Abrir o informe de estatísticas" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Abrir informe de tendencia temporal" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Balance" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Abrir o informe do balance" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Abrir o informe do orzamento" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Custe do vehículo" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Abrir o informe de custo do vehículo" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Planificación" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Futuro" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(sen categoría)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "formato CSV incorrecto" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Data" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Información" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Concepto" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Cantidade" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Descoñecido" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "mi./l" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(sen beneficiario)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Opcións de HomeBank" #: ../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:515 msgid "Your accounts" msgstr "As súas contas" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Expandir todo" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Ocultar todo" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Amosar todo" #: ../src/hub-account.c:556 msgid "By type" msgstr "Por tipo" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Ningunha transacción para engadir" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "transacción engadida: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Resultado das transaccións planificadas" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Transaccións planificadas" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Asentar" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "Os %d principais gastos" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Outro" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "A ónde vai o seu diñeiro" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "conta importada" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Suma total" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Contas" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Hoxe" #: ../src/list-operation.c:586 msgid "- split -" msgstr "-dividir-" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Estado" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Gasto" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Ingreso" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Seguinte día" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d baixo %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Listaxe" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Ver resultado como lista" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Liña" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Ver resultados como liñas" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Detalle" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Amosar detalles" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Recargar" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Actualizar resultados" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Informe do balance" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Pantalla" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Ampliar X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_De:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Ata:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Nome da Conta" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Seleccionar:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Todos" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Ningún" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Orzamento para %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Resultado" #: ../src/rep-budget.c:852 msgid " over" msgstr " supera" #: ../src/rep-budget.c:858 msgid " left" msgstr " queda" #: ../src/rep-budget.c:861 msgid " under" msgstr " baixo" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "Ver os resultados en barras" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "_Resultado ó portapapeis" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "_Resultado a CSV" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "_Detalle ó portapapeis" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "_Detalle a CSV" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Informe do orzamento" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Ver por:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "Só fóra de orzamento" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Resultado:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Orzamento:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Gastado:" #: ../src/rep-budget.c:1422 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:1423 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:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Gasto" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Subcategoría" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Etiqueta" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Mes" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Ano" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s por %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Ver resultados en columnas" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Ver resultados en gráfico circular" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Cambiar lenda" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Amosar taxa" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Editar o filtro" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Informe de estatísticas" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Ingresos:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Gastos:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Día" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Semana" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Trimestre" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Promedio: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Informe de tendencia temporal" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Conta" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Categoría" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Beneficiarios:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "E_tiqueta:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Seleccionar _todo" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "A_cumulado" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Contador" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Combustible" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Prezo" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Exportar como CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Informe do custo do vehículo" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "Vehí_culo" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Metro:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Consumo:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Custe carburante:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Outros custos:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Custo total:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(ningún)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Visible" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Cancelar" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_Aceptar" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Nome da Conta" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Erro" #: ../src/ui-account.c:1505 #, 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:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "Non se pode eliminar a conta '%s'" #: ../src/ui-account.c:1557 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:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, 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:1570 msgid "If you delete an account, it will be permanently lost." msgstr "Se elimina unha conta, non se poderá recuperar." #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Xestionar contas" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 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:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Xeral" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "N_úmero" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Saldo _inicial:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Moeda:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "esta conta foi pe_chada" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Notas:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "_Modelo por defecto:" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Exclusión dos informes" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "excluir do resumo de _contas" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "excluir do _orzamento" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "excluír de calquera info_rme" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Número de cheque actual" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Chequeira _1:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Chequeira _2:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Límites do balance" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "_Descuberto en:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 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:972 msgid "Next _date:" msgstr "Próxima _data:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Ca_da" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Fin de semana:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Parar despois de:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "anotacións" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Xestionar a planificación/modelos de transaccións." #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Modelo" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 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:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Deshabilitada" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Se está baleiro" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Sobrescribir" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Administrar asignacións" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Condición" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "_Pagamento" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "Eng_adir" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Non se atopou" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Ficheiro predeterminado:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Nome:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "Válido" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Nome" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Abrir" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Ficheiros coñecidos" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "Ficheiros QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "Ficheiros OFX/QFX" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "Ficheiros CSV" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Todos os ficheiros" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "nova conta global" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "conta nova" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "omitido" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr ", %d de %d transaccións" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "Impor_tar %s in:" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "este ficheiro" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "esta conta" #: ../src/ui-assist-import.c:1331 #, 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:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "Importar transaccións dende banco ou tarxeta de crédito" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 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:1422 msgid "Don't show this again" msgstr "Non mostrar isto máis" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 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:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Formato de data:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "_Importar conceptos" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "_Intercambiar conceptos e beneficiarios" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "_Nome OFX:" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "_Concepto OFX:" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Invertir" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "Transacción similar na conta de destino (posible duplicado)" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "días" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Benvido/a" #: ../src/ui-assist-import.c:2264 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:2269 msgid "Import" msgstr "Importar" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Confirmación" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Erro no formato do ficheiro" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "Está seguro de que quere limpar a entrada?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "Se continua, todas as cantidades poranse a 0." #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Limpar" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Xestionar orzamento" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "_Importar CSV" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "E_xportar CSV" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Balance" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "_Limpar entrada" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Opcións" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Forzar monitorización de esta categoría" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Xan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Abr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Maio" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Xuñ" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Xul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Ago" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Out" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 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:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "_Eliminar a categoría '%s'" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Combinar" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Eliminar as categorías non utilizadas" #: ../src/ui-category.c:1598 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:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Editar…" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Ingresos" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Combinar categoría '%s'" #: ../src/ui-category.c:1943 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:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Xestionar categorías" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "_Eliminar non utilizadas" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "nova categoría" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Moeda" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Formato" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Personalizar" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Símbolo:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "É pre_fixo" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "Separador _decimais:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "Número de _decimais" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "Engadir unha moeda personalizada" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "Actualizar por rede" #: ../src/ui-currency.c:1762 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:206 msgid "Transaction" msgstr "Transacción" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Anovar" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Seleccionar a moeda principal" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "Moeda:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Exportar como QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Importar desde CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "Abrir ficheiro de HomeBank" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "Abrir copia de seguranza de HomeBank" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "Gardar fichero de HomeBank como" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Ficheiros de HomeBank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "Copia de seguranza" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "Todas as copias de seguranza" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Gardar os cambios no ficheiro antes de pechar?" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "Pechar _sen gardar" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Cartafol:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Escolla un cartafol" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Nome do ficheiro:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Exportar como PDF" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Exportar como _PDF" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Seleccionar entre as transaccións posíbeis..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Seleccionar unha acción:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "crear unha nova transacción" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "seleccione unha transacción existente" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "_Concepto:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Info" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "_Diferenciar maiúsculas e minúsculas" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Calquera estado" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Calquera tipo" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Transferir" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Forzar:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "Amosar \"Engadido\"" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "Amosar \"Editado\"" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "Datas" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "Pagamentos" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Cantidades" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "Textos" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Categorías" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Beneficiarios" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Propiedades do ficheiro" #: ../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" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Eliminar o beneficiario non utilizado" #: ../src/ui-payee.c:1194 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:1375 msgid "Default" msgstr "Por defecto" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "Pagamento" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "Combinar beneficiario '%s'" #: ../src/ui-payee.c:1510 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:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "Eliminar o beneficiario '%s'" #: ../src/ui-payee.c:1613 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:1710 msgid "Manage Payees" msgstr "Xestionar beneficiarios" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "Opcións OFX/QFX" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "Opcións QIF" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Filtro inicial" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Opcións de gráficos" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Esquema de cores:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Opcións de estatísticas" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Amosar por _importe" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Amosar columnas de _taxas" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Amosar _detalles" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Opcións de orzamentos" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Activar" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "Predefinido" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "Interface de usuario" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Lingua:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "Mostrar _Datas:" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Formato:" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Exercicio fiscal" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "Comeza o:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Unidades métricas" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Usar _millas para metros" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Usar _galón para combustíbel" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "días cara adiante" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Utiliza cores personalizadas" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Gasto:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Ingreso:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Atención" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "_Habilitar copias de seguranza automáticas" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "_Número de copias de seguranza a manter:" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "As copia de seguridade faise unha vez ó día" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "_Carteiras:" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Importar" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Exportar" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Mostrar a pantalla de benvida" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Cargar o último ficheiro aberto" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Asentar as transacción planificadas pendentes" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Actualizar moedas pola rede" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Ventá principal de informes" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "Restablecer todas as preferencias" #: ../src/ui-pref.c:2244 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:2265 msgid "Preferences" msgstr "Preferencias" #: ../src/ui-pref.c:2512 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:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Dividir transacción" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "Aplicar" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "Cancelar" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Importe da transacción" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Sen asignar:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Mostrar _planificación" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "Mostrar todas as contas" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Engadir transacción" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Herdar transacción" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Incluír" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Excluír" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(sen tipo)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Banco" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Efectivo" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Activo" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Tarxeta de crédito" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Pasivo" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Este mes" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "O mes pasado" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Este trimestre" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "O trimestre pasado" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Este ano" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "O ano pasado" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Os últimos 30 dias" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Os últimos 60 días" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Os últimos 90 días" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Os últimos 12 meses" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Todas as datas" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Posíbel" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Antes" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Despois" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Gasto e Ingreso" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Non conciliado" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Sen categoría" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Xaneiro" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Febreiro" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Marzo" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Abril" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Xuño" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Xullo" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Agosto" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Setembro" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Outubro" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Novembro" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Decembro" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Set" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Buscar..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Comprobar" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Tarxeta de débito" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Orden de posición" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Pago electrónico" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Depósito" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Honorarios FI" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "" homebank-5.5.2/po/da.po0000664000175000017500000030257614021210657011607 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2021-02-07 13:00+0000\n" "Last-Translator: Søren Halkier Christensen \n" "Language-Team: Danish \n" "Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 msgid "HomeBank" msgstr "HomeBank" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Privatøkonomi" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:704 msgid "Free, easy, personal accounting for everyone" msgstr "Personlig, nem og gratis økonomistyring for alle" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "økonomi;regnskab;budget;personlig;penge;" #: ../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 et gratis program, som kan hjælpe dig med at styre din " "privatøkonomi" #: ../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 designet til at være brugervenligt og giver dig mulighed for at " "analysere din privatøkonomi i detaljer ved hjælp af effektive " "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 ganske gratis og nem måde at styre din " "privatøkonomi på, så bør HomeBank være dit valg." #: ../src/dsp-account.c:221 #, c-format msgid "There is %d group of similar transactions" msgstr "Der er %d lignende transaktioner" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Der blev ikke fundet lignende transaktioner!" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "Tjek internt overførselsresultat" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Ingen uoverensstemmelse fundet!" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" "Uoverensstemmelser fundet: %d\n" "Vil du gennemgå og rette?" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Hvert transaktionsbeløb vil blive delt med %.6f." #: ../src/dsp-account.c:394 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:396 msgid "_Convert" msgstr "_Konvertér" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Ingen transaktioner ændret" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "transaktion ændret: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Resultat af autoudført opgave" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" "Vil du oprette en opgave med\n" "hver af de valgte transaktioner?" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Opret" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" "Vil du lave en skabelon med hver\n" "af de valgte transaktioner?" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" "Vil du slette de valgte\n" "transaktioner?" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Slet" #: ../src/dsp-account.c:1677 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:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Nogle af dine valgte transaktioner er allerede Afstemt." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Ændr" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Er du sikker på, at du vil ændre status på Reconciled?" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "Slå _til/fra" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d transaktioner" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d transaktioner, %d valgt, gns: %s, sum: %s (%s - %s)" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Tilføj..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Arv..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Rediger..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "Rediger _Flere..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Status" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Ingen" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Godkendt" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Afstemt" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "Se _Opdeling" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Opret skabelon..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "Opret opgave..." #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Slet..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "_Op" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "_Ned" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "_Konto" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Eksporter QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Eksporter CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Eksporter som PDF..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "Udskriv…" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Luk" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Rediger" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Kopiér" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Indsæt" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Indsæt (dags dato)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Transakti_on" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "_Søg" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Værktøjer" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Marker dubletter..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "Tjek intern overførsel" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Auto. opgaver" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filter..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Konvertér til Euro" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Tilføj" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Tilføj ny transaktion" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Arv" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Arv fra den aktive transaktion" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Rediger" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Rediger den aktive transaktion" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Godkendt" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Marker som Godkendt for de valgte transaktioner" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Afstemt" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Markerer Afstemt for de valgte transaktioner" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "Rediger flere" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Redigér flere transaktioner" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Opret skabelon..." #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "Slet" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Slet valgte transaktion(er)" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "Op" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "Flyt transaktion op" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "Ned" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "Flyt transaktion ned" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(lukket)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Alle transaktioner" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Opdater" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "Periode" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "Vis fremtidige transaktioner" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Type:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Reset" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Euro sekundær" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "Afstemt:" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "Godkendt" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "I dag:" #: ../src/dsp-account.c:2764 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 "" "Fortsættelse vil anonymisere al tekst, \n" "som 'konto x', 'betaler/modtager y', 'note z', ..." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Anonymiser" #: ../src/dsp-mainwindow.c:675 msgid "Welcome to HomeBank" msgstr "Velkommen til Homebank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "Åbne _sidst åbnede fil" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Opret en _ny fil" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Åbne en eksisterende fil" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Åben _eksempel på filen" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Læs HomeBank _Manual" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Rediger _indstillinger" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "Vis dette vindue næst gang" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" "Du er ved at indlæse backup-filen '%s'.\n" "\n" "Er du sikker på at du vil gøre det?" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "Åbn backup filen?" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "_Åbn backup" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Kunne ikke åbne filen \"%s\", filen eksisterer ikke.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Ukendt fejl" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "I/O fejl for fil '%s'." #: ../src/dsp-mainwindow.c:1132 #, 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:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Filfejl" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "Filen er blevet ændret, efter den er indlæst." #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Hvis du gemmer den, vil alle eksterne ændringer måske mistes. Gem alligevel?" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "_Gem alligevel" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "Ryd" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Fil" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Ny" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Åben..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Åbn s_eneste" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Gem" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Gem so_m …" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "Importér..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "Exporter som QIF..." #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Gå tilbage" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "Gendan fra backup..." #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Indstillinger..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "Afslut" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Indstillinger..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Vis" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Værktøjslinje" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "Top-10 udgifter" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "_Lister" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Valutaskift" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Administrér" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "Kon_ti..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Betaler/modtager..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Kategorier" #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Planlagt/skabeloner..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Budget..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "Budget (tabelvisning)..." #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Opgaver..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Valuta..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "Mærker..." #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Transaktioner" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Tilføj..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Vis..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Vis alle..." #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Indstil Opgavestyring..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Poster planlagte trans." #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "Rapporter" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Statistik" #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Trend..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "_Balance..." #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "B_udget..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "_Køretøj..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Vis velkomstdialog..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Fil statistikker..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Anonymisere..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Hjælp" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Indhold" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "Få hjælp online..." #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Tjek for opdateringer..." #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Udgivelsesnoter" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Rapportér et problem..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Oversæt dette program..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_Om" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "Ny" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Opret en ny fil" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "Åbn" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Åbn en fil" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Åbn en nyligt brugt fil" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "Gem" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Gem den aktuelle fil" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Konto" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "Administrér konti" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Betaler/modtager" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "Administrér betaler/modtager" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "kategori" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "Administrér kategorier" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "Planlagt/Skabelon" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "Administrér planlagte/skabelon transaktioner" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Budget" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "Administrér budget" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Opgave" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "Administrér automatiske opgaver" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "Vis" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Viser udvalgte konto transaktioner" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Tilføj transaktioner" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "Statistik" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Åben Statistik rapporten" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "Trend" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Åben trend rapporten" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Balance" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Åben balance rapporten" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Åben Budget rapporten" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Køretøj omkostninger" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Åben rapport for køretøjsomkostninger" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "Hjælp" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "Donér" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "Donér til HomeBank projektet" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Planlagt" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Fremtidig" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Påmind" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "**FORUD UDFYLDT**" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(ingen kategori)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "ugyldig CSV-format" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Dato" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Info" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Note" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Beløb" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Ukendt" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "mil/l" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(ingen betaler/modtager)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" 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:865 #, c-format msgid "%d-q%d" msgstr "%d-q%d" #: ../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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Homebank indstillinger" #: ../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 gruppe)" #: ../src/hub-account.c:515 msgid "Your accounts" msgstr "Dine konti" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Udfold alle" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Sammenfold alle" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Vis alle" #: ../src/hub-account.c:556 msgid "By type" msgstr "Efter type" #: ../src/hub-account.c:557 msgid "By group" msgstr "Efter gruppe" #: ../src/hub-account.c:558 msgid "By institution" msgstr "Efter institution" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Der er ingen transaktion at tilføje" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "transaktion tilføjet: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Tjek resultatet af de planlagte transaktioner" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Totaler" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Planlagte transaktioner" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "_Udelad" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" msgstr "Rediger og P_oster" #. 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Postér" #: ../src/hub-scheduled.c:562 msgid "maximum post date" msgstr "maksimum post dato" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Top-10 udgifter" #. future usage #: ../src/hub-spending.c:103 #, c-format msgid "Top %d spending" msgstr "Top %d udgifter" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Andet" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Hvad dine penge går til" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "importeret konto" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Samlet total" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "sidst afstemt" #: ../src/list-account.c:544 msgid "until" msgstr "indtil" #: ../src/list-account.c:559 msgid "before" msgstr "før" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Konti" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "I dag" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- del -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "- kategori mangler -" #: ../src/list-operation.c:1438 msgid "Match" msgstr "Match" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Status" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Udgift" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Indtægt" #: ../src/list-operation.c:1491 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 "Udestår" #. 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 "Antal" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:403 msgid "Next date" msgstr "Næste dato" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d under %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Liste" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Vis resultater som en liste" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Linje" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Vis resultatet som linier" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Detaljer" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Vis detaljer" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Opdatér" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Opdater resultater" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "Print" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Balancerapport" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Visning" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "Inter_val:" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "Vis tom linje" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Zoom X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Fra:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Til:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Kontonavn" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Vælg:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Alle" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Ingen" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Budget for %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Difference" #: ../src/rep-budget.c:852 msgid " over" msgstr " over" #: ../src/rep-budget.c:858 msgid " left" msgstr " rest" #: ../src/rep-budget.c:861 msgid " under" msgstr " under" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "Stak" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "Vis resultat som bjælker" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "_Resultat til clipboard" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "_Resultat til CSV" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "_Detaljer til clipboard" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "_Detaljer til CSV" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Budget rapport" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "Vis ved:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "Kun budgetoverskridelser" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Resultat:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Budget:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Brugt:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "Der er ikke defineret konti til budgettet" #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "Du bør vælge nogle konti i kontodialogen." #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Forbrug" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Underkategori" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Mærke" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Måned" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "År" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s efter %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "For mange kolonner at vise" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "Venligst vælg et bredere interval og/eller et mindre dato-område" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "Søjler" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Vis resultat som søjler" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "Krans" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Vis resultat som krans" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "Signaturforklaring" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Vis signaturforklaring" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "Procent" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Vis procentværdi" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "Filter" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Rediger filter" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Statistik Rapport" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "Visning:" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "Sorter efter _beløb" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "Sammenlig Udg. & Indt." #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "I alt:" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Indtægt:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Udgift:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "Gennemsnit" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Dag" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Uge" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Kvartal" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "Halvårligt" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s Over Tid" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Gennemsnit: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Trend Rapport" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "K_onto:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Kategori:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Betaler/modtager" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Mærke:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Vælg alle" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Kumuleret" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 msgid "Time slice" msgstr "Tidsdel" #. #. 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Tæller" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Benzin" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Pris" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Afstand" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "Eksportér" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Eksporter som CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Biludgifter, rapport" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "_Køretøj" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Tæller" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Forbrug:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Benzinudgifter:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Andre udgifter:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Totale udgifter:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(ingen)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Synlig" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Annuller" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Kontonavn" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Fejl" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Kan ikke tilføje en konto '%s'.\n" "Navnet eksisterer allerede." #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "Kan ikke slette konto '%s'" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" "Denne konto indeholder transaktioner og/eller dele af interne overførsler." #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Er du sikker på, at du permanent vil slette '%s'?" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "Hvis du sletter en konto, vil den permanent være fjernet." #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Administrer konti" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "Omdøb" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Træk & slip for at ændre ordren\n" "Dobbelt-klik for at omdøbe" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Generelt" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "Gruppe:" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "Institution:" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "N_ummer:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Start _balance:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Valuta:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "denne konto er lukket" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Noter:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "Adfærd" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "Automatisering" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "Standard_Skabelon:" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Rapporter eksklusion" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "udelad fra konto_oversigt" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "udelad fra _budgettet" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "udelad fra alle _rapporter" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "Diverse" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Aktuelt checknummer" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Checkhæfte_1" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Checkhæfte_2" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Beløbsgrænser" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "_Overtræk ved:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "Maks_imum:" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "Hvis du sletter en planlagt opgave/skabelon, er den permanent væk." #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "Næste _dato:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "_Hver:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "Flere valgmuligheder" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Week-end:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Stop efter:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "postér" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Administrer planlagte transaktioner og skabeloner" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Skabelon" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "_Planlagt" #: ../src/ui-assign.c:344 msgid "Search" msgstr "Søg" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "Noter" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "(regel %d)" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "Hvis du sletter en opgave, vil den permanent være væk." #: ../src/ui-assign.c:718 #, fuzzy, c-format msgid "This search text already exists at position %d" msgstr "Denne søgetekst eksisterer allerede" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Deaktiveret" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Hvis tom" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Overskriv" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Administrer opgaver" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "Træk & slip for at ændre rækkefølge" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Betingelser" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "_Søg:" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "Forskel på store og små bogstaver" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "Regulært udtryk" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "_I:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "Opgaver" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "_Betaling:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" "Denne assistent vil hjælpe dig med at opsætte en minimumsløsning\n" "til en ny HomeBank fil." #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "Alle parametre du angiver her, kan ændres senere" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" "Der bliver ikke foretaget ændringer indtil du klikker \"Anvend\"\n" "til slut i denne assistent." #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" "HomeBank vil vise en titel i hovedvinduet.\n" "Det kan være en tekst efter ønske eller dit navn." #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Titel:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" "HomeBank understøtter flere valutaer. Grundvalutaen er \n" "standarden for alle ny konti og rapporter." #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "Base:" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "Konfigurer yderligere valutaer" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Tilføj" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Ikke fundet" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" "HomeBank kan på forhånd udfylde kategorier i dit sprog\n" "hvis en CSV-fil er tilgængelig." #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "Konfigurer kategorier for mit valgte sprog" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Standardfil:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" "HomeBank giver mulighed for import af downloadede filer fra din\n" "finansielle institution/bank, eller du kan også oprette dine konti manuelt." #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "Opret min første konto" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Navn:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" "Dette er en bekræftelsesside,\n" "\n" "klik Anvend for at godkende ændringer" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "Påbegynd filopsætning" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "Filindstillinger" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "Vælg valutaer" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "Vælg kategorier" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "Opret konto" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "Afslut filoprettelse" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "Gyldig" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Navn" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Åben" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Kendte filer" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF filer" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX filer" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV filer" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Alle filer" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "ny global konto" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "ny konto" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "sprunget over" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr ", %d af %d transaktioner" #: ../src/ui-assist-import.c:1135 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" "Nogle datoer kan ikke konverteres. Prøv at ændre datorækkefølgen for at " "fortsætte." #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1324 #, c-format msgid "Import %s in_to:" msgstr "Importer %s _til:" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "denne fil" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "denne konto" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" "Navn: %s\n" "Nummer: %s\n" "Fil: %s\n" "Kodning: %s" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "%d transaktion(er), %d ens, %d eksisterende, %d valgt" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d transaktion(er), %d valgt" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "Importer transaktioner fra bank eller kreditkort" #: ../src/ui-assist-import.c:1392 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 denne assistent bliver du ført gennem processen med import af en eller " "flere\n" "downloadede kontoudtog/udtræk fra din bank eller kreditkortgiver i følgende " "formater:" #: ../src/ui-assist-import.c:1398 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 "" "Anbefalet: .OFX or .QFX\n" "(Some tider benævnt Money™ or Quicken™)\n" "Understøttet: .QIF\n" "(Common Quicken™ file)\n" "Kun for avancerede brugere: .CSV\n" "(formatet erspecifikt for HomeBank, se dokumentationen)" #: ../src/ui-assist-import.c:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "Der vil ikke blive foretaget ændringer før end du trykker Anvend til slut i " "denne assistent." #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "Vis ikke dette igen" #: ../src/ui-assist-import.c:1481 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" "Træk & Slip en eller flere filer for import.\n" "Du kan også bruge knapperne til at tilføje/slette til listen." #: ../src/ui-assist-import.c:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" "Der er for mange konti i de filer, du har valgt.\n" "Venligst brug tilbageknappen for at vælge færre filer." #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "ID af målkonto ved navn eller nummer fejlede" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Datoorden:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "_Importér noter" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "_Ombyt noter med betaler/modtagere" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "OFX _Navn:" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "OFX _Note:" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Invertér" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "Stort startbogstav i note/betaler" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "Skif_t beløb" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "Lignende transaktioner er i den modtagende konto (muligvis dublet)" #: ../src/ui-assist-import.c:1822 msgid "Date _gap:" msgstr "Dato _spænd:" #. 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "dage" #: ../src/ui-assist-import.c:1838 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øgningen foretages efter : konto, beløb og dato.\n" "En datotolerance på 0 dage betyder et eksakt match" #: ../src/ui-assist-import.c:1908 msgid "Run automation" msgstr "Kør automatik" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "1) Påfør standard _betaler/modtager" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "2) Kør automatisk _opgaveregler" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "Klik Anvend for at opdatere dine konti." #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Velkommen" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "Vælg file(r)" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "Importér" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Bekræftelse" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Forkert filformat" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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 skal indeholde præcis det samme antal kolonner,\n" "adskilt af semi-colon. Se venligst Hjælp for yderligere detaljer." #: ../src/ui-budget.c:912 msgid "Are you sure you want to clear input?" msgstr "Er du sikker på, at du vil slette input?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "Hvis du fortsætter, vil alle beløb blive nulstillet." #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Ryd" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Håndtér Budget" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "_Importér CSV" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "E_ksportér CSV" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Balance:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "er det samme hver måned" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "Ryd input" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "er forskellig hver måned" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Indstillinger" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Tving overvågning af denne kategori" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Maj" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Aug" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "Sep" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Okt" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 msgid "Dec" msgstr "Dec" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "Resultat" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "Totaler" #: ../src/ui-budget-tabview.c:1561 msgid "Annual Total" msgstr "Total/år" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "Gennemsnit/md." #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "Månedligt" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "Tilføj en kategori" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "An_vend" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "Forældrekategori" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "Kategorinavn" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Denne kategori er anvendt.\n" "Alle transaktioner, som bruger den kategori vil blive sat til (ingen " "kategori)" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "Flet katgorier" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" "Transaktioner knyttet til kategori '%s', bliver flyttet til kategorien valgt " "nedenfor." #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "Målkategori" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "_Slet kategorien '%s'" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "Er du sikker på, at du vel slette input for '%s'?" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "Budget (tabelvisning)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "Tilføj kategori" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "Fjern kategori" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Flet" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "Ryd input" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "# txn" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "# cfg" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Slet ubrugte kategorier" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Er du sikker på, at du permanent vil\n" "slette ubrugte kategorier?" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Redigér..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Indkomst" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "Ændre type på underkat." #: ../src/ui-category.c:1863 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Kan ikke omdøbe denne kategori,\n" "fra '%s' til '%s',\n" "da kategorien allerede eksisterer." #: ../src/ui-category.c:1922 #, c-format msgid "Merge category '%s'" msgstr "Flet kategori '%s'" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Transaktioner knyttet til denne kategori\n" "bliver flyttet til kategorien valgt nedenfor." #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "Inkluder underkategorier" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Administrer kategorier" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "_Slet ubrugte" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "Flyt/Flet" #: ../src/ui-category.c:2460 msgid "new category" msgstr "Ny kategori" #: ../src/ui-category.c:2472 msgid "new subcategory" msgstr "Ny underkategori" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Grundvaluta" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Symbol" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1487 msgid "Exchange rate" msgstr "Vekselkurs" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "Sidst ændret" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Rediger valuta" #: ../src/ui-currency.c:808 ../src/ui-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Valuta" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Format" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Tilpas" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Symbol:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "Er pre_fix" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "Decimalkarakter" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "Decimalcifre" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 msgid "_Grouping char:" msgstr "Gruppekarakter:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Vælg grundvaluta" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Vælg valuta" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "ISO kode" #: ../src/ui-currency.c:1225 msgid "Add a custom _currency" msgstr "Tilføj en valgfri _valuta" #: ../src/ui-currency.c:1238 msgid "_ISO:" msgstr "_ISO:" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Fejl i online opdatering" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "Sletter du en valuta, vil den permanent være væk." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Ændre grundvaluta" #: ../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 "" "Hvis du fortsætter, bliver kursen for andre valutaer\n" "sat til 0. Husk at opdatere kurserne." #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Valutaer" #: ../src/ui-currency.c:1720 msgid "Update online" msgstr "Opdatér online" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "Grundvaluta" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Filstatistik" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "Transaktion" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Opgradér" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Vælg en grundvaluta" #: ../src/ui-dialogs.c:404 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "Fra version 5.1 kan HomeBank håndtere adskillige valutaer.\n" "Ret valutaen nedenfor, hvis den ikke er korrekt:" #: ../src/ui-dialogs.c:409 msgid "Currency:" msgstr "Valuta:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Eksporter som QIF..." #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Import fra CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "Åbn HomeBank fil" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "Åbn HomeBank backup fil" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "Gem HomeBank fil som" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "HomeBank filer" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "Fil backup" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "All backup" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Gem ændringer inden der lukkes?" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Hvis du ikke gemmer, bliver ændringerne tabt.\n" "Antal ændringer: %d." #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "Luk _uden at gemme" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "Eksporter som _CSV" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Mappe:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Vælg en mappe" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Filnavn:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "Vis opdelte transaktioner" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" "Du eksporterer fra 'Vis alle konti', med kolonnen 'Konto'\n" "Filen vil derfor ikke være i HomeBank CSV format." #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Eksportér som PDF" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Eksportér som _PDF" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" "Udskrivning med HomeBank har en miljøvenlig tilgang gennem anvendelse\n" "af det mest udbredte digitale udskrivningsformat, nemlig PDF-formatet. " #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Vælg mellem de mulige transaktioner..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Vælg en handling:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "opret en ny transaktion" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "vælg en eksisterende transaktion" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "HomeBank har fundet transaktioner, som kan være knyttet til transaktionen " "for den interne overførsel." #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "Note:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Info:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "Vasalfølsom" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Status alle" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Type alle" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Overfør" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Forcér:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "display 'Tilføjet'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "display 'Redigeret'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "vis 'Påmind'" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "vis 'Annulleret'" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "Datoer" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "Betalinger" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Beløb" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "Tekster" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Kategorier" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Betaler/modtager" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Programopsætning" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Planlagt transaktion" #: ../src/ui-hbfile.c:246 msgid "add until" msgstr "Tilføj indtil d." #: ../src/ui-hbfile.c:254 msgid "of each month (excluded)" msgstr "i måneden (eksklusiv)" #: ../src/ui-hbfile.c:259 msgid "add" msgstr "Tilføj" #. 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 "dage i forvejen" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "Met." #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Slet ubrugt betaler/modtager" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Er du sikker på at du vil slette ubrugte\n" "betalere/modtagere permanent?" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "Standard" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "Betaling:" #: ../src/ui-payee.c:1434 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Kan ikke omdøbe denne betaler/modtager,\n" "fra '%s' til '%s'.\n" "Dette navn eksisterer allerede." #: ../src/ui-payee.c:1489 #, c-format msgid "Merge payee '%s'" msgstr "Flet betaler/modtager '%s'" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Transaktioner tilknyttet denne betaler/modtager,\n" "vil blive flyttet til betaleren/modtageren valgt nedenfor." #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "_Slet betaler/modtager '%s'" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Denne betaler/modtager er anvendt.\n" "Enhver transaktion med denne betaler/modtager vil blive sat til (ingen " "betaler/modtager)" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "Håndter betaler/modtagere" #: ../src/ui-payee.c:1854 msgid "new payee" msgstr "ny betaler/modtager" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Grænseflade" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "National" #: ../src/ui-pref.c:87 msgid "Transactions" msgstr "Transaktioner" #: ../src/ui-pref.c:88 msgid "Import/Export" msgstr "Import/Eksport" #: ../src/ui-pref.c:89 msgid "Report" msgstr "Rapport" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1949 msgid "Backup" msgstr "Backup" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "Mapper" #: ../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 "Vandrette" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Lodrette" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Begge" #: ../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 "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 "Ignorér" #: ../src/ui-pref.c:139 msgid "Append to Info" msgstr "Tilføj til Info" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Tilføj til note" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "Tilføj til Betaler/modtager" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "Tabulator" #: ../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 "Mellemrum" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Systemsprog" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Vælg en mappe til HomeBank datafiler" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "Vælg en mappe til HomeBank backup-filer" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Vælg en standard import mappe" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Vælg en standard eksport mappe" #: ../src/ui-pref.c:1214 msgid "General options" msgstr "Generelle indstillinger" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "OFX/QFX indstillinger" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "QIF indstillinger" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "CSV indstillinger" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "(kun import af transaktioner)" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "Separator:" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Initial filter" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Graf indstillinger" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Farveskema:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "Mindre _font" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Statistik indstillinger" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Vis efter _beløb" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Vis _hyppighedskolonne" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Vis _detaljer" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Budget indstillinger" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Aktivér" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Forvalg:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "Brugerflade" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Sprog:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "_Datoformat:" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Format:" #: ../src/ui-pref.c:1614 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 nationalt forkortet ugedagsnavn.\n" "%A nationalt fuldt ugedagsnavn. \n" "%b nationalt forkortet månedsnavn. \n" "%B nationalt fuldt månedsnavn. \n" "%c national dato- og tidsformat. \n" "%C århundredenummer (årstal divideret med 100 og afkortet til et heltal) som " "[00-99]. \n" "%d dag i måneden som et decimaltal [01,31]. \n" "%D samme som %m/%d/%y. \n" "%e dag i måneden som et decimaltal [1,31]; enkelttegn er med foranstillet " "mellemrumstegn. \n" "%j dag i året som decimaltal [001,366]. \n" "%m måneden som decimaltal [01,12]. \n" "%p nationalt anvendt datoformat. \n" "%y årstal uden århundrede som decimaltal [00,99]. \n" "%Y årstal med århundrede som decimaltal." #: ../src/ui-pref.c:1644 msgid "Fiscal year" msgstr "Regnskabsår" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "Starter _den:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Måleenheder" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "anvend mil til kilometertæller" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Anvend gallon til brændstof" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "Transaktionsliste" #: ../src/ui-pref.c:1715 msgid "_Show future:" msgstr "_Vis fremover:" #. 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:1724 msgid "days ahead" msgstr "dage fremad" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "Skjul afstemte" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "Vis altid påmindelser" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "Vis altid annullerede transaktioner" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "Inkluder påmindelser i balancen" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "Transaktionsdialog" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "Fasthold seneste dato ved flere tilføjelser" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "Overfør tolerance for måldato" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "Muliggør _memo autoudførelse med" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "løbende" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "Vis bekræftelse i 5 sek" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "_Gitterlinjer:" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "Gtk-indstillinger" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "Tilsidsæt" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "Skrift_størrelse:" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "Mørkt tema" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Farve på beløb" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Bruger tilpassede farver" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Udgift:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Indtægt:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Advarsel" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "Aktiver automatisk backup" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "Antal gemte sikkerhedskopier:" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "Frekvensen for backup er en gang dagligt" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "Datafiler:" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "_Backup:" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "Filudveksling" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Importer:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "Eksporter:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Program start" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Vis startbillede" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Indlæs sidst åbnet fil" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Poster aktuelle planlagte transaktioner" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Opdater valutaer online" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Hovedvinduets graf/rapport:" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "Max _antal:" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "Nulstil alle indstillinger" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" "Vil du virkelig nulstille\n" "alle indstillinger til start-\n" "værdierne?" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Indstillinger" #: ../src/ui-pref.c:2512 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:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" "Filmappen til backup er ændret,\n" "du bør kopiere '.bak' filerne til den nye placering." #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Opdelte transaktioner" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "Slet alle" #: ../src/ui-split.c:966 msgid "Apply" msgstr "Anvend" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "Annullér" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Transaktionsbeløb:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Ej tilknyttet:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Sum af opdeling:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "Advarsel: Sum af opsplitning vs. transaktionsbeløb passer ikke" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "Advarsel: Sum af opsplitning vs. transaktionstype passer ikke" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Kan ikke omdøbe denne Tag,\n" "fra '%s' til '%s',\n" "dette navn eksisterer allerede." #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "Flet mærket '%s'" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" "Transaktioner med dette mærke,\n" "vil blive flyttet til det nedenfor valgte mærke." #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "_Slet mærket '%s'" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" "Dette mærke er brugt.\n" "Mærket vil blive slettet alle transaktion der bruger det." #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "Administrer Mærker" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "nyt mærke" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "Transaktion af %s oprettet." #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Vil du afbryde den interne overførsel?\n" "\n" "En fortsættelse vil slette target transaktionen." #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "Af_bryd" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Vis _planlagte" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "Vis _alle konti" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "Brug en skabelon" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "Tilføj og _Behold" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Tilføj transaktion" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "Tilføj skabelon" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Kopieret transaktion" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "Arv skabelon" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "Rediger transaktion" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "Redigér skabelon" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" "- skriv: d, d/m, m/d en hel dato\n" "- brug piletaster + ctrl eller shift\n" "- blank giver dags dato" #: ../src/ui-transaction.c:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "_Beløb:" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "_Til:" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "Bog _2" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" "- skriv bogstaver for autoudførelse\n" "- skriv en ny tekst for at oprette denne" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "Kate_gori:" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "M_emo:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "_Mærker:" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "Advarsel: Fortegn og kategori matcher ikke" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "Rediger flere transaktioner" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" "Skriv som\n" "overfør" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "Periode" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "Trend" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "Fra" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Inkludér" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Udelad" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(ingen type)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Bank" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Kontant" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Aktiv" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Kreditkort" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Passiv" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "Tjekker" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "Opsparing" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Denne måned" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Sidste måned" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Dette kvartal" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Sidste kvartal" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Dette år" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "Sidste år" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Sidste 30 dage" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Sidste 60 dage" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Sidste 90 dage" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Sidste 12 måneder" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "Brugerdefineret" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Alle datoer" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "Næste måned" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "Næste 30 dage" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "Næste 60 dage" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "Næste 90 dage" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "Annulleret" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Mulig" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Før" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Efter" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Udg. & Indt." #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "Ej godkendt" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Ej afstemt" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Uden kategori" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "Man" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "Tir" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "Ons" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "Tor" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "Fre" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "Lør" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "Søn" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Januar" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Februar" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Marts" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "April" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Juni" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Juli" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "August" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Oktober" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "November" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "December" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Søg …" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Check" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "Bankoverførsel" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Dankort/Debitkort" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Stående ordre" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Elektronisk betaling/Giro" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Indskud" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "BankGebyr" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Bet.Service/Direkte Debitering" homebank-5.5.2/po/sk.po0000664000175000017500000025021314021210664011624 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2020-07-21 18:54+0000\n" "Last-Translator: Marian \n" "Language-Team: Slovak \n" "Language: sk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 msgid "Free, easy, personal accounting for everyone" msgstr "Jednoduché, osobné účtovníctvo zdarma pre každého" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "financie;účtovníctvo;rozpočet;osobné;peniaze;" #: ../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 slobodný a otvorený softvér, ktorý vám pomôže spravovat vaše " "osobné účtovníctvo." #: ../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 navrhnutý tak, aby sa jednoducho používal a bol schopný podrobne " "analyzovať vaše osobné financie pomocou výkonných filtračných nástrojov a " "pekných grafov." #: ../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 "" "Ak hľadáte bezplatný a jednoduchý spôsob, ako spravovať svoje osobné " "účtovníctvo, potom by ste mali použiť HomeBank." #: ../src/dsp-account.c:221 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Nenájdené žiadne podobné transakcie!" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Nebola nájdená žiadna nezrovnalosť!" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" "Nájdená nezrovnalosť: %d\n" "želáte si ju skontrolovať a opraviť?" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "Naozaj chcete zmenit hlavnú menu tohto účtu na Euro?" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "_Previesť" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Žiadna zmenená transakcia" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "transakcia zmenená: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Výsledok automatického priradenia" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Vytvoriť" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" "Želáte si vytvoriť šablónu\n" "s označenými transakciami?" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" "Želáte si zmazať\n" "označené transakcie?" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Odstrániť" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "Nazaj chete zmeniť status na Žiadny?" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Zmeniť" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "_Prepnúť" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d transakcií" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d transakcií, %d vybraných, priemer: %s, súčet: %s (%s - %s)" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Pridať..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Zdediť..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Upraviť..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "_Viacnásobná úprava…" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Status" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Žiadny" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Vysporiadané" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Vytvoriť šablónu..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "O_dstrániť..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "_Hore" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "_Dolu" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "Úč_et" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Exportovať QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Exportovať do CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Exportovať do PDF..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "Tlačiť…" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Zatvoriť" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Upraviť" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Kopírovať" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Vložiť" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Vložiť (dnes)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "_Transakcia" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "_Hľadať" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "Nás_troje" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Označit duplicity…" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Automatické priradenie" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filtrovať..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Zmeniť na Euro..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Pridať" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Pridať novú transakciu" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Preberanie" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Zdediť zo zvolenej transakcie" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Upraviť" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Upraviť aktívnu transkaciu" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "Upraviť viacero" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Upraviť viacero transakcií" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Vytvoriť šablónu" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "Odstrániť" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Odstrániť vybrané transakcie" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "Posunúť vyššie" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "Posunúť transakciu vyššie" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "Posunúť nižšie" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "Posunúť transakciu nižšie" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s – HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Všetky transakcie" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Obnoviť" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Rozsah:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "Zobraziť/skryť budúce transakcie" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Typ:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Dnes:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Vitajte v HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "Otvoriť napos_ledy otvorený súbor" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Vytvoriť _nový súbor" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Otvoriť existujúci súbor" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "_Konfigurovať nastavenia" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 #, 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/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Chyba súboru" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Súbor" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Nový" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Otvoriť..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Uložiť" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Obnoviť" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Ukončiť" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Predvoľby..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Zobraziť" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Panel nástrojov" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Naj výdavky" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Spravovať" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "Úč_ty..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Príjemcovia..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Kategórie..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Plánované/Šablóny..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Rozpočet..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Pridelenie..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Meny..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Transakcie" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Pridať..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Zobraziť..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Nastav plánovač..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Zostavy" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "Štatistiky..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Trend Času.." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "R_ozpočet..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "_Náklady na auto..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Ukázať uvítací dialóg..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Anonymizovať..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Pomocník" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Obsah" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Nahlásiť Problém..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Preložiť túto aplikáciu..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_O aplikácii" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Vytvoriť nový súbor" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Otvoriť­ súbor" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Otvoriť nedávno použitý súbor" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Uložiť aktuálny súbor" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Účet" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Príjemca" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Kategória" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Rozpočet" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Zobrazí transakcie na zvolenom účte" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Štatistika" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Časové trendy" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Zostatok" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Pohyby" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Rozpočet" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Otvor report nákladov na auto" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Budúci" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Dátum" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Informácie" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Suma" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, c-format msgid "%d-q%d" msgstr "" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Vypíš označenie verzie a skonči" #: ../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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "HomeBank nastavenia" #: ../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:515 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:551 msgid "Show all" msgstr "" #: ../src/hub-account.c:556 msgid "By type" msgstr "" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Celkom" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:299 msgid "Other" msgstr "" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Dnes" #: ../src/list-operation.c:586 msgid "- split -" msgstr "" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Výdavky" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Príjem" #: ../src/list-operation.c:1491 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 "" #. 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:403 msgid "Next date" msgstr "" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d pod %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Zoznam" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Zobraz výsledky ako zoznam" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Riadok" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Zobraz výsledky ako riadky" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Podrobnosti" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Zobraziť/skryť podrobnosti" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Obnoviť" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Obnoviť výsledky" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Zväčšiť X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Od:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Do:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Účet" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Všetko" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Žiadne" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Výsledok" #: ../src/rep-budget.c:852 msgid " over" msgstr "" #: ../src/rep-budget.c:858 msgid " left" msgstr "" #: ../src/rep-budget.c:861 msgid " under" msgstr "" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Správa rozpočtu" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Zobraziť podľa:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Rozpočet:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Minuté:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Minuté" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Podkategórie" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Štítok" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Mesiac" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Rok" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Zapnúť/vypnúť vysvetlivky" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Prepínač sadzieb" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Štatistika" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Príjem:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Výdaj:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Deň" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Týždeň" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "Ú_čet" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Kategória:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Príjemca" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "Ští_tok" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Kumulované" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Meter" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Palivo" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Cena" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Exportovať do formátu CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Meter:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Spotreba:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Cena paliva:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Iná cena:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Celková cena:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(žiadne)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Viditeľný" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Zrušiť" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Chyba" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1618 #, 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" "nakoľko taký už existuje." #: ../src/ui-account.c:1836 msgid "Manage Accounts" msgstr "Spravovať účty" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Všeobecné" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "Č_íslo" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Každ_ý:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Spravovať Pridelenia" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Plat_ba:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Nenájdené" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Prednastavený súbor:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Meno" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF súbory" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX súbory" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV súbory" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Všetky súbory" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Invertovať" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "dní" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Chyba formátu súboru" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Spravovať rozpočet" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Zostatok" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Vynútiť sledovanie tejto kategórie" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Máj" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Júl" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Aug" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Oct" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Príjem" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Spravovať Kategórie" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Mena" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "Mena:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Exportovať ako QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Importovať z CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "HomeBank súbory" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Informácia:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "Rozlišovať _veľkosť písmen" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Prevod" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Prinúť:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "zobraz 'Pridané'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "zobraz 'Upravené'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:194 msgid "File properties" 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 "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "Pl_atba:" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "Spravovať Príjemcov" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Zobraziť podľa sumy" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Zobraziť _podrobnosti" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Povoliť" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Prednastaviť:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Použiť vlastné farby" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Výdavok:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Príjem:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Varovanie:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Import:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Export:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Načítať naposledy otvorený súbor" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Akutalizovať meny online" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Predvoľby" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Pridať transakciu" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Zdediť transakciu" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Zahrnúť" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Vypustiť" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Banka" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Hotovosť" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Aktíva" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Kreditná karta" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Pasíva" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Posledných 30 dní" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Posledných 12 mesiacov" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Všetky dátumy" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Pred" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Po" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Príjmy a výdaje" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Bez kategórie" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "Pon" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "Uto" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "Str" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "Štv" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "Pia" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "Sob" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "Ned" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Január" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Február" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Marec" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Apríl" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Jún" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Júl" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "August" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Október" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "November" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "December" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Hľadať..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Skontrolovať" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "Bankový prevod" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Debetná karta" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Trvalý príkaz" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Elektronická platba" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Vklad" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Bankový poplatok" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Inkaso" homebank-5.5.2/po/uk.po0000664000175000017500000030535014021210665011632 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2020-03-03 17:09+0000\n" "Last-Translator: Roma \n" "Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "Подібна группа транзакцій %d вже існує" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Жодної подібної транзакції не знайдено!" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "Перевірте внутрішній результат передачі" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Невідповідності не знайдено!" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Сума кожної операції буде розділена на %.6f." #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Конвертувати рахунок в евро,\n" "як в основну валюту?" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "_Конвертувати" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Операцію не змінено" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "операція %d змінена" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Автоматичний результат" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Створити" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Видалити" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "Ви впевнені, що хочете змінити статус на \"Немає статусу\"?" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Якась з вибраних операцій вже має статус \"Врегульована\"" #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Змінити" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Ви впевнені, що хочете змінити статус на \"Врегульована\"?" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "_Змінити" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d операцій" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d операцій, %d вибраних, середнє: %s, сума: %s (%s - %s)" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Додати..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Успадкувати" #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Правка..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "_Масова правка..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Стан" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Жоден" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Очистити" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Врегульовано" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Створити шаблон..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Видалити..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "_Обліковий запис" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Експортувати в QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Експортувати в CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Експортувати в PDF..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Закрити" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Зміни" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Копіювати" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Вставити" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Вставити (сьогодні)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Транзак_ція" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "_Знайти" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Інструменти..." #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Відмітити як дублікат..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "Перевірка внутрішнього переказу" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Авто призначення" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Фільтр..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Конвертувати у евро..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Створити" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Додати нову операцію" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Успадкувати" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Успадкувати з активної операції" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Редагувати" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Редагувати операцію" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Змінити статус на \"Очищено\" для вибраних опарацій" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Змінити статус на \"Врегульовано\" для вибраних операцій" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Редагувати операції" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Створити шаблон" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "Видалити" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Видалити вибрані операції" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "Пермістити операцію вгору" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "Пермістити операцію вниз" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(зачинено)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Усі операції" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Оновити" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Діапазон:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "Показати майбутні операції" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Тип:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Стан:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_ За замовчуванням" #: ../src/dsp-account.c:2668 msgid "Open the list filter" msgstr "Відкрити фільтр переліку" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Євро _мінор" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Сьогодні:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Ласкаво просимо в HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Створити файл" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Відкрити файл" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Відкрити файл з прикладом" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Читати посібник Bank _Manual" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Налаштування _параметрів" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "_Відкрити резервну копію" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Не вдається відкрити «%s», файл не існує.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Невідома помилка" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "Помилка вводу/виводу для файлу '%s'." #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Не припустимий файл '%s' для HomeBank." #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Помилка файлу" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "Файл було змінено з підчас роботи з ним." #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "Якщо Ви збережете його, усі зовнішні зміни будуть втрачені. Зберегти?" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "З_берегти попри все" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "Очистити" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Файл" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Новий" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Відкрити..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Відкрити _нещодавнє" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Зберегти" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Зберегти _як..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "Імпорт..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "Експортува у QIF..." #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Скасувати" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "Відновити з резервної копії" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Властивості…" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Вихід" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Налаштування..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Перегляд" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "Панель інструментів" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Відобразити круговий графік витрат" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "_Відобразити заплановані/майбутні/нагадування" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Євро мінор" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Управління" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "Ра_хунки..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Отримувачі" #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Категорії..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Заплановані/Шаблони" #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Бюджет..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "Бюджет (таблиця)" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Призначення" #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Валюти..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "Теги..." #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Операції" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Додати..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Відобразити..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Відобразити все" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Налаштувати планувальник" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Опублікувати усі заплановані" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Звіти" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Статистика" #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Часова Тенденція..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "_Баланс..." #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "Б_юджет" #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "Вартість авто..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Показувати діалог привітання..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Статистика файла..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Анонімні..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Довідка" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Зміст" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "Отримати онлайн-довідку..." #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Перевірити оновлення..." #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Відомості про реліз" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Звітувати про проблему..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Перекласти цю програму" #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_Про програму" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Створити новий файл" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Відкрити файл" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Відкрити нещодавній файл" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Зберегти поточний файл" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Рахунок" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Отримувач" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Категорія" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Бюджет" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Відобразити транзакції по рахункам" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Додати операцію" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Відкрити звіт статистики" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Відкрити звіт Часової Тенденції" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Баланс" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Відкрити звіт Балансу" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Відкрити звіт бюджету" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Вартість авто" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Відкрити звіт вартості авто" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "Пожертвувати проекту HomeBank" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Заплановані" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Майбутні" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Нагадати" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(без категорії)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "неправильний формат CSV" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Дата" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Відомості" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Коментар" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Сума" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Невідомий" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f л" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "км/л" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "миль/л" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(нема отримувача)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Налаштування HomeBank" #: ../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:515 msgid "Your accounts" msgstr "Ваші рахунки" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Розгорнути все" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Згорнути все" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Показати все" #: ../src/hub-account.c:556 msgid "By type" msgstr "За типом" #: ../src/hub-account.c:557 msgid "By group" msgstr "За групою" #: ../src/hub-account.c:558 msgid "By institution" msgstr "По установам" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Немає операції щоб додати" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "операція додана: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Перевірте заплановані операції" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Всього" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Заплановані операції" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "Найбільші %d витрати" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Інший" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "На що витрачаються ваші кошти" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "Імпортовані рахунки" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Загальний підсумок" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Облікові записи" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Сьогодні" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- розбити -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "- вкажіть категорію -" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Статус" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Витрати" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Прибуток" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Наступна дата" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d за %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Список" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Переглянути у вигляді списку" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Лінійна" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Переглянути у вигляді рядка" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Деталі" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Показати детальніше" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Оновити" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Оновити результати" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Балансовий звіт" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Відобразити" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "Інтер_вал:" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "Показувати порожні рядки" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Збільшення X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Від:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Кому:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Назва рахунку" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Вибрані:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Усе" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Відсутнє" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Бюджет для %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Результат" #: ../src/rep-budget.c:852 msgid " over" msgstr " над" #: ../src/rep-budget.c:858 msgid " left" msgstr " залишилось" #: ../src/rep-budget.c:861 msgid " under" msgstr " під" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "Переглянути у вигляді стекової діаграми" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "_Результат у буфер обміну" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "_Результат у CSV" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "_Деталі у буфер обміну" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "_Деталі у CSV" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Звіт по бюджету" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Перегляд по" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "Тільки які не входять у бюджет" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Результат:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Бюджет:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Витрачено:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "Жоден рахунок не описано як частину бюджету." #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "Вам потрібно включити рахунки у Діалозі рахунків." #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Витрачено" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Підкатегорія" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Тег" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Місяць" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Рік" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s у виконанні %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "Забагато стовпців для відображення" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "Виберіть більш широкий інтервал та / або більш вузький діапазон дат" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Переглянути результати у стовпчиковій діаграмі" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Переглянути результати у круговій діаграмі" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Увімкнути пояснення" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Відобразити у відсотках" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Редагувати фільтр" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Статистичний Звіт" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "Режим:" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Прибуток:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Витрата:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "Середнє" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "День" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Тиждень" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Квартал" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "Півроку" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s з часом" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Середнє: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Тенденція з часом" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Рахунок:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Категорія:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Отримувач:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Тег:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Вибрати _все" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Акумулюючий" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Лічильник" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Пальне" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Ціна" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Відст.:" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Експортувати як CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Звіт видатків на авто" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "Авто_мобіль:" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Лічильник:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Споживання:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Вартість палива:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Вартість інше:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Загальна вартість:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(немає імені)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Видимий" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Скасувати" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_ОК" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Назва рахунку" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Помилка" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Не можливо додати рахунок '%s',\n" "така назва вже зайнята." #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "Не можливо видалити рахунок '%s'" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "Цей рахунок містить операції та/або є частиною внутрішніх переказів." #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Ви впевнені, що хочете остаточно видалити '%s'?" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "Якщо ви видалите рахунок, він буде назавжди втрачений." #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Керування рахунками" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "Змінити назву" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Перетягніть, щоб змінити порядок\n" "Двічі клацніть для перейменування" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Основне" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "_Група:" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "_Установа:" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "_Число:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Початковий _баланс:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Валюта:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "рахунок _закритий" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Примітки:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "Поведінка" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "Автоматизація" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "_Шаблон за замовчуванням:" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Виключити з звіту" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "виключити з звіту по рахунку" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "виключити з _бюджету" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "виключити зі віх _звітів" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "Різне" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Поточний номер чека" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Чекова книжка_1:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Чекова книжка_2:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Обмеження балансу" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "Овердрафт:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "Якщо ви видалите заплановане/шаблон, він буде втрачений безповоротно." #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "Наступна _дата:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Періодичність:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "Додаткові параметри" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Вихідні:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Зупинити після" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "записи" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Управління розкладом/шаблоном операцій" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "_Розклад" #: ../src/ui-assign.c:344 msgid "Search" msgstr "Пошук" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "Нотатки" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "(правило %d)" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "Якщо ви видалите завдання, воно буде назавжди втрачено." #: ../src/ui-assign.c:718 #, fuzzy, c-format msgid "This search text already exists at position %d" msgstr "Такий запит пошуку вже існує" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Вимкнути" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Якщо порожній" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Замінити" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Керування підтвердженнями" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "перетягнути та відпустити для зміни" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Умова" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "_Пошук:" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "Враховуючи регістр" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "Регулярний вираз" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "_В:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "Призначення" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Пла_тіж:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Не знайдено" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Занадий файл:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Назва:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "<Новий обліковий запис (глобально)>" #: ../src/ui-assist-import.c:482 msgid "" msgstr "<Новий обліковий запис>" #: ../src/ui-assist-import.c:503 msgid "" msgstr "<Пропустити це обліковий запис>" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "Дійсний" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Назва" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Відкрити" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Відомі файли" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "Файли QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX файли" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV файли" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Усі файли" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "новий глобальний обліковий запис" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "новий обліковий запис" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "пропустити" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr ", %d з %d операцій" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "Імпортувати %s в:" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "цей файл" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "цей обліковий запис" #: ../src/ui-assist-import.c:1331 #, 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:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "%d операцій, %d схожих, %d існуючих, %d вибраних" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d операцій, %d вибраних" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "Імпортувати операції з банку чи кредитної картки" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "Жодних змін не буде здійснено, поки ви не натиснете \"Застосувати\" на " "останньому етапі." #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" "Перетягніть один або декілька файлів для імпорту.\n" "Ви також можете використовувати кнопки додати/видалити." #: ../src/ui-assist-import.c:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "Помилка ідентифікації облікового запису за іменем чи номером." #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Порядок дати:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "_Імпортувати коментарі" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "_Співставити коментарі з одержувачами платежів" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "OFX _Ім'я:" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "OFX _Коментар:" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Інвертувати" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "Призначити _коментар/одержувач платежу" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "Аналогічна операцыя в цільовому рахунку (можливий дублікат)" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "дні" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "Запуск автоматичних операцій" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "1) Заповнити _одержувачем за замовчуванням" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "2) Запустити автоматичні правила" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "Натисніть \"Застосувати\", щоб оновити свої акаунти." #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Вітаємо" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "Виберіть файл(и)" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "Імпорт:" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Підтвердження" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Помилка формату файлу" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "Ви впевнені, що хочете очистити введені дані?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "Якщо ви продовжите, то кожна наступна сума буде 0." #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Очистити" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Управління бюджетом" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "_Імпортувати CSV" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "Е_кспортувати CSV" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Баланс:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "такий же, кожного місяця" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "_Очистити" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "різні, кожного місяця" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Параметри" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Примусово слідкувати за цією категорією" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "січ" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "лют" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "бер" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "кві" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "тра" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "чер" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "лип" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "сер" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "вер" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "жов" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "лис" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "Загальна річна сума" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "Середньомісячний" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "Щомісячно" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "Додати категорію" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "_Застосувати" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "Батьківська категорія" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "Назва категорії" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Ця категорія вже використовується.\n" "Будь-яка операція, що використовує цю категорію, буде змінена на (без " "категорії)" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "Об'єднання категорій" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" "Операції, присвоєні категорії \"% s\", будуть переміщені до категорії, " "вибраної далі." #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "Цільова категорія" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "_Видалити категорію '%s'" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "Ви впевнені, що хочете очистити введені дані для '% s'?" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "Бюджет (табличний перегляд)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "Додати категорію" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "Видалити категорію" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Об'єднати" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "Очистити поле вводу" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Прибуток" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Керування категоріями." #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Цифр після коми:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "Обіг:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Експортувати у файл QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Імпортувати з CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Файли HomeBank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Інфо:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "З урахуванням _регістру" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Перенесення" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Причина:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "показати 'Доданий'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "показати 'Відредагований'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:194 msgid "File properties" 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 "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "Керування Отримувачами" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Выдображати за кількістю" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Показувати стовбчик _rate" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Відобразити детально" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Увімкнути" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Шаблон:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 msgid "_Toolbar:" msgstr "_Панель інструментів" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1845 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Використовує вказані користувачем кольори" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Витрата:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Прибуток:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Попередження:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Імпорт:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Експорт:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Завантажити файл, який відкривався останнім" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Налаштування" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Додати транзакцію" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Успадкувати транзакцію" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Включити" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Виключити" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(без типу)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Банк" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Готівка" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Активи" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Кредитна картка" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Заборгованість" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Остатніх 30 днів" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Останні 12 місяців" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Вся дата" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Витрати та Прибутки" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "січень" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Лютий" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Березень" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Квітень" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Червень" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Липень" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Серпень" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Вересень" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Жовтень" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Листопад" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Грудень" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Вер" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Чек" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Дебет катртка" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Платіжне доручення" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Електронний платіж" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Депозит" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "FI гонорар" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "" homebank-5.5.2/po/pt.po0000664000175000017500000026551214021210663011641 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2021-01-10 16:19+0000\n" "Last-Translator: Fernando Alencar \n" "Language-Team: Portuguese \n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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 você está procurando um modo totalmente gratuito e fácil para gerenciar " "suas finanças pessoais o HomeBank será a sua melhor escolha" #: ../src/dsp-account.c:221 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Sem inconsistências" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, 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:394 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:396 msgid "_Convert" msgstr "_Converter" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Nenhuma transação alterada" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "transacção alterada: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Resultados da atribuição automática" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Apagar" #: ../src/dsp-account.c:1677 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:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Algumas transações selecionadas já foram reconciliadas" #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Alterar" #: ../src/dsp-account.c:1735 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:1737 msgid "_Toggle" msgstr "_Mudar" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Adicionar..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Herdar..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Editar..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "_Edição Múltipla..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Estado" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Nada" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Limpo" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Reconciliado" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Criar modelo..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "Criar tarefa ..." #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "Apa_gar.." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "_Para Cima" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "_ Para Baixo" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "_Conta" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Exportar QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Exportar CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Exportar como PDF..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "Imprimir..." #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Fechar" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Editar" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Copiar" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Colar" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Colar (hoje)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Transaç_ão" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "_Localizar" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Ferramentas" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Auto atribuições" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filtro" #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Converter para Euro..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Adicionar" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Adicionar nova transação" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Herdar" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Herdar da transação ativa" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Editar" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Editar transação ativa" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Limpo" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Mudar para descontado as transacções seleccionadas" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Reconciliado" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Mudar transacções seleccionadas para reconciliado" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Editar múltiplas transações" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Criar modelo" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Apagar transações selecionadas" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Actualizar" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Intervalo:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "Botão mostrar transação futura" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Tipo:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Estado:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Repor" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Euro_menor" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Hoje:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Bem-vindo ao HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Criar _novo arquivo" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Abrir um arquivo existente" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Abrir o arquivo _exemplo" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Consultar Manual _do HomeBank" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Configurar _preferências" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "_Open cópia de segurança" #: ../src/dsp-mainwindow.c:1044 #, 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/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Erro desconhecido" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "I/O Erro de leitura do arquivo %s." #: ../src/dsp-mainwindow.c:1132 #, 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:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Erro de arquivo" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "O ficheiro foi modificado desde que foi lida." #: ../src/dsp-mainwindow.c:1212 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:1213 msgid "S_ave Anyway" msgstr "S_ave na mesma" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Arquivo" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Novo" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Abrir..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Abrir _Recente" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Salvar" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Salvar_como..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Reverter" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Propriedades..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Sair" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Preferências..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Visualizar" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Barra de ferramentas" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Maiores despesas" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Submúltiplo de Euro" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Gerir" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "C_ontas..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Sacadores..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Categorias..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Agendada/Modelo..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Orçamento..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Atribuições..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Moedas..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Transações" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Adicionar..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Mostrar..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Definir agendamento..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Lançamento agendado" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Relatórios" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Estatística..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Tendência ao longo do tempo..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "O_rçamento" #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "_Custo do Veículo" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Mostrar diálogo de boas vindas..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Estatística do arquivo..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Tornar anônimo..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Ajuda" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Conteúdo" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Verificar se há actualizações..." #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Notas de Lançamento" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Reportar um problema..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Traduzir esta aplicação..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_Sobre" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Criar um novo arquivo" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Abrir arquivo" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Abrir um arquivo usado recentemente" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Salvar o arquivo atual" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Conta" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Favorecido" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Categoria" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Orçamento" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Atribuição" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Mostra as transações da conta selecionada" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Adicionar transações" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Abrir relatório da estatística" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Abrir relatório da tendência ao longo do tempo" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Saldo" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Abrir relatório do Saldo" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Abrir relatório do orçamento" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Custo do veículo" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Abrir relatório de custos do veículo" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Agendada" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Futuro" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Lembrar" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(sem categoria)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "Formato CSV inválido" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Data" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Informações" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Memorando" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Valor" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Desconhecido" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f L" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/L" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "mi./L" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(sem sacador)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Opções HomeBank" #: ../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:515 msgid "Your accounts" msgstr "Suas contas" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Expandir tudo" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Recolher tudo" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Mostrar tudo" #: ../src/hub-account.c:556 msgid "By type" msgstr "Por tipo" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Sem transações para adicionar" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "transação adicionada: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Verificar resultado das transações agendadas" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Transações agendadas" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "E_nviar" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "Top %d gastos" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Outro" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Para onde vai o seu dinheiro" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Total Geral" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Contas" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Hoje" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- separar -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Estado" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Despesas" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Receitas" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Próxima data" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d sob %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Lista" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Ver resultados em lista" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Gráfico de linhas" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Ver resultados como linhas" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Detalhe" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Mudar detalhes" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Atualizar" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Atualizar resultados" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Relatório do saldo" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Visualização" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Zoom X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_De:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Até:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Nome da conta" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Selecionar:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Tudo" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Nenhum" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Orçamento para %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Resultados" #: ../src/rep-budget.c:852 msgid " over" msgstr " sobre" #: ../src/rep-budget.c:858 msgid " left" msgstr " esquerda" #: ../src/rep-budget.c:861 msgid " under" msgstr " sob" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "Ver resultados em barras empilhadas" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "_Result para o clipboard" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "_Result para CSV" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "_Detail para o clipboard" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "_Detail para CSV" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Relatório de orçamento" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Ver por:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "Só fora do orçamento" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Resultado:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Orçamento:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Despesa:" #: ../src/rep-budget.c:1422 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:1423 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:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Despesa" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Subcategoria" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Etiqueta" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Mês" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Ano" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s por %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Ver resultados em colunas" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Ver resultados em anel" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Mudar legenda" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Mudar taxa" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Editar filtro" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Relatório da estatística" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Receita:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Despesa:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Dia" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Semana" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Trimestre" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s Ao longo do tempo" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Média: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Relatório da tendência ao longo do tempo" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Conta:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Categoria:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Sacador:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Etiqueta:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Seleccionar _tudo" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Acumulado" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Indicador" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Combustível" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Preço" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Distância" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Exportar como CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Relatório de custos da viatura" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "Viat_ura:" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Indicador:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Consumo:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Custos com combustível:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Outros custos:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Custos totais:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(nada)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Visível" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Cancelar" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Nome da conta" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Erro" #: ../src/ui-account.c:1505 #, 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:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "Não foi possível apagar a conta '%s'" #: ../src/ui-account.c:1557 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:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, 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:1570 msgid "If you delete an account, it will be permanently lost." msgstr "Se apagar uma conta, esta será definitivamente apagada." #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Gerir Contas" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 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:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Geral" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "N_úmero:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "_Saldo inicial:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Moeda:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "esta conta foi _encerrada" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Notas:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Reportar exclusão" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "excluir do resumo da _conta" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "excluir do _orçamento" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "excluir de qualquer _relatório" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Número de cheque actual:" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Livro de cheques _1:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Livro de cheques _2:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Limites balanço" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "_Overdraft em:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 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:972 msgid "Next _date:" msgstr "Próxima _data:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Cad_a:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Fim da semana:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Parar após:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "Lançamentos" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Gerir transacções agendadas/modelo" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Template" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 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:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Desactivado" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Se vazio" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Substituir" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Gerir Atribuições" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Condição" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Pag_amento:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Adicionar" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Não encontrado" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Ficheiro da predefinição:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Nome:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Nome" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Abrir" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Ficheiros aceites" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "Ficheiros QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "Ficheiros OFX/QFX" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "Ficheiros CSV" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Todos os ficheiros" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Data da operação:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Inverter" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "dias" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Bem vindo" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "Importar" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Confirmação" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Erro no formato do ficheiro" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "Tem a certeza que pretende limpar a introdução" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 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:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Limpar" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Gerir Orçamento" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "_Importar CSV" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "E_xportar CSV" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Saldo:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "_Limpar entrada" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Opções" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Forçar monitorização desta categoria" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Fev" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Abr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Maio" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Ago" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Out" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 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:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "_Apagar categoria '%s'\"" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Combinar" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Apagar categorias não usadas" #: ../src/ui-category.c:1598 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:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Editar..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Receita" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Combinar categoria '%s'" #: ../src/ui-category.c:1943 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:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Gerir Categorias" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "Apagar não utilizados" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "nova categoria" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Moeda" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Formato" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Personalizar" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Símbolo:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "É pre_fix" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "_Decimal caráter:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Dígitos da fração:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "Adicionar uma custom _currency" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "Actualização online" #: ../src/ui-currency.c:1762 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:206 msgid "Transaction" msgstr "Transacção" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Atualizar" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Seleccione a moeda padrão" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "Moeda:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Exportar como QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Importar de CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "Abrir ficheiro HomeBank" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "Guardar ficheiro HomeBank como" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Ficheiros HomeBank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Gravar as alterações antes de fechar" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "Fechar _sem gravar" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Pasta:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Escolha uma Pasta" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Ficheiro:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Exportar como PDF" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Exportar como _PDF" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Seleccione entre as transacções possíveis..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Seleccione uma acção:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "criar nova transacção" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "seleccione uma transacção existente" #: ../src/ui-dialogs.c:1091 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:1049 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:1155 msgid "_Memo:" msgstr "_Memorando:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Informações:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "_Sensível a maiúsculas e minúsculas" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Qualquer estado" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Qualquer tipo" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Transferência" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Forçar:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "mostrar \"Adicionada\"" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "mostrar \"Editada\"" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "mostrar 'Lembrete'" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "Datas" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "Pagamentos" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Montantes" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "Textos" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Categorias" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Beneficiários" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Propriedades do ficheiro" #: ../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" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Apagar entidades não usadas" #: ../src/ui-payee.c:1194 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:1375 msgid "Default" msgstr "Padrão" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "Pa_gamento:" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "Combinar sacador '%s" #: ../src/ui-payee.c:1510 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:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "_Apagar sacador '%s'" #: ../src/ui-payee.c:1613 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:1710 msgid "Manage Payees" msgstr "Gerir Sacadores" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "Opções OFX/QFX" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "Opções QIF" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Fitro inicial" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Opções dos gráficos" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Esquema de cores:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Opções da estatística" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Mostrar por _valor" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Mostrar _coluna da taxa" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Mostrar _detalhes" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Opções de orçamento" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Activar" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Predefinição" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Idioma:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Formato:" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Ano fiscal" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "Começa _em:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Unidades de medida" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Utilizar _milhas para distância" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Utilizar _galões para o combustivel" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "Linha _Grid:" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Número de cores" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Utilizar cores personalizadas" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Despesa:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Receita:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Aviso:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Importar:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Exportar:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Arranque do programa" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Mostrar ecrã inicial" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Carregar o último ficheiro aberto" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Lançar transações agendadas pendentes" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Atualizar moedas online" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Relatórios da janela principal" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Preferências" #: ../src/ui-pref.c:2512 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:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Divisão da transacção" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Valor da transacção:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Não atríbuida:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Soma das partes:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Mostrar _scheduled" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Adicionar transacção" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Herdar transacção" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "M_emorando:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "Aviso: sinal da quantia e categoria não correspondem" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "Edição de múltiplas transacções" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Incluir" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Excluir" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(sem tipo)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Banco" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Dinheiro" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Activo" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Cartão de crédito" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Responsabilidade" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Este mês" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Mês passado" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Este quadrimestre" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Quadrimestre passado" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Este ano" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "Ano passado" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Últimos 30 dias" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Últimos 60 dias" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Últimos 90 dias" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Últimos 12 meses" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Todas as datas" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Possível" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Antes" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Depois" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Despesas e Rendimentos." #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "Não descontado" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Não reconciliado" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Sem categoria" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Janeiro" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Fevereiro" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Março" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Abril" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Junho" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Julho" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Agosto" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Setembro" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Outubro" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Novembro" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Dezembro" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Set" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Procurar..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Cheque" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Cartão de débito" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Ordem permanente" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Pagamento electrónico" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Depósito" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Taxa Financeira" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Débito Directo" homebank-5.5.2/po/id.po0000664000175000017500000024545114021210662011611 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2019-12-29 23:41+0000\n" "Last-Translator: cahkendilit \n" "Language-Team: Indonesian \n" "Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Semua transaksi akan di bagi dengan %.6f" #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "Konversikan" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Tidak ada transaksi yang berubah" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1677 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:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Beberapa transaksi dalam pilihan Anda sudah Berdamai." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Ubah" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Apakah Anda yakin ingin beralih status Reconciled?" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "_Ganti mode" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Tambah..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Limpahan" #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Sunting..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Buat template..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Export QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Ekspor CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Tutup" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Edit" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "_Transaksi" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "Ala_t" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Tapis..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Tambah" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Tambah transaksi baru" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Wariskan" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Limpahan dari transaksi aktif" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Sunting" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Sunting transaksi aktif" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Rentang" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Tipe" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Hari ini:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Selamat datang di HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Buat berkas baru" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Buka berkas _contoh" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Gagal membuka '%s', berkas tidak ditemukan.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Galat berkas" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Berkas" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Baru" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Buka..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Simpan" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Kembali pada" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Keluar" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Preferensi..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Tampilan" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Bilah_Alat" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Kelola" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "A_kun..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Penerima..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Kategori..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Terjadwal/Template..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Anggaran..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "" #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Transaksi" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Tambah..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Tampilkan..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Laporan" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Statistik..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Tren Waktu..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "A_nggaran" #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Tampilkan pesan sambutan" #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Bantuan" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Daftar Isi" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Laporkan masalah..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Terjemahkan aplikasi ini..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_Tentang Program Ini" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Buat berkas baru" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Buka berkas" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Buka berkas yang baru dibuka" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Simpan berkas ini" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Akun" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Penerima" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Kategori" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Anggaran" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Tampilkan transaksi akun yang dipilih" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Buka laporan statistik" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Buka laporan Tren Waktu" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Neraca" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Buka laporan Neraca" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Buka laporan anggaran" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Akan datang" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Tanggal" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Info" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Jumlah" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Pilihan HomeBank" #: ../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:515 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:551 msgid "Show all" msgstr "" #: ../src/hub-account.c:556 msgid "By type" msgstr "" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:299 msgid "Other" msgstr "" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Hari ini" #: ../src/list-operation.c:586 msgid "- split -" msgstr "" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Biaya" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Pendapatan" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d di bawah %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Daftar" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Tampilkan hasil dalam bentuk daftar" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Garis" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Tampilkan hasil dalam bentuk grafik garis" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Rincian" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Rincian Toggle" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Muat ulang" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Muat ulang hasil" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Laporan neraca" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "X _Zum" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Dari:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Ke:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Akun" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Semua" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Tidak ada" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Hasil" #: ../src/rep-budget.c:852 msgid " over" msgstr "" #: ../src/rep-budget.c:858 msgid " left" msgstr "" #: ../src/rep-budget.c:861 msgid " under" msgstr "" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Laporan anggaran" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Tampilan dalam bentuk:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Anggaran:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Pengeluaran" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Pengeluaran" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Subkategori" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Label" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Bulan" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Tahun" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Toggle legend" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Toggle rate" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Laporan Statistik" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Pendapatan:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Pengeluaran" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Hari" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Minggu" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Kuartal" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Laporan Tren Waktu" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "A_kun:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Kategori:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Penerima:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Label" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Pilih _semua" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Meter" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Bahan bakar" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Harga" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Jarak" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Ekspor sebagai CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Laporan biaya kendaraan" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Meter:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Konsumsi:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Biaya bahan bakar:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Biaya lain-lain" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Total biaya:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(tidak ada)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Nampak" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Batalkan" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Galat" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Kelola Akun" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Umum" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "_Nomor" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Setia_p" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "_Pembayaran" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Tidak ditemukan" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Nama:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "Berkas QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "Berkas CSV" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Seluruh berkas" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Balik" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "hari" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Konfirmasi" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Format berkas salah" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Kelola Anggaran" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Neraca" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Mei" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Agu" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Okt" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Pendapatan" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Kelola Kategori" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "Digit _pecahan" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Ekspor sebagai QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Impor dari CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Berkas HomeBank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_info" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Transfer" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Toleransi:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "tampilan 'Ditambahkan'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "tampilan 'Diubah'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:194 msgid "File properties" 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 "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "Kelola Penerima" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Tampilkan berdasarkan _jumlah" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Tampilkan kolom _rate" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Tampilkan _rincian" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Aktifkan" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Gunakan warna kustom" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Biaya:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Pendapatan:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Peringatan:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_impor:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Ekspor:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Buka berkas terakhir" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Pengaturan" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Tambah transaksi" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Transaksi yg dilimpahkan" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "Mengedit beberapa transaksi" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Termasuk" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Pengecualian" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Bank" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Tunai" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Aset" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Kartu kredit" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "30 hari terakhir" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "12 bulan terakhir" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Semua tanggal" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Biaya & Insentif" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Januari" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Februari" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Maret" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "April" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Juni" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Juli" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Agustus" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Oktober" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "November" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Desember" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Kartu debit" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Pembayaran elektronik" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Deposit" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "" homebank-5.5.2/po/hr.po0000664000175000017500000025601514021210661011623 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2016-06-25 10:16+0000\n" "Last-Translator: gogo \n" "Language-Team: Croatian \n" "Language: hr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Svaki iznos transakcije će biti podjeljen s %.6f." #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "_Konvertiraj" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Transakcija nije mijenjana" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Obriši" #: ../src/dsp-account.c:1677 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:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Neke transakcije u vašem odabiru već su usklađene." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Promijeni" #: ../src/dsp-account.c:1735 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:1737 msgid "_Toggle" msgstr "_Prebaci" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Dodaj..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Naslijedi..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "U_redi..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Status" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Ništa" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "Očišćeno" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "Usklađeno" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Kreiraj predložak..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "Izbriši" #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Izvezi QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Izvezi CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Zatvori" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Uredi" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "_Transakcija" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Alati" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filter..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Dodaj" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Dodaj novu transakciju" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Naslijedi" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Naslijedi iz aktivne transakcije" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Uredi" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Uredi aktivnu transakciju" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Očišćeno" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Prebaci u očišćeno odabrane transakcije" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Usklađeno" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Prebaci u usklađeno odabranu(e) transakciju(e)" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Kreiraj predložak" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Izbriši označenu(e) transakciju(e)" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Osvježi" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Raspon:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "Vrs_ta:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Početno stanje" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Danas:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Dobrodošli u HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Kreiraj _novu datoteku" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Otvori postojeću datoteku" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Otvori ogl_ednu datoteku" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Pročitajte Homebank priručnik" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Nemoguće otvoriti '%s', datoteka ne postoji.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "I/O greška datoteke '%s'." #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Datoteka '%s' nije ispravna Homebank datoteka." #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Greška datoteke" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Datoteka" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Novo" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Otvori..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Spremi" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Povrati" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Izlaz" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Podešenja..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "Pri_kaži" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Alatna traka" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Top lista trošenja" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro minor" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "Ad_ministriraj" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "_Računi..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Primatelji..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Kategorije..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Planirano/Predložak..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Proračun..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Doznake..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Transakcije" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Dodaj..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Prikaži..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Namjesti planer..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Istakni planirano" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Izvješća" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Statistika..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "Trendovi" #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "_Proračun" #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "Putni troškovi..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Prikaži dijalog dobrodošlice..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Statistika o datotekama..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Anonimiziraj..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Pomoć" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Sadržaj" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Prijavi problem..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Prevedite ovaj program..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_O programu" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Kreiraj novu datoteku" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Otvori datoteku" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Otvori nedavno korištenu datoteku" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Spremi trenutnu datoteku" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Račun" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Primatelj" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Kategorija" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Proračun" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Doznaka" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Prikazuje transakcije označenog računa" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Dodaj transakcije" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Otvori izvješće o statistici" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Otvori izvješće o trendovima" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Bilanca" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Otvori izvješće o bilanci" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Otvori izvješće o proračunu" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Putni troškovi" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Otvori izvješće o putnim troškovima" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Buduće" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Podsjeti" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(nekategorizirano)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Datum" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Informacije" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Memo" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Iznos" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Nepoznato" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(nema primatelja)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "HomeBank odrednice" #: ../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:515 msgid "Your accounts" msgstr "Vaši računi" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:551 msgid "Show all" msgstr "" #: ../src/hub-account.c:556 msgid "By type" msgstr "" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Nema transakcija za dodati" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "dodane transakcije: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Provjeri stanje planiranih transakcija" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Ukupno" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Planirane transakcije" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Ostalo" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Na što se troši vaš novac" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Sveukupni iznos" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Računi" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Danas" #: ../src/list-operation.c:586 msgid "- split -" msgstr "-razdvoji-" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Status" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Trošak" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Prihod" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Sljedeći datum" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d pod %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Popis" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Pregled rezultata kao popis" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Linija" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Pregled rezultata kao linije" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Detalj" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Uključi detalj" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Osvježi" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Osvježi rezultate" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Izvješće o bilanci" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Prikaži" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Zumiraj X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Od:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Do:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Ime računa" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Sve" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Nema" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Proračun za %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Rezultat" #: ../src/rep-budget.c:852 msgid " over" msgstr " preko" #: ../src/rep-budget.c:858 msgid " left" msgstr " lijevo" #: ../src/rep-budget.c:861 msgid " under" msgstr " ispod" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "Prikaz rezultata kao gomile" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Izvještaj o proračunu" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "Prikaz prema:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Rezultat:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Proračun:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Potrošeno:" #: ../src/rep-budget.c:1422 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:1423 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:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Potrošeno" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Podkategorija" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Oznaka" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Mjesec" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Godina" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s po %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Prikaz rezultata kao stupac." #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Prikaz rezultata kao torta" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Uključi legendu" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Uključi stopu" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Izvještaj o statistici" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Prihod:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Trošak:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Dan" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Tjedan" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Kvartal" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s prekovremeno" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Prosjek: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Izvješće o trendovima" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Račun" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Kategorija:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Primatelj:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Tag:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Od_aberi sve" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "Skupi" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Brojač" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Gorivo" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Cijena" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Udalj." #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Izvezi kao CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Izvješće o putnim troškovima" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "Prijevoz" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Brojač:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Potrošnja:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Trošak za gorivo:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Ostali troškovi:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Ukupni troškovi:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(ništa)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Vidljivo" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Odustani" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_U redu" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Ime računa" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Greška" #: ../src/ui-account.c:1505 #, 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:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "Nije moguće izbrisati račun '%s'" #: ../src/ui-account.c:1557 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:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, 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:1570 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:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Upravljanje računima" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 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:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Općenito" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "Broj" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Početna _bilanca:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "taj račun je zatvoren" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Izuzeće iz izvješća" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "izuzmi iz _sažetka računa" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "izuzmi iz proračuna" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "izuzmi iz svakog izvješća" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Trenutni broj provjere" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Knjiga provjere _1" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Knjiga provjere _2" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 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:972 msgid "Next _date:" msgstr "Sljedeći _datum:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Svaki_h:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Kraj tjedna:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "Prekini poslije:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "objave" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Upravljaj planiranim transakcijama i predlošcima" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "Ako izbrišete doznaku, bit će trajno izgubljena." #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Upravljaj doznakama" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Uvjet" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "_Plaćanje" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Dodaj" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Nije pronađeno" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Unaprijed postavi datoteku:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Ime:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Otvori" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Poznate datoteke" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF datoteke" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX datoteke" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV datoteke" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Sve datoteke" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Poredak datuma:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Preokreni" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "dani" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Dobrodošli" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "Uvezi" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Potvrda" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Greška formata datoteke" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "Jeste li sigurni da želite očistiti ulaz?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 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:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Očisti" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Upravljanje proračunom" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "Uvezi CSV" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "Izvezi CSV" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Bilanca:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "Očisti ulaz" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Odrednice" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "Prisili praćenje kategorije" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Sij" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Velj" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Ožu" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Tra" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Svibanj" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Lip" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Srp" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Kol" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Lis" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Stu" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 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:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "Izbriši kategoriju '%s'" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Spoji" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Uredi..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Prihod" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Spoji kategoriju '%s'" #: ../src/ui-category.c:1943 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:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Upravljanje kategorijama" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "nova kategorija" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Dec. znamenki:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Statistika datoteka" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "Transakcija" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Izvezi kao QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Uvezi iz CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "HomeBank datoteke" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Spremiti promjene u datoteku prije zatvaranja?" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "Zatvori _bez spremanja" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Odaberi između mogućih transakcija..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Odaberi akciju:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "kreiraj novu transakciju" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "odaberi postojeću transakciju" #: ../src/ui-dialogs.c:1091 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:1049 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:1155 msgid "_Memo:" msgstr "_Memo:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Opis:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "O_sjetljivost na velika/mala slova" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Svaki status" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Svaka vrsta" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Prijenos" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Prisili:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "prikaži 'Dodano'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "prikaži 'Uređeno'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "prikaži 'Podsjetiti'" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Svojstva datoteke" #: ../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" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "Plaćanja:" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "Spoji primatelja '%s'" #: ../src/ui-payee.c:1510 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:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "Izbriši primatelja '%s'" #: ../src/ui-payee.c:1613 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:1710 msgid "Manage Payees" msgstr "Upravljaj primateljima" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "OFX/QFX odrednice" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "polazni filter" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Odrednice grafikona" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Odrednice statistike" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Prikaži prema _iznosu" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Prikaži stupac _stope" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Prikaži _detalje" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Odrednice proračuna" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "Omogući" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "Unaprijed _postavi:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Jezik:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Fiskalna godina" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "Počinje od:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Mjerne jedinice" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Koristi _milje umjesto metara" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Vrijednost boja" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Koristi prilagođene boje" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Trošak:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Prihod:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Upozorenje:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Uvezi:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Izvezi:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Pokretanje programa" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Prikaži pozdravni zaslon" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Učitaj posljednje otvorenu datoteku" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Istakni planirane transakcije koje se provode" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Glavni prozor izvješća" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Podešenja" #: ../src/ui-pref.c:2512 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:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Odjeljci transakcija" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Iznos transakcije:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Nedoznačeno:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Zbroj odjeljaka" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Dodaj transakciju" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Naslijedi transakciju" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "M_emo:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Uključi" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Isključi" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(ništa)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Banka" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Gotovina" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Imovina" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Kreditna kartica" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Obveza" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Posljednih 30 dana" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Posljednjih 60 dana" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Posljednjih 90 dana" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Posljednjih 12 mjeseci" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Svi datumi" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Moguće" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Prije" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Poslije" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Troš. & prih." #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "Neočišćeno" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Neusklađeno" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Nekategorizirano" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Siječanj" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Veljača" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Ožujak" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Travanj" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Lipanj" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Srpanj" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Kolovoz" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Rujan" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Listopad" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Studeni" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Prosinac" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Ruj" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Čekovi" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Debitna kartica" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Trajni nalog" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Elektronsko plaćanje" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Deposit" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Bankovne naknade" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Izravno terećenje" homebank-5.5.2/po/ar.po0000664000175000017500000025025114021210656011614 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2021-01-07 20:28+0000\n" "Last-Translator: حسان \n" "Language-Team: Arabic \n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "لم يتم العثور على حوالات مشابهة" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "تحقق من التحويلات الداخلية" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "ليس هناك تضارب!" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" "هناك تضارب في: %d\n" "هل تريد إصلاحه؟" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "جميع مبالغ الحوالات سيتم قسمتها على %.6f." #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "أمتأكد أنت من تحويل عملة هذا الحساب لليورو؟" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "_تحويل" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "لم تعدَل أي معاملة (عملية)" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "العاملات المعدلة: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "نتيجة المهام التلقائية" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "أتريد إنشاء مهام مع أي معاملة مختارة؟" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "إ_نشيء" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "أتريد حذف كل المعاملات المختارة؟" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "ح_ذف" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "أمتأكد من تغير حاله لـ\"خالي\"؟" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "بعض التحويلات المحددة تم تسويتها." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_غيّر" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "_بدّل" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "أ_ضِف…" #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_توريث..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_عدّل..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "ال_حالة" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_لا شيء" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "تن_ظيف" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_سُويت" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "عرض الت_قسيم" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "أنشئ قالب" #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "إنشاء مهمة..." #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "اح_ذف..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "ف_وق" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "_تحت" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "_حساب" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "صدر لملف QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "صدر إلى ملف CSV ..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "صدر لمستند محمول PDF..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "طباعة..." #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_إغلاق" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_تحرير" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "نسخ" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "لصق" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "لصق (اليوم)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "صفقة - عملية" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "ا_بحث" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_أدوات" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "علامة مكرر..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "التحقق من التحويل الداخلي" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_تصفية..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "التحويل لليورو..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "اضافة" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "أضف معاملة جديدة" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "وراثة" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "توريث من المعاملة النشطة" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "تحرير" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "عدّل المعاملة النشطة" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "تم المسح" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_المدى:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "ال_نوع:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_الحالة:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2668 msgid "Open the list filter" msgstr "إفتح قائمة التصفية" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "اليوم:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "غير قادر على فتح '%s' , لان الملف غير موجود\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "ملف الخطأ" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_ملف" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_جديد" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_فتح..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_حفظ" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "استعادة" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_خروج" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "الخيارات.." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_اعرض" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "نظم ..." #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "ال_حسابات.." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_المستفيدين..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "التصانيف.." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "الميزانية.." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "" #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_عمليات" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "اضافة.." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "عرض.." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_تقارير" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "ا_حصائيات.." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "" #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "ال_ميزانية.." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "" #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_مساعدة" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "ال_محتويات" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "تقرير عن مشكلة.." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "ترجمة هذا البرنامج.." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "عن" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "الحساب" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "المستفيد" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "التصنيف" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "الميزانية" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "عرض عمليات الحساب المحدد" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "فتح تقرير احصائي" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "فتح تقرير الميزانية" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "المستقبل" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "التاريخ" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "المعلومات" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "الكمية" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" 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:515 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:551 msgid "Show all" msgstr "" #: ../src/hub-account.c:556 msgid "By type" msgstr "" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "الاجمالي" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:299 msgid "Other" msgstr "" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "اليوم" #: ../src/list-operation.c:586 msgid "- split -" msgstr "" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "الدخل" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d تحت %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "القائمة" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "عرض النتائج كقائمة" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "خط" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "عرض النتائج كاسطر" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "التفاصيل" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "تحديث" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "تحديث النتائج" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "من:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "إلى:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "الحساب" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "الكل" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "لا شيء" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "النتيجة:" #: ../src/rep-budget.c:852 msgid " over" msgstr "" #: ../src/rep-budget.c:858 msgid " left" msgstr "" #: ../src/rep-budget.c:861 msgid " under" msgstr "" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "تقرير الميزانية" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "الميزانية:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "الانفاق:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "الانفاق" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "تصنيف فرعي" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "الوسم" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "الشهر" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "السنة" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "تقرير احصائي" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "الدخل:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "النفقة:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "اليوم" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "الأسبوع" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "حساب:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "تصنيف:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_المستفيد:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_وسم:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "متر" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "الوقود" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "السعر" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "تصدير كملف CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "متر:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "الاستهلاك:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "تكاليف الوقود:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "تاليف اخرى:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "التكاليف الاجمالية:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(لا شيء)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "مرئي" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "خطأ" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1618 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1836 msgid "Manage Accounts" msgstr "إدارة الحسابات" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "عام" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "كل:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "مدفوعات:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "الاسم" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "ملفات QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "ملفات OFX/QFX" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "ملفات CSV" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "كل الملفات" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "عكس" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "الايام" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "خطأ في نسق الملف" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "إدارة الميزانية" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "مايو" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "ال_دخل" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "لا يمكن اعادة تسمية هذا التصنيف من '%s' الى '%s' لان هذا الاسم موجود اصلاً" #: ../src/ui-category.c:1922 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "ادارة التصانيف" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "تصدير كملف QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "استيراد ملف CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "الملفات" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_معلومات:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "يجبر:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "إظهار 'مضاف'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "إظهار 'مُعدل'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:194 msgid "File properties" 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 "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1434 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "لا يمكن اعادة تسمية هذا المستفيد من '%s' الى '%s' , لان هذا الاسم موجود " "بالفعل" #: ../src/ui-payee.c:1489 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "ادارة المستفيدين" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "عرض حسب _الكمية" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "عرض عمود المعدل" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "عرض _التفاصيل" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 msgid "_Toolbar:" msgstr "_شريط الادوات:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1845 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "يستخدم الألوان المخصصة" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_الدخل:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_تحذير:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_استيراد:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_تصدير:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "تحميل الملف المفتوح سابقاً" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "الخيارات" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "اضف عملية" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "وراثة عملية" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "تضمين" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "استثناء" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "البنك" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "نقدي" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "بطاقة اتمانية" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "اخر 30 يوم" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "اخر 12 شهر" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "كل التواريخ" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "يناير" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "فبراير" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "مارس" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "ابريل" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "يونيو" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "يوليو" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "اغسطس" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "سبتمبر" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "اكتوبر" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "نوفمبر" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "ديسمبر" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "" homebank-5.5.2/po/POTFILES.in0000644000175000017500000000170714045454601012433 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-assign.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-report.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.5.2/po/fr_CA.po0000664000175000017500000031174514021210661012166 00000000000000# French (Canada) translation for homebank # Copyright (c) 2020 Rosetta Contributors and Canonical Ltd 2020 # This file is distributed under the same license as the homebank package. # FIRST AUTHOR , 2020. # msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2021-01-13 21:57+0000\n" "Last-Translator: TG \n" "Language-Team: French (Canada) \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:00+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 msgid "Free, easy, personal accounting for everyone" msgstr "Une comptabilité gratuite, facile et personnelle pour tous" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "finances;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 gratuit (comme la « liberté d'expression » et aussi " "comme une « bière gratuite ») qui vous aidera à 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 à utiliser et pouvoir analyser en détail vos " "finances personnelles à l'aide de puissants outils de filtrage 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 recherchez un moyen totalement gratuit et facile de gérer votre " "comptabilité personnelle, alors HomeBank devrait être le logiciel de choix." #: ../src/dsp-account.c:221 #, c-format msgid "There is %d group of similar transactions" msgstr "Il existe le groupe %d avec des transactions similaires" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Aucune transaction similaire n'a été trouvée !" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "Vérifier le résultat du transfert interne" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Aucune incohérence trouvée !" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" "Des incohérences ont été constatées : %d\n" "Voulez-vous les réviser et corriger ?" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Le montant de chaque transaction sera divisé par %.6f." #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Voulez-vous vraiment convertir ce compte\n" "à l'euro comme monnaie principale ?" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "_Convertir" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Aucune transaction n'a été modifiée" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "la transaction a été modifiée : %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Résultat de l'affectation automatique" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" "Voulez-vous créer une affectation avec\n" "chacune des transactions sélectionnées ?" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Créer" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" "Voulez-vous créer un modèle avec\n" "chacune des transactions sélectionnées ?" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" "Voulez-vous supprimer\n" "chacune des transactions sélectionnées ?" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Supprimer" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "Voulez-vous vraiment changer l'état en « Aucun » ?" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Certaines transactions dans votre sélection sont déjà rapprochées." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Modifier" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Voulez-vous vraiment basculer l'état à Rapproché ?" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "_Basculer" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d transactions" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d transactions, %d sélectionné, moyenne : %s, somme : %s (%s - %s)" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Ajouter..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Hériter..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Éditer..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "Édition _multiple..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_État" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Aucun" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Pointée" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Rapproché" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "Voir _Ventilation" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Créer un modèle..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "Créer affectation..." #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Supprimer..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "_Monter" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "_Descendre" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "_Compte" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Exporter en QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Exporter en CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Exporter en PDF..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "Imprimer..." #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Fermer" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Éditer" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Copier" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Coller" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Coller (date du jour)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "_Opération" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "Re_chercher" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "Ou_tils" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Marquer les doublons..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "Vérifier les virements internes" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Affectations Auto." #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filtrer..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Convertir en Euro..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Ajouter" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Ajouter une nouvelle opération" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Hériter" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Hériter depuis l’opération sélectionnée" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Éditer" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Éditer l’opération sélectionnée" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Pointée" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Pointer les opérations sélectionnées" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Rapprochée" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Inverser rapprochée pour les opérations sélectionnées" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "Editer plusieurs" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Editer plusieurs opérations" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Créer un modèle" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "Supprimer" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Supprimer les opérations sélectionnées" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "Monter" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "Déplacer vers le haut" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "Descendre" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "Déplacer vers le bas" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(fermé)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Toutes les transactions" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Actualiser" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Plage :" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "Basculer affichage des transactions futures" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Type :" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_État :" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Réinitialiser" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Euro _mineur" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "Rapproché:" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "Pointé:" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Aujourd’hui :" #: ../src/dsp-account.c:2764 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 "Voulez-vous vraiment anonymiser le dossier ?" #: ../src/dsp-mainwindow.c:327 msgid "" "Proceeding will anonymize any text, \n" "like 'account x', 'payee y', 'memo z', ..." msgstr "" "La procédure rendra anonyme tout texte,\n" "comme \"compte x\", \"bénéficiaire y\", \"mémo z\", ..." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Anonymiser" #: ../src/dsp-mainwindow.c:675 msgid "Welcome to HomeBank" msgstr "Bienvenue dans HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "Ouvrir _dernier fichier ouvert" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Créer un _nouveau fichier" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Ouvrir un fichier existant" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Ouvrir le fichier d’_exemple" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Lire le _manuel utilisateur" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Configurer les _préférences" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "Montrer cette fenêtre la prochaine fois" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You 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 certain de vouloir faire cela ?" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "Ouvrir le fichier de sauveguarde" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "_Ouvrir sauvegarde" #: ../src/dsp-mainwindow.c:1044 #, 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/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Erreur inconnue" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "Erreur d’E/S pour le fichier « %s »." #: ../src/dsp-mainwindow.c:1132 #, 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:1135 #, 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 » a été enregistré dans une version supérieure d’HomeBank\n" "et ne peut être lu par cette version." #: ../src/dsp-mainwindow.c:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Erreur de fichier" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "Le fichier a été modifié depuis son ouverture." #: ../src/dsp-mainwindow.c:1212 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 quand même enregistrer ?" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "_Enregistrer quand même" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "Effacer" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Fichier" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Nouveau" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Ouvrir..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Ouvrir les _récents" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Enregistrer" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Enregistrer _sous..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "Importer..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "Exporter en QIF..." #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Rétablir" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "Restaurer la sauvegarde" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Propriétés…" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Quitter" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Préférences..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Affichage" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Barre d’outils" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Top des dépenses" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "Listes en _bas" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro mineur" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Gérer" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "C_omptes…" #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Tiers..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Catégories..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Planifiées/Modèles…" #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Budget…" #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "Budget (vue tableur)" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Affectations…" #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Devises..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "Étiquettes..." #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Opérations" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Ajouter..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Montrer..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Tout voir..." #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Définir le planificateur…" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Valider les opérations planifiées" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Rapports" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Statistiques…" #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Tendance dans le temps…" #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "So_lde..." #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "B_udget…" #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "Coût _d’utilisation des véhicules…" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Afficher la fenêtre d’accueil…" #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Statistiques du fichier…" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Anonymiser…" #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Aide" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Aide d’HomeBank" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "Obtenez de l'aide en ligne..." #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Vérifier les mises à jour" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Notes de Version" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Signalez un problème..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Traduire cette application…" #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_À propos" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "Nouveau" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Créer un nouveau fichier" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "Ouvrir" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Ouvrir un fichier" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Ouvrir un fichier utilisé récemment" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "Enregistrer" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Enregistrer le fichier actuel" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Compte" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "Gérer les comptes" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Tiers" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "Gérer les tiers" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Catégorie" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "Gérer les catégories" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "Planifiées/Modèles" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "Gérer les opérations planifiées/modèles" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Budget" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "Gérer le budget" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Affectation" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "Gérer les affectations automatiques" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "Afficher" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Afficher les opérations du compte sélectionné" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Ajouter des opérations" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "Statistiques" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Ouvrir le rapport de statistiques" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "Tendance dans le temps" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Ouvrir le rapport de tendance dans le temps" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Solde" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Ouvrir le rapport de solde" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Ouvrir le rapport de budget" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Coût d’utilisation des véhicules…" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Ouvrir le rapport de coût d’utilisation des véhicules" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "Aide" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "Faire un don" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "Faire un don au projet HomeBank" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Planifiée" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Futur" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Rappel" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "**PRÉ-REMPLI**" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(sans catégorie)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "format CSV invalide" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Date" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Info" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Mémo" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Montant" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Inconnu" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "mi/l" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(sans tiers)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Options d’HomeBank" #: ../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:515 msgid "Your accounts" msgstr "Vos comptes" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Tout développer" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Tout réduire" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Voir tous" #: ../src/hub-account.c:556 msgid "By type" msgstr "Par type" #: ../src/hub-account.c:557 msgid "By group" msgstr "Par groupe" #: ../src/hub-account.c:558 msgid "By institution" msgstr "Par institution" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Aucune opération à ajouter" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "opérations ajoutées : %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Résultat de l’ajout des opérations planifiées" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Opérations planifiées" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "_Passer" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" msgstr "Editer & P_oster" #. 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Valider" #: ../src/hub-scheduled.c:562 msgid "maximum post date" msgstr "Date maximale de validation" #. 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:103 #, c-format msgid "Top %d spending" msgstr "Top %d dépenses" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Autre" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Où va votre argent" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "compte importé" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Total général" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "dernier rapprochement" #: ../src/list-account.c:544 msgid "until" msgstr "jusqu'à" #: ../src/list-account.c:559 msgid "before" msgstr "avant" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Comptes" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Aujourd'hui" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- ventilé -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "- catégorie requise -" #: ../src/list-operation.c:1438 msgid "Match" msgstr "Correspond" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "État" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Dépenses" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Revenus" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Prochaine date" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d en dessous de %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Liste" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Voir les résultats en liste" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Ligne" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Voir les résultats en lignes" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Détail" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Afficher le détail" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Actualiser" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Actualiser les résultats" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "Imprimer..." #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Rapport de solde" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Affichage" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "Inter_val:" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "Montrer les lignes vides" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Zoom X :" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_De :" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_À :" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Nom du compte" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Sélection :" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Tous" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Aucun" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Budget pour %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Résultat" #: ../src/rep-budget.c:852 msgid " over" msgstr " au-dessus" #: ../src/rep-budget.c:858 msgid " left" msgstr " restant" #: ../src/rep-budget.c:861 msgid " under" msgstr " en-dessous" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "Empilé" #: ../src/rep-budget.c:1001 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:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "_Résultat vers presse-papier" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "_Résultat ver CSV" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "_Détail vers presse-papier" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "_Détail vers CSV" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Rapport budget" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Afficher par :" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "Seulement les hors-budget" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Résultat :" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Budget :" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Dépensé :" #: ../src/rep-budget.c:1422 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:1423 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:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Dépensé" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Sous-catégorie" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Étiquette" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Mois" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Année" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s par %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "Trop de colonnes à afficher" #: ../src/rep-stats.c:792 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:1180 ../src/rep-time.c:970 msgid "Column" msgstr "Colonne" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Voir les résultats en colonnes" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "En anneau" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Voir les résultats en anneau" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "Légende" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Afficher la légende" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "Taux" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Inverser l'affichage du taux" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "Filtre" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Modifier le filtre" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Rapport statistiques" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "Mode :" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "Trier par _montant" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "Comparer Déb. & Créd." #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "Total :" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Revenus :" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Dépenses :" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "Moyenne" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Jour" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Semaine" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Trimestre" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "Semestriel" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s au fil du temps" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Moyenne : %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Rapport de tendance dans le temps" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Compte :" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Catégorie :" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Tiers :" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "É_tiquette :" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "_Tout sélectionner" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Cumuler" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Compteur" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Carburant" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Prix" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "Exporter" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Exporter en CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Rapport de coût d’utilisation des véhicules" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "Véhi_cule :" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Compteur :" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Consommation :" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Coût carburant :" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Autres coûts :" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Coût total :" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(aucun)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Visible" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Annuler" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Nom du compte" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Erreur" #: ../src/ui-account.c:1505 #, 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:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "Impossible de supprimer le compte « %s »" #: ../src/ui-account.c:1557 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:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Voulez-vous vraiment supprimer définitivement « %s » ?" #: ../src/ui-account.c:1570 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:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Gérer les comptes" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "Renommer" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Glisser et déposer pour changer l’ordre\n" "Double-cliquer pour renommer" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Général" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "_Groupe :" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "_Institution:" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "N_uméro :" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Solde _initial :" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Devises :" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "ce compte est clos" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Notes :" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "Comportement" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "Automatisation" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "_Modèle par défaut:" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Exclusion des rapports" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "exclure du ré_sumé des comptes" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "exclure du _budget" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "exclure de tous les _rapports" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "Divers" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Numéro de chèque en cours" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Carnet de chèque _1 :" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Carnet de chèque _2 :" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Limites de solde" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "_Découvert à:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "Max_imum:" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" "Si vous supprimez une planification/modèle, elle sera définitivement perdue." #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "Prochaine _date :" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "To_us les :" #: ../src/ui-archive.c:995 msgid "More options" msgstr "Plus d’options" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Fin de semaine :" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Arrêt après :" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "postage" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Gérer les opérations planifiées/modèles" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Modèle" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "_Programme" #: ../src/ui-assign.c:344 msgid "Search" msgstr "Rechercher" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "Notes" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "(règle %d)" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "Si vous supprimez une affectation, elle sera définitivement perdue." #: ../src/ui-assign.c:718 #, fuzzy, c-format msgid "This search text already exists at position %d" msgstr "Ce texte de recherche existe déjà" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Désactivé" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Si vide" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Remplacer" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Gérer les affectations" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "Glisser & déposer pour modifier l'ordre" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Condition" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "_Rechercher:" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "Sensible à la casse" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "Expression régulière" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "_Dans:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "Affectations" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Paie_ment :" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" "Cet assistant vous aidera à paramétrer une configuration minimale\n" "pour un nouveau fichier HomeBank." #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" "Tous les éléments que vous configurez ici peuvent être modifiés " "ultérieurement si nécessaire." #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" "Aucune modification ne sera apportée tant que vous \n" "n'aurez pas cliqué sur «Appliquer» à la fin de cet assistant." #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" "HomeBank affichera un titre pour la fenêtre principale,\n" "il peut s'agir d'un intitulé de votre choix ou de votre nom." #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Titre:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" "HomeBank prend en charge plusieurs devises. La devise de base est\n" "la valeur par défaut pour les nouveaux comptes et rapports." #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "Base:" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "Configurer des devises supplémentaires" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Ajouter" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Non trouvé" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" "HomeBank peut préremplir les catégories pour votre langue\n" "si un fichier CSV est disponible et fourni par la communauté." #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "Configurer les catégories pour ma langue" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Fichier prédéfini :" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" "HomeBank permet d'importer vos comptes depuis les fichiers téléchargés\n" " des sites de vos institutions financières ou vous pouvez créer votre compte " "manuellement." #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "Créer mon premier compte" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Nom :" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" "Ceci est une page de confirmation,\n" "\n" "appuyez sur «Appliquer» pour appliquer les modifications" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "Démarrer la configuration du fichier" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "Options de fichier" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "Choisissez les devises" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "Choisissez des catégories" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "Créer un compte" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "Terminer la configuration du fichier" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "Valide" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Nom" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Ouvrir" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Fichiers connus" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "Fichiers QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "Fichiers OFX/QFX" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "Fichiers CSV" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Tous les fichiers" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "nouveau compte global" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "nouveau compte" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "sauté" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr ", %d de %d opérations" #: ../src/ui-assist-import.c:1135 msgid "" "Some date cannot be converted. Please try to change the date order to " "continue." msgstr "" "Certaines dates ne peuvent être converties. 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:1324 #, c-format msgid "Import %s in_to:" msgstr "Importer %s _vers:" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "ce fichier" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "ce compte" #: ../src/ui-assist-import.c:1331 #, 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:1340 #, 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:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d opération(s), %d sélectionnée" #: ../src/ui-assist-import.c:1384 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:1392 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'importation d'un ou plusieurs\n" "relevés téléchargés depuis votre banque ou votre carte de crédit, dans les " "formats suivants:" #: ../src/ui-assist-import.c:1398 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:1418 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:1422 msgid "Don't show this again" msgstr "Ne pas montrer de nouveau" #: ../src/ui-assist-import.c:1481 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 à importer.\n" "Vous pouvez aussi utiliser les boutons ajouter/supprimer de la liste." #: ../src/ui-assist-import.c:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" "Il y a trop de comptes 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:1662 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:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Ordre des dates :" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "_Importer memos" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "_Inverser memos avec tiers" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "_Nom OFX:" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "_Memo OFX:" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Inverser" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "Casse de phrase pour memo/tiers" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "Basculer mon_tant" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "Transaction similaire dans le compte cible (duplicata possible)" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "jours" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "Jouer l'automatisation" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "1) Enrichir avec la valeur par défaut des _tiers" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "2) Lancer les règles d'affectation automatique" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "Cliquer \"Appliquer\" pour mettre à jour vos comptes" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Bienvenue" #: ../src/ui-assist-import.c:2264 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:2269 msgid "Import" msgstr "Importer" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Confirmation" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Erreur de format du fichier" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "Voulez-vous vraiment effacer l'entrée ?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 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:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Vider" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Gérer le budget" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "_Importer CSV" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "E_xporter CSV" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Solde :" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "est le même chaque mois" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "_Vider la saisie" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "est différent chaque mois" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Options" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Forcer l’affichage de cette catégorie" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Fév" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Avr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Mai" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Jui" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Juil" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 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:266 msgid "Oct" msgstr "Oct" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "Total annuel" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "Moyenne mensuelle" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "Mensuel" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "Ajouter une catégorie" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "A_ppliquer" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "Catégorie parente" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "Nom de la catégorie" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 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:2350 msgid "Merge categories" msgstr "Fusionner les catégories" #: ../src/ui-budget-tabview.c:2377 #, 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' seront migrées vers la " "catégorie sélectionnées ci-dessous." #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "Catégorie cible" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "_Supprimer la catégorie « %s »" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "Êtes-vous certain de vouloir effacer les saisies pour '%s' ?" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "Budget (vue tableur)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "Ajouter catégorie" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "Supprimer catégorie" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Fusionner" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "Effacer la saisie" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "# opé" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "# cfg" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Supprimer les catégories inutilisées" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Voulez-vous vraiment supprimer\n" "définitivement les catégories inutilisées ?" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Éditer..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Revenus" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "Modifier le type des en_fants" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Fusionner la catégorie « %s » ?" #: ../src/ui-category.c:1943 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 migrées vers la catégorie sélectionnée ci-dessous." #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "Inclure _sous catégories" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Gérer les catégories" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "_Supprimer inutilisé" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "Bouger/Fusionner" #: ../src/ui-category.c:2460 msgid "new category" msgstr "nouvelle catégorie" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Devise" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Format" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Personnaliser" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Symbole :" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "est pré_fixe" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "Caractère _décimal:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "Nombre de _décimales :" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "Ajouter une _devise personnalisée" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "Mise à jour en ligne" #: ../src/ui-currency.c:1762 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:206 msgid "Transaction" msgstr "Opération" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Mettre à niveau" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Choisir une devise de base" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "Devise :" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Exporter en QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Importer depuis CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "Ouvrir un fichier HomeBank" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "Ficher de sauveguarde HomeBank" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "Enregistrer le fichier HomeBank sous" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Fichiers HomeBank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "Fichier sauvegarde" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "Toutes les sauveguardes" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Enregistrer les modifications avant de fermer le fichier ?" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "Fermer _sans enregistrer" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "Exporter en _CSV" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Dossier :" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Sélectionnez un dossier" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Nom du fichier:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "Détailler les ventilations" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" "Vous exportez depuis 'Voir tous les comptes', avec la colonne Compte\n" "le fichier ne sera pas dans le format CSV HomeBank." #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Exporter en PDF" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Exporter en _PDF" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" "Avec HomeBank, l'impression est orientée vers une attitude éco-responsable\n" "vers l'usage du format numérique le plus répandu: le format PDF. " #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Choisissez parmi les opérations possibles…" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Sélectionner une action :" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "créer une nouvelle opération" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "choisir une opération existante" #: ../src/ui-dialogs.c:1091 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:1049 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:1155 msgid "_Memo:" msgstr "_Mémo :" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Informations :" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "_Sensible à la casse" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Tous les états" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Tous les types" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Virement" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Forcer :" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "afficher « Ajoutés »" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "afficher « Édités »" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "afficher « Rappel »" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "afficher 'Nul'" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "Dates" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "Paiements" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Montants" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "Textes" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Catégories" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Tiers" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Propriétés du fichier" #: ../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" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "Paie." #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Supprimer les tiers inutilisés" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Voulez-vous vraiment supprimer\n" "définitivement les tiers inutilisés ?" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "Par défaut" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "Pa_iement :" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "Fusionner le tiers « %s » ?" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Les opérations affectées à ce tiers \n" "seront déplacées vers le tiers sélectionnée ci-dessous." #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "_Supprimer le tiers « %s »" #: ../src/ui-payee.c:1613 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:1710 msgid "Manage Payees" msgstr "Gérer les tiers" #: ../src/ui-payee.c:1854 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:1949 msgid "Backup" msgstr "Sauvegarde" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "Dossiers" #: ../src/ui-pref.c:97 msgid "System defaults" msgstr "Valeurs par 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 sauvegarde par défaut" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Choisir le dossier par défaut des importations" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Choisir le dossier par défaut des exportations" #: ../src/ui-pref.c:1214 msgid "General options" msgstr "Options générales" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "Options OFX/QFX" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "Options QIF" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "Options CSV" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "(import opération uniquement)" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "Séparateur :" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Filtre initial" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Options des graphiques" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Thème de couleurs :" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "Petite _police légende" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Options des statistiques" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Montrer par _montant" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Montrer la _colonne des taux" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Montrer les _détails" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Options du budget" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "Activ_er" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Prédéfini :" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "Interface utilisateur" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Langue :" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "Affichage _date:" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Format :" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Année fiscale" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "Début _le :" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Unités de mesure" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Utiliser les _miles pour le compteur" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Utiliser les _gallons pour le carburant" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "Liste opération" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "jours avant" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "Cacher les rapprochées" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "Toujours afficher les rappels" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "Toujours afficher nul" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "Inclure les rappels dans le solde" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "Fenêtre opération" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "_Conserver la dernière date en ajout multiple" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "Tolérance date virement cible:" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "Activer la saisie automatique des mémo avec" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "jours glissants" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "Voir confimation ajout de 5s" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "Lignes de _grille:" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "Préférence Gtk" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "Outrepasser" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "Taille _police:" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "Thème sombre" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Couleurs des montants" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Utiliser des couleurs personnalisées" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Dépenses" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Revenus" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Alerte :" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "_Activer les sauvegardes automatiques" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "_Nombre de sauvegardes à conserver:" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "La fréquence des sauvegardes est d'une fois par jour" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "_Portefeuilles:" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "Sauve_gardes:" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "Fichiers d'échanges" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Importer :" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "E_xporter :" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Démarrage du programme" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Afficher la fenêtre de démarrage" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Charger le dernier fichier ouvert" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Valider les opérations planifiées en attente" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Mise à jour des devises en ligne" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Rapports de l'accueil" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "Max. éléments" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "Réinitialiser toutes les préférences" #: ../src/ui-pref.c:2244 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 à leur valeur \n" "par défaut ?" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Préférences" #: ../src/ui-pref.c:2512 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:2520 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:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Opération ventilée" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "Tout supprimer" #: ../src/ui-split.c:966 msgid "Apply" msgstr "Appliquer" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "Annuler" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Montant de l’opération :" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Non-affecté :" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Somme des ventilations :" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" "Avertissement: la somme des fractionnements et du montant de la transaction " "ne correspond pas" #: ../src/ui-split.c:1022 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-tag.c:602 #, 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:645 #, c-format msgid "Merge tag '%s'" msgstr "Fusionner l'étiquette '%s'" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" "Les transactions affectées à cette étiquette \n" "seront déplacées vers l'étiquette sélectionnée ci-dessous." #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "_Supprimez l'étiquette '%s'" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" "Cette étiquette est utilisée.\n" "Cette étiquette sera supprimée de toute opération l'utilisant." #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "Gérer les étiquettes" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "nouvelle étiquette" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "Opération de %s créée." #: ../src/ui-transaction.c:858 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:860 msgid "_Break" msgstr "_Briser" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Montrer les _planifiées" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "Voir _tous les comptes" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "Utiliser un modèle" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "Ajouter & Co_nserver" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Ajouter une opération" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "Ajouter un modèle" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Hériter d’une opération" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "Hériter le modèle" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "Editer l'opération" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "Editer le modèle" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "Monta_nt:" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "_À :" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "Carnet _2" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" "- tapez des lettres pour la saisie automatique \n" "- tapez un nouveau texte pour créer une entrée" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "Catégorie:" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "M_émo :" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "É_tiquettes:" #: ../src/ui-transaction.c:1575 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:466 msgid "Multiple edit transactions" msgstr "Édition d'opérations multiples" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" "Type comme\n" "virement" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "Temps" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "Tendance" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "Eteint" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Inclure" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Exclure" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(sans type)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Banque" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Espèces" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Biens" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Carte de crédit" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Dettes" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "Chèque" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "Épargne" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Ce mois" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Le mois dernier" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Ce trimestre" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Le trimestre dernier" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Cette année" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "L’année dernière" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Les 30 derniers jours" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Les 60 derniers jours" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Les 90 derniers jours" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Les 12 derniers mois" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "personnalisé" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Toutes les dates" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "Mois prochain" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "Prochains 30 jours" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "Prochains 60 jours" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "Prochains 90 jours" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "Nul" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Possible" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Avant" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Après" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Débits et crédits" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "Non pointée" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Non-rapprochée" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Sans catégorie" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "Lun." #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "Mar." #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "Mer." #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "Jeu." #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "Ven." #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "Sam." #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "Dim." #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Janvier" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Février" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Mars" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Avril" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Juin" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Juillet" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Août" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Septembre" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Octobre" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Novembre" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Décembre" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Rechercher..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Chèque" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "Virement bancaire" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Carte de débit" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Virement permanent" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Paiement électronique" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Dépôt" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Frais bancaires" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Prélèvement direct" homebank-5.5.2/po/en_AU.po0000664000175000017500000025016714021210660012202 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2014-06-15 07:01+0000\n" "Last-Translator: Maxime DOYEN \n" "Language-Team: English (Australia) \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "No transaction changed" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Add..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Inherit..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Edit..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Reconciled" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Create template..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Export QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Export CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Close" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Edit" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Transacti_on" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Tools" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filter..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Add" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Add a new transaction" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Inherit" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Inherit from the active transaction" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Edit" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Edit the active transaction" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Range:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Type:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Today:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Welcome to HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Create a _new file" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Open an existing file" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Open the _example file" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Read HomeBank _Manual" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 #, 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/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "I/O error for file '%s'." #: ../src/dsp-mainwindow.c:1132 #, 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:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "File error" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_File" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_New" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Open..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Save" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Revert" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Quit" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Preferences..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_View" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Toolbar" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Top spending" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro minor" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Manage" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "Acc_ounts..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Payees..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Categories..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Scheduled/Template..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Budget..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Assignments..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Transactions" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Add..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Show..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Set scheduler..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Reports" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Statistics..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Trend Time..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "B_udget..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "_Vehicle cost..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Show welcome dialog..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Make anonymous..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Help" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Contents" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Report a Problem..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Translate this Application..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_About" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Create a new file" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Open a file" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Open a recently used file" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Save the current file" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Account" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Payee" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Category" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Budget" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Shows selected account transactions" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Open the Statistics report" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Open the Trend Time report" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Balance" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Open the Balance report" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Open the Budget report" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Vehicle cost" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Open the Vehicle cost report" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Future" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(no category)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Date" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Info" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Memo" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Amount" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Unknown" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(no payee)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "HomeBank options" #: ../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:515 msgid "Your accounts" msgstr "Your accounts" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:551 msgid "Show all" msgstr "" #: ../src/hub-account.c:556 msgid "By type" msgstr "" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "No transaction to add" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "transaction added: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Check scheduled transactions result" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Scheduled transactions" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Other" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Where your money goes" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Grand total" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Accounts" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Today" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- split -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Status" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Expense" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Income" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Next date" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d under %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "List" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "View results as list" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Line" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "View results as lines" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Detail" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Toggle detail" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Refresh" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Refresh results" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Balance report" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Display" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Zoom X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_From:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_To:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Account name" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "All" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "None" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Result" #: ../src/rep-budget.c:852 msgid " over" msgstr "" #: ../src/rep-budget.c:858 msgid " left" msgstr "" #: ../src/rep-budget.c:861 msgid " under" msgstr "" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Budget report" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_View by:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Result:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Budget:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Spent:" #: ../src/rep-budget.c:1422 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:1423 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:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Spent" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Subcategory" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Tag" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Month" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Year" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s by %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Toggle legend" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Toggle rate" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Statistics Report" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Income:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Expense:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Day" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Week" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Quarter" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s Over Time" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Trend Time Report" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "A_ccount:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Category:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Payee:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Tag:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Select _all" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Cumulate" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Metre" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Fuel" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Price" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Export as CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Vehicle cost report" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "Vehi_cle:" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Metre:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Consumption:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Fuel cost:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Other cost:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Total cost:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(none)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Visible" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Account name" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Error" #: ../src/ui-account.c:1505 #, 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:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Manage Accounts" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 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:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "General" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "N_umber:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Start _balance:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "this account was _closed" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Report exclusion" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "exclude from account _summary" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "exclude from the _budget" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "exclude from any _reports" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Current cheque number" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Chequebook _1:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Chequebook _2:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "Next _date:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Ever_y:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Week end:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Stop after:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "posts" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Manage scheduled/template transactions" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Manage Assignments" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Condition" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Pay_ment:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Not found" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Preset file:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Name:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Known files" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF files" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX files" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV files" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "All files" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Date order:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Invert" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "days" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Confirmation" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "File format error" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Manage Budget" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Balance:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "_Clear input" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Options" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Force monitoring this category" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "May" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Aug" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Oct" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Income" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Manage Categories" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Frac digits:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Export as QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Import from CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "HomeBank files" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Select among possible transactions..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Select an action:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "create a new transaction" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "select an existing transaction" #: ../src/ui-dialogs.c:1091 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:1049 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:1155 msgid "_Memo:" msgstr "_Memo:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Info:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "Case _sensitive" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Any Status" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Any Type" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Transfer" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Force:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "display 'Added'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "display 'Edited'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "File properties" #: ../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" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "Pa_yment:" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "Manage Payees" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "OFX/QFX options" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Initial filter" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Charts options" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Statistics options" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Show by _amount" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Show _rate column" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Show _details" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Budget options" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Enable" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Preset:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Language:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Fiscal year" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "Starts _on:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Measurement units" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Use _miles for distance" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 msgid "_Toolbar:" msgstr "_Toolbar:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1845 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Amount colours" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Uses custom colours" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Expense:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Income:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Warning:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Import:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Export:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Program start" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Show splash screen" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Load last opened file" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Post pending scheduled transactions" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Main window reports" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Preferences" #: ../src/ui-pref.c:2512 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:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Transaction amount:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Unassigned:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Sum of splits:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Add transaction" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Inherit transaction" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "M_emo:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Include" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Exclude" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(no type)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Bank" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Cash" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Asset" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Credit card" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Liability" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Last 30 days" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Last 60 days" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Last 90 days" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Last 12 months" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "All dates" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Possible" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Before" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "After" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Exp. & Inc." #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Unreconciled" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Uncategorised" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "January" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "February" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "March" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "April" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "June" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "July" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "August" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "October" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "November" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "December" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Cheque" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Debit card" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Standing order" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Electronic payment" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Deposit" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "FI fee" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Direct Debit" homebank-5.5.2/po/ChangeLog0000644000175000017500000000000011023413026012376 00000000000000homebank-5.5.2/po/sv.po0000664000175000017500000030470414021210665011645 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: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2021-02-06 18:07+0000\n" "Last-Translator: Jonatan Nyberg \n" "Language-Team: Swedish \n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "Det finns %d-grupp av likartade transaktioner" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Ingen liknande transaktion hittades !" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "Kontrollera interna överföringsresultat" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Ingen inkonsekvens hittades !" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" "Inkonsekvens konstaterades: %d\n" "vill du granska och rätta?" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Varje transaktionsbelopp delas upp med %.6f." #: ../src/dsp-account.c:394 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:396 msgid "_Convert" msgstr "_Konvertera" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Ingen transaktion ändrad" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "transaktion ändrad: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Automatiskt uppdragsresultat" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" "Vill du skapa ett uppdrag med\n" "var och en av den valda transaktionen?" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Skapa" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" "Vill du skapa en mall med\n" "var och en av den valda transaktionen?" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" "Vill du ta bort\n" "var och en av den valda transaktionen?" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Ta bort" #: ../src/dsp-account.c:1677 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:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Några transaktioner i ditt urval är redan avstämda." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Ändra" #: ../src/dsp-account.c:1735 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:1737 msgid "_Toggle" msgstr "_Växla" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d transaktioner" #: ../src/dsp-account.c:2101 #, 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:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Lägg till..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Ärv..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Redigera..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "_Redigera flera..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Status" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Inget" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Rensat" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Avstämda" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "Vida _delning" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Skapa mall..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "Skapa uppdrag..." #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Ta bort..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "_Upp" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "_Ner" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "K_onto" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Exportera QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Exportera CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Exportera som PDF..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "Skriv ut..." #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Stäng" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Redigera" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Kopiera" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Klistra in" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Klistra in (idag)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Transakti_on" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "_Hitta" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Verktyg" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Markera dubbletter..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "Kontollera intern överföring" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Automatiska uppdrag" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filter..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Konvertera till Euro..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Lägg till" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Lägg till ny transaktion" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Ärv" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Ärv från denna transaktion" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Redigera" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Redigera aktiva transaktionen" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Rensad" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Växla rensat för vald(a) transaktion(er)" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Avstämd" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Växla avstämda för vald(a) transaktion(er)" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "Redigera flera" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Redigera flera transaktioner" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Skapa mall" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "Radera" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Ta bort vald(a) transaktion(er)" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "Upp" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "Flytta transaktionen upp" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "Ner" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "Flytta transaktionen ner" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(stängd)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Alla transaktioner" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "Uppdate_ra" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Urval:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "Växla visa framtida transaktion" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Typ:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "Åte_rställ" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Euro _mindre enhet" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "Avstämd:" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Idag:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Välkommen till HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "Öppna _senast öppnade fil" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Skapa en _ny fil" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Öppna en befintlig fil" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Öppna _exempelfilen" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Läsa HomeBank-_handboken" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Konfigurera _inställningarna" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "Visa det här fönstret nästa gång" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" "Du håller på att öppna säkerhetskopian \"%s\".\n" "\n" "Är du säker på att du vill göra det här?" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "Öppna säkerhetskopian?" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "_Öppna säkerhetskopia" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Kunde inte öppna \"%s\", filen finns inte.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Okänt fel" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "I/O fel för fil \"%s\"." #: ../src/dsp-mainwindow.c:1132 #, 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:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Filfel" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "Filen har ändrats sedan den lästes." #: ../src/dsp-mainwindow.c:1212 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:1213 msgid "S_ave Anyway" msgstr "Spara än_då" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "Rensa" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Arkiv" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Ny" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Öppna..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Öppna _senaste" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Spara" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Sp_ara som..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "Importera..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "Exportera som QIF..." #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Återgå" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "Återställ säkerhetskopia" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Egenskaper..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Avsluta" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Inställningar..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Visa" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Verktygsfält" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Största utgifter" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "_Bottenlistor" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro mindre enhet" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Hantera" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "_Konton..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Betalningsmottagare..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Kategorier..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Schema/mall..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Budget..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "Budget (visa som tabell)" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Uppdrag..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Valutor..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "Taggar..." #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Transaktioner" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Lägg till..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Visa..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Visa alla..." #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Ange schemaläggare..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Posten schemalagd" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Rapporter" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Statistik..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Trendtid..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "_Saldo..." #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "B_udget..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "_Fordonskostnad..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Visa välkomstdialog..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Filstatistik..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Anonymisera..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Hjälp" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Innehåll" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "Få hjälp på nätet..." #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Sök efter uppdateringar..." #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Versionsinformation" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Rapportera ett problem..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Översätt detta program..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_Om" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "Ny" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Skapa en ny fil" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "Öppna" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Öppna en fil" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Öppna en nyligen använd fil" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "Spara" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Spara den aktuella filen" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Konto" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "Hantera kontona" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Betalningsmottagare" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "Hantera betalningsmottagarna" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Kategori" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "Hantera kategorierna" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "Schemalagd/Mall" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "Hantera de schemalagda/malltransaktionerna" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Budget" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "Hantera budgeten" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Uppdrag" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "Hantera de automatiska uppdragen" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "Visa" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Visar transaktioner för valt konto" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Lägg till transaktioner" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "Statistik" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Öppna statistikrapport" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "Trendtid" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Öppna trendtidsrapport" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Saldo" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Öppna saldorapport" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Öppna budgetrapport" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Fordonskostnad" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Öppna rapport för fordonskostnad" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "Hjälp" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "Donera" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "Donera till HomeBank-projektet" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Schemalagda" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Framtida" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Påminnelser" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "**FÖRFYLLD**" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(ingen kategori)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "ogiltigt CSV-format" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Datum" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Info" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Anteckning" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Belopp" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Okänd" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "mi./l" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(ingen betalningsmottagare)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "HomeBank-alternativ" #: ../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:515 msgid "Your accounts" msgstr "Dina konton" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Expandera alla" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Dölj alla" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Visa alla" #: ../src/hub-account.c:556 msgid "By type" msgstr "Efter typ" #: ../src/hub-account.c:557 msgid "By group" msgstr "Efter grupp" #: ../src/hub-account.c:558 msgid "By institution" msgstr "Per institution" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Inga transaktioner att lägga till" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "transaktioner tillagda: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Kontrollera schemalagda transaktionsresultat" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Summa" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Schemalagda transaktioner" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "_Hoppa över" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" msgstr "Redigera & lägg upp" #. 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Posta" #: ../src/hub-scheduled.c:562 msgid "maximum post date" msgstr "maximalt inläggsdatum" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Största utgift" #. future usage #: ../src/hub-spending.c:103 #, c-format msgid "Top %d spending" msgstr "Största %d-utgift" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Annat" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Vart dina pengar går" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "importerat konto" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Stor summa" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "senast avstämd" #: ../src/list-account.c:544 msgid "until" msgstr "fram tills" #: ../src/list-account.c:559 msgid "before" msgstr "före" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Konton" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Idag" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- delad -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "- det behövs en kategori -" #: ../src/list-operation.c:1438 msgid "Match" msgstr "Matcha" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Status" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Utgift" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Inkomst" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Nästa datum" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d under %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Lista" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Visa resultat som lista" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Linje" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Visa resultat som linjer" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Detalj" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Växla detaljer" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Uppdatera" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Uppdatera resultat" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "Skriv ut" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Saldorapport" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Visa" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "Inter_vall:" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "Visa tom rad" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Zooma X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Från:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Till:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Kontonamn" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Välj:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Alla" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Ingen" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Budget för %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Resultat" #: ../src/rep-budget.c:852 msgid " over" msgstr " över" #: ../src/rep-budget.c:858 msgid " left" msgstr " kvar" #: ../src/rep-budget.c:861 msgid " under" msgstr " under" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "Stapla" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "Visa resultat som stapelstänger" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "_Resultat till urklipp" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "_Resultat till CSV" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "_Detail till urklipp" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "_Detalj till CSV" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Budgetrapport" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Visa efter:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "Endast utanför budgeten" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Resultat:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Budget:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Spenderat:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "Inget konto definieras som en del av budgeten." #: ../src/rep-budget.c:1423 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:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Spenderat" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Underkategori" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Etikett" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Månad" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "År" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s per %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "För många kolumner att visa" #: ../src/rep-stats.c:792 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:1180 ../src/rep-time.c:970 msgid "Column" msgstr "Kolumn" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Visa resultatet som kolumner" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "Munk" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Visa resultat som munk" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "Teckenförklaring" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Växla förklaring" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Växla ränta" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "Filtrera" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Redigera filter" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Statistikrapport" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "Läge:" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "Sortera efter _belopp" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "Jämför kostnad & inkomst" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "Summa:" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Inkomst:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Utgift:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "Medelvärde" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Dag" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Vecka" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Kvartal" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "Halvår" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s över tid" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Genomsnitt: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Trend rapport" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "K_onto:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Kategori:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Betalningsmottagare:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Etikett:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Markera _alla" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Kumulativ" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Mätare" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Bränsle" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Pris" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Distans" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "Exportera" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Exportera som CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Rapport för Fordonskostnad" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "For_don:" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Mätare:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Konsumtion:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Bränslekostnad:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Andra kostnader:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Totalkostnad:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(inget)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Synlig" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Avbryt" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Kontonamn" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Fel" #: ../src/ui-account.c:1505 #, 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:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "Kan inte ta bort konto \"%s\"" #: ../src/ui-account.c:1557 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:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, 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:1570 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:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Hantera konton" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "Döp om" #: ../src/ui-account.c:1917 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:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Allmänt" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "_Grupp:" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "_Institut:" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "N_ummer:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Start_saldo:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Valuta:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "detta konto har _stängts" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Anteckningar:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "Beteende" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "Automatisering" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "Standard_mall:" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Rapportera utelämning" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "utelämna från konto_sammandrag" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "utelämna från _budgeten" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "utelämna från alla _rapporter" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "Diverse" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Aktuellt kontrollnummer" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Kontrollbok _1:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Kontrollbok _2:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Saldogränser" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "_Övertrassering på:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "Max_imalt:" #: ../src/ui-archive.c:753 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:972 msgid "Next _date:" msgstr "Nästa _datum:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Varj_e:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "Fler alternativ" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Veckoslut:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Sluta efter:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "poster" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Hantera schemalagda-/malltransaktioner" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Mall" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "_Schema" #: ../src/ui-assign.c:344 msgid "Search" msgstr "Sök" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "Noteringar" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "(regel %d)" #: ../src/ui-assign.c:654 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:718 #, fuzzy, c-format msgid "This search text already exists at position %d" msgstr "Denna sök text finns redan." #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Inaktiverad" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Om tom" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Skriv över" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Hantera uppdrag" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "Dra och släpp för att ändra ordningen" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Villkor" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "_Sök:" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "Skiftlägeskänslig" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "Reguljärt uttryck" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "_I:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "Tilldelningar" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Betal_ning:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" "Den här assistenten hjälper dig att ställa in en minsta konfiguration\n" "för en ny HomeBank-fil." #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "Alla element du ställer in här kan ändras senare om det behövs." #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" "Inga ändringar kommer att göras förrän du klickar på \"Tillämpa\"\n" "i slutet av denna assistent." #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" "HomeBank kommer att visa en titel för huvudfönstret, \n" "det kan vara en fri etikett eller ditt namn." #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Titel:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" "HomeBank stöder flera valutor. Basvalutan är\n" "standard för nya konton och rapporter." #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "Bas:" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "Ställ in ytterligare valutor" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Lägg till" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Inte hittad" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" "Homebank kan på förhand fylla i kategorierna för ditt språk\n" "om en CSV-fil är tillgänglig och tillhandahålls av diskussionsgruppen." #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "Ställ in kategorier för mitt språk" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Förinställd fil:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" "HomeBank gör det möjligt att importera dina konton från hämtade\n" "finansiella institutionsfiler eller så kan du skapa ditt konto manuellt." #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "Skapa mitt första konto" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Namn:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" "Detta är en bekräftelsesida,\n" "\n" "tryck på \"Tillämpa\" för att tillämpa ändringar" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "Starta filinställning" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "Filalternativ" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "Välj valutor" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "Välj kategorier" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "Skapa konto" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "Slutför filinställning" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "Giltig" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Namn" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Öppna" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Kända filer" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF-filer" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX-/QFX-filer" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV-filer" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Alla filer" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "nytt globalt konto" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "nytt konto" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "hoppade över" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr ", %d av %d transaktioner" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "Importera %s in_to:" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "denna fil" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "detta konto" #: ../src/ui-assist-import.c:1331 #, 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:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "%d transaktion(er), %d liknande, %d befintliga, %d valda" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d transaktion(er), %d valda" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "Importera transaktioner från bank eller kreditkort" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 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:1422 msgid "Don't show this again" msgstr "Visa inte detta igen" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" "Det finns för mycket konto i filerna du väljer,\n" "använd bakåtknappen för att välja mindre filer." #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "Målkodsidentifiering av namn eller nummer misslyckades." #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Datumordning:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "_Importera anteckningar" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "_Byt anteckningar med betalningsmottagare" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "OFX-_namn:" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "OFX-_anteckning:" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Invertera" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "_Växla belopp" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "Liknande transaktion i målkontot (eventuell dubblett)" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "dagar" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "Kör automatisering" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "1) Berika med betalningsmottagarens standard" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "2) Kör automatiska _uppdragsregler" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "Klicka på \"Tillämpa\" för att uppdatera dina konton." #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Välkommen" #: ../src/ui-assist-import.c:2264 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:2269 msgid "Import" msgstr "Importera" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Bekräftelse" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Filformatsfel" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "Är du säker på att du vill rensa inmatning?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 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:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Rensa" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Hantera budget" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "_Importera CSV" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "E_xportera CSV" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Saldo:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "är samma varje månad" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "_Rensa inmatning" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "är olika per månad" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Alternativ" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Tvinga övervakning av denna kategori" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Maj" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 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:266 msgid "Oct" msgstr "Okt" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "Årligt total" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "Månatligt genomsnitt" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "Månadsvis" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "Lägg till en kategori" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "Tillämp_a" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "Föregående kategori" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "Kategorinamn" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 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:2350 msgid "Merge categories" msgstr "Foga samman kategorier" #: ../src/ui-budget-tabview.c:2377 #, 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:2384 msgid "Target category" msgstr "Målkategori" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "Ra_dera kategorin \"%s\"" #: ../src/ui-budget-tabview.c:2507 #, 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:2754 msgid "Budget (table view)" msgstr "Budget (visa som tabell)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "Lägg till kategori" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "Ta bort kategori" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Slå samman" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "Rensa inmatning" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Ta bort oanvända kategorier" #: ../src/ui-category.c:1598 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:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Redigera..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Inkomst" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "Ändra typ för _child" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Slå samman kategori \"%s\"" #: ../src/ui-category.c:1943 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:1952 msgid "Include _subcategories" msgstr "Inkludera _underkategorier" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Hantera kategorier" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "_Ta bort oanvända" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "Flytta/Foga samman" #: ../src/ui-category.c:2460 msgid "new category" msgstr "ny kategori" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Valuta" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Format" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Anpassa" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Symbol:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "Är pre_fix" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "_Decimaltecken:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Bråkdelssiffror:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "Lägg till en anpassad _valuta" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "Uppdatera på nätet" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "Ange som bas" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Filstatistik" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "Transaktion" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Uppgradera" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Välj en basvaluta" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "Valuta:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Exportera som QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Importera från CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "Öppna HomeBank-fil" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "Öppna Homebank-säkerhetskopian" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "Spara HomeBank-fil som" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "HomeBank-filer" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "Säkerhetskopiering av filer" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "Alla säkerhetskopior" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Spara ändringar till filen innan den stängs?" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "Stäng _utan att spara" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "Exportera som _CSV" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Mapp:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Välj en mapp" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Filnamn:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "Detaljdelade linjer" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" "Du exporterar från \"Visa alla konton\" med kontokolumnen\n" "kommer filen inte att finnas i HomeBank CSV-format." #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Exportera som PDF" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Exportera som _PDF" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" "Med HomeBank är utskrift orienterad mot en miljöansvarig\n" "attityd till det mest utbredda digitala formatet: PDF-format. " #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Välj bland möjliga transaktioner..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Välj en åtgärd:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "skapa en ny transaktion" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "välj en befintlig transaktion" #: ../src/ui-dialogs.c:1091 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:1049 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:1155 msgid "_Memo:" msgstr "_Anteckning:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Info:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "Skiftläges_känslig" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Alla status" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Alla typer" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Överföring" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Tvinga:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "visa \"Tillagd\"" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "visa \"Redigerad\"" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "visa \"Påminnelse\"" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "visa \"Tomrum\"" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "Datum" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "Betalningar" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Belopp" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "Texter" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Kategorier" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Betalningsmottagare" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Filegenskaper" #: ../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" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "Betala." #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Ta bort oanvänd betalningsmottagare" #: ../src/ui-payee.c:1194 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:1375 msgid "Default" msgstr "Standard" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "Be_talning:" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "Slå samman betalningsmottagare \"%s\"" #: ../src/ui-payee.c:1510 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:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "_Ta bort betalningsmottagaren \"%s\"" #: ../src/ui-payee.c:1613 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:1710 msgid "Manage Payees" msgstr "Hantera betalningsmottagare" #: ../src/ui-payee.c:1854 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 "Rapport" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1949 msgid "Backup" msgstr "Säkerhetskopia" #: ../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:1214 msgid "General options" msgstr "Allmänna alternativ" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "OFX/QFX-alternativ" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "QIF-alternativ" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "CSV-alternativ" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "(endast transaktionsimport)" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "Avskiljare:" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Initialt filter" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Diagramalternativ" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Färgschema:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Statistikalternativ" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Visa efter _belopp" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Visa _räntekolumn" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Visa _detaljer" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Budgetalternativ" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Aktivera" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Förinställd:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "Användargränssnitt" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Språk:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "_Datumvisning:" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Format:" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Verksamhetsår" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "Börjar _den:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Mätningsenheter" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Använd _mil för meter" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Använd _gallon för bränsle" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "Transaktionslista" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "dagar framåt" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "Dölj avstämda" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "Visa alltid påminnelse" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "Visa alltid tomrum" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "Inkludera påminnelse i saldo" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "Transaktionsdialog" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "_Behåll det senaste datumet när flera läggs till" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "Överför måldatumtolerans:" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "Aktivera automatisk komplettering av memot med" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "rullande dagar" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "Visa bekräftelsetext för lägg till i 5s" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "_Rutnätslinje:" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "Gtk-inställningar" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "Åsidosätt" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "Tecken_storlek:" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "Mörkt tema" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Färg på belopp" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Använder egna färger" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Utgift:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Inkomst:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Varning:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "_Använd automatisk säkerhetskopiering" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "_ Antal säkerhetskopior att behålla:" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "Säkerhetskopieringsfrekvensen är en gång om dagen" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "_Plånböcker:" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "Säkerhetskopia:" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "Utbyta filer" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Importera:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Exportera:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Programstart" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Visa startskärm" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Öppna senast öppnade filen" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Posta avvaktande schemalagda transaktioner" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Uppdatera valutor på nätet" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Huvudfönsterrapporter" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "Max _poster:" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "Återställ alla inställningar" #: ../src/ui-pref.c:2244 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:2265 msgid "Preferences" msgstr "Inställningar" #: ../src/ui-pref.c:2512 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:2520 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:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Transaktionsuppdelningar" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "Ta bort alla" #: ../src/ui-split.c:966 msgid "Apply" msgstr "Tillämpa" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "Avbryt" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Transaktionsbelopp:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Otilldelad:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Summa av delar:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "Warning: sum of splits and transaction amount don't match" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "Varning: summan av splittringar och transaktionstyp matchar inte" #: ../src/ui-tag.c:602 #, 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:645 #, c-format msgid "Merge tag '%s'" msgstr "Sammanfoga taggen \"%s\"" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" "Transaktioner som tilldelats denna tagg,\n" "kommer att flyttas till taggen som valts nedan." #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "_Ta bort taggen \"%s\"" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" "Den här taggen används.\n" "Taggen tas bort från alla transaktioner som använder den." #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "Hantera taggar" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "ny tagg" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "Transaktion av %s skapad." #: ../src/ui-transaction.c:858 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" "Om du fortsätter tas måltransaktionen bort." #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "_Bryt" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Visa _schemalagda" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "Visa _all konton" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "Använd mall" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "Lägg till & _behåll" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Lägg till transaktion" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "Lägg till mall" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Ärv transaktion" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "Ärv mallinställningar" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "Redigera transaktion" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "Redigera mall" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "Män_gd:" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "T_ill:" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "Bok _2" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 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:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "Kate_gori:" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "Ant_eckning:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "_Taggar:" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "Varning: summa och kategori matchar inte" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "Redigera flera transaktioner" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" "Skriv in som\n" "överföring" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "Tid" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "Trend" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "Av" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Inkludera" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Uteslut" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(ingen typ)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Bank" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Kontant" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Tillgång" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Kreditkort" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Ansvar" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "Kontrollerar" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "Besparingar" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Denna månad" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Förra månaden" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Detta kvartal" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Förra kvartalet" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Detta år" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "Förra året" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Senaste 30 dagarna" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Senaste 60 dagarna" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Senaste 90 dagarna" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Senaste 12 månaderna" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "anpassad" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Alla datum" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "Nästa månad" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "Kommande 30 dagar" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "Kommande 60 dagar" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "Kommande 90 dagar" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "Ogiltig" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Möjlig" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Före" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Efter" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Utg. & ink." #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "Orensad" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Oavstämd" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Okategoriserad" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "Mån" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "Tis" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "Ons" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "Tor" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "Fre" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "Lör" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "Sön" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Januari" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Februari" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Mars" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "April" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Juni" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Juli" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Augusti" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Oktober" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "November" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "December" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Sök..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Check" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "Banköverföring" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Betalkort" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Stående order" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Elektronisk betalning" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Insättning" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Finansinstitutsavgift" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Autogiro" homebank-5.5.2/po/br.po0000664000175000017500000026247214021210657011626 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2016-08-21 08:42+0000\n" "Last-Translator: Alan \n" "Language-Team: Breton \n" "Language: br\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" "X-Poedit-SearchPath-0: br\n" "X-Poedit-Basepath: .\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Digempoellder ebet bet kavet !" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Pep sav treuzgread a vo rannet dre %.6f." #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "_Amdreiñ" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "N'eus treuzgread ebet bet kemmet" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "treuzgread bet kemmet : %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Dilemel" #: ../src/dsp-account.c:1677 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:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Treuzgreadoù e-kreiz ho tiuzad zo bet reizhaet endeo." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "Kemmañ" #: ../src/dsp-account.c:1735 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:1737 msgid "_Toggle" msgstr "_Trec'haoliñ" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Ouzhpennañ..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Hêrezhiñ..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "Daskemmañ" #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "_Embann lies..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Stad" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Tra ebet" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Skarzhet" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "Ad_unvanet" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Krouiñ ur patrom..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Diverkañ..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "K_ont" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Ezporzhiañ ar restr mod QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Ezporzhiañ ar restr mod CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Serriñ" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "K_emmañ" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Treuz_gread" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Binvioù" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Silañ..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Amdreiñ da Euro..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Ouzhpennañ" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Ouzhpennañ un treuzgread all" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Hêrezhiñ" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Hêrezhiñ diouzh an treuzgread oberiant" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Kemmañ" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Daskemmañ an treuzgread oberiant" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Skarzhet" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Trec'haoliñ da wiriet an treuzgread(où) bet diuzet" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Reishaet" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Trec'haoliñ da reizhaet an treuzgread(où) bet diuzet" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Embann meur a dreuzgread" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Krouiñ ur patrom" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Diverkañ an treuzgread(où) bet diuzet" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Azgrenaat" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Ledad :" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Rizh :" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Stad :" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "Adde_raouekaat" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Moneiz _vroadel kent an euro" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Hiziv :" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Donemat e Homebank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Krouiñ ur restr _nevez" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Digeriñ ur restr ez eus anezhi" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Digeriñ ar restr skou_er" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Lenn dornlevr Ho_mebank" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 #, 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/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "Fazi enankañ/ec'hankañ evit ar restr '%s'." #: ../src/dsp-mainwindow.c:1132 #, 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:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Fazi gant ar restr" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Restr" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Nevez" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Digeriñ..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Enrollañ" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "_Enrollañ evel..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Distreiñ" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Perzhioù..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Kuitaat" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Gwellvezioù..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "G_welout" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "Barrenn_Ostilhoù" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "Dispignoù pouezusañ" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Moneiz vroadel kent an euro" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Ardeiñ" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "Kont_où..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Emvataerion..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Rummadoù..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Steuñvet/Patrom..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Kellidsteuñv..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Derannadurioù..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Teulennoù..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Treuzgreadoù" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Ouzhpennañ" #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Diskouez..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Arventennañ ar steuñverez..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Kas ar re steuñvet" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Danevelloù" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Stadegoù..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Tuadur dre an amzer..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "Kellidste_uñv..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "Kost ar _c'harbed..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Diskouez boestad emziviz Donemat..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Stadegoù ar restr..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Lakaat da zizanv..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Skoazell" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "Endal_c'hadoù" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Danevellañ ur gudenn..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Treiñ an arload-mañ..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_A-zivout" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Krouiñ ur restr nevez" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Digeriñ ur restr" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Digeriñ ur restr nevez-implijet" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Enrollañ ar restr vremanel" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Kont" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Emvataer" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Rummad" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Kellidsteuñv" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Dezverkadur" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Diskouez a ra treuzgreadoù ar gont diuzet" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Ouzhpennañ treuzgreadoù" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Digeriñ danevell ar stadegoù" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Digeriñ danevell evit an tuadur dre an amzer" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Mentelad" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Digeriñ danevell ar ventelad" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Digeriñ danevell ar c'hellidsteuñv" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Koust ar c'harbed" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Digeriñ danevell koust ar c'harbed" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Steuñvet" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Dazont" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Evezh" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(rummad ebet)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "mentrezh mod CSV didalvoudek" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Deiziad" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Titouroù" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Kounger" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Savad" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Dianav" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "mi./l" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(emvataer ebet)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Dibarzhioù Homebank" #: ../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:515 msgid "Your accounts" msgstr "Ho kontoù" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Astenn pep tra" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Diskar pep tra" #: ../src/hub-account.c:551 msgid "Show all" msgstr "" #: ../src/hub-account.c:556 msgid "By type" msgstr "" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Treuzgread ebet da ouzhpennañ" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "treuzgread ouzhpennet : %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Gwiriañ disoc'hoù an treuzgreadoù steuñvet" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Hollad" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Treuzgreadoù steuñvet" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Kas" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:299 msgid "Other" msgstr "All" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Da belec'h ez a hoc'h arc'hant" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Hollad diwezhel" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Kontoù" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Hiziv" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- marz -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Stad" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Ezkefiad" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Enkefiad" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Deiziad da zont" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d dindan %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Roll" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Gwelout an disoc'hoù evel ur roll" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Linenn" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Gwelout an disoc'hoù evel linennoù" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Munud" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Trec'haoliñ ar munudoù" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Azbevaat" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Azbevaat an disoc'hoù" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Danevell ar ventelad" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Skrammañ" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Zoum X :" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Eus :" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Da :" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Anv ar gont" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "An holl anezho" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Tra ebet" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Kellidsteuñv evit %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Disoc'h" #: ../src/rep-budget.c:852 msgid " over" msgstr " dreist" #: ../src/rep-budget.c:858 msgid " left" msgstr " o chom" #: ../src/rep-budget.c:861 msgid " under" msgstr " dindan" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 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:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Danevell ar c'hellidsteuñv" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Gwelout dre :" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Disoc'h :" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Kellidsteuñv :" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Dispignet :" #: ../src/rep-budget.c:1422 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:1423 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:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Dispignet" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Isrummad" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Klav" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Miz" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Bloaz" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s dre %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Gwelout an disoc'oùh dre stumm ur bann" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Gwelout an disoc'hoù dre stumm un donut" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Trec'haoliñ al leadell" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Trec'haoliñ ar feur" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Danevell ar stadegoù" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Enkefiad :" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Ezkefiad :" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Deiz" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Sizhun" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Trimiziad" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s a-hed an amzer" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Keitad : %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Danevell an tuadur dre an amzer" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "Ko_nt :" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Rummad :" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Emvataer :" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "Kl_av :" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Diuzañ pep tr_a" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Dassammañ" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Pellder" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Trelosk" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Priz" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Pellder" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Ezporzhiañ evel restr mod CSV..." #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Danevelloù a-fet koust ar c'harbed" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "Kar_bed :" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Pellder :" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Bevezerezh :" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Koust ar strilheoul :" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Koustoù all :" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Koust hollek :" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(tra ebet)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Hewel" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Nullañ" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_Mat eo" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Anv ar gont" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Fazi" #: ../src/ui-account.c:1505 #, 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:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "N'haller ket diverkañ ar gont '%s'" #: ../src/ui-account.c:1557 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:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, 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:1570 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:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Ardeiñ kontoù" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 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:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Hollek" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "Ni_ver :" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Kregiñ gant ar _ventelad :" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Teulenn :" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "serret e oa bet ar gont-mañ" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Notennoù :" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Lakaat an ezlakadenn en danevell" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "ezlakaat diouzh _berrskrid ar gont" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "ezlakaat diouzh ar c'hellid_steuñv" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "ezlakaat diouzh an holl _zanevelloù" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Niver ar chekenn vremanel" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Karned chekennoù _1 :" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Karned chekennoù _2 :" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 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:972 msgid "Next _date:" msgstr "Deiziad _da zont :" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Be_p :" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Dibenn sizhun :" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Arsaviñ goude :" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "a gasoù" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Ardeiñ an treuzgreadoù steuñvet pe batrom" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Patrom" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 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:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Diweredekaet" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Mar goullo" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Flastrañ" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Ardeiñ an derannadurioù" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Diferadenn" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Tala_dur :" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Ouzhpennañ" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "N'eo ket bet kavet" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Ragarventennañ ar restr :" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Anv :" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Anv" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Digeriñ" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Restroù anavezet" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "Restroù mod QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "Restroù mod OFX/QFX" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "Restroù mod CSV" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "An holl restroù" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Urzh an deiziad :" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Tuginañ" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "a zeizioù" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Donemat" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "Enporzhiañ" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Kadarnaat" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Fazi mentrezh ar restr" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "Sur oc'h e fell deoc'h skarzhañ an enankad ?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 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:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Skarzhañ" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Ardeiñ ar c'hellidsteuñv" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "E_nporzhiañ ar restr mod CSV" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "E_zporzhiañ ar restr mod CSV" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Mentelad :" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "_Skarzhañ an enankad" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Dibarzhioù" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Bountañ war ouarnerezh ar rummad-mañ" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Gen" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "C'hwe" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Meu" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Ebr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Mae" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Mez" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Gou" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Eos" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Her" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Du" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 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:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "_Dilemel ar rummad '%s'" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Toueziañ" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Embann..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Enkefiad" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Toueziañ ar rummad '%s'" #: ../src/ui-category.c:1943 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:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Ardeiñ ar rummadoù" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "rummad nevez" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Teulenn" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Mentrezh" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Personelaat" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Arouez :" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "Si_froù goude ar skej :" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Stadegoù ar restr" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "Treuzgread" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Hiziavaat" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "Teulenn :" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Ezporzhiañ evel restr mod QIF..." #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Enporzhiañ diouzh ur restr mod CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Restroù mod Homebank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Enrollañ ar c'hemmoù graet d'ar restr kent serriñ ?" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "Serriñ _hep enrollañ" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Diuzañ e-touez an treuzgread diskouezet..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Diuzañ ur gwezh :" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "krouiñ un treuzgread nevez" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "diuzañ un treuzgread ez eus anezhañ" #: ../src/ui-dialogs.c:1091 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:1049 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:1155 msgid "_Memo:" msgstr "_Kounger" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Keloù :" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "Teurel e_vezh ouzh an direnneg" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Ne vern pe stad" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Ne vern pe rizh" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Treuzkas" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Kreñvder :" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "skrammañ 'Ouzhpennet'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "skrammañ 'Embannet'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "skrammañ 'Evezh'" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Perzhioù ar restr" #: ../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" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "Dre ziouer" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "Tal_adur :" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "Toueziñ an emvataer '%s'" #: ../src/ui-payee.c:1510 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:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "_Dilemel an emvataer '%s'" #: ../src/ui-payee.c:1613 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:1710 msgid "Manage Payees" msgstr "Ardeiñ an emvataerion" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "Dibarzhioù ar restroù mod OFX/QFX" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Sil deraouiñ" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Dibarzhioù an diervadoù" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Dibarzhioù ar stadegoù" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Diskouez dre s_avad" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Diskouez bann ar feu_r" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Diskouez ar munu_doù" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Dibarzhioù ar c'hellidsteuñv" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Gweredekaat" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Ragarventennañ :" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Yezh :" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Mentrezh :" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Bloavezh kemedel" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "Kre_giñ a ra d'an/ar :" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Unanennoù muzuliañ" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Ober gant _mileoù evit ar pellder" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Arverañ ar _gallon evit ar strilheoul" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Livioù ar savadoù" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Arverañ a ra al livioù personelaet" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "E_zkefiad :" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "E_nkefiad :" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Evezh :" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "E_nporzhiañ :" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Ezporzhiañ :" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Loc'hadur ar goulev" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Diskouez ar skeudenn ginnig" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Kargañ ar restr digoret da ziwezhañ" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Kas an treuzgreadoù steuñvet o c'hortoz" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Danevelloù ar prenestr pennañ" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Gwellvezioù" #: ../src/ui-pref.c:2512 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:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Treuzgread kroueriet" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Savad an treuzgread :" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Anderannet :" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Sammad ar marzioù" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Ouzhpennañ un treuzgread" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Treuzgread dre hêrezh" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "Koung_er :" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "Embannadur treuzgreadoù lies" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Enlakaat" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Ezlakaat" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(rizh ebet)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Bank" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Arc'hant liñvel" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Fred" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Kartenn gred" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Diwan" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "E korf an 30 deiz diwezhañ" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "E korf an 60 deiz diwezhañ" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "E korf an 90 deiz diwezhañ" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "E korf an 12 miz diwezhañ" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "An holl zeiziadoù" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Gallout a ra bezañ" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Kent" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Goude" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Ezk. & Enk." #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "Diskarzhet" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Digompez" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Dirummad" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Genver" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "C'hwevrer" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Meurzh" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Ebrel" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Mezheven" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Gouere" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Eost" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Gwengolo" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Here" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Du" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Kerzu" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Gwe" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Klask..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Chekenn" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Kartenn dle" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Urzh treuzkas" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Taladur elektronek" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Fiziad" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Mizoù arc'hant un ensavadur" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Dle dihanterat" homebank-5.5.2/po/el.po0000664000175000017500000032017014021210657011611 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: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2021-02-03 21:51+0000\n" "Last-Translator: Savvas Adamtziloglou \n" "Language-Team: Hellenic \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" "X-Poedit-Country: GREECE\n" "X-Poedit-Language: Greek\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "Υπάρχει(ουν) %d ομάδα(ες) παρόμοιων συναλλαγών" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Δεν βρέθηκε παρόμοια συναλλαγή!" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Δεν βρέθηκε ασυνέπεια !" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Κάθε ποσό συναλλαγής θα διαιρεθεί με %.6f." #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Είστε σίγουροι πως θέλετε να μετατρέψετε το κύριο νόμισμα του λογαριασμού " "σας σε Ευρώ;" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "_Μετατροπή" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Δεν τροποποιήθηκε καμία συναλλαγή" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "η συναλλαγή άλλαξε: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Αποτέλεσμα αυτόματης ανάθεσης" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Δημιουργία" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Διαγραφή" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "Είστε σίγουροι ότι θέλετε να αλλάξετε την κατάσταση σε Κανένα;" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Ορισμένες από τις επιλεγμένες συνναλαγές σας είναι ήδη συμφωνηθείσες." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Αλλαγή" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Είστε σίγουρος ότι θέλετε να αλλάξετε την κατάσταση σε Συμφωνηθείσα;" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "_Εναλλαγή" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Προσθήκη…" #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Μεταβίβαση..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Επεξεργασία..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "_Πολλαπλη επεξεργασία..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Κατάσταση" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Τίποτα" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Εκκαθάριση" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Εναρμονησμένο" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Δημιουργία προσχέδιου..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Διαγραφή..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "_Πάνω" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "_Κάτω" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "Λο_γαριασμός" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Εξαγωγή QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Εξαγωγή CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Εξαγωγή ως PDF..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "Εκτύπωση..." #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Κλείσιμο" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Επεξεργασία" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Αντιγραφή" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Επικόλληση" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Επικόλληση (σήμερα)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Συν_αλλαγή" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "_Εύρεση" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Εργαλεία" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Επισήμανση διπλότυπου..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Αυτόματες αναθέσεις" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Φίλτρο..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Μετατροπή σε Ευρώ..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Προσθήκη" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Προσθήκη νέας συναλλαγής" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Μεταβίβαση" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Μεταβίβαση από την τρέχουσα συναλλαγή" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Επεξεργασία" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Επεξεργασία της τρέχουσας συναλλαγής" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Καθαρίστηκε" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Ενναλαγή της κατάστασης εκκαθαρισμένο για την επιλεγμένη συνναλαγή(ες)" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Συμφωνημένο" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Ενναλαγή της κατάστασης συμφωνηθείσα για την επιλεγμένη συνναλαγή(ες)" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "Επεξεργασία πολλαπλών" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Επεξεργασία πολλαπλών συναλλαγών" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Δημιουργία προσχεδίου" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "Διαγραφή" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Διαγραφή επιλεγμένης(ων) συνναλαγής(ων)" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "Πάνω" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "Μετακίνηση συναλλαγής πάνω" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "Κάτω" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "Μετακίνηση συναλλαγής κάτω" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Όλες οι συναλλαγές" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Ανανέωση" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Περιοχή:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "Εναλλαγή εμφάνισης μελλοντικών συναλλαγών" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Τύπος:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Κατάσταση:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Επαναφορά" #: ../src/dsp-account.c:2668 msgid "Open the list filter" msgstr "Άνοιγμα της λίστας φίλτρων" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Euro _ελάχιστο" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Σήμερα:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Καλώς ορίσατε στο HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Δημιουργία _νέου αρχείου" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Ανοιγμα υπάρχοντος αρχείου" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Άνοιγμα του αρχείου _παραδείγματος" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Διαβάστε το εγχειρίδιο χρήσης του Homebank" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Ρύθμιση _προτιμήσεων" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "Εμφάνιση αυτού του παραθύρου την επόμενη φορά" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You 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:997 msgid "Open the backup file?" msgstr "Άνοιγμα του αντίγραφου ασφαλείας;" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "_Άνοιγμα αντιγράφου ασφαλείας" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Αδυναμία ανοίγματος '%s', το αρχείο δεν υπάρχει.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Άγνωστο σφάλμα" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "Παρουσιάστηκς σφάλμα ανάγνωσης/εγγραφής για το αρχείο '%s'" #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Το αρχείο '%s' δεν αποτελεί έγκυρο αρχείο του προγράμματος Homebank" #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Σφάλμα αρχείου" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "Το αρχείο έχει τροποποιηθεί από την τελευταία ανάγνωση." #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Αν αποθηκεύσετε, θα χαθούν όλες οι εξωτερικές αλλαγές. Να γίνει αποθήκευση " "οπωςδήποτε;" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "_Αποθήκευση οπωσδήποτε" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Αρχείο" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Νέο" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Άνοιγμα..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Άνοιγμα_Πρόσφατων" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Αποθήκευση" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Αποθήκευση _Ως..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "Εισαγωγή..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Επαναφορά" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Ιδιότητες..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Έξοδος" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Προτιμήσεις..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Προβολή" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Εργαλειοθήκη" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Κορυφαίες δαπάνες..." #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro ελάχιστο" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Διαχείριση" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "_Λογαριασμοί..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Δικαιούχοι..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "_Κατηγορίες..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Προγραμματισμένο/Προσχέδιο..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Προϋπολογισμός..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "Προϋπολογισμός (προβολή πίνακα)..." #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Aναθέσεις..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Νομίσματα..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "Ετικέτες..." #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Συναλλαγές" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Προσθήκη..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Προβολή..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Εμφάνιση όλων" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Ορισμός χρονοδιαγράμματος..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Η δημοσίευση έχει προγραμματιστεί" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Αναφορές" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Στατιστικά..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Trend Time..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "_Ισοζύγιο..." #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "Ισο_ζύγιο..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "Κόστ_ος οχήματος..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Εμφάνιση διαλόγου καλώς ορίσματος..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Στατιστικά αρχείου..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Ανωνυμία..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Βοήθεια" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Περιεχόμενα" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "Λήψη Βοήθειας από το Διαδίκτυο..." #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Έλεγχος για ενημερώσεις..." #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Σημειώσεις έκδοσης" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Αναφορά Προβλήματος..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Μετάφραση της Εφαρμογής..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_Σχετικά" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "Νέο" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Δημιουργία νέου αρχείου" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "Άνοιγμα" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Άνοιγμα αρχείου" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Άνοιγμα ενός πρόσφατου αρχείου" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "Αποθήκευση" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Αποθήκευση τρέχοντος αρχείου" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Λογαριασμός" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "Διαχείριση λογαριασμών" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Δικαιούχος" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Κατηγορία" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Προϋπολογισμός" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "Διαχείριση του προϋπολογισμού" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Ανάθεση" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "Διαχείριση των αυτόματων εντολών" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "Εμφάνιση" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Εμφανίζει τις συναλλαγές επιλεγμένου λογαριασμού" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Προσθήκη συνναλαγής" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "Στατιστικά" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Άνοιγμα αναφοράς στατιστικών" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Άνοιγμα αναφοράς στο Trend Time" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Ισοζύγιο" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Άνοιξε την έκθεση ισοζυγίου" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Άνοιγμα αναφοράς ισοζυγίου" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Κόστος Οχήματος" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Άνοιγμα αναφοράς κόστους Οχήματος" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "Βοήθεια" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "Δωρεά" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "Δωρεά στο έργο HomeBank" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Προγραμματισμένο" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Μελλοντικά" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Υπενθύμιση" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(χωρίς κατηγορία)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "Μή έγκυρη μορφή CSV" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Ημερομηνία" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Πληροφορίες" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Σημείωση" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Ποσό" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Άγνωστο" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f λίτρο" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "χλμ/λίτρο" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "μίλια / λίτρο" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(κανένας δικαιούχος)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Επιλογές HomeBank" #: ../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:515 msgid "Your accounts" msgstr "Οι λογαριασμοί σας" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Επέκταση όλων" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Σύμπτυξη όλων" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Προβολή όλων" #: ../src/hub-account.c:556 msgid "By type" msgstr "Κατά τύπο" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Δεν υπάρχει συναλλαγή για να προστεθεί" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "συναλλαγή προστέθηκε: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Ελέγξτε το αποτέλεσμα των προγραμματισμένων συναλλαγών" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Σύνολο" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Προγραμματισμένες συναλλαγές" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Δημοσίευση" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "Ανώτατο όριο %d εξόδων" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Άλλο" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Πού πηγαίνουν τα χρήματά σας" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Γενικό σύνολο" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "μέχρι" #: ../src/list-account.c:559 msgid "before" msgstr "πριν" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Λογαριασμοί" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Σήμερα" #: ../src/list-operation.c:586 msgid "- split -" msgstr "-διαχωρισμός-" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Κατάσταση" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Έξοδα" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Εισόδημα" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Επόμενη ημερομηνία" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d κάτω από %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Λίστα" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Εμφάνιση αποτελεσμάτων ως λίστα" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Γραμμή" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Προβολή αποτελεσμάτων ως γραμμές" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Λεπτομέρειες" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Εναλλαγή εμφάνισης λεπτομερειών" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Ανανέωση" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Ανανέωση αποτελεσμάτων" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "Εκτύπωση" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Έκθεση υπολοίπου" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Προβολή" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "Εμφάνιση κενής γραμμής" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Μεγένθυνση X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Από:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Έως:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Όνομα λογαριασμού" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Επιλέξτε:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Όλα" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Κανένα" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Προϋπολογισμός για %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Αποτέλεσμα" #: ../src/rep-budget.c:852 msgid " over" msgstr " κενό" #: ../src/rep-budget.c:858 msgid " left" msgstr " αριστερά" #: ../src/rep-budget.c:861 msgid " under" msgstr " κάτω" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "Προβολή αποτελεσμάτων ως μπάρες στοίβας" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "_Αποτέλεσμα στο πρόχειρο" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "_Αποτέλεσμα σε CSV" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "_Λεπτομέρειες στο πρόχειρο" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "Λεπτομέρειες σε CSV" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Αναφορά Προϋπολογισμού" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Προβολή κατά:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "Μόνο εκτός προϋπολογισμού" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Αποτέλεσμα:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Προϋπολογισμός:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Έξοδα:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "Δεν έχει οριστεί λογαριασμός ώστε να είναι μέρος του προϋπολογισμού." #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "" "Θα πρέπει συμπεριλάβετε κάποιους λογαριασμούς από το παράθυρο διαλόγου των " "λογαριασμών." #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Έξοδα" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Υποκατηγορία" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Ετικέτα" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Μήνας" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Έτος" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s ανά %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "Πάρα πολλές στήλες για εμφάνιση" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Προβολή αποτελεσμάτων ως στήλη" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Δείτε τα αποτελέσματα ως κύκλο" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Εναλλαγή προβολής υπομνήματος" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Εναλλαγή ισοτιμίας" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Επεξεργασία φίλτρου" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Αναφορά στατιστικών" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Εισόδημα:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Έξοδα:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Ημέρα" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Εβδομάδα" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Τρίμηνο" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s με την πάροδο του χρόνου" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Μέσος όρος: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Αναφορά Trend Time" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Λογαριασμός:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Κατηγορία:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Δικαιούχος:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Ετικέτα:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Επιλογή _όλων" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "Σώρευση" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Μέτρο" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Καύσιμα" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Τιμή" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Απόσταση" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "Εξαγωγή" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Εξαγωγή CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Αναφορά κόστους οχήματος" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "Όχη_μα" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Μέτρο:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Κατανάλωση:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Δαπάνη καυσίμων:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Άλλες δαπάνες:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Συνολική δαπάνη:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(κανένα)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Ορατό" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Άκυρο" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_Εντάξει" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Όνομα λογαριασμού" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Σφάλμα" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Δεν μπορεί να προστεθεί λογαριασμός '%s', \n" "το όνομα αυτό υπάρχει ήδη." #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "Δεν μπορεί να διαγραφεί ο λογαριασμός '%s'" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" "Αυτός ο λογαριασμός περιέχει συναλλαγές ή / και αποτελεί μέρος εσωτερικών " "μεταφορών." #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Είστε σίγουροι ότι επιθυμείτε μόνιμη διαγραφή του '%s';" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "Άν διαγράψετε έναν λογαριασμό, θα χαθεί μόνιμα." #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Διαχείριση Λογαριασμών" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "Μετονομασία" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Σύρσιμο και απόθεση για να αλλάξετε την σειρά \n" "Διπλό κλικ για μετονομασία" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Γενικά" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "_Ομάδα:" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "Α_ριθμός:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Έναρξη_ισοζυγίου:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "Νόμισμα:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "αυτός ο λογαριασμός _έκλεισε" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Σημειώσεις:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "Συμπεριφορά" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "Αυτοματοποίηση" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Αναφορά εξαίρεσης" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "εξαίρεση από λογαριασμό" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "εξαίρεση από _προϋπολογισμό" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "εξαίρεση από οποιαδήποτε _αναφορά" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "Διάφορα" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Τρέχον νούμερο επιταγής" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Μπλοκ Επιταγών_1" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Μπλοκ Επιταγών_2" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Όρια ισοζυγίου" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "_Υπερανάληψη σε:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "Εάν διαγράψετε ένα πρότυπο, θα χαθεί μόνιμα." #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "Επόμενη _ημερομηνία:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "_Κάθε:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "Περισσότερες επιλογές" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Τέλος εβδομάδας:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Παύση μετά από:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "εγγραφές" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Διαχείριση προγραμματισμένων συναλλαγών / προτύπων" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Πρότυπο" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "Αναζήτηση" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "Σημειώσεις" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "Εάν διαγράψετε μια ανάθεση, θα χαθεί μόνιμα." #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Απενεργοποιημένο" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Εάν είναι άδειο" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Αντικατάσταση" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Διαχείριση αναθέσεων" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Συνθήκη" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "Κανονική έκφραση" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "_Πληρωμή:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Τίτλος:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "Βάση:" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "Προσθήκη" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Δεν βρέθηκε" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Προκαθορισμένο αρχείο:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Όνομα:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "Επιλέξτε Νομίσματα" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "Επιλέξτε Κατηγορίες" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "Δημιουργία λογαριασμού" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "Έγκυρο" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Όνομα" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Άνοιγμα" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Γνωστά αρχεία" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "Αρχεία QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "Αρχεία OFX/QFX" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "Αρχεία CSV" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Όλα τα αρχεία" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Διάταξη ως προς την ημερομηνία:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Αντιστροφή" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "Ημέρα(ες)" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Καλώς ήρθατε" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "Εισαγωγή" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Επιβεβαίωση" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Σφάλμα μορφής αρχείου" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "Είστε σίγουροι ότι επιθυμείτε εκκαθάριση δεδομένων;" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "Εάν προχωρήσετε, κάθε ποσό θα οριστεί σε 0." #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Εκκαθάριση" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Διαχείριση Προϋπολογισμού" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "_Εισαγωγή CSV" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "Ε_ξαγωγή CSV" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Ισοζύγιο:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "_Καθαρισμός καταχωρήσεων" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Επιλογές" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "Εξαναγκασμός παρακολούθησης αυτής της κατηγορίας." #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Ιαν" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Φεβ" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Μαρ" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Απρ" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Μάιος" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Ιούν" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Ιούλ" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Αύγ" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Οκτ" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Νοέ" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Χρησιμοποιείται για αυτήν την κατηγορία.\n" "Κάθε συναλλαγή που χρησιμοποιεί αυτήν την κατηγορία θα οριστεί σε (χωρίς " "κατηγορία)" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "_Διαγραφή κατηγορίας '%s'" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Συγχώνευση" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Διαγραφή μη χρησιμοποιούμενων κατηγοριών" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Είστε σίγουροι ότι θέλετε να διαγράψετε \n" "μόνιμα τις μη χρησιμοποιούμενες κατηγορίες;" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Επεξεργασία..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Έσοδα" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Συγχώνευση κατηγορίας '%s'" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Συναλλαγές που ανατέθηκαν σε αυτήν την κατηγορία \n" "θα μετακινηθούν στην κατηγορία που επιλέχτηκε παρακάτω." #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Διαχείρηση Κατηγοριών" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "_Διαγραφή μη χρησιμοποιούμενων" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "νέα κατηγορία" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Νόμισμα" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Μορφή" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Προσαρμογή" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Σύμβολο:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "Είναι πρό_θεμα" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "_Δεκαδικός χαρακτήρας:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Κλασματικό ψηφίο" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "Προσθέστε ένα προσαρμοσμένο _νόμισμα" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "Ενημέρωση online" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "Θέστε ως βάση" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Στατιστικά αρχείων" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "Συναλλαγή" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Αναβάθμιση" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Επιλέξτε ένα νόμισμα βάσης" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "Νόμισμα:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Εξαγωγή ως QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Εισαγωγή από CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "Άνοιγμα αρχείου HomeBank" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "Αποθήκευση αρχείου HomeBank ως" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Αρχεία HomeBank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Αποθήκευση αλλαγών στο αρχείο πριν το κλείσιμο;" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "Κλείσιμο _χωρίς αποθήκευση" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Φάκελος:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Επιλέξτε φάκελο" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Όνομα αρχείου:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Εξαγωγή σς PDF" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Εξαγωγή ως _PDF" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Επιλογή μεταξύ πιθανών συναλλαγών..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Επιλογή ενέργειας:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "δημιουργία νέας συναλλαγής" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "επιλογή ήδη υπάρχουσας συναλλαγής" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "Το HomeBank έχει βρει κάποια συναλλαγή που μπορεί να είναι σχετική συναλλαγή " "για την εσωτερική μεταφορά." #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "_Σημείωση:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Πληροφορίες:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "_Διάκριση πεζών από κεφαλαία" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Οποιαδήποτε κατάσταση" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Οποιοσδήποτε Τύπος" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Μεταφορά" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Εξαναγκασμός:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "εμφάνιση 'Πρόσθετων'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "εμφάνιση 'Επεξεργασμένων'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "εμφάνιση \"Υπενθυμίσεων\"" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "Ημερομηνίες" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "Πληρωμές" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Ποσά" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "Κείμενα" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Κατηγορίες" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Δικαιούχοι" #: ../src/ui-hbfile.c:194 msgid "File properties" 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 "Ημέρες πριν από την τρέχουσα ημερομηνία" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Διαγραφή δικαιούχου που δεν χρησιμοποιείται" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Είστε σίγουροι ότι θέλετε να\n" "διαγράψετε μόνιμα τον δικαιούχο που δεν χρησιμοπιείται;" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "Προεπιλογή" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "Πλη_ρωμή" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "Συγχώνευση δικαιούχου '%s'" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Οι συναλλαγές που έχουν αντιστοιχιστεί σε αυτόν τον δικαιούχο,\n" "θα μεταφερθούν στο δικαιούχο που επιλέχτηκε παρακάτω." #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "_Διαγραφή Διακαιούχου '%s'" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "Αυτός ο δικαιούχος χρησιμοποιείται" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "Διαχείριση δικαιούχων" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "επιλογές OFX/QFX" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "Επιλογές QIF" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Αρχικό φίλτρο" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Επιλογές γραφημάτων" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Συνδυασμός χρωμάτων:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Επιλογές στατιστικών" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Εμφάνιση με βάση το _ποσό" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Εμφάνιση με βάση την _Αξία" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Εμφάνιση _λεπτομερειών" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Επιλογές προϋπολογισμού" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Ενεργοποίηση" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Προκαθορισμένο:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Γλώσσα:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Μορφοποίηση:" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Φορολογικό έτος" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "Ξεκινά _από:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Μονάδες μέτρησης" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Χρησιμοποίησε _μίλια για μονάδα μέτρησης" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Χρησιμοποίησε _γαλόνια για καύσιμα" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 msgid "_Toolbar:" msgstr "_Εργαλειοθήκη:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1845 msgid "_Grid line:" msgstr "_Γραμμή πλέγματος:" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Ποσό χρωμάτων" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Χρησιμοποιεί προσαρμοσμένα χρώματα" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Δαπάνες:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Εισόδημα:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Προειδοποίηση:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Εισαγωγή:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Εξαγωγή:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Έναρξη προγράμματος" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Εμφάνιση οθόνης εκκίνησης" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Φόρτωση τελευταίου ανοιγμένου αρχείου" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Δημοσίευση προγραμματισμένων συναλλαγών" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Ενημέρωση νομισμάτων/ισοτιμιών online" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Αναφορές κυρίου παραθύρου" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Προτιμήσεις" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Θα πρέπει να επανεκκινήσετε το HomeBank\n" "για να εφαρμοστούν οι αλλαγές στην γλώσσα." #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Διαχωρισμοί συναλλαγών" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Ποσό συναλλαγής:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Δεν έχει ανατεθεί:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Άθροισμα διαιρέσεων:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Δείξε _προγραμματισμένο" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Προσθήκη συναλλαγής" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Κληρονόμηση συναλλαγής" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "Κατη_γορία:" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "Ση_μείωση" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "_Ετικέτες:" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "Προειδοποίηση: πινακίδα ποσό και κατηγορία δεν ταιριάζουν" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "Επεξεργασία πολλαπλών συναλλαγών" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "Χρόνος" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Συμπερίληψη" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Εξαίρεση" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(χωρίς τύπο)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Τράπεζα" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Μετρητά" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Πάγιο" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Πιστωτική κάρτα" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Παθητικό" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "Αποταμιεύσεις" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Αυτό το μήνα" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Προηγούμενος μήνας" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Αυτό το τρίμηνο" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Το τελευταίο τρίμηνο" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Αυτό το έτος" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "Το προηγούμενο έτος" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Τελευταίες 30 ημέρες" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Τις τελευταίες 60 ημέρες" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Τις τελευταίες 90 ημέρες" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Τελευταίοι 12 μήνες" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Όλες οι ημερομηνίες" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "Επόμενος μήνας" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "Επόμενες 30 ημέρες" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "Επόμενες 60 ημέρες" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "Επόμενες 90 ημέρες" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Εφικτό" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Πριν" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Μετά" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Έξοδα & Έσοδα" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "Μη εκκαθαρισμένο" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Ασύμφωνα" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Χωρίς Κατηγορία" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "Δευ" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "Τρι" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "Τετ" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "Πέμ" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "Παρ" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "Σάβ" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "Κυρ" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Ιανουάριος" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Φεβρουάριος" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Μάρτιος" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Απρίλιος" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Ιούνιος" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Ιούλιος" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Αύγουστος" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Σεπτέμβριος" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Οκτώβριος" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Νοέμβριος" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Δεκέμβριος" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Σεπ" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Αναζήτηση..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Έλεγχος" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "Τραπεζική Μεταφορά" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Χρεωστική κάρτα" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Πάγια εντολή" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Ηλεκτρονική πληρωμή" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Κατάθεση" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Προμήθεια τράπεζας" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Άμεση Χρέωση" homebank-5.5.2/po/ko.po0000664000175000017500000025333014021210662011621 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2018-10-21 16:12+0000\n" "Last-Translator: Litty \n" "Language-Team: Korean \n" "Language: ko\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "유사한 거래 그룹이 %d 개 있습니다." #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "유사한 거래가 발견되지 않았습니다!" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "일치하지 않는 항목이 없습니다!" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "모든 거래 금액은 %.6f 로 나뉩니다." #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "이 계좌의 주요 통화를\n" "유로화로 변경하시겠습니까?" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "변환(_C)" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "변경된 거래 없음" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "변경된 거래: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "자동으로 할당된 결과" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "삭제(_D)" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "상태를 없음으로 변경 하시겠습니까?" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "선택한 항목의 일부 거래가 이미 조정되었습니다." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "바꾸기(_C)" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "조정됨 상태를 토글 하시겠습니까?" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "토글(_T)" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d 거래" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "추가(_A)..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "상속(_I)..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "편집(_E)..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "다중 편집(_M)..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "상태 (_S)" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "소속 없음(_N)" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "비우기(_C)" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "조정(_R)" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "템플릿 만들기..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "삭제(_D)..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "계좌(_C)" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "QIF 내보내기..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "CSV 내보내기..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "PDF로 내보내기..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "닫기(_C)" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "편집(_E)" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "거래(_O)" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "도구(_T)" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "중복 표시..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "자동. 할당" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "필터(_F)..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "유로화로 변경..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "추가" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "새로운 거래 추가" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "상속" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "활성 거래에서 상속" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "편집" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "활성 거래 편집" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "선택된 거래 비우기 토글" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "선택된 거래 조정됨 토글" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "다중 거래 편집" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "템플릿 만들기" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "선택된 거래 삭제" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(닫힘)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - 홈뱅크" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "모든 거래" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "새로 고침(_R)" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "범위(_R):" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "향후 거래 보기 토글" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "종류(_T):" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "상태(_S):" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "재설정(_R)" #: ../src/dsp-account.c:2668 msgid "Open the list filter" msgstr "목록 필터 열기" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "유로 마이너(_M)" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "오늘:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "홈뱅크에 오신것을 환경합니다." #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "새 파일 만들기(_N)" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "기존 파일 열기(_O)" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "예제 파일 열기(_E)" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "홈뱅크 메뉴얼 읽기(_M)" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "활경 설정(_P)" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "백업 열기(_O)" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "'%s' 파일을 열 수 없습니다. 파일이 없습니다.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "알 수 없는 오류" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "'%s'파일의 입출력 에러" #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "'%s'파일은 유효한 홈뱅크 파일이 아닙니다." #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "파일 오류" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "파일이 읽혀진 후 수정되었습니다." #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "저장하면, 외부에서 바꾼 것을 잃어버리게 됩니다. 저장하겠습니까?" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "어쨋든 저장(_A)" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "파일(_F)" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "새로 만들기(_N)" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "열기(_O)..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "최근 문서 열기(_R)" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "저장(_S)" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "다른 이름으로 저장(_A)..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "가져오기..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "QIF로 내보내기..." #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "복원" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "백업 복원" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "설정..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "끝내기(_Q)" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "기본 설정..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "보기(_V)" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "도구모음(_T)" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "최고 지출(_T)" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "마이너 유로" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "관리(_M)" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "계정(_O)..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "수취인(_P)..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "범주..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "스케쥴/템플릿..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "예산..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "할당..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "통화..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "거래(_T)" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "추가..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "보기..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "모두 보기..." #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "스케쥴러 설정..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "예정된 게시" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "보고서(_R)" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "통계(_S)..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "경향 시간(_T)..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "예산(_U)..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "차량 비용(_V)..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "환영 창 보기..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "파일 통계..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "익명화..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "도움말(_H)" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "목차(_C)" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "업데이트 확인..." #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "릴리즈 정보" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "문제점 보고..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "이 응용 프로그램 번역..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "정보(_A)" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "새 파일 만들기" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "파일 열기" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "최근에 열었던 파일을 엽니다" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "현재 파일 저장" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "계정" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "수취인" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "범주" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "예산" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "선택한 계정 거래 보기" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "거래 추가" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "통계 보고서 열기" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "경향 시간 보고서 열기" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "잔고" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "잔액 보고서 열기" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "예산 보고서 열기" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "차량 비용" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "차량 비용 보고서 열기" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "미래" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(분류 없음)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "잘못된 CSV 형식" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "날짜" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "정보" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "메모" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "금액" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "알 수 없음" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "mi./l" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(수취인 없음)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" 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:515 msgid "Your accounts" msgstr "내 계좌" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "모두 펴기" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "모두 접기" #: ../src/hub-account.c:551 msgid "Show all" msgstr "모두 보기" #: ../src/hub-account.c:556 msgid "By type" msgstr "유형별" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "추가 할 거래 없음" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "%d 거래가 추가되었습니다." #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "예정된 거래 결과를 확인" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "합계" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "예약된 거래" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "최고 지출은 %d" #: ../src/hub-spending.c:299 msgid "Other" msgstr "기타" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "돈이 갈 곳" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "가져오기 된 계좌" #: ../src/list-account.c:127 msgid "Grand total" msgstr "총 합계" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "계좌" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "오늘" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- 분할 -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "상태" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "지출" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "수입" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "다음 날짜" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "목록" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "목록으로 결과 보기" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "선" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "선 그래프로 결과 보기" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "상세 정보" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "세부사항 토글" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "새로 고침" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "결과 새로 고침" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "잔액 보고서" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "표시" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Zoom X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "시작" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "종료" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "계좌 이름" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "모두" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "없음" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "%s의 예산" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "결과" #: ../src/rep-budget.c:852 msgid " over" msgstr " 초과" #: ../src/rep-budget.c:858 msgid " left" msgstr " 남음" #: ../src/rep-budget.c:861 msgid " under" msgstr " 미만" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "결과를 스택 막대로 보기" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "결과를 클립보드로(_R)" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "결과를 CSV로(_R)" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "세부사항을 클립보드로(_D)" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "세부사항을 CSV(_D)" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "예산 보고서" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "보기(_V):" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "예산 초과만" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "결과:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "예산:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "지출:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "예산의 일부로 계좌가 정의되지 않았습니다." #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "계좌 다이얼로그 화면으로 어떠한 계좌라도 포함시켜야합니다." #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "지출" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "하위 범주" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "태그" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "월" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "년" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "결과를 열로 보기" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "결과를 도넛으로 보기" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "범례 토글" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "평가 토글" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "필터 편집" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "통계 보고서" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "수입:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "지출:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "일" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "주" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "분기" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s 시간 초과" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "평균: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "경향 시간 보고서" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "계좌" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "범주" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "지불대상" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "태그(_T):" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "전체 선택(_A)" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "누적(_C)" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "미터" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "연료" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "가격" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "거리." #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "CSV로 내보내기" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "차량 비용 보고서" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "차량(_C):" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "미터:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "소비량:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "연료 비용:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "기타 비용:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "비용 합계:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(없음)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "보임" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "취소(_C)" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "확인(_O)" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "계좌 이름" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "오류" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "'%s' 계좌를 추가할 수 없습니다.\n" "이 이름은 이미 사용중입니다." #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "'%s' 계좌를 지울 수 없습니다." #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "이 계좌는 거래가 포함되어 있으며 내부 송금들 중 일부입니다." #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "계좌를 해지하면 다시는 복구할 수 없습니다." #: ../src/ui-account.c:1618 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1836 msgid "Manage Accounts" msgstr "계정 관리" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "일반" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "통화(_C) :" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "메모:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "간격(_y):" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "지불수단" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "추가(_A)" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "이름(_N):" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "열기(_O)" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF 파일" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX 파일" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV 파일" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "모든 파일" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "반전" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "일" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "문제가 있는 파일" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "예산 관리" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "잔액:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "선택 사항" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "1월" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "2월" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "3월" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "4월" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "5월" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "6월" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "7월" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "8월" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "10월" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "11월" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "수입(_I)" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-category.c:1922 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "범주 관리" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "소수점 아래 자릿수(_F):" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "QIF로 내보내기" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "CSV에서 들여오기" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "홈뱅크 파일" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "PDF로 내보내기" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "정보(_I):" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:194 msgid "File properties" 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 "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1434 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-payee.c:1489 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "수취인 관리" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "금액으로 보기(_A)" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "상세 정보 보기(_D)" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 msgid "_Toolbar:" msgstr "도구 막대(_T):" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1845 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "지출(_E):" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "수입(_I):" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "경고(_W):" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "들여오기(_I):" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "내보내기(_E):" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "최근 연 파일 불러오기" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "게시 대기중인 예정 거래 스케쥴" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "기본 설정" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "거래 추가" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "상속 거래" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "포함" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "제외" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(유형 없음)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "은행" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "현금" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "자산" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "신용 카드" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "부채" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "최근 30일" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "최근 12개월" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "모든 날짜" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "수입과 지출" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "1월" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "2월" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "3월" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "4월" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "6월" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "7월" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "8월" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "9월" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "10월" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "11월" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "12월" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "9월" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "" homebank-5.5.2/po/hu.po0000664000175000017500000031127014021210661011621 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2020-05-04 18:12+0000\n" "Last-Translator: Balázs Meskó \n" "Language-Team: Hungarian (https://www.transifex.com/fsf-hu/teams/77907/hu/)\n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "%d hasonló csoport tranzakció található" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Nem találhatók hasonló tranzakciók!" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "Ellenőrizze a belső átvezetés eredményét" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Nem található következetlenség!" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" "Következetlenséget talált: %d\n" "szeretné átnézni és kijavítani?" #: ../src/dsp-account.c:390 #, 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:394 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:396 msgid "_Convert" msgstr "Át_váltás" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Tranzakció nem változott" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "tranzakció megváltozott: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Automatikus hozzárendelés eredménye" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" "Szeretne hozzárendelést létrehozni a\n" "kiválasztott tranzakciók mindegyikéhez?" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Létrehozás" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" "Szeretne sablont létrehozni a\n" "kiválasztott tranzakciók mindegyikéhez?" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" "Szeretné törölni a\n" "kiválasztott tranzakciók mindegyikét?" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Törlés" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "Biztos, hogy törli az állapotot?" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 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:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Módosítás" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Biztos, hogy bekapcsolja az Egyeztetett állapotot?" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "_Átkapcsolás" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d tranzakció" #: ../src/dsp-account.c:2101 #, 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:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Hozzáadás…" #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "Ö_röklés…" #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "Sz_erkesztés" #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "_Többszörös szerkesztés…" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Állapot" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Nincs" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Elszámolt" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Egyeztetett" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "_Osztott nézet" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Sablon létrehozása…" #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "Hozzárendelés létrehozása..." #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Törlés…" #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "_Fel" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "_Le" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "Szám_la" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "QIF exportálása…" #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Exportálás CSV-be…" #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Exportálás PDF-be…" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "Nyomtatás…" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Bezárás" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Szerkesztés" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Másolás" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Beillesztés" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Beillesztés (ma)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Tranzakc_ió" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "_Keresés" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Eszközök" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Megjelölés duplikátumként…" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "Számlák közötti átvezetés vizsgálata" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Automatikus hozzárendelések" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Szűrők…" #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Euróra váltás…" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Hozzáadás" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Új tranzakció hozzáadása" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Öröklés" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Öröklés az aktív tranzakcióból" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Szerkesztés" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Aktív tranzakció szerkesztése" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Elszámolt" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Elszámoltság állapotának átváltása a kijelölt tranzakcióknál" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Egyeztetett" #: ../src/dsp-account.c:2521 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:2525 msgid "Edit Multiple" msgstr "Többszörös szerkesztés" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Több tranzakció szerkesztése" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Sablon létrehozása" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "Törlés" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Kijelölt tranzakció(k) törlése" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "Felfelé" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "Tranzakció mozgatása felfelé" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "Lejjebb" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "Tranzakció mozgatása lefelé" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(zárolt)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s – HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Összes tranzakció" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Frissítés" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Tartomány:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "Jövőbeli tranzakciók láthatósága be/ki" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Típus:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Állapot:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Visszaállítás" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Euró _másod." #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Ma:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Üdvözöljük a HomeBankban" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "_Utoljára megnyitott fájl megnyitása" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Ú_j fájl létrehozása" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "Meglévő fájl _megnyitása" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "_Példafájl megnyitása" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "HomeBank _súgó olvasása" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Beállítások _konfigurálása" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "Az ablak megjelenítése legközelebb is" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" "A(z) „%s˝ biztonságimentés-fájl megnyitására készül.\n" "\n" "Valóban ezt akarja tenni?" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "Megnyitja a biztonságimentés-fájlt?" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "Biztonsági mentés _megnyitása" #: ../src/dsp-mainwindow.c:1044 #, 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/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Ismeretlen hiba" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "Ki- vagy bemeneti hiba a(z) „%s” fájlban." #: ../src/dsp-mainwindow.c:1132 #, 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:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Fájlhiba" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "A fájl megváltozott a betöltése óta." #: ../src/dsp-mainwindow.c:1212 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:1213 msgid "S_ave Anyway" msgstr "_Mentés mindenképp" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "Törlés" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Fájl" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Új" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Megnyitás…" #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Leg_utóbbi megnyitása" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Mentés" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Mentés másként…" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "Importálás…" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "Exportálás QIF-be…" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Visszaállítás" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "Biztonsági mentés visszaállítása" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Tulajdonságok…" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Kilépés" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Beállítások…" #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Nézet" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Eszköztár" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Legnagyobb kiadások" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "Al lista" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euró másodlagos pénznemként" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Kezelés" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "_Számlák…" #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Partnerek…" #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Kategóriák…" #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Ütemezés/Sablon…" #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Költségvetés…" #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "Költségvetés (táblázatos nézet)" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Besorolások…" #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Pénznemek…" #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "Címkék…" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Tranzakciók" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Hozzáadás…" #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Megjelenítés…" #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Összes megjelenítése…" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Ütemező beállítása…" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Ütemezések feladása" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Kimutatások" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Statisztika…" #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "T_rend…" #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "_Egyenleg..." #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "Költség_vetés…" #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "_Gépjárműköltség…" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Üdvözlő üzenet megjelenítése…" #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Fájlstatisztika…" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Anonimizálás…" #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Súgó" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Tartalom" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "Online segítség…" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Frissítés keresése…" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Kiadási megjegyzések" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Hiba jelentése…" #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Alkalmazás fordítása…" #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_Névjegy" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "Új" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Új fájl létrehozása" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "Megnyitás" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Fájl megnyitása" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Nemrég használt fájlok megnyitása" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "Mentés" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Az aktuális fájl mentése" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Számla" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "A számlaszámok kezelése" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Partner" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "A kedvezményezettek kezelése" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Kategória" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "A kategóriák kezelése" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "Ütemezett/sablon" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "Az ütemezett/sablon tranzakciók kezelése" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Költségvetés" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "A költségvetés kezelése" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Hozzárendelés" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "Az automatikus hozzárendelések kezelése" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "Megjelenítés" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Kiválasztott számla tranzakcióinak megjelenítése" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Tranzakciók hozzáadása" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "Statisztikák" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Statisztikai kimutatás megnyitása" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "Trend idő" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Trendkimutatás megnyitása" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Egyenleg" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Egyenlegkimutatás megnyitása" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Költségvetési kimutatás megnyitása" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Gépjárműköltség" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Gépjárműköltség-kimutatás megnyitása" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "Súgó" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "Adományozás" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "A HomeBank project támogatása" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Ütemezett" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Jövőben" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Emlékeztető" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "Előjegyzett" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(kategorizálatlan)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "érvénytelen CSV formátum" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Dátum" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Megjegyzés" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Feljegyzés" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Összeg" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Ismeretlen" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "mérföld/l" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(nincs partner)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "HomeBank beállításai" #: ../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:515 msgid "Your accounts" msgstr "Számlák" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Összes kibontása" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Összes összecsukása" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Összes megjelenítése" #: ../src/hub-account.c:556 msgid "By type" msgstr "Típus szerint" #: ../src/hub-account.c:557 msgid "By group" msgstr "Csoport szerint" #: ../src/hub-account.c:558 msgid "By institution" msgstr "Intézmény szerint" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Nincs hozzáadható tranzakció" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "tranzakció hozzáadva: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Ütemezett tranzakciók eredményeinek ellenőrzése" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Összesen" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Ütemezett tranzakciók" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Közzététel" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "%d legnagyobb kiadás" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Egyéb" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Mire ment el a pénz?" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "importált számla" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Mindösszesen" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Számlák" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Ma" #: ../src/list-operation.c:586 msgid "- split -" msgstr "– megosztás –" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "- hiányzó kategória -" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Állapot" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Kiadás" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Bevétel" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Következő dátum" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d %s alatt" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Lista" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Eredmények megjelenítése listaként" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Vonal" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Eredmény megjelenítése vonalakkal" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Részletezés" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Részletek be/ki" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Frissítés" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Eredmények frissítése" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Egyenlegkimutatás" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Megjelenítés" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "Idő_köz:" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "Üres sor megjelenítése" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Nagyítás:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Ettől:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "E_ddig:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Számlanév" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Kijelölés:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Összes" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Semmi" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "%s költségvetése" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Eredmény" #: ../src/rep-budget.c:852 msgid " over" msgstr " felett" #: ../src/rep-budget.c:858 msgid " left" msgstr " maradt" #: ../src/rep-budget.c:861 msgid " under" msgstr " alatt" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "Halmozott" #: ../src/rep-budget.c:1001 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:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "_Eredmények a vágólapra" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "E_redmények CSV-be" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "_Részletek a vágólapra" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "_Részletek CSV-be" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Költségvetési kimutatás" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Nézet:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "Csak a költségvetésen túliak" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Eredmény:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Tervezet:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Kiadás:" #: ../src/rep-budget.c:1422 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:1423 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:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Kiadások" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Alkategória" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Címke" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Hónap" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Év" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s, %s szerint" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "Túl sok megjelenitendő oszlop" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "Válasszon szélesebb intervallumot vagy szűkebb időközt" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "Oszlop" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Eredmények megjelenítése oszlopban" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "Fánk" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Eredmények megjelenítése fánkdiagramként" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "Jelmagyarázat" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Jelmagyarázat be/ki" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "Kamat" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Arány be/ki" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "Szűrő" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Szűrő módosítása" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Statisztikai kimutatás" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "Mód:" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Bevétel:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Kiadás:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "Átlag" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Nap" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Hét" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Negyedév" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "Félév" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s az idő múlásával" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Átlag: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Trendkimutatás" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Számla:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Kategória:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Partner:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Címke:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Össz_es kijelölése" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Egybevetés" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Út" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Üzemanyag" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Ár" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Táv" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "Exportálás" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Exportálás CSV-be" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Gépjárműköltség-kimutatás" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "_Gépjármű:" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Út:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Fogyasztás:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Üzemanyagköltség:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Egyéb költség:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Teljes költség:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(nincs)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Látható" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Mégse" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Számlanév" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Hiba" #: ../src/ui-account.c:1505 #, 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:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "A(z) „%s” számla nem törölhető" #: ../src/ui-account.c:1557 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:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Biztos, hogy véglegesen törli: „%s”?" #: ../src/ui-account.c:1570 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:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Számlák kezelése" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "Átnevezés" #: ../src/ui-account.c:1917 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:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Általános" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "_Csoport:" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "Sz_ervezet:" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "S_zám:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Kezdő_egyenleg:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Pénznem:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "ez a számla _zárolt" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Megjegyzések:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "Működés" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "Automatizálás" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "Alapértelmezett _sablon:" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Kimutatáskivétel" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "kihagyás a számlaössze_sítőből" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "kihagyás a _költségvetésből" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "kihagyás a ki_mutatásokból" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "Egyéb" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Jelenlegi csekkszám" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "_1. csekkfüzet:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "_2. csekkfüzet:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Egyenleghatár" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "Hiteltúllépési korlát:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 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:972 msgid "Next _date:" msgstr "Következő _dátum" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Min_den:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "További beállítások" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Hét vége:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Leállítás ennyi után:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "feladás" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Ütemezett/sablon tranzakciók kezelése" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Sablon" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "Ü_temezés" #: ../src/ui-assign.c:344 msgid "Search" msgstr "Keresés" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "Jegyzetek" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "(%d. szabály)" #: ../src/ui-assign.c:654 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:718 #, fuzzy, c-format msgid "This search text already exists at position %d" msgstr "Ez a keresési szöveg már létezik" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Kikapcsolva" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Ha üres" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Felülírás" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Hozzárendelések kezelése" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "Sorrend módosítása: fogd és vidd módon." #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Feltétel" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "_Keresés:" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "Kis- és nagybetűk megkülönböztetése" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "Reguláris kifejezés" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "_Ebben:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "Hozzárendelések" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Fizetési _mód:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" "Az asszisztens segít beállítani az új HomeBank-fájlhoz\n" "szükséges minimális konfigurációt." #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "Az itt beállított elemek később bármikor módosíthatóak." #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" "Semmilyen változás nem lesz végrehajtva, amíg\n" "nem kattint az „Alkalmaz” gombra az asszisztens végén." #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" "A HomeBank megjeleníti a főablak címét,\n" "tetszőleges címke vagy az Ön neve lehet." #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Cím:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" "A HomeBank több pénznemet támogat. Az alap pénznem\n" "az alapértelmezett az új fiókok és jelentések esetén." #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "Alap:" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "További pénznemek beállítása" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Hozzáadás" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Nem található" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" "A HomeBank előre ki tudja tölteni a kategóriákat az Ön\n" "nyelvén, ha elérhető egy CSV-fájl a közösség jóvoltából." #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "Kategóriák beállítása az én nyelvemen" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Összeállításfájl:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" "A HomeBank lehetővé teszi a folyószámlák importálását a letöltött\n" "pénzügyi intézeti fájlokból, de kézileg is létrehozhatja a folyószámláját." #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "Az első folyószámlám létrehozása" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Név:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" "Egy egy megerősítő oldal,\n" "\n" "nyomja meg az „Alkalmaz” gombot a változások érvényesítéséhez" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "Kezdőfájl beállítása" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "Fájlbeállítások" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "Válasszon pénznemeket" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "Válasszon kategóriákat" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "Folyószámla létrehozása" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "Fájlbeállítás befejezése" #: ../src/ui-assist-import.c:477 msgid "" msgstr "<Új számla (globális)>" #: ../src/ui-assist-import.c:482 msgid "" msgstr "<Új számla>" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "Érvényes" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Név" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Megnyitás" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Ismert fájlok" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF-fájlok" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX-fájlok" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV-fájlok" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Minden fájl" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "új globális számla" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "új számla" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "kihagyott" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr ", %d/%d tranzakció" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "%s _importálása:" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "ebbe a fájlba" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "ebbe a számlába" #: ../src/ui-assist-import.c:1331 #, 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:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "%d tranzakció, %d hasonló, %d meglévő, %d kiválasztott" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d tranzakció, %d kiválasztott" #: ../src/ui-assist-import.c:1384 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:1392 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:1398 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:1418 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:1422 msgid "Don't show this again" msgstr "Ne jelenjen meg többé" #: ../src/ui-assist-import.c:1481 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" "Importálás: fogd és vigyen fájlokat.\n" "A lista hozzáadása és törlés gombjait is használhatja." #: ../src/ui-assist-import.c:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" "Túl sok folyószámla van a kiválasztott fájlokban,\n" "használja a vissza gombot, és válasszon ki kevesebbet." #: ../src/ui-assist-import.c:1662 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:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Dátumsorrend:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "_Feljegyzések importálása" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "Feljegyzések és partnerek _felcserélése" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "OFX-_név:" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "OFX-_feljegyzés:" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Megfordítás" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "Feljegyzés/partner _nagybetűsítése" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 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:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "nap" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "Automatizálás futtatása" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "1) Kitöltés az alapértelmezett _partnerrel" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "2) Automatikus _hozzárendelési szabályok futtatása" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "Kattintson az „Alkalmaz” gombra a fiókjai frissítéséhez." #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Üdvözlet" #: ../src/ui-assist-import.c:2264 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:2269 msgid "Import" msgstr "Importálás" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Megerősítés" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Fájlformátum-hiba" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "Biztos, hogy törli a bemenetet?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 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:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Törlés" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Költségvetés kezelése" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "_Importálás CSV-ből" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "E_xportálás CSV-be" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Egyenleg:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "minden hónapban ugyanannyi" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "Bemenet _törlése" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "minden hónapban különböző" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Beállítások" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 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:257 msgid "Jan" msgstr "jan." #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "febr." #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "márc." #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "ápr." #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "máj." #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "jún." #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "júl." #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "aug." #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "szept." #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "okt." #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "nov." #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 msgid "Dec" msgstr "dec." #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "Összefoglaló" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "Összegzések" #: ../src/ui-budget-tabview.c:1561 msgid "Annual Total" msgstr "Éves összegzés" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "Havi átlag" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "Havi" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "Kategória hozzáadása" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "_Alkalmaz" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "Szülőkategória" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "Kategórianév" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 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:2350 msgid "Merge categories" msgstr "Kategóriák összevonása" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" "A(z) „%s” kategóriához rendelt tranzakciók a lenti kategóriába lesznek " "helyezve." #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "Célkategória" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "„%s” kategória _törlése" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "Biztos, hogy törli a(z) „%s” bemeneteit?" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "Költségvetés (táblázatos nézet)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "Kategória hozzáadása" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "Kategória eltávolítása" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Összevonás" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "Bemenet törlése" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Használaton kívüli kategóriák törlése" #: ../src/ui-category.c:1598 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:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Szerkesztés…" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Bevétel" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "Típus módosítása a _gyermeknél" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "„%s” kategória összevonása" #: ../src/ui-category.c:1943 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:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Kategóriák kezelése" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "Használaton _kívüliek törlése" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "Áthelyezés/egyesítés" #: ../src/ui-category.c:2460 msgid "new category" msgstr "új kategória" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Pénznem" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Formátum" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Testreszabás" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Jel:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "_Előtag?" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "_Tizedesjel:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Tizedesjegyek:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "_Egyéni pénznem hozzáadása" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "Online frissítés" #: ../src/ui-currency.c:1762 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:206 msgid "Transaction" msgstr "Tranzakció" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Frissítés" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Alappénznem kijelölése" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "Pénznem:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Exportálás QIF-be" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Importálás CSV-ből" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "HomeBank-fájl megnyitása" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "HomeBank biztonságimentés-fájl visszaállítása" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "HomeBank fájl mentése másként" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "HomeBank-fájlok" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "Biztonságimentés-fájl" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "Összes biztonsági mentés" #: ../src/ui-dialogs.c:727 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:731 #, 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:736 msgid "Close _without saving" msgstr "Bezárás _mentés nélkül" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Mappa:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Válasszon egy mappát" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Fájlnév:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Exportálás PDF-be" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Exportálás _PDF-be" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" "A HomeBank a nyomtatás legkörnyezettudatosabb változatát támogatja,\n" "a széleskörűen támogatott digitális PDF-formátumot. " #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Lehetséges tranzakciók kiválasztása…" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Művelet választása:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "új tranzakció létrehozása" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "létező tranzakció kiválasztása" #: ../src/ui-dialogs.c:1091 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:1049 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:1155 msgid "_Memo:" msgstr "_Feljegyzés:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Megjegyzés:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "Kis- és _nagybetű" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Minden állapot" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Bármely típus" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Átvezetés" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Feltétlenül:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "„Hozzáadva” megjelenítése" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "„Szerkesztve” megjelenítése" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "„Emlékeztető” megjelenítése" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "„Üres” megjelenítése" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "Dátumok" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "Kifizetések" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Összegek" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "Szövegek" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Kategóriák" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Partnerek" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Fájl tulajdonságai" #: ../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" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "Fiz." #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Használaton kívüli partner törlése" #: ../src/ui-payee.c:1194 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:1375 msgid "Default" msgstr "Alapértelmezett" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "_Kifizetések:" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "„%s” partner összevonása" #: ../src/ui-payee.c:1510 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:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "„%s” partner _törlése" #: ../src/ui-payee.c:1613 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:1710 msgid "Manage Payees" msgstr "Partnerek kezelése" #: ../src/ui-payee.c:1854 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:1949 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 a HomeBank alapértelmezett fájlmappáját" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "Válassza ki a HomeBank alapértelmezett biztonsági mentési mappáját" #: ../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:1214 msgid "General options" msgstr "Általános beállítások" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "OFX/QFX-beállítások" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "QIF-beállítások" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "CSV opciók" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "Csak import tranzakciók" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "Elválasztó:" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Kezdeti szűrő" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Diagrambeállítások" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Színösszeállítás:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Statisztikai beállítások" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Megjelenítés összeg szerint" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Mutassa az érték oszlopot" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "_Részletek megjelenítése" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Költségvetési lehetőségek" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Engedélyezés" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "Összeállí_tás:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "Felhasználói felület" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Nyelv:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "_Dátumformátum:" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Formátum:" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Pénzügyi év" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "_Kezdete:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Mértékegységek" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Mérföld használata" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "_Gallon használata az üzemanyaghoz" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "nappal előre" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "Egyeztetettek elrejtése" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "Mindig jelenjen meg az emlékeztető" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "Mindig jelenjen meg az üres" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "Emlékeztető beleszámítása az egyenlegbe" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "görgetett nap" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "_Rácsvonal:" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Összeg színek" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Egyéni színek használata" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Kiadás:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Bevétel:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Figyelmeztetés:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "Automatikus _biztonsági mentések engedélyezése" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "Megőrzendő biztonsági mentések szá_ma:" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "Biztonsági mentés naponta egyszer" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "_Pénztárcák:" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "_Biztonsági mentések:" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "Cserefájlok" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Importálás:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Exportálás:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Programindítás" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Mutassa a nyitó képernyőt" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Az utoljára megnyitott fájl betöltése" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Várakozó ütemezett tranzakciók feladása" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Pénznemek online frissítése" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Kimutatások a főablakban" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "Minden beállítás visszaállítása" #: ../src/ui-pref.c:2244 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:2265 msgid "Preferences" msgstr "Beállítások" #: ../src/ui-pref.c:2512 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:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" "A biztonsági mentések könyvtára megváltozott.\n" "Lehet, hogy át kell másolni a „.bak” fájlt erre a helyre." #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Tranzakciók megosztása" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "Összes törlése" #: ../src/ui-split.c:966 msgid "Apply" msgstr "Alkalmaz" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "Mégse" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Tranzakció összege:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Hozzá nem rendelt:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Megosztások összege:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" "Figyelmeztetés: a felosztások összege és a tranzakciók összege nem egyezik" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" "Figyelmeztetés: a felosztások összege és a tranzakciók típusa nem egyezik" #: ../src/ui-tag.c:602 #, 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:645 #, c-format msgid "Merge tag '%s'" msgstr "A(z) „%s” címke beolvasztása" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" "Az ehhez a címkéhez rendelt tranzakciók\n" "a lent kiválasztott címkéhez lesznek áthelyezve." #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "A(z) „%s” címke _törlése" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" "Ez a címke használatban van.\n" "A címke törölve lesz minden tranzakcióból, amely használja." #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "Címkék kezelése" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "új címke" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "A(z) %s tranzakciója létrehozva." #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Megszakítja a belső átvezetést?\n" "\n" "A folytatással törli a céltranzakciót." #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "_Megszakítás" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Ütemezés" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "Összes számla megjelenítése" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "Sablon használata" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "Hozzáadás és _megtartás" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Tranzakció hozzáadása" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "Sablon hozzáadása" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Tranzakció öröklése" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "Sablon öröklése" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "Tranzakció szerkesztése" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "Sablon szerkesztése" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" "- típus: d, d/m, m/d teljes dátum\n" "- nyilak + ctrl vagy shift használata\n" "- üres a mai naphoz" #: ../src/ui-transaction.c:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "Ö_sszeg:" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "_Ide:" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "_2. könyv" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" "- írjon be néhány betűt az automatikus kiegészítéshez\n" "- írjon be szöveget bejegyzés készítéséhez" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "Kate_gória:" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "_Feljegyzés:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "_Címkék:" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "Figyelem: az összeg és a kategóriajel nem egyezik" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "Tranzakciók tömeges szerkesztése" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" "Típus mint\n" "átutalás" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "Idő" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "Trend" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "Ki" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Belefoglaló feltétel" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Kizáró feltétel" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(típus nélküli)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Bank" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Készpénz" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Vagyon" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Hitelkártya" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Kötelezettség" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Ebben a hónapban" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Múlt hónapban" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Ebben a negyedévben" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Előző negyedévben" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Ebben az évben" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "Tavaly" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Elmúlt 30 napban" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Elmúlt 60 napban" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Elmúlt 90 napban" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Elmúlt 12 hónapban" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "egyéni" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Minden dátum" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "Üres" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Lehetséges" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Előtte" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Utána" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Kiadás és bevétel" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "Nem elszámolt" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Rendezetlen" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Kategorizálatlan" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "H" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "K" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "Sze" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "Cs" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "P" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "Szo" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "V" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "január" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "február" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "március" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "április" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "június" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "július" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "augusztus" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "szeptember" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "október" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "november" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "december" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "szept." #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Keresés…" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Csekk" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "Banki átutalás" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Betéti kártya" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Állandó megbízás" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Elektronikus fizetés" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Letét" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Számlakezelési díj" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Direkt kifizetés" homebank-5.5.2/po/Makefile.in.in0000644000175000017500000001604612431730646013335 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.5.2/po/nb.po0000664000175000017500000025011014021210663011601 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: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2020-04-06 17:53+0000\n" "Last-Translator: Bjørn H Kristiansen \n" "Language-Team: Norwegian Bokmal \n" "Language: nb\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "Det finnes %d lignende transaksjoner" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Ingen lignende transaksjoner ble funnet!" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "Sjekk resultatet av intern overføring" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "_Konverter" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Ingen transaksjoner endret" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1677 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:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Noen transaksjoner i ditt utvalg er allerede Bilagt." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Endre" #: ../src/dsp-account.c:1735 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:1737 msgid "_Toggle" msgstr "_Veksle visningsmodus" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Legg til..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Arv..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Rediger..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "_Redigere Flere..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Ingen" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Klarert" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Bilagt" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Lage mal..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Slett..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Eksporter QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Eksporter CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Lukk" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Rediger" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Transaksj_on" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Verktøy" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filtrer..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Legg til" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Legg til ny transaksjon" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Arv" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Arv fra aktive transaksjon" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Endre" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Rediger aktive transaksjon" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Veksle visningsmodus til bilagt for valgte transaksjon(er)" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Redigere flere transaksjoner" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Lage mal" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Slette valgte transaksjon(er)" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "Område" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Type:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Idag:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Velkommen til HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Lag en_ny fil" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Åpne en eksisterende fil" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Åpne eksempelfilen" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Les Homebank_Manual" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Får ikke åpnet '%s', filen finnes ikke.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "I/O feil i fil '%s'." #: ../src/dsp-mainwindow.c:1132 #, 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:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Filfeil" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Fil" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Ny" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Åpne" #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Lagre" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Tilbakestill" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Avslutt" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Innstillinger..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Vis" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Verktøylinje" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Øvre utgifter" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Behandle" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "Kon_toer..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Betalingsmottakere..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Kategorier..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Planlagte/Mal..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Budsjett..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Oppgaver" #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Transaksjoner" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Legg til..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Vis..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Lag planlegger..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Send planlagte" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Rapporter" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Statistikk" #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "" #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "B_udsjett..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "_Kjøretøykostnad..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Vis velkomst dialogen" #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Filstatistikk..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Anonymiser..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Hjelp" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Innhold" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Rapporter et problem…" #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Oversett dette programmet…" #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_Om" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Opprett en ny fil" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Åpne en fil" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Åpne en nylig brukt fil" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Lagre gjeldende fil" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Konto" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Betalingsmottaker" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Kategori" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Budsjett" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Viser valgte kontos bevegelser" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Legg til transaksjoner" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Åpne Statistikkrapport" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Åpne Trend Time rapport" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Saldo" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Åpne Saldorapporten" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Åpne Budsjettrapport" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Kjøretøykostnad" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Åpne kostnadsrapport for kjøretøy" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Fremtidig" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(ingen kategori)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Dato" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Info" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Notat" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Beløp" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Ukjent" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "HomeBank valg" #: ../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:515 msgid "Your accounts" msgstr "Dine konti" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:551 msgid "Show all" msgstr "" #: ../src/hub-account.c:556 msgid "By type" msgstr "" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Ingen transaksjoner å legge til" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "transaksjon lagt til: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Sjekk resultat av transaksjoner lagt i planlegger" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Sum" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Planlagte transaksjoner" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Annet" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Hvor pengene dine brukes" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Total sum" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Konti" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "I dag" #: ../src/list-operation.c:586 msgid "- split -" msgstr "" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Status" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Utgift" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Inntekt" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Neste dato" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Liste" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Vis resultat som liste" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Linje" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Vis resultat som linjer" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Detalj" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Bytte detalj" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Oppdater" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Oppdater resultat" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Saldorapport" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Vis" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Fra:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Til:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Konto" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Alle" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "ingen" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Budsjett for %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Resultat" #: ../src/rep-budget.c:852 msgid " over" msgstr "" #: ../src/rep-budget.c:858 msgid " left" msgstr " venstre" #: ../src/rep-budget.c:861 msgid " under" msgstr "" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Budsjettrapport" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Resultat:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Budsjett:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Brukt:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "Ingen konto er valgt som del av budsjettet." #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "Du burde inkludere noen konti fra kontodialogen." #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Brukt" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Underkategori" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Merke" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Måned" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "År" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Vis resultat som kolonne" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Vis resultat som smultringdiagram" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Aktiver forklaring" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Aktiver rente" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Statistikk Rapport" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Inntekt" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Utgift" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Dag" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Uke" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "En firedel" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Konto" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Kategori:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Betalingsmottaker" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Merke:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Velg _alle" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Måler" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Drivstoff" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Pris" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Distanse." #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Eksporter som CVS" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "_Kjøretøy" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Meter" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Forbruk" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Drivstoffkostnad" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Andre kostnader" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Total kostnad:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(ingen)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Synlig" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Avbryt" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Feil" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Behandle kontoer" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Generell" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "Nummer" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Hver:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Betaling" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Ikke funnet" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Navn:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Åpne" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF filer" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX filer" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CVS filer" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Alle filer" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Inverter" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "dager" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Bekreftelse" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Filformat feil" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Budsjett behandler" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Balanse:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Mai." #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Aug" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Okt" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Inntekt" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-category.c:1922 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Behandle Kategorier" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Fraktaltall:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Eksporter som QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Importere fra CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "HomeBank filer" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Informasjon:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "_Skill mellom store/små bokstaver" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Overfør" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Kraft:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "vis 'Lagt til'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "vis 'Endret'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:194 msgid "File properties" 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 "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "Betaling" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "Behandle betalere" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Vis av _beløp" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Vis _kurs kolonne" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Vis _detaljer" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "Aktiver" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Bruk egendefinerte farger" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Utgift:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Inntekt" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Advarsel" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Import:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Eksporter:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Last siste åpnet fil" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Send ventende transaksjoner i planlegger" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Brukervalg..." #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Legg til transaksjon" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Arv transaksjonen" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "Redigere flere transaksjoner" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Inkludér" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Ekskludér" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Bank" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Kontant" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Eiendel" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Kreditkort" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Gjeld" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Siste 30 dager" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Siste 12 mnd" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Alle datoer" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Utgifter & Inntekter" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "januar" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "februar" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "mars" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "april" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "juni" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "juli" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "august" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "september" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "oktober" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "november" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "desember" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Sjekk" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Kreditt kort" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Elektronisk betaling" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Innskudd" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "" homebank-5.5.2/po/en_GB.po0000664000175000017500000030055314021210660012160 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2021-01-02 16:51+0000\n" "Last-Translator: Stephan Woidowski \n" "Language-Team: English (United Kingdom) \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "There is %d group of similar transactions" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "No similar transaction were found !" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "Check internal transfer result" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "No inconsistency found !" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" "Inconsistency were found: %d\n" "do you want to review and fix?" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Every transaction amount will be divided by %.6f." #: ../src/dsp-account.c:394 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:396 msgid "_Convert" msgstr "_Convert" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "No transaction changed" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "transaction changed: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Automatic assignment result" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" "Do you want to create an assignment with\n" "each of the selected transaction?" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Create" #: ../src/dsp-account.c:720 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:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" "Do you want to delete\n" "each of the selected transaction?" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Delete" #: ../src/dsp-account.c:1677 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:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Some transactions in your selection are already Reconciled." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Change" #: ../src/dsp-account.c:1735 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:1737 msgid "_Toggle" msgstr "_Toggle" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d transactions" #: ../src/dsp-account.c:2101 #, 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:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Add..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Inherit..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Edit..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "Edit _Multiple..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Status" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_None" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Cleared" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Reconciled" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "View _Split" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Create template..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "Create assignment..." #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Delete..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "_Up" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "_Down" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "A_ccount" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Export QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Export CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Export as PDF..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "Print..." #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Close" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Edit" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Copy" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Paste" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Paste (today)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Transacti_on" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "_Find" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Tools" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Mark duplicate..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "Check internal transfer" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Auto. assignments" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filter..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Convert to Euros..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Add" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Add a new transaction" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Inherit" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Inherit from the active transaction" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Edit" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Edit the active transaction" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Cleared" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Toggle cleared for selected transaction(s)" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Reconciled" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Toggle reconciled for selected transaction(s)" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "Edit Multiple" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Edit multiple transactions" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Create template" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "Delete" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Delete selected transaction(s)" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "Up" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "Move transaction up" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "Down" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "Move transaction down" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(closed)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "All transactions" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Refresh" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Range:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "Toggle show future transaction" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Type:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Reset" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Euro as _minor" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "Reconciled:" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "Cleared:" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Today:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Welcome to HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "Open _last opened file" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Create a _new file" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Open an existing file" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Open the _example file" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Read HomeBank's _Manual" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Configure _preferences" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "Show this window next time" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "Open the backup file?" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "_Open backup" #: ../src/dsp-mainwindow.c:1044 #, 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/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Unknown error" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "I/O error for file '%s'." #: ../src/dsp-mainwindow.c:1132 #, 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:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "File error" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "The file has been modified since reading it." #: ../src/dsp-mainwindow.c:1212 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:1213 msgid "S_ave Anyway" msgstr "S_ave Anyway" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "Clear" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_File" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_New" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Open..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Open _Recent" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Save" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Save _As..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "Import..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "Export as QIF..." #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Revert" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "Restore backup" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Properties..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Quit" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Preferences..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_View" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Toolbar" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Top spending" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "_Bottom Lists" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro minor" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Manage" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "Acc_ounts..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Payees..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Categories..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Scheduled/Template..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Budget..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "Budget (table view)..." #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Assignments..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Currencies..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "Tags..." #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Transactions" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Add..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Show..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Show all..." #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Set scheduler..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Post scheduled" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Reports" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Statistics..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Trend Time..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "_Balance..." #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "B_udget..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "_Vehicle cost..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Show Welcome Dialogue..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "File statistics..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Anonymise..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Help" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Contents" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "Get Help Online..." #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Check for updates..." #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Release Notes" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Report a Problem..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Translate This Application..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_About" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "New" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Create a new file" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "Open" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Open a file" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Open a recently used file" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "Save" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Save the current file" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Account" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "Manage the accounts" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Payee" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "Manage the payees" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Category" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "Manage the categories" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "Scheduled/Template" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "Manage the scheduled/template transactions" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Budget" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "Manage the budget" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Assignment" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "Manage the automatic assignments" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "Show" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Shows selected account transactions" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Add transactions" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "Statistics" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Open the Statistics report" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "Trend time" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Open the Trend Time report" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Balance" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Open the Balance report" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Open the Budget report" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Vehicle cost" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Open the vehicle cost report" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "Help" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "Donate" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "Donate to HomeBank project" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Scheduled" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Future" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Remind" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "**PREFILLED**" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(no category)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "invalid CSV format" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Date" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Info" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Memo" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Amount" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Unknown" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "mi./l" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(no payee)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "HomeBank options" #: ../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:515 msgid "Your accounts" msgstr "Your accounts" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Expand all" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Collapse all" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Show all" #: ../src/hub-account.c:556 msgid "By type" msgstr "By type" #: ../src/hub-account.c:557 msgid "By group" msgstr "By group" #: ../src/hub-account.c:558 msgid "By institution" msgstr "By institution" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "No transaction to add" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "transactions added: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Check scheduled transactions result" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Scheduled transactions" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "_Skip" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" msgstr "Edit & P_ost" #. 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Post" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "Top %d spending" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Other" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Where your money goes" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "imported account" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Grand total" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "last reconciled" #: ../src/list-account.c:544 msgid "until" msgstr "until" #: ../src/list-account.c:559 msgid "before" msgstr "before" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Accounts" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Today" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- split -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "- this needs a category -" #: ../src/list-operation.c:1438 msgid "Match" msgstr "Match" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Status" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Expense" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Income" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Next date" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d under %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "List" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "View results as list" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Line" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "View results as lines" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Detail" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Toggle detail" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Refresh" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Refresh results" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "Print" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Balance report" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Display" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "Inter_val:" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "Show empty line" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Zoom X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_From:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_To:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Account name" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Select:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "All" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "None" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Budget for %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Result" #: ../src/rep-budget.c:852 msgid " over" msgstr " over" #: ../src/rep-budget.c:858 msgid " left" msgstr " left" #: ../src/rep-budget.c:861 msgid " under" msgstr " under" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "Stack" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "View results as stack bars" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "_Result to clipboard" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "_Result to CSV" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "_Detail to clipboard" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "_Detail to CSV" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Budget report" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_View by:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "Only out of budget" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Result:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Budget:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Spent:" #: ../src/rep-budget.c:1422 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:1423 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:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Spent" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Subcategory" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Tag" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Month" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Year" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s by %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "Too many columns to display" #: ../src/rep-stats.c:792 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:1180 ../src/rep-time.c:970 msgid "Column" msgstr "Column" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "View results as column" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "Donut" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "View results as doughnut" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "Legend" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Toggle legend" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "Rate" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Toggle rate" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "Filter" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Edit filter" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Statistics Report" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "Mode:" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "Sort by _amount" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "Compare Exp. & Inc." #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "Total:" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Income:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Expense:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "Average" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Day" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Week" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Quarter" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "Half Year" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s Over Time" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Average: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Trend Time Report" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "A_ccount:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Category:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Payee:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Tag:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Select _all" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Cumulate" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Metre" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Fuel" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Price" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "Export" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Export as CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Vehicle cost report" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "Vehi_cle:" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Metre:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Consumption:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Fuel cost:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Other cost:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Total cost:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(none)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Visible" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Cancel" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Account name" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Error" #: ../src/ui-account.c:1505 #, 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:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "Cannot delete account '%s'" #: ../src/ui-account.c:1557 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:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, 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:1570 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:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Manage Accounts" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "Rename" #: ../src/ui-account.c:1917 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:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "General" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "_Group:" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "_Institution:" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "N_umber:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Start _balance:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Currency:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "this account was _closed" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Notes:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "Behaviour" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "Automation" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "Default _Template:" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Report exclusion" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "exclude from account _summary" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "exclude from the _budget" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "exclude from any _reports" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "Misc." #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Current cheque number" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Chequebook _1:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Chequebook _2:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Balance limits" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "_Overdraft at:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "Max_imum:" #: ../src/ui-archive.c:753 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:972 msgid "Next _date:" msgstr "Next _date:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Ever_y:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "More options" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Week end:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Stop after:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "posts" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Manage scheduled/template transactions" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Template" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "_Schedule" #: ../src/ui-assign.c:344 msgid "Search" msgstr "Search" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "Notes" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "(rule %d)" #: ../src/ui-assign.c:654 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:718 #, fuzzy, c-format msgid "This search text already exists at position %d" msgstr "This search text already exists" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Disabled" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "If empty" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Overwrite" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Manage Assignments" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "Drag & drop to change the order" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Condition" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "_Search:" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "Case sensitive" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "Regular expression" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "_In:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "Assignments" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Pay_ment:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "All the elements you setup here can be changed later if required." #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Title:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "Base:" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "Setup additional currencies" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Add" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Not found" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "Setup categories for my language" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Preset file:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "Create my first account" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Name:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "Start File Setup" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "File Options" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "Choose Currencies" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "Choose Categories" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "Create Account" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "Finish File Setup" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "Valid" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Name" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Open" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Known files" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF files" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX files" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV files" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "All files" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "new global account" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "new account" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "skipped" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr ", %d of %d transactions" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "Import %s in_to:" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "this file" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "this account" #: ../src/ui-assist-import.c:1331 #, 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:1340 #, 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:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d transaction(s), %d selected" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "Import transactions from bank or credit card" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 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:1422 msgid "Don't show this again" msgstr "Don't show this again" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" "There is too much account in the files you choose,\n" "please use the back button to select less files." #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "Target account identification by name or number failed." #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Date order:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "_Import memos" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "_Swap memos with payees" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "OFX _Name:" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "OFX _Memo:" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Invert" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "Sentence _case memo/payee" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "_Toggle amount" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "Similar transaction in target account (possible duplicate)" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "days" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "Run automation" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "1) Enrich with _payee default" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "2) Run automatic _assigment rules" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "Click \"Apply\" to update your accounts." #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Welcome" #: ../src/ui-assist-import.c:2264 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:2269 msgid "Import" msgstr "Import" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Confirmation" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "File format error" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "Are you sure you want to clear input?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 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:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Clear" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Manage Budget" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "_Import CSV" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "E_xport CSV" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Balance:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "is the same each month" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "_Clear input" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "is different per month" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Options" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Force monitoring this category" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "May" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 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:266 msgid "Oct" msgstr "Oct" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "Annual Total" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "Monthly Average" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "Monthly" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "Add a category" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "_Apply" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "Parent category" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "Category name" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 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:2350 msgid "Merge categories" msgstr "Merge categories" #: ../src/ui-budget-tabview.c:2377 #, 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:2384 msgid "Target category" msgstr "Target category" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "_Delete the category '%s'" #: ../src/ui-budget-tabview.c:2507 #, 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:2754 msgid "Budget (table view)" msgstr "Budget (table view)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "Add category" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "Remove category" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Merge" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "Clear input" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "# txn" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "# cfg" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Delete unused categories" #: ../src/ui-category.c:1598 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:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Edit…" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Income" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "Change type for _child" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Merge category '%s'" #: ../src/ui-category.c:1943 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:1952 msgid "Include _subcategories" msgstr "Include _subcategories" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Manage Categories" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "_Delete unused" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "Move/Merge" #: ../src/ui-category.c:2460 msgid "new category" msgstr "new category" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Currency" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Format" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Customise" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Symbol:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "Is pre_fix" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "_Decimal char:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Frac digits:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "Add a custom _currency" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "Update online" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "Set as base" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "File statistics" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "Transaction" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Upgrade" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Select a base currency" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "Currency:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Export as QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Import from CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "Open HomeBank file" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "Open HomeBank backup file" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "Save HomeBank file as" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "HomeBank files" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "File backup" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "All backups" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Save changes to the file before closing?" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "Close _without saving" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "Export as _CSV" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Folder:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Pick a Folder" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Filename:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "Detail split lines" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Export as PDF" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Export as _PDF" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Select among possible transactions..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Select an action:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "create a new transaction" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "select an existing transaction" #: ../src/ui-dialogs.c:1091 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:1049 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:1155 msgid "_Memo:" msgstr "_Memo:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Info:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "Case _sensitive" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Any Status" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Any Type" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Transfer" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Force:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "show recently added" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "show recently edited" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "display 'Remind'" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "display 'Void'" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "Dates" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "Payments" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Amounts" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "Texts" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Categories" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Payees" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "File properties" #: ../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" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "Pay." #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Delete unused payee" #: ../src/ui-payee.c:1194 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:1375 msgid "Default" msgstr "Default" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "Pa_yment:" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "Merge payee '%s'" #: ../src/ui-payee.c:1510 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:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "_Delete the payee '%s'" #: ../src/ui-payee.c:1613 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:1710 msgid "Manage Payees" msgstr "Manage Payees" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "General options" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "OFX/QFX options" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "QIF options" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "CSV options" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "(transaction import only)" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "Separator:" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Initial filter" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Charts options" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Colour scheme:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "Smaller legend _font" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Statistics options" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Show by _amount" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Show _rate column" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Show _details" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Budget options" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Enable" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Preset:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "User interface" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Language:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "_Date display:" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Format:" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Fiscal year" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "Starts _on:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Measurement units" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Use _miles for metres" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Use _gallon for fuel" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "Transaction list" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "days ahead" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "Hide reconciled" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "Always show remind" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "Always show void" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "Include remind into balance" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "Transaction dialogue" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "_Keep the last date when multiple add" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "Transfer target date tolerance:" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "Enable _memo autocomplete with" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "rolling days" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "Show add confirmation text for 5s" #: ../src/ui-pref.c:1836 msgid "_Toolbar:" msgstr "_Toolbar:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1845 msgid "_Grid line:" msgstr "_Grid line:" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "Gtk settings" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "Override" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "Font _size:" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "Dark theme" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Amount colours" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Uses custom colours" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Expense:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Income:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Warning:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "_Enable automatic backups" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "_Number of backups to keep:" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "Backup frequency is once a day" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "_Wallets:" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "_Backups:" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "Exchange files" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Import:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Export:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Program start" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Show splash screen" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Load last opened file" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Post pending scheduled transactions" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Update currencies online" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Main window reports" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "Max _items:" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "Reset All Preferences" #: ../src/ui-pref.c:2244 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:2265 msgid "Preferences" msgstr "Preferences" #: ../src/ui-pref.c:2512 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:2520 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:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Transaction splits" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "Delete all" #: ../src/ui-split.c:966 msgid "Apply" msgstr "Apply" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "Cancel" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Transaction amount:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Unassigned:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Sum of splits:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "Warning: sum of splits and transaction amount don't match" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "Warning: sum of splits and transaction type don't match" #: ../src/ui-tag.c:602 #, 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:645 #, c-format msgid "Merge tag '%s'" msgstr "Merge tag '%s'" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "_Delete the tag '%s'" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" "This tag is used.\n" "That tag will be deleted from any transaction using it." #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "Manage Tags" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "new tag" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "Transaction of %s created." #: ../src/ui-transaction.c:858 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:860 msgid "_Break" msgstr "_Break" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Show _scheduled" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "Show _all accounts" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "Use a template" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "Add & _Keep" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Add transaction" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "Add template" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Inherit transaction" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "Inherit template" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "Edit transaction" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "Edit template" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "Amou_nt:" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "T_o:" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "Book _2" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 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:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "Cate_gory:" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "M_emo:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "_Tags:" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "Warning: amount and category sign don't match" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "Edit multiple transactions" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" "Type as\n" "transfer" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "Time" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "Trend" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "Off" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Include" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Exclude" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(no type)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Bank" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Cash" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Asset" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Credit card" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Liability" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "Checking" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "Savings" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "This month" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Last month" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "This quarter" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Last quarter" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "This year" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "Last year" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Last 30 days" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Last 60 days" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Last 90 days" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Last 12 months" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "custom" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Entire range" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "Next month" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "Next 30 days" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "Next 60 days" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "Next 90 days" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "Void" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Possible" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Before" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "After" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Exp. & Inc." #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "Uncleared" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Unreconciled" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Uncategorised" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "Mon" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "Tue" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "Wed" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "Thu" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "Fri" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "Sat" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "Sun" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "January" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "February" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "March" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "April" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "June" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "July" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "August" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "October" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "November" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "December" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Search..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Cheque" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "Bank Transfer" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Debit card" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Standing order" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Electronic payment" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Deposit" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "FI fee" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Direct Debit" homebank-5.5.2/po/ca.po0000664000175000017500000027437514021210657011613 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2019-08-24 18:40+0000\n" "Last-Translator: AniolOliver \n" "Language-Team: Catalan \n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "Hi ha %d grups de transaccions similars" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "No s'ha trobat cap transacció similar" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "Comprovi el resultat de la transferència interna" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "No s'ha trobat cap inconsistència." #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, 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:394 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:396 msgid "_Convert" msgstr "_Converteix" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "No ha canviat cap transacció" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "transacció canviada: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Resultat de les assignacions automàtiques" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Crea" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Suprimeix" #: ../src/dsp-account.c:1677 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:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Alguna transacció de la teva selecció ja està conciliada." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Canvia" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Segur que voleu commutar l'estat a Conciliat?" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "_Commuta" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d transaccions" #: ../src/dsp-account.c:2101 #, 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:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Afegeix..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Heretar..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Edita..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "Edició _múltiple..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Estat" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Cap" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Netejat" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Reconciliado" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Crea una plantilla..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Suprimeix..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "_Compte" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Exporta QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Exporta a CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Exporta a PDF..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Tanca" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Edita" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "_Transacció" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Eines" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Marca com a duplicat ..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Auto. assignacions" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filtre..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Convertir a Euro..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Afegeix" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Afegeix una transacció nova" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Hereta" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Hereta de la transacció activa" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Edita" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Edita la transacció activa" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Liquidat" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Commuta a netejat les transaccions seleccionades" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Conciliat" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Commuta a conciliat les transaccions seleccionades" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Edita múltiples transaccions" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Crea una plantilla" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Suprimeix les transaccions seleccionades" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(tancat)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Totes les transaccions" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Actualitza" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Interval:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "Alterna mostrar transacció futura" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Tipus:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Estat:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Restableix" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Cèntim d'Euro" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Avui:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Benvingut al HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Crea un _nou fitxer" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Obre un fitxer existent" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Obrir el fitxer d'_exemple" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Llegir HomeBank _Manual" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Configura _preferències" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "_Obrir còpia de seguretat" #: ../src/dsp-mainwindow.c:1044 #, 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/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Error desconegut" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, 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:1132 #, 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:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "S'ha produït un error de fitxer" #: ../src/dsp-mainwindow.c:1211 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:1212 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:1213 msgid "S_ave Anyway" msgstr "De_sa igualment" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Fitxer" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Nou" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Obre..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Obre recent" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Desa" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Anomena i _desa..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "Importa..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "Exporta com a QIF ..." #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Recupera" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "Restaura còpia de seguretat" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Propietats..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Surt" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Preferències..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Visualitza" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Barra d'eines" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Despeses principals" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "_Llistes de transaccions" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro minor" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Gestiona" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "C_omptes..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Beneficiaris..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Categories..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Organitzador/Plantilla..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Pressupost..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Assignacions..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Monedes..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "Etiquetes..." #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Transaccions" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Afegeix..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Mostra..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Mostra-ho tot ..." #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Ajust del planificador..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Afegeix les operacions planificades" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Informes" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Estadístiques" #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Tendència temporal..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "P_ressupost..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "_Cost vehicle..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Mostra el diàleg de benvinguda..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Estadístiques del fitxer" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Anonimitza..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "A_juda" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "C_ontingut" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Cerca actualitzacions" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Notes de la versió" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Informeu d'un problema..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Traduïu aquesta aplicació..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_Quant a" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Crea un fitxer nou" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Obre un fitxer" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Obre un fitxer utilitzat recentment" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Desa el fitxer actual" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Compte" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Beneficiari" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Categoria" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Pressupost" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Assignació" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Mostra les transaccions del compte seleccionat" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Afegeix transaccions" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Obre l'informe d'estadístiques" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Obre l'informe de tendència temporal" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Saldo" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Obre l'informe de saldo" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Obre l'informe de pressupost" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Cost del vehicle" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Obriu l'informe de costos del vehicle" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Planificat" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Futur" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Recorda" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(sense categoria)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "format CSV no vàlid" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Data" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Informació" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Descripció" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Quantitat" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Desconegut" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "Quilòmetres per litre" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "Milles per litre" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(sense beneficiari)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Opcions del HomeBank" #: ../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:515 msgid "Your accounts" msgstr "Els teus comptes" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Expandeix-ho tot" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Agrupa-ho tot" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Mostra-ho tot" #: ../src/hub-account.c:556 msgid "By type" msgstr "Per tipus" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "Per institució" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "No hi ha cap transacció per afegir" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "transacció afegida: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Comproveu el resultat previst de transaccions" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Transaccions programades" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Afegeix" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "Les %d despeses més grans" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Altre" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "On van els teus diners" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "compte importat" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Suma total" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Comptes" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Avui" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- separador -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Estat" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Despeses" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Ingressos" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Pròxima data" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d a sota %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Llista" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Visualitza els resultats com a llista" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Línia" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Visualitza els resultats com a línies" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Detalls" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Commuta els detalls" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Actualitza" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Actualitza els resultats" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Informe de saldo" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Pantalla" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "Inter_val:" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "Mostra línia buida" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Amplia les X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Des de:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Fins a:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Nom del compte" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Selecciona:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Tots" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Cap" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Pressupost per %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Resultat" #: ../src/rep-budget.c:852 msgid " over" msgstr " sobre" #: ../src/rep-budget.c:858 msgid " left" msgstr " queda" #: ../src/rep-budget.c:861 msgid " under" msgstr " sota" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 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:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "_Resultat al portapapers" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "_Resultat a CSV" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "_Detall al portapapers" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "_Detall a CSV" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Informe del pressupost" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Visualitza per:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "Només fora de pressupost" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Resultat:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Pressupost:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Gastat:" #: ../src/rep-budget.c:1422 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:1423 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:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Gastat" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Subcategoria" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Etiqueta" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Mes" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Any" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s per %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Mostra els resultats en columnes" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Mostra els resultats en donut" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Commuta la llegenda" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Commuta el percentatge" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Edita el filtre" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Informe estadístic" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Ingressos:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Despeses:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Dia" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Setmana" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Trimestre" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "Semestre" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s de temps afegit" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Promig:%s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Informe de tendència temporal" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Compte:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "Cate_goria:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Beneficiari:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Etiqueta:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "_Selecciona-ho tot" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Acumulat" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Comptaquilòmetres" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Combustible" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Preu" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Exporta com a CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Informe del cost del vehicle" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "Vehi_cle:" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Comptaquilòmetres:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Consum:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Cost del combustible:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Altres costos:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Cost total:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(cap)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Visible" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Cancel·la" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_D'acord" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Nom del compte" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Error" #: ../src/ui-account.c:1505 #, 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:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "No es pot suprimir el compte '%s'" #: ../src/ui-account.c:1557 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:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Segur que voleu eliminar definitivament '%s'?" #: ../src/ui-account.c:1570 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:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Gestió dels comptes" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 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:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "General" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "_Número:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Saldo _inicial:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Moneda" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "aquest compte ha estat _tancat" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Notes:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "_Plantilla per defecte" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Exclòs de l'informe" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "exclou del resum del _compte" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "exclou del _pressupost" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "exclou de qualsevol _informe" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Número actual del xec" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Bloc de xecs_1:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Bloc de xecs_2:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Límits de saldo" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "_Descobert a:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 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:972 msgid "Next _date:" msgstr "Pròxima_data" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Ca_da:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Cap de Setmana" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_atura després de:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "entrades" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Gestioni programada / transaccions de plantilla" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Plantilla" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 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:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Inhabilitat" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Si està buit" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Sobreescriu" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Gestiona les assignacions" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Condició" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Paga_ment:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Afegeix" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "No s'ha trobat" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Fitxer predefint:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Nom:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "Vàlid" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Nom" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Obre" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Fitxers coneguts" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "Fitxers QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "Fitxers OFX/QFX" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "Fitxers CSV" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Tots els fitxers" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "nou compte global" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "nou compte" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "ignorat" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr ", %d de %d transaccions" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "Importa %s a:" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "aquest arxiu" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "aquest compte" #: ../src/ui-assist-import.c:1331 #, 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:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 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:1392 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:1398 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:1418 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:1422 msgid "Don't show this again" msgstr "No tornis a mostrar aquest missatge" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 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:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "ordre de la data" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "_Importa descripcions" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "_Intercanviar descripcions amb beneficiaris" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "Nom _OFX:" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "OFX _Descripció:" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Inverteix" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "_Convertir a majúscules els camps descripció/beneficiari" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "Transacció similar en el compte destí (possiblement duplicada)" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "dies" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Benvingut" #: ../src/ui-assist-import.c:2264 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:2269 msgid "Import" msgstr "Importa" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Confirmació" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Error en el format del fitxer" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "Esteu segur que voleu esborrar l'entrada?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "Si continua, cada quantitat serà reiniciada a 0." #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Neteja" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Gestiona el pressupost" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "_Importa CSV" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "E_xporta CSV" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Saldo:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "_Esborra entrada" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Preferències" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 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:257 msgid "Jan" msgstr "Gen" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Abr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Maig" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Ago" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Oct" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 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:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "_Suprimeix la categoria '%s'" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Fusiona" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Elimina les categories no utilizades" #: ../src/ui-category.c:1598 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:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Edita…" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Ingressos" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Fusiona la categoria '%s'" #: ../src/ui-category.c:1943 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:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Gestioneu les categories" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "_Elimina no utilitzades" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "nova categoria" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Moneda" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Format" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Personalitza" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Símbol:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "Es _prefix" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "Separador _decimal:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Número de decimals:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "Afegeix una moneda personalitzada" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "Actualitza online" #: ../src/ui-currency.c:1762 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:206 msgid "Transaction" msgstr "Transacció" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Actualiza" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Seleccioneu la moneda base" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "Moneda:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Exporta a QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Importa des de CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "Obre un fitxer de HomeBank" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "Obre una còpia de seguretat de HomeBank" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "Desa l'arxiu HomeBank com a" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Fitxers homebank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "Arxiu de còpia de seguretat" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "Totes les còpies de seguretat" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Voleu desar les dades abans de tancar?" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "Tanca _sense desar" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Carpeta:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Escull una carpeta" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Nom de fitxer:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Exporta com a PDF" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Exporta com a _PDF" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Seleccioneu entre les possibles transaccions..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Seleccioni una acció:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "crea una nova transacció" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "seleccioneu una transacció existent" #: ../src/ui-dialogs.c:1091 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:1049 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:1155 msgid "_Memo:" msgstr "_Descripció" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Informació:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "_Distingeix entre majúscules i minúscules" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Qualsevol estat" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Qualsevol tipus" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Transferència" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Força:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "mostra «Afegit»" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "mostra «Editat»" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "mostra 'Recordatori'" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "Dates" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "Pagaments" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Imports" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "Textos" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Categories" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Beneficiaris" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Propietats dels fitxers" #: ../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" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Elimina el beneficiari no utilitzat" #: ../src/ui-payee.c:1194 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:1375 msgid "Default" msgstr "Per defecte" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "Pa_gament:" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "Uneix beneficiaris '%s'" #: ../src/ui-payee.c:1510 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:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "_Elimina el beneficiari '%s'" #: ../src/ui-payee.c:1613 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:1710 msgid "Manage Payees" msgstr "Gestiona els beneficiaris" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "Opcions generals" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "Opcions OFX/QFX" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "Opcions QIF" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "Opcions CSV" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "(només la transacció importada)" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "Separador:" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Filtre inicial" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Opcions dels gràfics" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Esquema de colors:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Opcions d'estadístiques" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Mostra per l'_import" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Mostra la columna del _percentatge" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Mostra els _detalls" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Opcions de pressupost" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Habilita" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Predefinit:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "Interfície d'usuari" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Idioma:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "Mostra _Dates:" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Format:" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Exercici fiscal" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "S'inicia:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Unitats de mesura" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Usa _milles per metres" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Utilitza _galons al combustible" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "Dies endavant" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "dies seguits" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "_Línies de quadrícula:" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Colors del imports" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Utilitza colors personalitzats" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Despeses:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Ingressos:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Avisos:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "_Habilita les còpies de seguretat automàtiques" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "_Número de còpies de seguretat a mantenir:" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "La còpia de seguretat es fa una vegada al dia" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "_Carteres" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "Intercanvia fitxers" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Importació:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Exportació:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Inici del programa" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Mostra la pantalla de presentació" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Carrega el darrer fitxer obert" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Afegeix les transaccions programades pendents" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Actualitza les monedes online" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Finestra principal d'informes" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "Restableix totes les preferències" #: ../src/ui-pref.c:2244 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:2265 msgid "Preferences" msgstr "Preferències" #: ../src/ui-pref.c:2512 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:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Divideix la transacció" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "Aplica" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "Canceŀla" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Import de la transacció:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "No assignat:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Suma de divisions:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, 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:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "Gestiona etiquetes" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "etiqueta nova" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "_Acabar" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Mostra _programades" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "Mostrar _tots els comptes" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Afegeix una transacció" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Hereta la transacció" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 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:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "_Descripció:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 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:466 msgid "Multiple edit transactions" msgstr "Edita múltiples transaccions" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Incloure" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Excloure" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(sense tipus)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Entitat financera" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Efectiu" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Actiu" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Targeta de crèdit" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Passiu" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Aquest mes" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Últim mes" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Aquest trimestre" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Últim trimestre" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Aquest any" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "Últim any" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Últims 30 dies" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Darrers 60 dies" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Darrers 90 dies" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Últims 12 mesos" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "personalitzat" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Totes les dates" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Possible" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Abans" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Després" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Ing. i desp." #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "No liquidat" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Sense conciliar" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Sense categoria" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Gener" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Febrer" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Març" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Abril" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Juny" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Juliol" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Agost" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Setembre" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Octubre" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Novembre" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Desembre" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Set" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Cerca..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Xec" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Targeta de dèbit" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Ordena'l ara" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Pagament electrònic" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Dipòsit" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "FI fee" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Domiciliació" homebank-5.5.2/po/it.po0000664000175000017500000030634214021210662011626 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: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2020-12-30 17:44+0000\n" "Last-Translator: Francesco Namuri \n" "Language-Team: Italian \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 msgid "Free, easy, personal accounting for everyone" msgstr "Gratuita e facile gestione della contabilità personale" #: ../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 " "filtro 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "Esiste il gruppo %d di movimenti simili" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Non sono stati trovati movimenti simili!" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "Controlla il risultato del Trasferimento Interno" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Nessuna incongruenza trovata!" #: ../src/dsp-account.c:320 #, 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:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Ogni importo del movimento sarà diviso in %.6f." #: ../src/dsp-account.c:394 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:396 msgid "_Convert" msgstr "_Converti" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Nessun movimento modificato" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "Movimento modificato: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Risultato assegnazione automatica" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" "Vuoi creare un modello con\n" "uno dei movimenti selezionati?" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Crea" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" "Vuoi creare un modello con\n" "uno dei movimenti selezionati?" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" "Vuoi eliminare\n" "tutti i movimenti selezionati?" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Elimina" #: ../src/dsp-account.c:1677 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:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Alcuni movimenti nella selezione sono già Riconciliati." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Cambia" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Sei sicuro di voler impostare lo stato Riconciliato?" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "Impos_ta" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d movimenti" #: ../src/dsp-account.c:2101 #, 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:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Aggiungi..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "Ered_ita..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Modifica..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "Modifica _multipla..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Stato" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Nessuna" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Approvata" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Riconciliata" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "Mostra _Divisione" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Crea modello..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "Crea assegnazione ..." #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Elimina..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "_Su" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "_Giù" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "_Conto" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Esporta QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Esporta CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Esporta come file PDF..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "Stampa..." #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Chiudi" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Modifica" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Copia" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Incolla" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Incolla (oggi)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Moviment_o" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "_Cerca" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "S_trumenti" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Contrassegna duplicato..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "Controlla Trasferimento Interno" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Auto assegnazioni" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filtra..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Converti in Euro..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Aggiungi" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Aggiungi un nuovo movimento" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Eredita" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Eredita dal movimento attivo" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Modifica" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Modifica il movimento attivo" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Approvata" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Imposta come approvato per i movimenti selezionati" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Riconciliata" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Imposta come riconciliato per i movimenti selezionati" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "Modifica multipla" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Modifica movimento multiplo" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Crea modello" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "Elimina" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Elimina movimenti selezionati" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "Su" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "Sposta Transazione in alto" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "Giù" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "Sposta Transazione in basso" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(chiuso)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Tutti i movimenti" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Aggiorna" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Intervallo:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "Attiva/disattiva il movimento futuro" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Tipo:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Stato:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Reimposta" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Euro _minore" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "Riconciliato:" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "Approvato:" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Oggi:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Benvenuto in HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "Apri u_ltimo file aperto" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Crea un _nuovo file" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Apri un file esistente" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Apri il file di _esempio" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Leggi il _manuale di HomeBank" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Imposta _preferenze" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "Mostra questa finestra la prossima volta" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You 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:997 msgid "Open the backup file?" msgstr "Aprire il file di backup ?" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "_Apri backup" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Impossibile aprire '%s', il file non esiste.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Errore sconosciuto" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "Errore di I/O per il file '%s'." #: ../src/dsp-mainwindow.c:1132 #, 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:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Errore file" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "Il file è stato modificato dal momento dell'apertura." #: ../src/dsp-mainwindow.c:1212 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:1213 msgid "S_ave Anyway" msgstr "S_alva comunque" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "Pulis_ci" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_File" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Nuovo" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Apri..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Apri _recenti" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Salva" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "S_alva con nome..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "Importa…" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "Esporta come QIF..." #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Ripristina" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "Ripristina backup" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Proprietà..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Esci" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Preferenze..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Visualizza" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "Barra degli s_trumenti" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Maggiori spese" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "_Elenchi minori" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Tasso di cambio Euro" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Gestione" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "_Conti..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Beneficiari..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Categorie..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Schedulazione/Modello..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Budget..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "Budget (vista tabella) ..." #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Assegnazioni..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Valute..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "Etichette..." #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "Movimen_ti" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Aggiungi..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Mostra..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Mostra tutto..." #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Imposta schedulatore..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Pubblica schedulate" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Resoconti" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Statistiche..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Andamento temporale..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "_Bilancio" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "B_uget..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "Costo _veicolo..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Mostra la finestra di benvenuto..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Statistiche file..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Rendi anonimo..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Aiuto" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Sommario" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "Ottieni aiuto in linea..." #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Controlla aggiornamenti..." #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Note di rilascio" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Segnala un problema..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Traduci questa applicazione..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "Inform_azioni" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "Nuovo" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Crea un nuovo file" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "Apri" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Apri un file" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Apri un file usato di recente" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "Salva" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Salva il file attuale" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Conto" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "Gestisci i conti" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Beneficiario" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "Gestisci i beneficiari" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Categoria" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "Gestisci le categorie" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "Schedulazione/Modello" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "Gestisci le schedulazioni/modelli" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Budget" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "Gestisci il budget" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Assegnazione" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "Gestisci le assegnazioni automatiche" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "Visualizza" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Mostra i movimenti del conto selezionato" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Aggiungi movimenti" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "Statistiche" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Apri il resoconto Statistiche" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "Andamento temporale" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Apri il resoconto Andamento temporale" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Saldo" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Apri il resoconto Saldo" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Apri il resoconto Budget" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Costo del veicolo" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Apri il resoconto Costo veicolo" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "Aiuto" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "Fai una donazione" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "Fai una donazione al progetto HomeBank" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Schedulato" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Futuro" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Promemoria" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "**PRECOMPILATA**" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(nessuna categoria)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "formato CSV non valido" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Data" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Informazioni" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Descrizione" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Importo" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Sconosciuto" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "mi/l" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(nessun beneficiario)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" 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:865 #, c-format msgid "%d-q%d" msgstr "%d-t%d" #: ../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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Preferenze HomeBank" #: ../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:515 msgid "Your accounts" msgstr "I tuoi conti" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Espandi tutto" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Comprimi tutto" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Mostra tutto" #: ../src/hub-account.c:556 msgid "By type" msgstr "Per tipo" #: ../src/hub-account.c:557 msgid "By group" msgstr "Per gruppo" #: ../src/hub-account.c:558 msgid "By institution" msgstr "Per ente" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Nessun movimento da aggiungere" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "movimento aggiunto: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Controlla il risultato dei movimenti schedulati" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Totale" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Transazioni schedulate" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "_Salta" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "Pubblica" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "Maggiori %d spese" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Altro" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Dove hai speso i tuoi soldi" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "Conto importato" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Totale complessivo" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "ultimo riconciliato" #: ../src/list-account.c:544 msgid "until" msgstr "fino" #: ../src/list-account.c:559 msgid "before" msgstr "prima" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Conti" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Oggi" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- suddividi -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "- questo movimento ha bisogno di una categoria -" #: ../src/list-operation.c:1438 msgid "Match" msgstr "Corrispondenza" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Stato" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Spese" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Entrate" #: ../src/list-operation.c:1491 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 "Ancora" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:403 msgid "Next date" msgstr "Prossima data" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d%d sotto %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Elenco" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Mostra risultati in elenco" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Riga" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Mostra risultato in righe" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Dettagli" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Imposta dettagli" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Aggiorna" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Aggiorna risultati" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "Stampa" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Resoconto del saldo" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Mostra" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "Inter_vallo:" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "Mostra riga vuota" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Ingrandimento X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Da:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_A:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Nome Conto" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Seleziona:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Tutti" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Nessuna" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Budget per %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Risultato" #: ../src/rep-budget.c:852 msgid " over" msgstr " su" #: ../src/rep-budget.c:858 msgid " left" msgstr " sinistra" #: ../src/rep-budget.c:861 msgid " under" msgstr " sotto" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "Pila" #: ../src/rep-budget.c:1001 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:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "_Risultato negli appunti" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "_Risultato in CSV" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "_Dettagli negli appunti" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "_Dettagli in CSV" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Resoconto budget" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Mostra per:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "Solo fuori budget" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Risultato:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Budget:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Spese:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "Nessun conto definito come conto di budget." #: ../src/rep-budget.c:1423 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:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Spesi" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Sottocategoria" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Etichetta" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Mese" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Anno" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s per %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "Troppe colonne per poter visualizzare" #: ../src/rep-stats.c:792 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:1180 ../src/rep-time.c:970 msgid "Column" msgstr "Colonna" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Mostra risultati in un grafico a barre" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "Torta" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Mostra risultati in un grafico a torta" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "Legenda" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Mostra/nascondi legenda" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "Tasso" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Imposta tasso" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "Filtro" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Modifica filtro" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Resoconto Statistiche" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "Modalità:" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "Ordina per _ammontare" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "Confronta Spese ed Entrate" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "Totale:" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Entrate:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Spese:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "Media" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Giorno" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Settimana" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Trimestre" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "Semestre" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s scaduti" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Media: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Resoconto Andamento temporale" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Conto" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Categoria:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Beneficiari:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Etichetta:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Selezion_a tutto" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Accumula" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Chilometri" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Carburante" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Prezzo" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "Esporta" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Esporta come CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Resoconto costo veicolo" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "Vei_colo:" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Chilometri:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Consumi:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Costo carburante:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Altri costi:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Costo totale:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(nessuno)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Visibile" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Annulla" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Nome Conto" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Errore" #: ../src/ui-account.c:1505 #, 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:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "Impossibile eliminare il conto '%s'" #: ../src/ui-account.c:1557 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:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Sei sicuro di voler eliminare definitivamente '%s'?" #: ../src/ui-account.c:1570 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:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Gestione Conti" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "Rinomina" #: ../src/ui-account.c:1917 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:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Generale" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "_Gruppo:" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "Ente:" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "N_umero:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Saldo _iniziale:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Valuta:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "questo conto è stato _chiuso" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Note:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "Comportamento" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "Automazione" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "Modello _preimpostato" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Esclusione resoconti" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "escludi dal _riepilogo conti" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "escludi dal _budget" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "escludi da tutti i _resoconti" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "Varie" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Numero assegno corrente" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Assegno _1:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Assegno _2:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Limiti di bilancio" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "Sc_operto a:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "Ma_ssimo:" #: ../src/ui-archive.c:753 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:972 msgid "Next _date:" msgstr "Prossima _data:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Ogn_i:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "Altre opzioni" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Fine settimana" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Fermati dopo:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "elementi" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Gestione movimenti schedulati/modelli" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Modello" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "_Schedula" #: ../src/ui-assign.c:344 msgid "Search" msgstr "Ricerca" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "Appunti" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "(regola %d)" #: ../src/ui-assign.c:654 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:718 #, fuzzy, c-format msgid "This search text already exists at position %d" msgstr "Questo testo di ricerca è già presente" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Disabilitato" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Se vuoto" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Sovrascrivi" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Gestione assegnazioni" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "Trascina e rilascia per modificare l'ordine" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Condizione" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "_Cerca:" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "Maiuscole/minuscole" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "Espressione regolare" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "_Nel:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "Assegnazioni" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Paga_mento:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" "Questo assistente ti aiuterà a impostare una configurazione minima\n" "per un nuovo file HomeBank." #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" "Tutti gli elementi impostati qui possono essere modificati in seguito, se " "necessario." #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" "Non verranno apportate modifiche finché non farai clic su \"Applica\"\n" "alla fine di questo assistente." #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" "HomeBank visualizzerà un titolo per la finestra principale,\n" "può essere un'etichetta libera o il tuo nome." #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Titolo:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" "HomeBank supporta più valute. La valuta di base è\n" "il valore predefinito per i nuovi conti e resoconti." #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "Base:" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "Imposta valute aggiuntive" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Aggiungi" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Non trovato" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" "HomeBank può precompilare le categorie per la tua lingua\n" "se un file CSV è disponibile e fornito dalla comunità." #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "Configura le categorie per la mia lingua" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "File predefinito:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" "HomeBank consente di importare i tuoi conti scaricati da\n" "file di istituti finanziari oppure creare il tuo conto manualmente." #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "Crea il mio primo conto" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Nome:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" "Questa è una pagina di conferma,\n" "\n" "premi 'Applica' per applicare le modifiche" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "Avvia il menu di configurazione" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "Opzioni file" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "Scegli le valute" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "Scegli le categorie" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "Crea un conto" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "Completa la configurazione del file" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "Valida" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Nome" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Apri" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Files conosciuti" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "File QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "File OFX/QFX" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "File CSV" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Tutti i file" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "nuovo conto globale" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "nuovo conto" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "tralasciato" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr ", %d of %d transazioni" #: ../src/ui-assist-import.c:1135 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 della " "data per continuare." #. label = g_strdup_printf(_("'%s' - %s"), genacc->name, hb_import_filetype_char_get(genacc)); #: ../src/ui-assist-import.c:1324 #, c-format msgid "Import %s in_to:" msgstr "Importa %s _in:" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "questo file" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "questo conto" #: ../src/ui-assist-import.c:1331 #, 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:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "%d transazione, %d simile, %d esistente, %d selezionata" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d transazioni, %d selezionata" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "Importa movimenti dalla banca o carta di credito" #: ../src/ui-assist-import.c:1392 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 più\n" "estratti conto della tua banca o carta di credito, nei seguenti formati:" #: ../src/ui-assist-import.c:1398 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:1418 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 premerai \"Applica\" alla " "fine di questo assistente." #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "Non visualizzare ancora" #: ../src/ui-assist-import.c:1481 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" "Trascina e rilascia uno o più file da importare.\n" "È inoltre possibile utilizzare i pulsanti Aggiungi / Elimina dell'elenco." #: ../src/ui-assist-import.c:1554 msgid "" "There is too much account in the files you choose,\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:1662 msgid "Target account identification by name or number failed." msgstr "Identificazione conto di destinazione per nome o numero fallita." #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Ordine data:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "_Importa descrizioni" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "_Scambia descrizioni con beneficiari" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "_Nome OFX" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "_Descrizione OFX" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Inverti" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "_Frase descrizione/beneficiario" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "Im_posta ammontare" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "Movimento simile nel conto di destinazione (possibile duplicato)" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "giorni" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "Esegui automazione" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "1) Arricchisci con _beneficiario predefinito" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "2) Esegui regole _assegnazioni automatiche" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "Fai clic su \"Applica\" per aggiornare i tuoi conti." #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Benvenuto" #: ../src/ui-assist-import.c:2264 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:2269 msgid "Import" msgstr "Importa" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Conferma" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Errore nel formato file" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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 la guida in linea per " "maggiori dettagli." #: ../src/ui-budget.c:912 msgid "Are you sure you want to clear input?" msgstr "Sei sicuro di voler pulire l'inserimento?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "Continuando, ogni importo verrà impostato a 0" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "Pulis_ci" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Gestione Budget" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "_Importa CSV" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "_Esporta CSV" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Saldo:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "è lo stesso ogni mese" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "_Pulisci inserimento" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "è diverso per mese" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Preferenze" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Forza il monitoraggio di questa categoria" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Gen" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Maggio" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Giu" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Lug" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Ago" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "Sett" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Ott" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 msgid "Dec" msgstr "Dic" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "Sommario" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "Totali" #: ../src/ui-budget-tabview.c:1561 msgid "Annual Total" msgstr "Totale annuale" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "Media mensile" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "Mensile" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "Aggiungi una categoria" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "_Applica" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "Categoria principale" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "Nome categoria" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Questa categoria è già presente.\n" "Qualsiasi transazione che usi questa categoria sarà impostata come (nessuna " "categoria)" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "Unisci categorie" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" "Le transazioni assegnate alla categoria '%s' verranno spostate nella " "categoria selezionata di seguito." #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "Categoria destinazione" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "_Elimina la categoria '%s'" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "Sei sicuro di voler eliminare gli inserimenti per '%s'?" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "Budget (vista tabella)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "Aggiungi categoria" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "Rimuovi categoria" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Unisci" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "Pulisci inserimento" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "# mov" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "# cfg" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Elimina categorie inutilizzate" #: ../src/ui-category.c:1598 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:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Modifica..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Entrate" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "Cambia tipo per _figlio" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Unisci categoria '%s'" #: ../src/ui-category.c:1943 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:1952 msgid "Include _subcategories" msgstr "Includi _sottocategorie" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Gestione Categorie" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "_Elimina inutilizzate" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "Sposta / Unisci" #: ../src/ui-category.c:2460 msgid "new category" msgstr "nuova categoria" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Valuta" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Formato" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Personalizza" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Simbolo:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "E' un pre_fisso" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "Valore _decimanle" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Separazione dei decimali:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "Aggiungi una _valuta personalizzata" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "Aggiorna online" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "Imposta come principale" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Statistiche file" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "Movimento" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Aggiorna" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Seleziona una valuta principale" #: ../src/ui-dialogs.c:404 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 non è corretta, per favore cambiala:" #: ../src/ui-dialogs.c:409 msgid "Currency:" msgstr "Valuta:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Esporta come QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Importa da CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "Apri un file HomeBank" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "Apri un file di backup HomeBank" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "Salva un file HomeBank come" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "File Homebank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "File backup" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "Tutti i backup" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Salvare le modifiche nel file prima di chiudere?" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "Chiudi _senza salvare" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "Esporta come _CSV" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Cartella:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Seleziona una cartella" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Nome file:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "Dettaglio righe suddivise" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" "Esportazione da 'Mostra tutti i conti', con la colonna conto\n" "il file non sarà nel formato CSV di HomeBank." #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Esporta come PDF" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Esporta come _PDF" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" "Usando HomeBank, l'uso della stampa salvaguarda l'ambiente,\n" "usa il formato digitale più utilizzato: formato PDF " #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Scegli tra le transazioni disponibili..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Seleziona un'azione:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "crea una nuova transazione" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "seleziona un movimento esistente" #: ../src/ui-dialogs.c:1091 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:1049 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:1155 msgid "_Memo:" msgstr "_Descrizione:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Info:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "Maiu_scole/minuscole" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Qualsiasi stato" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Qualsiasi tipo" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Bonifico" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Forza:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "mostra 'Aggiunte'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "mostra 'Modificate'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "Mostra 'Promemoria'" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "Mostra 'Vuote'" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "Date" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "Pagamenti" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Importi" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "Testi" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Categorie" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Beneficiari" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Proprietà file" #: ../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" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "Pag." #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Elimina beneficiari inutilizzati" #: ../src/ui-payee.c:1194 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:1375 msgid "Default" msgstr "Predefinito" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "Pa_gamento:" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "Unisci beneficiario '%s'" #: ../src/ui-payee.c:1510 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:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "_Elimina il beneficiario '%s'" #: ../src/ui-payee.c:1613 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:1710 msgid "Manage Payees" msgstr "Gestione Beneficiari" #: ../src/ui-payee.c:1854 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:1949 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 al Beneficiario" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "Etichetta" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "Virgola" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "Punto e virgola" #: ../src/ui-pref.c:149 msgid "Space" msgstr "Spazio" #: ../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 "Scegli una cartella predefinita per i file di backup di HomeBank" #: ../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:1214 msgid "General options" msgstr "Opzioni generali" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "Opzioni OFX/QFX" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "Opzioni QIF" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "Opzioni CSV" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "(solo importazione transazione)" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "Separatore:" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Filtro iniziale" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Opzioni Grafici" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Schema di colori:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "_Carattere legenda più piccolo" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Opzioni Statistiche" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Mostr_a per importo" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Most_ra colonna tassi" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Mostra _dettagli" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Opzioni Budget" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Abilita" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Predefinito:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "Interfaccia utente" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Lingua:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "Mostra _data:" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Formato:" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Anno fiscale" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "Inizia _il:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Unità di misura" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Usa _miglia invece di metri" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Usa _galloni per il carburante" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "Elenco movimenti" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "giorni prima" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "Nascondi riconciliato" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "Mostra sempre promemoria" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "Mostra sempre vuoto" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "Includi ricorda nel saldo" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "Dettaglio transazione" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "_Mantieni ultima data con inserimenti multipli" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "Tolleranza data di destinazione del trasferimento" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "Abilita autocompletamento _descrizione con" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "giorni ricorrenti" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "Mostra conferma testo aggiuntivo per 5 secondi" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "_Griglia:" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "Impostazioni GTK" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "Sovrascrivi" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "Dimen_sione carattere:" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "Tema scuro" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Colore importi" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Usa colori personalizzati" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Spese:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Entrate:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Avviso:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "_Attiva backups automatici" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "_Numero di backups da mantenere:" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "La frequenza di backup è una volta al giorno" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "_Portafogli:" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "_Backup:" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "File di scambio" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Importazione:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Esportazione:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Avvio programma" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Mostra schermata iniziale" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Carica ultimo file aperto" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Pubblica movimenti schedulati pendenti" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Aggiorna valute online" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Resoconti finestra principale" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "Element_i massimi:" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "Reimposta tutte le preferenze" #: ../src/ui-pref.c:2244 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:2265 msgid "Preferences" msgstr "Preferenze" #: ../src/ui-pref.c:2512 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:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" "La cartella di backup è stata modificata,\n" "potresti dover copiare il file '.bak' in questa nuova posizione." #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Suddividi movimento" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "Elimina tutto" #: ../src/ui-split.c:966 msgid "Apply" msgstr "Applica" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "Annulla" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Importo movimento:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Non assegnato:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Totale suddivisioni:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" "Attenzione: la somma delle suddivisioni e l'importo della transazione non " "corrispondono" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" "Avviso: la somma delle suddivisioni e il tipo di transazione non " "corrispondono" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Impossibile rinominare questa etichetta,\n" "da '%s' a '%s',\n" "Nome già esistente." #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "Unisci etichetta '%s'" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" "Transazioni assegnate a questa etichetta,\n" "verrà spostata nell'etichetta selezionata di seguito." #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "_ Elimina etichetta '%s'" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" "Questo etichetta è già in uso.\n" "L'etichetta verrà eliminata da qualsiasi transazione che la utilizzi." #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "Gestisci Etichette" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "nuova etichetta" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "Transazione di %s creata." #: ../src/ui-transaction.c:858 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 eliminerai il movimento selezionato." #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "_Interrompi" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Mostra _schedulati" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "Mostra _tutti i conti" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "Usa un modello" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "Aggiungi e _Continua" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Aggiungi movimento" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "Aggiungi modello" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Eredita movimento" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "Eredita modello" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "Modifica movimento" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "Modifica modello" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" "- digita: g, g/m, m/g una data completa\n" "- usa il tasto freccia + Ctrl o Maiusc\n" "- vuoto per oggi" #: ../src/ui-transaction.c:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "Qua_ntità:" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "_A:" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "Prenota _2" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" "- digita una lettera per il completamento automatico\n" "- digita nuovo testo per creare la voce" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "Cate_goria:" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "D_escrizione:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "E_tichette:" #: ../src/ui-transaction.c:1575 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:466 msgid "Multiple edit transactions" msgstr "Modifica movimenti multipli" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" "Digita come\n" "trasferimento" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "Tempo" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "Andamento" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "Disattivo" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Includi" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Escludi" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(nessun tipo)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Banca" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Contanti" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Bene" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Carta di credito" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Debiti" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "Verifica" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "Risparmi" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Questo mese" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Scorso mese" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Questo trimestre" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Scorso trimestre" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Quest'anno" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "Scorso anno" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Ultimi 30 giorni" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Ultimi 60 giorni" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Ultimi 90 giorni" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Ultimi 12 mesi" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "Personalizzato" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Tutte le date" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "Mese prossimo" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "Prossimi 30 giorni" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "Prossimi 60 giorni" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "Prossimi 90 giorni" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "Vuoto" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Possibile" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Prima" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Dopo" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Spese & Entrate" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "Non approvata" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Non riconciliata" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Senza categoria" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "Lun" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "Mar" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "Mer" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "Gio" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "Ven" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "Sab" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "Dom" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Gennaio" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Febbraio" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Marzo" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Aprile" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Giugno" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Luglio" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Agosto" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Settembre" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Ottobre" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Novembre" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Dicembre" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Set" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Cerca..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Assegno" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "Trasferimento bancario" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Carta di debito" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Ordine permanente" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Pagamento elettronico" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Deposito" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Rata" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Addebito diretto SDD" homebank-5.5.2/po/sr.po0000664000175000017500000034243214021210664011640 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, 2020. msgid "" msgstr "" "Project-Id-Version: homebank\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2020-12-30 08:45+0000\n" "Last-Translator: Мирослав Николић \n" "Language-Team: српски \n" "Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:00+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "Постоји група %d са сличним трансакцијама" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Ниједна слична трансакција није нађена !" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "Проверите резултат унутрашњег преноса" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Нисам нашао недоследност !" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" "Нашао сам недоследност: %d\n" "да ли желите да прегледате и поправите?" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Сваки износ трансакције биће подељен са %.6f." #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Да ли сигурно желите да претворите овај налог\n" "са евром као главном валутом?" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "_Претвори" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Нема измењених трансакција" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "измењених трансакција: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Резултат аутоматске доделе" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" "Да ли желите да направите доделу са\n" "сваком од изабраних трансакција?" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Направи" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" "Да ли желите да направите шаблон са\n" "сваком од изабраних трансакција?" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" "Да ли желите да обришете\n" "сваку од изабраних трансакција?" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "О_бриши" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "Да ли сигурно желите да промените стање у „Ништа“?" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Неке трансакције у вашем избору су већ измирене." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Промени" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Да ли сигурно желите да измените стање „Измирено“?" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "_Промени приказ" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d трансакција" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "Трансакција – %d, одабраних – %d, просек: %s, укупно: %s (%s – %s)" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Додај..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Наследи..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Уреди..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "Вишес_труко уређивање..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Стање" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Ништа" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Очишћено" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Измирено" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "Прикажи _поделу" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Направи шаблон..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "Направи доделу..." #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Обриши..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "_Горе" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "_Доле" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "_Налог" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Извези КуИФ..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Извези ЦСВ..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Извези као ПДФ..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "Штампај..." #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Затвори" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Уреди" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Умножи" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Убаци" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Убаци (данас)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "_Трансакција" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "_Нађи" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Алати" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Направи дупликат..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "Проверите унутрашњи пренос" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Самододељивања" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Издвој..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Претвори у евро..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Додај" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Додајте нову трансакцију" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Пренеси" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Пренесите из активне трансакције" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Уреди" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Уредите активну трансакцију" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Очишћено" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Промените приказ очишћеног за изабрану трансакцију(е)" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Измирено" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Промените приказ измиреног за изабрану трансакцију(е)" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "Уреди вишеструку" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Уредите вишеструку трансакцију" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Направите шаблон" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "Обриши" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Обришите изабрану трансакцију(е)" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "Горе" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "Преместите трансакцију горе" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "Доле" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "Преместите трансакцију доле" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(затворене)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s – Кућна Банка" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Све трансакције" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Освежи" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Опсег:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "Промени стање приказа будуће трансакције" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Врста:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Стање:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Поврати" #: ../src/dsp-account.c:2668 msgid "Open the list filter" msgstr "Отвори списак филтера" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Евро _споредна" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "Измирене:" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "Очишћене:" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Данас:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Добро дошли у Кућну Банку" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "Да отворите _последњу отворену датотеку" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Да _направите нову датотеку" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "Да отворите _постојећу датотеку" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Да отворите датотеку _примера" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Да прочитате _упутство за Кућну Банку" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Да подесите _поставке" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "Прикажи овај прозор следећи пут" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You 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:997 msgid "Open the backup file?" msgstr "Да отворим датотеку резерве?" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "_Отвори резерву" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Не могу да отворим „%s“, датотека не постоји.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Непозната грешка" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "У/И грешка за датотеку „%s“." #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Датотека „%s“ није исправна датотека Кућне Банке." #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Грешка датотеке" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "Датотека је измењена након читања." #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Ако је сачувате, све спољне измене могу бити изгубљене. Да је ипак сачувам?" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "Ип_ак сачувај" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "Очисти" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Датотека" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Ново" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Отвори..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Отвори ско_рашње" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Сачувај" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Сачувај _као..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "Увези..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "Извези као КуИФ..." #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Врати" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "Врати резерву" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Својства..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Изађи" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Поставке..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Преглед" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "Трака _алата" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Највећа потрошња" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "_Доњи спискови" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Евро споредни" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "У_прављање" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "_Налози..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Повериoци..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "_Категорије..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Заказано/Шаблон..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Буџет..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "Буџет (табела)..." #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Додељивања..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Валуте..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "Ознаке..." #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Трансакције" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Додај..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Прикажи..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Прикажи све..." #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Подеси заказивача..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Објави заказано" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Извештаји" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Статистика..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Временско очекивање..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "_Биланс..." #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "_Буџет..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "_Издатак возила..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Прикажи прозорче добродошлице..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Статистика датотеке..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Анонимизирај..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "По_моћ" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Садржај" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "Нађите помоћ на мрежи..." #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Потражи ажурирања..." #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Белешке о издању" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Пријавите проблем..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Преведите овај програм..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_О програму" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "Ново" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Направите нову датотеку" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "Отвори" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Отворите датотеку" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Отворите недавно коришћену датотеку" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "Сачувај" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Сачувајте текућу датотеку" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Налог" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "Управљајте налозима" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Поверилац" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "Управљајте повериоцима" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Категорија" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "Управљајте категоријама" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "Заказано/Шаблон" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "Управљајте трансакцијама заказаног/шаблона" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Буџет" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "Управљајте буџетом" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Додељивање" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "Управљајте аутоматским додељивањима" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "Прикажи" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Прикажите трансакције изабраног налога" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Додајте трансакције" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "Статистика" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Отворите статистички извештај" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "Временско очекивање" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Отворите извештај временског очекивања" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Биланс" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Отворите извештај биланса" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Отворите извештај буџета" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Издатак возила" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Отворите извештај трошкова возила" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "Помоћ" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "Донирајте" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "Донирајте пројекту Кућне Банке" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Заказано" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Будуће" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Подсећање" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "**ВЕЋ_ПОПУЊЕНО**" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(без категорије)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "неисправан ЦСВ формат" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Датум" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Подаци" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Белешке" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Износ" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Непознато" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "mi./l" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(нема поверилаца)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" 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:515 msgid "Your accounts" msgstr "Ваши налози" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Раширите све" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Скупите све" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Прикажи све" #: ../src/hub-account.c:556 msgid "By type" msgstr "по врсти" #: ../src/hub-account.c:557 msgid "By group" msgstr "по групи" #: ../src/hub-account.c:558 msgid "By institution" msgstr "по установи" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Нема трансакције за додавање" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "додата трансакција: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Резултат провере заказаних трансакција" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Укупно" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Заказане трансакције" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "_Прескочи" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Објави" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "Највећи %d трошак" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Друго" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Где одлази ваш новац" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "увезени налог" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Целокупни износ" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "последње измирење" #: ../src/list-account.c:544 msgid "until" msgstr "све до" #: ../src/list-account.c:559 msgid "before" msgstr "пре" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Налози" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Данас" #: ../src/list-operation.c:586 msgid "- split -" msgstr "— подели —" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "– ово треба категорију –" #: ../src/list-operation.c:1438 msgid "Match" msgstr "Поклопи" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Стање" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Расход" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Приход" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Следећи датум" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d испод %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Списак" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Прикажите резултате у облику списка" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Траке" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Прикажите резултате у тракама" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Детаљи" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Промените приказ детаља" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Освежи" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Освежите резултате" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "Штампај" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Извештај биланса" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Приказ" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "Интер_вал:" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "Прикажи празну линију" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "Х _увећање:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Од:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_До:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Назив налога" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Изабери:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Све" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Ништа" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Буџет за %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Резултат" #: ../src/rep-budget.c:852 msgid " over" msgstr " преко" #: ../src/rep-budget.c:858 msgid " left" msgstr " преостало" #: ../src/rep-budget.c:861 msgid " under" msgstr " испод" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "Спремник" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "Прикажите резултате као на хрпи" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "_Резултат у оставу" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "_Резултат у ЦСВ" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "Поје_диности у оставу" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "Поје_диности у ЦСВ" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Извештај о буџету" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "За _преглед:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "Само ван буџета" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Резултат:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Буџет:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Потрошња:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "Ниједан налог није дефинисан да би био део буџета." #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "Можете да укључите неке налоге из прозорчета налога." #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Потрошња" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Подкатегорија" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Ознака" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Месец" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Година" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s по %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "Превише колона за приказивање" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "Изаберите дужи период и / или скупите опсег датума" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "Колона" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Прикажите резултате у облику усправних трака" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "Крофна" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Прикажите резултате у облику кружног графикона" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "Легенда" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Промените приказ легенде" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "Камата" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Промените приказ камате" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "Филтер" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Уредите филтер" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Статистички извештај" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "Режим:" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "Поређај према _износу" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "Упореди расход и приход" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "Укупно:" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Приход:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Расход:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "Просек" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Дан" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Недеља" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Тромесечје" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "Полугодишње" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s током времена" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Просечно: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Извештај временског очекивања" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Налог:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Категорија:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Поверилац:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Ознака:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Изабери _све" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Збирно" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Мерач" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Гориво" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Цена" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Растојање" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "Извези" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Извези као ЦСВ" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Извештај трошкова возила" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "_Возило:" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Мерач:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Потрошња:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Утрошак горива:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Остали трошкови:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Укупан трошак:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(ништа)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Видљива" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Откажи" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "У _реду" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Назив налога" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Грешка" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Не могу да додам налог „%s“,\n" "налог са овим називом већ постоји." #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "Не могу да обришем налог „%s“" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "Овај налог садржи трансакције и/или је део унутрашњих преноса." #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Да ли сигурно желите трајно да обришете „%s“?" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "Ако обришете овај налог, биће трајно изгубљен." #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Управљајте налозима" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "Преименуј" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Превуците и пустите да промените редослед\n" "Дупли клик за преименовање" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Опште" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "_Група:" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "_Институција:" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "Б_рој:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Почетни _биланс:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Валута:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "овај налог је _затворен" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Напомене:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "Понашање" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "Аутоматизација" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "Подразумевани ша_блон:" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Пријави изузеће" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "искључи из _сажетка налога" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "искључи из _буџета" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "искључи из било ког _извештаја" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "Разно" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Тренутни број чека" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Чековна књижица _1:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Чековна књижица _2:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Ограничења биланса" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "_Препиши са:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "Нај_више:" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "Ако обришете заказано/шаблон, биће трајно изгубљено." #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "Следећи _датум:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Сва_ког:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "Још опција" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Викенд:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "Зау_стави након:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "чланака" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Управљајте трансакцијама заказаног/шаблона" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Шаблон" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "_Закажи" #: ../src/ui-assign.c:344 msgid "Search" msgstr "Тражи" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "Напомене" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "(правило %d)" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "Ако обришете додељивање, биће трајно изгубљено." #: ../src/ui-assign.c:718 #, fuzzy, c-format msgid "This search text already exists at position %d" msgstr "Овај текст претраге већ постоји" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Искључено" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Ако је празно" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Препиши" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Управљајте додељивањем" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "Превуците и убаците да измените поредак" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Услов" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "_Тражи:" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "Разликуј величину слова" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "Регуларни израз" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "_У:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "Додељивања" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "П_лаћање:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" "Овај помоћник ће вам помоћи да поставите најмање довољно подешавање\n" "за нову датотеку Кућне Банке." #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" "Све елементе које овде поставите можете касније да измените ако је потребно." #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" "Никакве измене се неће учинити све док не кликнете „Примени“\n" "на крају овог помоћника." #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" "Кућна Банка ће приказати наслов за главни прозор,\n" "може бити произвољан натпис или ваше име." #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Наслов:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" "Кућна Банка подржава више валута. Основна валута је\n" "подразумевана за нове налоге и извештаје." #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "Основа:" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "Поставите додатне валуте" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Додај" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Нисам нашао" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" "Кућна Банка може унапред да попуни категорије за ваш језик\n" "ако је ЦСВ датотека доступна и обезбеђује је заједница." #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "Постави категорије за мој језик" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Датотека претподешавања:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" "Кућна Банка омогућава увоз ваших налога из преузетих датотека\n" "финансијских институција, или можете ручно да направите ваш налог." #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "Направи мој први налог" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Назив:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" "Ово је страница за потврђивање,\n" "\n" "притисните „Примени“ да примените измене" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "Покрени поставке датотеке" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "Опције датотеке" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "Изаберите валуте" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "Изаберите категорије" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "Направите налог" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "Заврши поставке датотеке" #: ../src/ui-assist-import.c:477 msgid "" msgstr "<Нови налог (општи)>" #: ../src/ui-assist-import.c:482 msgid "" msgstr "<Нови налог>" #: ../src/ui-assist-import.c:503 msgid "" msgstr "<Прескочи овај налог>" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "Исправно" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Назив" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Отвори" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Познате датотеке" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "КуИФ датотеке" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "ОФИкс/КуФИкс датотеке" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "ЦСВ датотеке" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Све датотеке" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "нови општи налог" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "нови налог" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "прескочено" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr ", %d од %d трансакција" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "Увези %s _у:" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "ову датотеку" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "овај налог" #: ../src/ui-assist-import.c:1331 #, 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:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "трансакција – %d, сличних – %d, постојећих – %d, изабраних – %d" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "трансакција – %d, изабраних – %d" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "Увези трансакције из банке или са кредитне картице" #: ../src/ui-assist-import.c:1392 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:1398 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" "(формат је специфичан за Кућну Банку, видите документацију)" #: ../src/ui-assist-import.c:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "Никакве измене се неће учинити све док не кликнете „Примени“ на крају овог " "помоћника." #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "Не приказуј ово поново" #: ../src/ui-assist-import.c:1481 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" "Превуците и убаците једну или неколико датотека за увоз.\n" "Можете такође да користите дугме додај/обриши са списка." #: ../src/ui-assist-import.c:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" "Има превише налога у датотекама које сте изабрали,\n" "користите дугме „Назад“ да изаберете мање датотека." #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "Препознавање циљног налога по називу или броју није успело." #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Запис датума:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "_Увези белешке" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "_Размени белешке са повериоцима" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "ОФИкс _назив:" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "ОФИкс _белешка:" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Окрени" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "Величина _слова слога белешка/поверилац" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "_Окини износ" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "Слична трансакција у циљном налогу (могући дупликат)" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "дана" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "Покрени аутоматизацију" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "1) Обогати са основношћу _повериоца" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "2) Покрени аутоматска правила _додељивања" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "Кликните „Примени“ да освежите ваше налоге." #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Добро дошли" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "Изабери датотеку" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "Увези" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Потврђивање" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Грешка формата датотеке" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "Да ли сигурно желите да очистите улаз?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "Ако наставите, сваки износ биће постављен на 0." #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Очисти" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Управљајте буџетом" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "_Увези ЦСВ" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "_Извези ЦСВ" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Биланс:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "је исти сваког месеца" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "_Очисти унос" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "је другачији по месецу" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Опције" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Присили праћење ове категорије" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Јан" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Феб" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Мар" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Апр" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Мај" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Јун" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Јул" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Авг" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "Сеп" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Окт" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Нов" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "Укупно годишње" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "Просечно месечно" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "Месечно" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "Додајте категорију" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "_Примени" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "Полазна категорија" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "Назив категорије" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "Ова категорија је у употреби.\n" "Свака трансакција унутар ове категорије биће постављена на (без категорије)" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "Споји категорије" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" "Трансакције додељене категорији „%s“, биће премештене у доле изабрану " "категорију." #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "Циљна категорија" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "О_бриши категорију „%s“" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "Да ли сигурно желите да очистите уносе за „%s“?" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "Буџет (табела)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "Додај категорију" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "Уклони категорију" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Споји" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "Очисти унос" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "# трс" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "# под" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Обришите некоришћене категорије" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Да ли сигурно желите трајно да обришете\n" "категорије које се не користе?" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Уреди..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Приход" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "Измени врсту за _пород" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Споји категорију „%s“" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Трансакције додељене овој категорији\n" "биће померене у категорију изабрану испод." #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "Обухвати _подкатегорије" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Управљајте категоријама" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "_Обриши некоришћене" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "Премести/Споји" #: ../src/ui-category.c:2460 msgid "new category" msgstr "нова категорија" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Валута" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Формат" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Прилагоди" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Симбол:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "Јесте пре_фикс" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "Знак _децимала:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Број децимала:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "Додај произвољну ва_луту" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "Освежите на мрежи" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "Поставите као основу" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Статистика датотеке" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "Трансакција" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Надогради" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Изаберите валуту основе" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "Валута:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Извези као КуИФ" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Увези из ЦСВ-а" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "Отворите датотеку Кућне Банке" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "Отворите датотеку резерве Кућне Банке" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "Сачувајте датотеку Кућне Банке као" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Датотеке Кућне Банке" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "Датотека резерве" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "Све резерве" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Да сачувам измене у датотеку пре затварања?" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "Затвори _без чувања" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "Извези као _ЦСВ" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Фасцикла:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Изабери фасциклу" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Назив датотеке:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "Детаљне линије поделе" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" "Извезли сте из „Прикажи све налоге“, са ступцем налога\n" "датотека неће бити у ЦСВ формату Кућне Банке." #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Извези као ПДФ" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Извези као _ПДФ" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" "Уз Кућну Банку, штампање је оријентисано ка еколошки одговорном\n" "односу према најраспрострањенијем дигиталном формату: ПДФ формат. " #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Изабери између могућих трансакција..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Изабери радњу:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "направите нову трансакцију" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "изаберите постојећу трансакцију" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "Кућна Банка је пронашла неке трансакције које би могле бити придружене " "трансакције за унутрашњи пренос." #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "_Белешкe:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "П_одаци:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "Разликуј величину _слова" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Било које стање" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Било које врсте" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Пренос" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Присили:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "прикажи „Додато“" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "прикажи „Уређено“" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "прикажи „Подсети“" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "прикажи „Поништено“" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "Датуми" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "Плаћања" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Своте" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "Текстови" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Категорије" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Повериоци" #: ../src/ui-hbfile.c:194 msgid "File properties" 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 "дана након текућег датума" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "Плћ." #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Обриши некоришћеног повериоца" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Да ли сигурно желите трајно да обришете\n" "повериоце који се не користе?" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "Основно" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "_Плаћање:" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "Споји повериоца „%s“" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Трансакције додељене овом повериоцу\n" "биће померене на повериоца изабраног испод." #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "О_бриши повериоца „%s“" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Овај поверилац је у употреби. Свака трансакција која\n" "користи овог повериоца биће подешена на (нема поверилаца)" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "Управљајте повериоцима" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "Опште опције" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "ОФИкс/КуФИкс опције" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "КуИФ опције" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "ЦСВ опције" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "(само увоз трансакције)" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "Раздвојник:" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Почетни филтер" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Опције графикона" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Шема боје:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "Мања _слова легенде" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Опције статистике" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Прикажи према _износу" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Прикажи колону _односа" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Прикажи _детаље" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Опције буџета" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Омогући" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Претподешавање:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "Корисничко сучеље" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Језик:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "Приказ _датума:" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Формат:" #: ../src/ui-pref.c:1614 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 – година са веком као цео број." #: ../src/ui-pref.c:1644 msgid "Fiscal year" msgstr "Фискална година" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "_Почиње:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Мерне јединице" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Користи _миље за даљину" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Користи _галоне за гориво" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "Списак трансакције" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "дана унапред" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "Сакриј измирене" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "Увек прикажи подсетник" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "Увек прикажи поништено" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "Укључи подсетник у биланс" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "Прозорче трансакције" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "_Задржи последњи датум приликом више додавања" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "Прихватљивост циљног датума преноса:" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "Укључи самодовршавање _белешки са" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "променљиви дани" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "Прикажи текст потврде додавања за 5 сек." #: ../src/ui-pref.c:1836 msgid "_Toolbar:" msgstr "Трака _алата:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1845 msgid "_Grid line:" msgstr "_Линија мреже:" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "Гтк поставке" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "Препиши" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "Величина _слова:" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "Тамна тема" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Боје износа" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Користи произвољну боју" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Расход:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Приход:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Упозорење:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "_Укључи самостално прављење резерве" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "_Број резерви за чување:" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "Учесталост прављења резерве је један дан" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "_Новчаници:" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "_Резерве:" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "Датотеке размене" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Увоз:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Извоз:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Покретање програма" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Прикажи уводни екран" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Учитај последњу отворену датотеку" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Објави заказане трансакције на чекању" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Освежи валуте на мрежи" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Главни прозор извештава" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "Највише _ставки:" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "Поврати све поставке" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" "Да ли желите да вратите\n" "све поставке на основен\n" "вредности?" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Поставке" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Морате поново да покренете Кућну Банку\n" "да би промена језика ступила на снагу." #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" "Директоријум резерве је измењен,\n" "требало би да умножите „.bak“ датотеку на ово ново место." #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Поделите трансакције" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "Обриши све" #: ../src/ui-split.c:966 msgid "Apply" msgstr "Примени" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "Откажи" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Износ трансакције:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Недодељено:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Збир подела:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "Упозорење: збир подела и износа трансакције се не поклапа" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "Упозорење: збир подела и врсте трансакције се не поклапа" #: ../src/ui-tag.c:602 #, 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:645 #, c-format msgid "Merge tag '%s'" msgstr "Споји ознаку „%s“" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" "Трансакције додељене овој ознаци\n" "биће премештене на повериоца изабраног испод." #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "О_бриши ознаку „%s“" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" "Ова ознака се користи.\n" "Та ознака ће бити обрисана из свих трансакција које је користе." #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "Управљајте ознакама" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "нова ознака" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "Трансакција „%s“ је направљена." #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Да ли желите да прекинете унутрашњи пренос?\n" "\n" "Ако наставите обрисаће се циљна трансакција." #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "_Прекини" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Прикажи _заказано" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "Прикажи _све налоге" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "Користи шаблон" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "Додај и _задржи" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Додајте трансакцију" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "Додајте шаблон" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Пренесите трансакцију" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "Пренесите шаблон" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "Уредите трансакцију" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "Уредите шаблон" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" "– упишите: д, д/м, м/д потпун датум\n" "– користите тастер стрелице + ктрл или промени\n" "– празно за данас" #: ../src/ui-transaction.c:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "Из_нос:" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "Д_о:" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "Књига _2" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" "– упишите неко слово за самодовршавање\n" "– упишите нови текст да направите унос" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "Кате_горија:" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "_Белешке:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "_Ознаке:" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "Упозорење: знак износа и категорије нису исти" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "Вишеструко уређивање трансакција" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" "Упиши као\n" "пренос" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "Време" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "Очекивање" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "Нерадно" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Укључи" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Искључи" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(нема врсте)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Банка" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Готовина" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Добро" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Кредитна картица" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Одговорност" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "Провере" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "Чувања" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Овог месеца" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Прошлог месеца" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Овог тромесечја" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Прошлог тромесечја" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Ове године" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "Последње године" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Последњих 30 дана" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Последњих 60 дана" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Последњих 90 дана" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Последњих 12 месеци" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "произвољно" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Сви датуми" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "Следећег месеца" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "Следећих 30 дана" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "Следећих 60 дана" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "Следећих 90 дана" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "Поништено" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Могуће" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Пре" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "После" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Расход и приход" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "Неочишћено" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Неизмирено" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Неразврстано" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "Пон" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "Уто" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "Сре" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "Чет" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "Пет" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "Суб" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "Нед" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Јануар" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Фебруар" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Март" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Април" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Јун" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Јул" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Август" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Септембар" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Октобар" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Новембар" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Децембар" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Сеп" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Тражи..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Чек" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "Банковни пренос" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Картица задуживања" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Трајна наруџбина" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Електронско плаћање" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Улог" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "ФИ накнада" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Директно задуживање" homebank-5.5.2/po/pl.po0000664000175000017500000027744214021210663011636 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: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2020-09-06 13:02+0000\n" "Last-Translator: raq0 \n" "Language-Team: Polish \n" "Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "Jest %d podobnych transakcji" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Nie znaleziono podobnych transakcji!" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Nie znaleziono niezgodności!" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Kwota każdej transakcji zostanie podzielona przez %.6f." #: ../src/dsp-account.c:394 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:396 msgid "_Convert" msgstr "_Przelicz" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Żadna transakcja nie została zmieniona" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "transakcja zmieniona: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Wynik automatycznego przypisywania" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" "Czy chcesz utworzyć przypisanie z\n" "każdej z zaznaczonych transakcji?" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Utwórz" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" "Czy chcesz utworzyć szablon z\n" "każdej z zaznaczonych transakcji?" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" "Czy chcesz usunąć\n" "każdą z zaznaczonych transakcji?" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Usuń" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "Czy na pewno wyzerować status?" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Niektóre z zaznaczonych transakcji są już uzgodnione." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Zmień" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Czy na pewno zamienić status Uzgodnione?" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "_Przełącz" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d transakcji" #: ../src/dsp-account.c:2101 #, 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:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "Dod_aj..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "Pow_iel..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Edytuj..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "Z_mień wiele..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Status" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Brak" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "Rozli_czone" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Uzgodnione" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "Wyświetl podział" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Utwórz szablon..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "Utwórz przypisanie..." #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Usuń..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "W górę" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "W _dół" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "Ko_nto" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Eksportuj QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Eksportuj CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Eksportuj jako PDF..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "Drukuj..." #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Zamknij" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Edycja" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Kopiuj" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Wklej" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Wklej (dziś)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Transak_cja" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "_Znajdź" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "Narzędz_ia" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Zaznacz duplikaty..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Automatyczne przypisania" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filtruj..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Przelicz na Euro..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Dodaj" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Dodaj nową transakcję" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Powiel" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Powiel zaznaczoną transakcję" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Zmień" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Zmień zaznaczoną transakcję" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Rozliczone" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Oznacz wybrane transakcje jako rozliczone" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Uzgodnione" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Oznacz wybrane transakcje jako uzgodnione" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "Edytuj wiele" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Zmień jednocześnie wszystkie zaznaczone transakcje" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Utwórz szablon" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "Usuń" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Usuń zaznaczone transakcje" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "W górę" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "Przenieś transakcję w górę" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "W dół" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "Przenieś transakcję w dół" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(zamknięte)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Wszystkie transakcje" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Odśwież" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "Zak_res:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "Pokaż/ukryj przyszłe transakcje" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Rodzaj:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Resetuj" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Euro-centy" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Dzisiaj:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Witamy w HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "Otwórz ostatnio otwarty p_lik" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Utwórz _nowy plik" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Otwórz istniejący plik" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "_Otwórz przykładowy plik" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Przeczytaj podręcznik programu HomeBank" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Konfiguracja preferencji" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "Pokaż to okno następnym razem" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" "Otwierasz plik kopii zapasowej '%s'.\n" "\n" "Czy na pewno chcesz to zrobić?" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "Otworzyć plik kopii zapasowej?" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "_Otwórz kopię zapasową" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Nie można otworzyć '%s', plik nie istnieje.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Nieznany błąd" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, 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:1132 #, 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:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Błąd pliku" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "Plik został zmodyfikowany od czasu jego odczytania." #: ../src/dsp-mainwindow.c:1212 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:1213 msgid "S_ave Anyway" msgstr "Z_apisz mimo to" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "Wyczyść" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Portfel" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Nowy" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Otwórz..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Ostatnio _używane" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "Zapi_sz" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Z_apisz jako..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "Importuj..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "Eksportuj jako QIF..." #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Przywróć" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "Przywróć kopię zapasową" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Właściwości..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "Za_kończ" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Preferencje…" #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Widok" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Pasek narzędzi" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "Największe wyda_tki" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "Dolne listy" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Przeliczanie euro" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Zarządzaj" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "_Konta..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "Odbiorcy..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Kategorie..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Zaplanowane/Szablony..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Budżet..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "Budżet (tabela)..." #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Przypisania..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Waluty..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "Etykiety..." #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Transakcje" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Dodaj..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Pokaż..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Pokaż wszystkie..." #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Ustawienia zaplanowanych transakcji..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Zaksięguj zaplanowane" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Raporty" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Statystyki..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Trendy..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "S_aldo..." #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "B_udżet..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "_Koszt pojazdu..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Pokaż okno powitalne..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Statystyka pliku..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Anonimizuj..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "P_omoc" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Zawartość" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "Uzyskaj pomoc online..." #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Sprawdź aktualizacje..." #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Informacje o wydaniu" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Zgłoś błąd w programie..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Przetłumacz ten program..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_O programie" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "Nowy" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Utwórz nowy plik" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "Otwórz" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Otwórz plik" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Otwórz ostatnio używany plik" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "Zapisz" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Zapisz bieżący plik" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Konto" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "Zarządzaj kontami" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Odbiorca" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "Zarządzaj odbiorcami" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Kategoria" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "Zarządzaj kategoriami" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "Zaplanowane/Szablony" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "Zarządzaj transakcjami Zaplanowanymi/Szablonami" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Budżet" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "Zarządzaj budżetem" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Przypisania" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "Zarządzaj automatycznymi przypisaniami" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "Pokaż" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Pokaż transakcje z wybranego konta" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Dodaj transakcje" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "Statystyki" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Pokaż raport statystyczny" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "Trendy" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Otwórz raport trendów" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Saldo" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Otwórz raport salda" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Otwórz raport budżetu" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Koszty pojazdu" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Otwórz raport kosztów pojazdu" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "Pomoc" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "Wspomóż" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "Wspomóż projekt HomeBank" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Zaplanowane" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Przyszłość" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Przypomnij" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(brak kategorii)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "Niewłaściwy format CSV" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Data" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Informacja" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Opis" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Kwota" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Nieznany" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "mi/l" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(brak odbiorcy)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Opcje HomeBank" #: ../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:515 msgid "Your accounts" msgstr "Twoje konta" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Rozwiń wszystkie" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Zwiń wszystkie" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Pokaż wszystkie" #: ../src/hub-account.c:556 msgid "By type" msgstr "Według rodzaju" #: ../src/hub-account.c:557 msgid "By group" msgstr "Według grupy" #: ../src/hub-account.c:558 msgid "By institution" msgstr "Po instytucji" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Brak transakcji do dodania" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "transakcja dodana: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Status księgowania zaplanowanych transakcji" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Razem" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Zaplanowane transakcje" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "Zaksięguj" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "Największe %d wydatki" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Pozostałe" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Dokąd trafiają twoje pieniądze" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "konto importowane" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Całkowita suma" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Konta" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Dzisiaj" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- różne -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Status" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Wydatek" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Przychód" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Następna data" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d poniżej %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Lista" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Pokaż wyniki jako listę" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Linia" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Pokaż wyniki na wykresie liniowym" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Transakcje" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Pokaż/ukryj transakcje" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Odśwież" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Odśwież raport" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Raport salda" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Wyświetl" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "Okres:" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "Pokaż pustą linię" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Przybliż oś X" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 msgid "Date filter" msgstr "Filtr dat" #. 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Od:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Do:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Nazwa konta" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Wybierz:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Wszystkie" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Brak" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Budżet dla %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Wynik" #: ../src/rep-budget.c:852 msgid " over" msgstr " przekroczone" #: ../src/rep-budget.c:858 msgid " left" msgstr " dostępne" #: ../src/rep-budget.c:861 msgid " under" msgstr " niezrealizowane" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 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:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "_Wynik do schowka" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "_Wynik do CSV" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "_Szczegóły do schowka" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "_Szczegóły do CSV" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Raport budżetu" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Wyświetl według" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "Tylko poza budżetem" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Wynik:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Budżet:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Wydatki:" #: ../src/rep-budget.c:1422 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:1423 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:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Wydatki" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Podkategoria" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Etykieta" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Miesiąc" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Rok" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s według %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "Zbyt wiele kolumn do wyświetlenia" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "Kolumna" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Pokaż wyniki na wykresie kolumnowym" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Pokaż wyniki na wykresie pierścieniowym" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "Legenda" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Pokaż objaśnienia obok wykresu" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Pokaż/ukryj udział procentowy" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "Filtr" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Edytuj filtr" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Raport statystyczny" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "Tryb:" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Przychód:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Wydatek:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "Średnia" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Dzień" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Tydzień" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Kwartał" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "Półrocze" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s w czasie" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Średnia: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Raport trendów" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Konto:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Kategoria:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Odbiorca:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "E_tykieta:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "_Zaznacz wszystko" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Kumuluj" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Licznik" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Paliwo" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Cena" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Odl." #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Eksportuj jako CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Raport kosztów pojazdu" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "_Pojazd" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Licznik:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Zużycie paliwa:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Koszty paliwa:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Inne koszty:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Łączne koszty:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(brak)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Widoczny" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Anuluj" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Nazwa konta" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Błąd" #: ../src/ui-account.c:1505 #, 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:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "Nie można usunąć konta '%s'" #: ../src/ui-account.c:1557 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:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Czy na pewno chcesz trwale usunąć '%s'?" #: ../src/ui-account.c:1570 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:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Zarządzaj kontami" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "Zmień nazwę" #: ../src/ui-account.c:1917 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:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Ogólne" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "_Grupa:" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "_Instytucja:" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "N_umer:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Saldo _początkowe:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Waluta" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "to konto zostało _zamknięte" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Notatki:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "Automatyzacja" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "Domyślny szablon" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Raport wykluczeń" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "wyklucz z podsumowania _kont" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "wyklucz z _budżetu" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "wyklucz ze wszystkich _raportów" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "Różne" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Aktualny numer książeczki czekowej" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Książeczka czekowa _1:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Książeczka czekowa _2:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Limity salda" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "Debet przy:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 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:972 msgid "Next _date:" msgstr "Następna data" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "_Co:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "Więcej opcji" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Koniec tygodnia" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Zatrzymaj po:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "wpisów" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Zarządzaj zaplanowanymi transakcjami" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Szablon" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "Zaplanuj" #: ../src/ui-assign.c:344 msgid "Search" msgstr "Szukaj" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 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:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Wyłączony" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Jeżeli puste" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Zastąp" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Zarządzaj przypisaniami" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "Przeciągnij i upuść aby zmienić kolejność" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Warunek" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "_Szukaj:" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "W:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "Przypisania" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Pł_atność:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" "Ten asystent pomoże Ci w podstawowej konfiguracji\n" "nowego pliku HomeBank." #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "Wszystkie ustawienia mogą być później, w razie potrzeby, zmienione." #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" "Żadne zmiany nie będą wprowadzone dopóki nie klikniesz \"Zastosuj\"\n" "na końcu tego asystenta." #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" "HomeBank wyświetli tytuł w oknie głównym,\n" "może to być dowolna nazwa lub Twoje imię." #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Tytuł:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" "HomeBank obsługuje wiele walut. Bazowa waluta jest\n" "domyślną dla nowych kont i raportów." #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "Baza:" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "Skonfiguruj dodatkowe waluty" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "Dod_aj" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Nie znaleziono" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" "HomeBank może wstępnie wypełnić kategorie w Twoim języku\n" "jeżeli plik CSV jest dostępny i dostarczony przez społeczność." #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Plik ustawień" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" "HomeBank umożliwia importowanie Twoich kont z plików pobranych\n" "z instytucji finansowych lub możesz utworzyć swoje konto ręcznie." #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "Utwórz moje pierwsze konto" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Nazwa:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" "To jest strona potwierdzenia,\n" "\n" "naciśnij „Zastosuj” aby zastosować zmiany" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "Rozpocznij konfigurację" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "Opcje pliku" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "Wybierz waluty" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "Wybierz kategorie" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "Utwórz konto" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "Zakończ konfigurację pliku" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "Prawidłowy" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Nazwa" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Otwórz" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Rozpoznawane pliki" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "Pliki QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "Pliki OFX/QFX" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "Pliki CSV" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Wszystkie pliki" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "nowe konto łączne" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "nowe konto" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "pominięto" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr ", %d z %d transakcji" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "Impor_tuj %s do:" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "ten plik" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "to konto" #: ../src/ui-assist-import.c:1331 #, 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:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "Importuj transkacje z banku lub karty kredytowej" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 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:1422 msgid "Don't show this again" msgstr "Nie pokazuj ponownie" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Format daty:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "_Importuj opisy" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "Zamień opi_sy z odbiorcami" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Odwróć" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "Opis/Odbiorca wielką literą" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "podobne transakcje na koncie docelowym (możliwy duplikat)" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "dni" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "Uruchom automatyzację" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "Kliknij przycisk „Zastosuj” aby zaktualizować swoje konta." #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Witaj" #: ../src/ui-assist-import.c:2264 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:2269 msgid "Import" msgstr "Importuj" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Potwierdzenie" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Błąd formatu pliku" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "Czy na pewno wyczyścić pole?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "Kontynuacja wyzeruje wszystkie kwoty." #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Wyczyść" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Zarządanie budżetem" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "Importuj plik CSV" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "Eksportuj CSV" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Saldo:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "jest taki sam w każdym miesiącu" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "Wyczyść pole" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "jest inny w każdym miesiącu" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Ustawienia" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Wymuszaj monitorowanie tej kategorii" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Sty" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Lut" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Kwi" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Maj" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Cze" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Lip" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Sie" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Paź" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Lis" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "Średnia miesięczna" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "Dodaj kategorię" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "Z_astosuj" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "Kategoria nadrzędna" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "Nazwa kategorii" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 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:2350 msgid "Merge categories" msgstr "Scal kategorie" #: ../src/ui-budget-tabview.c:2377 #, 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:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "Usuń kategorię '%s'" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "Budżet (tabela)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "Dodaj kategorię" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "Usuń kategorię" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Scal" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Usuń nieużywane kategorie" #: ../src/ui-category.c:1598 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:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Zmień..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Przychód" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Scal kategorię '%s'" #: ../src/ui-category.c:1943 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:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Zarządzaj kategoriami" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "Usuń nieużywane" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "Przenieś/Scal" #: ../src/ui-category.c:2460 msgid "new category" msgstr "nowa kategoria" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Waluta" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Format" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Dostosuj" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Symbol" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "Umieść przed kwotą" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "Separator _dziesiętny:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "Miejsca dziesiętne:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "Dodaj niestandardową walutę" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "Aktualizuj online" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "Ustaw jako bazową" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Statystyka pliku" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "Transakcja" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Uaktualnij" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Wybierz walutę bazową" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "Waluta:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Eksportuj jako QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Importuj z pliku CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "Otwórz plik HomeBank" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "Otwórz plik kopii zapasowej HomeBank" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "Zapisz plik HomeBank jako" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Pliki HomeBank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "Plik kopii zapasowej" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "Wszystkie kopie zapasowe" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Zapisać zmiany przed zamknięciem?" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "Zamknij bez zapisywania" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Katalog:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Wybierz katalog" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Nazwa pliku:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Eksportuj jako PDF" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Eksportuj jako _PDF" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Wybierz spośród dostępnych transakcji..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Wybierz akcję:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "utwórz nową transakcję" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "wybierz istniejącą transakcję" #: ../src/ui-dialogs.c:1091 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:1049 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:1155 msgid "_Memo:" msgstr "_Opis:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Informacja:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "Rozróżnianie wielkości _liter" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Jakikolwiek status" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Jakikolwiek rodzaj" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Przelew" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Zawsze:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "pokazuj ostatnio dodane" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "pokazuj ostatnio zmienione" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "pokazuj przypomnienia" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "Daty" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "Płatności" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Kwoty" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "Teksty" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Kategorie" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Odbiorcy" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Właściwości pliku" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Zaplanowana transkacja" #: ../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" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "Pł." #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Usuń nieużywanych odbiorców" #: ../src/ui-payee.c:1194 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:1375 msgid "Default" msgstr "Domyślnie" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "Płatność:" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "Scal odbiorcę '%s'" #: ../src/ui-payee.c:1510 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:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "Usuń odbiorcę '%s'" #: ../src/ui-payee.c:1613 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:1710 msgid "Manage Payees" msgstr "Zarządzaj odbiorcami" #: ../src/ui-payee.c:1854 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:1949 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 "Wybierz domyślny folder plików kopii zapasowych HomeBank" #: ../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:1214 msgid "General options" msgstr "Ustawienia ogólne" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "Opcje OFX/QFX" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "Opcje QIF" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "Opcje CSV" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "(tylko import transakcji)" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "Separator:" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Domyślny filtr" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Ustawienia wykresów" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Schemat kolorów:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Opcje statystyk" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Pok_aż wg kwoty" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Pokaż udział p_rocentowy" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Pokaż _szczegóły" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Opcje budżetu" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Włącz" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Ustawienie:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "Interfejs użytkownika" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Język:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "Wyświtlanie _daty:" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Format:" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Rok podatkowy" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "Rozpoczyna się:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Jednostki miary" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Używaj _mil dla odległości" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Używaj _galonów dla objętości" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "dni" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "Ukryj uzgodnoine" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "Linie siatki" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Kolory kwot" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Użyj własnych kolorów" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Wydatek:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Przychód:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Ostrzeżenia:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "Włącz automatyczn_e kopie zapasowe" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "Liczba kopii do zachowa_nia:" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "Częstotliwość tworzenia kopii zapasowej to raz dziennie" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "_Portfele" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "Kopie zapasowe:" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "Pliki wymiany" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Import:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Eksport:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Start programu" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Pokazuj ekran startowy" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Otwórz ostatnio otwarty plik" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Księguj oczekujące zaplanowane transakcje" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Aktualizuj waluty online" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Raporty w oknie głównym" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "Resetuj wszystkie preferencje" #: ../src/ui-pref.c:2244 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:2265 msgid "Preferences" msgstr "Preferencje" #: ../src/ui-pref.c:2512 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:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" "Katalog kopii zapasowych zmienił się,\n" "może być konieczne skopiowanie plików „.bak” do tej nowej lokalizacji." #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Podział transakcji" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "Usuń wszystko" #: ../src/ui-split.c:966 msgid "Apply" msgstr "Zastosuj" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "Anuluj" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Kwota transakcji:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Kwota nieprzydzielona:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Suma rozdzielonych kwot:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "Uwaga: suma kwot podziału oraz łączna kwota transakcji nie są równe" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, 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:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "Zarządzaj etykietami" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "nowa etykieta" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Czy chcesz przerwać przelew wewnętrzny?\n" "\n" "Kontynuacja spowoduje usunięcie transakcji docelowej." #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Pokaż zaplanowane" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "Pok_aż wszystkie konta" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "Użyj szablonu" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "Dodaj i zachowaj" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Dodaj transakcję" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "Dodaj szablon" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Powiel transakcję" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "Edytuj transakcję" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "Edytuj szablon" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" "Można:\n" "- wpisać: d, d/m lub kompletną datę\n" "- użyć klawiszy strzałek + ctrl lub shift\n" "- pozostawić puste = dziś" #: ../src/ui-transaction.c:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "Kwota" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" "- wpisz kilka znaków dla autouzupełniania\n" "- wpisz nowy tekst aby utworzyć nowy wpis" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "Kate_goria:" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "O_pis:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "E_tykiety" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "Uwaga: znak (+/-) kwoty nie pasuje do kategorii" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "Zmień wiele transakcji" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "Czas" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "Trend" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "Wyłączony" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Dołącz" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Wyklucz" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(brak rodzaju)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Bank" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Gotówka" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Aktywa" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Karta kredytowa" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Pasywa" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Bieżący miesiąc" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Poprzedni miesiąc" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Bieżący kwartał" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Poprzedni kwartał" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Bieżący rok" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "Ubiegły rok" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Ostatnie 30 dni" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Ostatnie 60 dni" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Ostatnie 90 dni" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Ostatnich 12 miesięcy" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "niestandardowy" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Cały czas" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Możliwe" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Przed" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Po" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Wydatek i przychód" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "Nierozliczone" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Nieuzgodnione" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Brak statusu" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "Pon" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "Wt" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "Śr" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "Czw" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "Pt" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "Sob" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "Nd" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Styczeń" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Luty" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Marzec" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Kwiecień" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Czerwiec" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Lipiec" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Sierpień" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Wrzesień" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Październik" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Listopad" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Grudzień" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Wrz" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Szukaj..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Czek" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "Przelew Bankowy" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Karta debetowa" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Zlecenie stałe" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Płatność elektroniczna" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Depozyt" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Prowizja / opłata bankowa" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Polecenie Zapłaty" homebank-5.5.2/po/is.po0000664000175000017500000024453714021210662011634 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2012-02-14 11:43+0000\n" "Last-Translator: Rúnar Freyr Þorsteinsson \n" "Language-Team: Icelandic \n" "Language: is\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Engum færslum breytt" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Bæta við..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Erfa..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Breyta..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "" #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "" #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Útflytja CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Loka" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Breyta" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Færs_la" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Tól" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Sía..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Bæta við" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Bæta við nýrri færslu" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Erfa" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Erfa frá virkri færslu" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Breyta" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Breyta virkri færslu" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Drægni:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Gerð:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Í dag:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Velkomin(n) í HeimaBankann" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Opna _sýnishorna skrá" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 #, 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/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Skráarvilla" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Skrá" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Nýtt" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Opna..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "Vi_sta" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Afturkalla" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Hætta" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Stillingar" #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Skoða" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Tækjastika" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Sýsla" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "Rei_kningar" #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "Greiðendur..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Flokkar..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Eyðsluáætlun..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Gildingar..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Færslur" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Bæta við..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Sýna..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Skýrslur" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Tölulegar upplýsingar..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Hneigðar Tími..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "E_yðsluáætlun..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "sýna velkomin svarglugga..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Hjálp" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Innihald" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Tilkynna vandamál..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Þýða þennan hugbúnað..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_Um" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Opna skrá" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Opna fyrrum opnaða skrá" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Reikningur" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Greiðandi" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Flokkur" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Eyðsluáætlun" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Sýnir valdar reikningsfærslur" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Opna skýrslu yfir tölulegar upplýsingar" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Opna skýrslu yfir Hneigðar tíma" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Staða" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Opna skýrslu um eyðsluáætlun" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Framtíð" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Dagsetning" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Upplýsingar" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Upphæð" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Stillingar HeimaBanka" #: ../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:515 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:551 msgid "Show all" msgstr "" #: ../src/hub-account.c:556 msgid "By type" msgstr "" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Samtals" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:299 msgid "Other" msgstr "" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Í dag" #: ../src/list-operation.c:586 msgid "- split -" msgstr "" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Útgjöld" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Innkoma" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d undir %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Listi" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Skoða niðurstöður sem lista" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Lína" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Skoða niðurstöður sem línur" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Upplýsingar" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Víxla upplýsingum" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Endurhlaða" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Endurhlaða niðurstöðum" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Þysja X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Frá:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Til:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Reikningur" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Allt" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Engin" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Niðurstaða" #: ../src/rep-budget.c:852 msgid " over" msgstr "" #: ../src/rep-budget.c:858 msgid " left" msgstr "" #: ../src/rep-budget.c:861 msgid " under" msgstr "" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Skýrsla yfir kostnaðaráætlun" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Skoðað af:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Eyðsluáætlun:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Eyðsla:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Eyðsla" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Undirflokkur" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Merki" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Mánuður" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Ár" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Víxla skýringum" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Víxla hlutfalli" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "tölfræðileg skýrsla" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Innkoma" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Útgjöld" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Dagur" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Vika" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Fjórðungur" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Tímaskýrsla yfir hneigð" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "R_eikningur:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Flokkur" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Greiðandi" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Merkja:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Velja _allt" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Safna saman" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Mælir" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Bensín" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Verð" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Vegalengd" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Útflytja sem CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Skýrsla yfir kostnað ökutækis" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "Ökutæki:" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Mælir:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Eyðsla:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Bensínkostnaður" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Annar kostnaður:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Heildarkostnaður:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(ekkert)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Sýnilegt" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Villa" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Stjórna reikningum" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Almennt" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "N_úmer:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Hver_t" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Stjórna Úthlutun" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Grei_ðsla" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Fannst ekki" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Forstilla skrá" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Nafn:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF skrár" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX skrár" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV skrár" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Allar skrár" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Umhverfa" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "dagar" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Staðfesting" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Forsniðsvilla" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Stjórna Eyðsluáætlun" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Staða:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Maí" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Jún" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Júl" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Ágú" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Okt" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nóv" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Innkoma" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Stjórna Flokkum" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Aukastafir:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Flytja út sem QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Flytja inn frá CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "HeimaBanka skrár" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Upplýsingar" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "Stafréttur" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Færsla" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Knýja" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "Sýna 'bætt við'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "Sýna 'breytt'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:194 msgid "File properties" 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 "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "Stjórna Greiðendum" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Flokka eftir_upphæð" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Sýna _tíðni dálk" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Sýna_upplýsingar" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Virkja" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Forstilla:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Nota breytta liti" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Útgjöld:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Innkoma:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Varúð:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Flytja inn:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Flytja út:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Opna síðustu skrá sem var opnuð" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Eiginleikar" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Bæta við færslu" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Erfa færslu" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Meðtaka" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Útiloka" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Banki" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Reiðufé" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Eign" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Kreditkort" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Skuld" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Síðustu 30 dagar" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "12 síðustu mánuðir" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Allar dagsetningar" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Janúar" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Febrúar" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Mars" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Apríl" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Júní" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Júlí" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Ágúst" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Október" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Nóvember" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Desember" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Tékki" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Debit kort" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Fastapöntun" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Rafræn greiðsla" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Innlegg" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "" homebank-5.5.2/po/es.po0000664000175000017500000030744714021210660011626 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. # Alfredo José Quintero , 2020. # msgid "" msgstr "" "Project-Id-Version: HomeBank 3.2 alpha2\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2020-09-07 11:48+0000\n" "Last-Translator: Sergio Soriano Peiró \n" "Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 msgid "Free, easy, personal accounting for everyone" msgstr "Contabilidad personal fácil y gratis para todos" #: ../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 programa de software libre y gratuito 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á buscando una manera completamente libre y fácil de manejar su " "contabilidad personal, entonces HomeBank debería ser su elección." #: ../src/dsp-account.c:221 #, c-format msgid "There is %d group of similar transactions" msgstr "Hay %d grupo(s) de transacción(es) similares" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "No se han encontrado transacciones similares." #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "Compruebe el resultado de la transferencia interna" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "No se ha encontrado ninguna inconsistencia." #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" "Se encontraron inconsistencias: %d\n" "¿Quiere revisarlo y arreglarlo?" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "El importe de cada transacción será dividido por %.6f." #: ../src/dsp-account.c:394 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:396 msgid "_Convert" msgstr "_Convertir" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Ninguna transacción modificada" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "transacción cambiada: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Resultado de asignación automática" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" "¿Quieres crear una asignación con cada\n" "una de las transacciones seleccionadas?" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Crear" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" "¿Quieres crear una plantilla con cada\n" "una de las transacciones seleccionadas?" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" "¿Quieres eliminar cada una de\n" "las transacciones seleccionadas?" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Eliminar" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "¿Está seguro de que quiere cambiar el estado a Ninguno?" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Alguna transacción de su selección ya está conciliada." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Cambiar" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "¿Está seguro de que quiere cambiar el estado a Reconciliado?" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "_Cambiar" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d transacciones" #: ../src/dsp-account.c:2101 #, 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:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Añadir…" #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Heredar..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Editar..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "Edición _múltiple..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Estado" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Ninguno" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Liquidado" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Conciliado" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "Ver _divididas" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Crear plantilla..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "Crear asignación" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Eliminar…" #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "_Subir" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "_Bajar" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "_Cuenta" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Exportar QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Exportar CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Exportar como PDF..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "Imprimir…" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Cerrar" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Editar" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Copiar" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Pegar" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Pegar (hoy)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "_Transacción" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "_Encontrar" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "Herramien_tas" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Marcar duplicados..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "Comprobar transferencia interna" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Autoasignaciones" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filtro..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Convertir a Euro..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Añadir" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Añadir una transacción nueva" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Heredar" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Heredar desde la transacción activa" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Editar" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Edita la transacción activa" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Liquidado" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Cambia el estado de las transacciones seleccionadas a liquidado" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Conciliado" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Cambiar a conciliadas las transacciones seleccionadas" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "Edición múltiple" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Edite múltiple transacciones" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Crear plantilla" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "Eliminar" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Elimina transacción(es) seleccionada(s)" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "Arriba" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "Mover transacción arriba" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "Abajo" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "Mover transacción abajo" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(cerrado)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Todas las transacciones" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Actualizar" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Intervalo:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "Mostrar las transacciones futuras" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Tipo:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Estado:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Reiniciar" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Céntimo de Euro" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Hoy:" #: ../src/dsp-account.c:2764 msgid "Future:" msgstr "Futuro:" #: ../src/dsp-mainwindow.c:126 #, c-format msgid "Revert unsaved changes to file '%s'?" msgstr "¿Quiere 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 (.xhb~)" #: ../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:675 msgid "Welcome to HomeBank" msgstr "Bienvenido a HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "Abrir _último archivo abierto" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Crear un archivo _nuevo" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Abrir un archivo existente" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Abrir el archivo de _ejemplo" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Lea el _manual de HomeBank" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Configurar las _preferencias" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "Mostrar esta ventana la próxima vez" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" "Está a punto de abrir el archivo de respaldo «%s».\n" "\n" "¿Está seguro de que quiere hacer esto?" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "¿Abrir el archivo de respaldo?" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "_Abrir respaldo" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "No se puede abrir «%s». El archivo no existe.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Error desconocido" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "Error de E/S para el archivo «%s»." #: ../src/dsp-mainwindow.c:1132 #, 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:1135 #, 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 HomeBank\n" "y no puede cargarse en la versión actual del programa." #: ../src/dsp-mainwindow.c:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Error de archivo" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "El archivo ha sido modificado desde que lo leyó." #: ../src/dsp-mainwindow.c:1212 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:1213 msgid "S_ave Anyway" msgstr "_Guardar de todos modos" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "Borrar" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Archivo" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Nuevo" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Abrir..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Abrir _recientes" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Guardar" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Guardar _como…" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "Importar..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "Exportar como QIF ..." #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Deshacer" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "Restaurar copia de seguridad" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Propiedades..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Salir" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Preferencias..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Vista" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Barra de herramientas" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "Gasto _total" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "_Listas de transacciones" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro menor" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Gestionar" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "_Cuentas..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Beneficiarios..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Categorías..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Programación/Plantillas..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Presupuesto..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "Presupuesto (vista de tabla)..." #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Asignaciones..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Monedas..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "Etiquetas..." #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Transacciones" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Añadir..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Mostrar..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Mostrar todo ..." #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Configurar el planificador..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Añadir transacciones programadas" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Informes" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Estadísticas..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Tendencia temporal..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "_Balance..." #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "_Presupuesto..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "Coste del _vehículo..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Mostrar la pantalla de bienvenida..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Estadísticas de archivo..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Anonimizar..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "A_yuda" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Contenidos" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "Obtener ayuda en línea..." #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Buscar actualizaciones..." #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Notas de lanzamiento" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Informar de un problema…" #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Traducir esta aplicación…" #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_Acerca de" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "Nuevo" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Crear un archivo nuevo" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "Abrir" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Abrir un archivo" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Abrir un archivo usado recientemente" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "Guardar" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Guardar el fichero actual" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Cuenta" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "Gestionar las cuentas" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Beneficiario" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "Gestionar beneficiarios" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Categoría" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "Gestionar categorías" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "Programación/plantillas" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "Gestionar la programación/plantillas de transacciones" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Presupuesto" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "Gestionar el presupuesto" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Asignación" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "Gestionar las asignaciones automáticas" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "Mostrar" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Mostrar las transacciones de la cuenta seleccionada" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Añadir transacciones" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "Estadísticas" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Abrir informe de estadísticas" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "Tendencia temporal" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Abrir informe de la tendencia temporal" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Balance" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Abrir informe del balance" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Abrir el informe de presupuesto" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Coste del vehículo" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Abrir el informe del coste del vehículo" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "Ayuda" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "Donar" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "Donar al proyecto HomeBank" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Programadas" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Futuro" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Recordar" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "**PRECARGADO**" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(sin categoría)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "formato CSV no válido" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Fecha" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Info" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Memo" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Importe" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Desconocido" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "Kilómetros por cada litro" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "Millas por cada litro" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(ningún beneficiario)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" 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:865 #, c-format msgid "%d-q%d" msgstr "%d-T%d" #: ../src/homebank.c:70 msgid "Output version information and exit" msgstr "Mostrar la información de la versión y salir" #: ../src/homebank.c:73 msgid "[FILE]" msgstr "[ARCHIVO]" #: ../src/homebank.c:255 msgid "Browser error." msgstr "Error del explorador." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "No se puede mostrar la URL «%s»" #: ../src/homebank.c:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Opciones de HomeBank" #: ../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:515 msgid "Your accounts" msgstr "Sus cuentas" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Expandir todo" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Contraer todo" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Mostrar todo" #: ../src/hub-account.c:556 msgid "By type" msgstr "Por tipo" #: ../src/hub-account.c:557 msgid "By group" msgstr "Por grupo" #: ../src/hub-account.c:558 msgid "By institution" msgstr "Por institución" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Ninguna transacción para añadir" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "transacción añadida: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Comprobar el resultado de las transacciones previstas" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Transacciones programadas" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Asentar" #: ../src/hub-scheduled.c:562 msgid "maximum post date" msgstr "Fecha máxima 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:103 #, c-format msgid "Top %d spending" msgstr "Los %d gastos más grandes" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Otro" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Destino de su dinero" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "cuenta importada" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Total general" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Cuentas" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Hoy" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- división -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "- esto necesita una categoría -" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Estado" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Gasto" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Ingreso" #: ../src/list-operation.c:1491 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 "Pendiente" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:403 msgid "Next date" msgstr "Siguiente fecha" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d bajo %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Lista" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Ver los resultados como una lista" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Línea" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Ver los resultados como líneas" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Detalle" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Mostrar _detalles" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Actualizar" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Actualizar resultados" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Informe del balance" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Mostrar" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "Inter_valo:" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "Mostrar línea vacía" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Ampliar X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Desde:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Hasta:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Nombre de la cuenta" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Seleccionar:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Todos" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Ninguno" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Presupuesto para %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Resultado" #: ../src/rep-budget.c:852 msgid " over" msgstr " sobre" #: ../src/rep-budget.c:858 msgid " left" msgstr " queda" #: ../src/rep-budget.c:861 msgid " under" msgstr " bajo" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "Barras" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "Ver los resultados como un gráfico de barras apiladas" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "Importar el _resultado al portapapeles" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "Importar el _resultado a CSV" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "Importar el _detalle al portapapeles" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "Importar el _detalle a CSV" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Informe de presupuesto" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Ver por:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "Sólo fuera de presupuesto" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Resultado:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Presupuesto:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Gasto:" #: ../src/rep-budget.c:1422 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:1423 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:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Gasto" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Subcategoría" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Etiqueta" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Mes" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Año" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s por %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "Demasiadas columnas para mostrar" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" "Por favor seleccione un intervalo más largo y/o un rango de fechas más corto" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "Columna" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Ver los resultados en columnas" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "Gráfico circular" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Ver resultados en gráfico circular" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "Leyenda" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Cambiar leyenda" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "Porcentaje" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Mostrar tasa" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "Filtro" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Editar filtro" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Informe estadístico" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "Modo:" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Ingresos:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Gastos:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "Promedio" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Día" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Semana" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Trimestre" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "Semestre" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s Vencidas" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Promedio: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Informe de tendencia temporal" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Cuenta:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Categoría:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Beneficiario:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Etiqueta:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Seleccionar _todo" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Acumulado" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Contador" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Carburante" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Precio" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "Exportar" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Exporta como CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Informe de coste del vehículo" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "Vehí_culo:" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Contador:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Consumo:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Coste del carburante:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Otros costes:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Coste total:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(ninguno)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Visible" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Cancelar" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_Aceptar" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Nombre de la cuenta" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Error" #: ../src/ui-account.c:1505 #, 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:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "No se puede eliminar la cuenta «%s»" #: ../src/ui-account.c:1557 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:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "¿Está seguro de que quiere eliminar definitivamente la cuenta «%s»?" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "Si elimina una cuenta, no se podrá recuperar." #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Gestionar cuentas" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "Renombrar" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Arrastre y suelte para cambiar el orden\n" "Haga doble clic para renombrar" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "General" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "_Grupo:" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "_Institución:" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "N_úmero:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Saldo _inicial:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Moneda:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "esta cuenta fue _cerrada" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Observaciones:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "Comportamiento" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "Automatizar" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "_Plantilla por defecto:" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Excluir de los informes" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "excluir cuenta de resultados" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "excluir del _presupuesto" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "excluir de cualquier info_rme" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "Otros" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Numero actual de cheque" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Chequera _1:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Chequera _2:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Límites del balance" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "_Sobregiro en la cuenta:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" "Si elimina una transacción programada/plantilla, no se podrá recuperar." #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "Próximo _día:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Ca_da:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "Más opciones" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Fin de semana:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Detenerse después de:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "asientos" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Gestionar transacciones programadas/plantillas" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Plantilla" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "_Planificar" #: ../src/ui-assign.c:344 msgid "Search" msgstr "Buscar" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "Notas" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "(regla %d)" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "Si elimina una asignación, se perderá definitivamente." #: ../src/ui-assign.c:718 #, fuzzy, c-format msgid "This search text already exists at position %d" msgstr "Este texto de búsqueda ya existe" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Desactivado" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Si está vacio" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Sobrescribir" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Administrar asignaciones" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "Arrastre y suelte para cambiar el orden" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Condición" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "_Buscar:" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "Distinguir entre mayúsculas y minúsculas" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "Expresión regular" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "_En:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "Asignaciones" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "_Pago:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" "Este asistente le ayudará a establecer la configuración\n" "mínima para un archivo nuevo de HomeBank." #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "La configuración puede modificarse posteriormente." #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" "No se aplicarán los cambios hasta que haga clic en «Aplicar»\n" "al final de este asistente." #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" "HomeBank mostrará un título para la ventana principal,\n" "puede ser cualquier etiqueta o su nombre." #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Título:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" "HomeBank admite múltiples monedas. La moneda base es\n" "el valor predeterminado para nuevas cuentas e informes." #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "Base:" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "Configurar monedas adicionales" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Añadir" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "No se ha encontrado" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" "HomeBank puede autocompletar las categorías en su idioma\n" "si existe un archivo CSV proporcionado por la comunidad." #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "Configurar categorías para mi idioma" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Archivo predeterminado:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" "HomeBank le permite importar sus cuentas desde archivos\n" "descargados de instituciones financieras, o puede crear su cuenta " "manualmente." #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "Crear mi primera cuenta" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Nombre:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" "Esta es una página de confirmación,\n" "\n" "pulse «Aplicar» para aplicar los cambios" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "Iniciar configuración de archivo" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "Opciones de archivo" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "Elegir monedas" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "Elegir categorías" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "Crear cuenta" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "Finalizar configuración de archivo" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "Válido" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Nombre" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Abrir" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Archivos conocidos" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "Archivos QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "Archivos OFX/QFX" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "Archivos CSV" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Todos los archivos" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "nueva cuenta global" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "nueva cuenta" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "omitido" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr ", %d de %d transacciones" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "Importar %s en:" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "este fichero" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "esta cuenta" #: ../src/ui-assist-import.c:1331 #, 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:1340 #, 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:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d transacciones, %d seleccionadas" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "Importar transacciones desde un banco o una tarjeta de crédito" #: ../src/ui-assist-import.c:1392 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 tarjeta de crédito, en los " "siguientes formatos:" #: ../src/ui-assist-import.c:1398 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:1418 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:1422 msgid "Don't show this again" msgstr "No mostrar esto de nuevo" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" "Hay demasiadas cuentas en los archivos seleccionados,\n" "use el botón Atrás para seleccionar menos archivos." #: ../src/ui-assist-import.c:1662 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:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Orden de fecha:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "_Importar campos memos" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "_Intercambiar campo memo por campo beneficiario" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "_Nombre OFX:" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "_Memo OFX:" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Invertir" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "_Convertir a mayúsculas campos memo/beneficiario" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "Transacción similar en cuenta destino (posiblemente duplicada)" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "días" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "Ejecutar de forma automática" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "1) Rellenar con beneficiario por defecto" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "2) Ejecutar reglas de asignación automáticas" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "Pulsa «Aplicar» para actualizar las cuentas." #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Bienvenido/a" #: ../src/ui-assist-import.c:2264 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:2269 msgid "Import" msgstr "Importar" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Confirmación" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Error en el formato del archivo" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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 documentación para más " "detalles." #: ../src/ui-budget.c:912 msgid "Are you sure you want to clear input?" msgstr "¿Está usted seguro de borrar la entrada?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "Si continua, cada cantidad será reiniciada a 0." #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Limpiar" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Gestionar presupuesto" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "Importar CSV" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "_Exportar CSV" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Balance:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "es lo mismo cada mes" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "_Borrar entrada" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "es diferente por mes" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Opciones" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Forzar el monitoreo de esta categoría" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Ene" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Abr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "May" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Ago" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "Sep" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Oct" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "Total anual" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "Promedio mensual" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "Mensual" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "Añadir una categoría" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "_Aplicar" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "Categoría padre" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "Nombre de la categoría" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 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" "Cualquier transacción que utilice esta categoría, será establecido como (sin " "categoría)" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "Combinar categorías" #: ../src/ui-budget-tabview.c:2377 #, 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:2384 msgid "Target category" msgstr "Categoría destino" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "_Eliminar la categoría «%s»" #: ../src/ui-budget-tabview.c:2507 #, 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:2754 msgid "Budget (table view)" msgstr "Presupuesto (vista de tabla)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "Añadir categoría" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "Eliminar categoría" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Combinar" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "Borrar entrada" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Eliminar categorías sin utilizar" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "¿Está seguro que quiere eliminar\n" "permanentemente las categorías\n" "sin utilizar?" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Editar…" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Ingreso" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "Cambiar tipo de categorías hijas" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Combinar categorías «%s»" #: ../src/ui-category.c:1943 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:1952 msgid "Include _subcategories" msgstr "Incluir _subcategorías" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Gestionar categorías" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "_Eliminar sin utilizar" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "Mover/combinar" #: ../src/ui-category.c:2460 msgid "new category" msgstr "nueva categoría" #: ../src/ui-category.c:2472 msgid "new subcategory" msgstr "nueva subcategoría" #: ../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ímbolo" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Moneda" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Formato" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Personalizar" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Símbolo:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "Es _prefijo" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "Separador _decimal:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Número de decimales:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 msgid "_Grouping char:" msgstr "Separador de millares:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Selecciona la moneda base" #: ../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:1225 msgid "Add a custom _currency" msgstr "Añadir una divisa personalizada" #: ../src/ui-currency.c:1238 msgid "_ISO:" msgstr "_ISO:" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Error al actualizar en línea" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "Si elimina una moneda, se perderá permanentemente." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Cambiar 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 se olvide de actualizarlo" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Monedas" #: ../src/ui-currency.c:1720 msgid "Update online" msgstr "Actualización en línea" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "Establecer como base" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Estadísticas del archivo" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "Transacción" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Actualizar" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Seleccione una moneda base" #: ../src/ui-dialogs.c:404 msgid "" "Starting v5.1, HomeBank can manage several currencies\n" "if the currency below is not correct, please change it:" msgstr "" "Iniciando la versión 5.1, HomeBank puede gestionar varias monedas\n" "si la moneda de abajo no es correcta, por favor, cámbiela:" #: ../src/ui-dialogs.c:409 msgid "Currency:" msgstr "Moneda:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Exporta como QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Importar desde CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "Abrir archivo HomeBank" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "Abrir copia de seguridad de HomeBank" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "Guardar como archivo de HomeBank" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Archivos de HomeBank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "Copia de seguridad" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "Todas las copias de seguridad" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "¿Guardar cambios en el archivo antes de cerrar?" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Si no los guarda, los cambios se perderán definitivamente.\n" "Número de cambios: %d." #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "Cerrar _sin guardar" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "Exportar como _CSV" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Carpeta:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Elegir una carpeta" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Nombre del archivo:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "Detallar transacciones divididas" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" "Al exportar desde \"Mostrar todas las transacciones\", con la columna de " "cuenta\n" "el fichero resultante no está en formato CSV de HomeBank." #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Exportar como PDF" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Exportar como _PDF" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" "En HomeBank, la impresión está orientada hacia una actitud ecológica\n" "y recomienda el uso del formato digital PDF. " #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Selecionar entre las transacciones posibles..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Seleccionar una acción:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "Crear una nueva transacción" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "seleccione una transacción existente" #: ../src/ui-dialogs.c:1091 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:1049 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:1155 msgid "_Memo:" msgstr "_Memo:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Info:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "_Sensible a mayúsculas" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Cualquier estado" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Cualquier tipo" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Transferencia" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Forzar:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "mostrar «Añadido»" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "mostrar «Editado»" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "mostrar «Recordatorio»" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "mostrar «Vacío»" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "Fechas" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "Pagos" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Importes" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "Textos" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Categorías" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Beneficiarios" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Propiedades del archivo" #: ../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 por adelantado de la fecha actual" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "Pago." #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Elimina beneficiario sin utilizar" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "¿Seguro que desea eliminar\n" "permanentemente el beneficiario sin utilizar?" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "Predeterminado" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "Tipo de _pago:" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "Combinar beneficiarios «%s»" #: ../src/ui-payee.c:1510 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:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "_Eliminar el beneficiario «%s»" #: ../src/ui-payee.c:1613 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:1710 msgid "Manage Payees" msgstr "Gestionar beneficiarios" #: ../src/ui-payee.c:1854 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:1949 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 "Añadir a la memoria" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "Añadir 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 "" "Elegir una carpeta predeterminada para las copias de seguridad de 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:1214 msgid "General options" msgstr "Opciones generales" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "Opciones OFX/QFX" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "Opciones QIF" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "Opciones CSV" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "(sólo transacción importada)" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "Separador:" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Filtro inicial" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Opciones de graficos" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Esquema de color:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Opciones de las estadísticas" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Mostrar por _importe" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Mostrar _columna de porcentaje" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Mostrar _detalles" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Opciones de presupuestos" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Activar" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Predeterminado:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "Interfaz de usuario" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Idioma:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "Mostrar _fechas:" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Formato:" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Año fiscal" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "Inicia en:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Unidades de medida" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Usar _millas para metros" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Usar _galón para combustible" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "Días hacia delante" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "Ocultar conciliadas" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "Mostrar siempre recordatorios" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "Siempre mostrar vacío" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "Incluir transacciones recordadas en balances" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "días seguidos" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "Línea de _rejilla:" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "Preferencias de GTK" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "Sobrescribir" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "Tamaño de _fuente:" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Color de los valores" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Utiliza colores personalizados" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Gasto:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Ingreso:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Advertencia:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "_Habilitar copias de seguridad automáticas" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "_Número de copias de seguridad a mantener:" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "La copia de seguridad se hace una vez al día" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "_Carteras:" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "_Backups:" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "Intercambiar ficheros" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Importar:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Exportar:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Inicio de programa" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Mostrar pantalla de inicio" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Cargar el último achivo abierto" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Añadir transacciones programadas pendientes" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Actualiza monedas en línea" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Ventana principal de informes" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "Restablecer todas las preferencias" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" "¿Está seguro de que quiere restablecer\n" "todas las preferencias a sus valores\n" "por defecto?" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Preferencias" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Debe reiniciar Homebank\n" "para que el cambio de lenguaje tenga efecto." #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" "El directorio de copias de seguridad ha cambiado,\n" "es posible que deba copiar el archivo '.bak' a esta nueva ubicación." #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Dividir transacción" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "Eliminar todo" #: ../src/ui-split.c:966 msgid "Apply" msgstr "Aplicar" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "Cancelar" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Importe de la transacción:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Sin asignar:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Suma de divisiones:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" "Advertencia: la suma de divisiones y el monto de la transacción no coinciden" #: ../src/ui-split.c:1022 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-tag.c:602 #, 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" "de «%s» a «%s» porque\n" "este nombre ya existe." #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "Combinar etiqueta «%s»" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" "Las transacciones asignadas a esta etiqueta\n" "se moverán a la etiqueta seleccionada abajo." #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "_Eliminar la etiqueta «%s»" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" "Esta etiqueta está en uso.\n" "Será eliminada de cualquier transacción que la use." #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "Gestionar etiquetas" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "nueva etiqueta" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "Transacción de la cuenta %s creada." #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "¿Quiere deshacer la transferencia interna?\n" "\n" "Si continua se eliminará la transacción de destino." #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "_Detener" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Mostrar _programadas" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "Mostrar tod_as las cuentas" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "Usar una plantilla" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "Añadir y _mantener" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Añadir transacción" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "Añadir plantilla" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Heredar transacción" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "Heredar plantilla" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "Editar transacción" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "Editar plantilla" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "Ca_ntidad:" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "_Para:" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "Libro_2" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 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:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "Cate_goría:" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "M_emo:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "E_tiquetas:" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "Advertencia: la cantidad y el signo de la categoría no concuerdan" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "Editar transacciones múltiples" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" "Teclear como\n" "transferencia" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "Tiempo" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "Tendencia" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "Off" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Incluir" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Excluir" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(sin tipo)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Banco" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Efectivo" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Activo" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Tarjeta de crédito" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Pasivo" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Este mes" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Último mes" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Este trimestre" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Último trimestre" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Este año" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "Último año" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Últimos 30 días" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Últimos 60 días" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Últimos 90 días" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Últimos 12 meses" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "Personalizado" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Todas las fechas" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "Vacío" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Posible" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Antes" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Después" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Gasto e ingreso." #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "No aprobado/a" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "No conciliado" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Sin categoría" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "Lunes" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "Martes" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "Miércoles" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "Jueves" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "Viernes" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "Sábado" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "Domingo" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Enero" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Febrero" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Marzo" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Abril" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Junio" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Julio" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Agosto" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Septiembre" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Octubre" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Noviembre" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Diciembre" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Buscar..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Cheque" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "Transferencia bancaria" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Tarjeta de débito" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Orden de posición" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Pago electrónico" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Depósito" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Honorarios FI" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Cargo Directo" homebank-5.5.2/po/cs.po0000664000175000017500000027347414021210657011634 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2019-02-12 17:18+0000\n" "Last-Translator: Pavel Borecki \n" "Language-Team: Czech \n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "Je zde %d skupina podobných transakcí" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Nenalezeny žádné podobné transakce!" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Nebyla nalezena žádná neshoda!" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Částka každé transakce bude vydělena %.6f." #: ../src/dsp-account.c:394 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:396 msgid "_Convert" msgstr "_Převést" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Nebyla změněna žádná transakce" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "převod změněn: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Výsledek automatického přiřazení" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Smazat" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "Opravdu chcete změnit stav na Žádný?" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 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:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Změnit" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Opravdu přepnout do stavu Schváleno?" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "Přepnou_t" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d transakcí" #: ../src/dsp-account.c:2101 #, 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:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "Přid_at…" #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "Odvod_it…" #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Upravit…" #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "_Vícenásobná úprava…" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Stav" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Nic" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Zaplaceno" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Schváleno" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Vytvořit šablonu…" #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Smazat…" #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "Úč_et" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Exportovat QIF…" #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Export CSV…" #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Exportovat do PDF…" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Zavřít" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Úpravy" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Přev_od" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "Nás_troje" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Označit duplicity…" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Automatické přiřazení" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filtr…" #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Převést na Euro…" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Přidat" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Přidat novou transakci" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Odvodit" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Vytvořit podle stávající transakce" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Upravit" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Upravit aktivní transakci" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Zaplaceno" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Přepnout vybrané transakce do stavu Zaplaceno" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Schváleno" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Přepnout vybrané transakce do stavu Schváleno." #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Upravit více transakcí" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Vytvořit šablonu" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Smazat vybraný převod(y)" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(uzavřeno)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s – HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Všechny transakce" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Načíst znovu" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Rozsah:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "Vyp/zap. zobrazování budoucích transakcí" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Typ:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Stav:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Reset" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Euro drobné" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Dnes:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Vítejte v HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Vytvořit _nový soubor" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Otevřít existující soubor" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Otevřít _ukázkový soubor" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Přečíst si příručku k Ho_meBank" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Nastavit _předvolby" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "_otevřít zálohu" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Nedaří se otevřít „%s“, soubor neexistuje.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Neznámá chyba" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "Vst/výstup. chyba pro soubor „%s“." #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Soubor „%s“ není platným souborem HomeBank." #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Chyba souboru" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "Soubor byl upraven od jeho posledního čtení." #: ../src/dsp-mainwindow.c:1212 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:1213 msgid "S_ave Anyway" msgstr "_Přesto uložit" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Soubor" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Nový" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Otevřít…" #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Otevřít _nedávné" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Uložit" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Uložit j_ako…" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "Importovat…" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "Exportovat jako QIF…" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Vrátit změny" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "Obnovit ze zálohy" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Vlastnosti…" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Ukončit" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Předvolby…" #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Zobrazit" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "Panel nás_trojů" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "Hlavní _výdaje" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro drobné" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Spravovat" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "Úč_ty…" #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Příjemci…" #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Kategorie…" #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Naplánované/šablona…" #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Rozpočet…" #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Přiřazení…" #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Měny…" #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Transakce" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Přidat…" #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Zobrazit…" #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Zobrazit vše…" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Nastavit naplánované…" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Odeslat naplánované" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Sestavy" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Statistika…" #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Trend v čase…" #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "Ro_zpočet…" #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "Náklady na _vozidlo…" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Zobrazit uvítací dialog…" #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Statistiky souboru…" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Anonymizovat…" #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Nápověda" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Obsah" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Zjistit dostupnost případných aktualizací…" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Poznámky k vydání" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Nahlásit problém…" #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Překládat texty této aplikace…" #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "O _aplikaci" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Vytvořit nový soubor" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Otevřít soubor" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Otevřít nedávno používaný soubor" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Uložit právě otevřený soubor" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Účet" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Příjemce" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Kategorie" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Rozpočet" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Přiřazení" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Zobrazit transakce zvoleného účtu" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Přidat transakce" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Otevřít statistiky" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Otevřít výkaz trend v čase" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Bilance" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Otevřít přehled zůstatků" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Otevřít zprávu o rozpočtu" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Náklady na vozidlo" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Otevřít přehled nákladů na vozidlo" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Naplánováno" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Budoucí" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Připomenout" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(žádná kategorie)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "neplatný CSV formát" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Datum" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Info" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Poznámka" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Částka" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Neznámý" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f L" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "mil/l" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(žádný příjemce)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Nastavení HomeBank" #: ../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:515 msgid "Your accounts" msgstr "Vaše účty" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Rozbalit vše" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Sbalit vše" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Zobrazit vše" #: ../src/hub-account.c:556 msgid "By type" msgstr "Podle typu" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Žádná transakce pro přidání" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "přidána transakce: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Zkontrolujte výsledek naplánovaných transakcí" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Celkem" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Plánované transakce" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Odeslat" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "Největší %d výdaje" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Jiné" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Kam odcházejí vaše peníze" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "importovaný účet" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Celkový součet" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Účty" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Dnes" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- rozděleno -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Stav" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Výdaje" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Příjmy" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Příští datum" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d pod %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Seznam" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Zobrazit výsledky jako seznam" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Čárový" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Zobrazit výsledky jako čárový graf" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Podrobnosti" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Zobrazit/skrýt podrobnosti" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Načíst znovu" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Načíst výsledky znovu" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Přehled zůstatku" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Zobrazení" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Přiblížení (osa X):" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Od:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Do:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Název účtu" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Vybrat:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Vše" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Žádný" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Rozpočet na %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Výsledek" #: ../src/rep-budget.c:852 msgid " over" msgstr " přes" #: ../src/rep-budget.c:858 msgid " left" msgstr " zbývá" #: ../src/rep-budget.c:861 msgid " under" msgstr " pod" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 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:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "Výsledek do sch_ránky" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "_Výsledek do CSV" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "_Podrobnosti do schránky" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "_Podrobnosti do CSV" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Zpráva o rozpočtu" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "Zobrazit podle:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "Pouze mimo rozpočet" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Výsledek:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Rozpočet:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Utraceno:" #: ../src/rep-budget.c:1422 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:1423 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:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Utraceno" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Podkategorie" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Štítek" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Měsíc" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Rok" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s od %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Zobrazit výsledky jako sloupec" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Zobrazit výsledky jako kruhový graf" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Zobrazit/skrýt popisek" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Zobrazit/skrýt poměr" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Upravit filtr" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Statistiky" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Příjem:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Výdaje:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Den" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Týden" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Čtvrtletí" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s v průběhu doby" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Průměr: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Zpráva o trendu v čase" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "Úče_t:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Kategorie:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Příjemce platby:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "Š_títek:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Vybr_at vše" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Shlukovat" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Metr" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Palivo" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Cena" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Vzdálenost" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Exportovat jako CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Přehled nákladů na vozidlo" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "Vozidlo:" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Počítadlo kilometrů:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Spotřeba:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Náklady na palivo:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Ostatní náklady:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Celková cena:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(nic)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Viditelný" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Storno" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Název účtu" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Chyba" #: ../src/ui-account.c:1505 #, 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:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "Účet „%s“ nelze smazat" #: ../src/ui-account.c:1557 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:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Opravdu chcete nadobro smazat „%s“?" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "Pokud účet smažete, bude nadobro ztracen." #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Správa účtů" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 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:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Obecné" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "Č_íslo:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Počáteční_zůstatek:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Měna:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "tento účet byl _uzavřen" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Poznámky:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "Výchozí _Šablona:" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Vynechání z výkazu" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "vynechat z přehledu _účtu" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "vynechat z _rozpočtu" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "vynechat ze všech _sestav" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Aktuální počet šeků" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Šeková knížka _1:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Šeková knížka _2:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Limity zůstatku" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "Přečerpání na:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 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:972 msgid "Next _date:" msgstr "Příští _datum:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Každý:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Konec týdne:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Ukončit po:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "příspěvky" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Spravovat naplánované transakce / šablony transakcí" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Šablona" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 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:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Vypnuto" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Pokud je prázdný" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Přepsat" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Spravovat přiřazení" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Podmínka" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Platba:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "Přid_at" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Nenalezeno" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Soubor s přednastaveními:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Název:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "Platný" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Název" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Otevřít" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Podporované soubory" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF soubory" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX soubory" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV soubory" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Všechny soubory" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "nový globální účet" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "nový účet" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "přeskočeno" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr ", %d z %d transakcí" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "_Importovat %s do:" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "tento soubor" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "tento účet" #: ../src/ui-assist-import.c:1331 #, 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:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "Importovat transakce z banky nebo kreditní karty" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 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:1422 msgid "Don't show this again" msgstr "Znovu už toto nezobrazovat" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 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:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Pořadí v datu:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "_Importovat poznámky" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "Prohodit poznámky a příjemce" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "OFX _Název:" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "OFX pozná_mka:" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Invertovat" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "Podobná transakce v cílovém účtu (možná duplicita)" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "dnů" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Vítejte" #: ../src/ui-assist-import.c:2264 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:2269 msgid "Import" msgstr "Import" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Potvrzení" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Chyba formátu souboru" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "Opravdu chcete položku smazat?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 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:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Vyčistit" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Spravovat rozpočet" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "_Importovat CSV" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "E_xportovat CSV" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Zůstatek:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "Vyčistit vstup" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Možnosti" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Vynutit sledování této kategorie" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Led" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Úno" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Bře" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Dub" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "květen" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Čer" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Čec" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Srp" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Říj" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Lis" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 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:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "_Vymazat kategorii „%s“" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Sloučit" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Smazat nepoužité kategorie" #: ../src/ui-category.c:1598 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:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Upravit…" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Příjem" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Sloučit s kategorií „%s“" #: ../src/ui-category.c:1943 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:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Spravovat kategorie" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "_Smazat nepoužívané" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "nová kategorie" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Měna" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Formát" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Přizpůsobit" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Symbol:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "Zobrazovat před částkou" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "_Desetinná značka:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "D_esetinná místa:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "Přidat vlastní _měnu" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "Aktualizace online" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "Nastavit jako základ" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Statistika souborů" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "Transakce" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Přejít na novější verzi" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Zvolit základní měnu" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "Měna:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Exportovat jako QIF data" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Importovat z CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "Otevřít HomeBank soubor" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "Otevřít HomeBank záložní soubor" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "Uložit HomeBank soubor jako" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Soubory HomeBank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "Záložní soubor" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "Všechny zálohy" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Před ukončením, uložit změny do souboru?" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "Zavřít _bez uložení" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Složka:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Vyberte složku" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Název souboru:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Exportovat do PDF" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Exportovat do _PDF" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Vybrat z možných transakcí…" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Vyberte akci:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "vytvořit novou transakci" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "vybrat existující transakci" #: ../src/ui-dialogs.c:1091 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:1049 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:1155 msgid "_Memo:" msgstr "Pozná_mka:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Informace:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "Rozlišovat malá/VELKÁ pí_smena" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Jakýkoli" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Jakýkoli" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Převod" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Vynutit:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "zobrazit „Přidané“" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "zobrazit „Upravené“" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "zobrazit „Připomenout“" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "Data" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "Platby" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Částky" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "Texty" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Kategorie" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Příjemci" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Vlastnosti souboru" #: ../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" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Smazat nepoužité příjemce" #: ../src/ui-payee.c:1194 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:1375 msgid "Default" msgstr "Výchozí" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "P_latba:" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "Sloučit s příjemcem „%s“" #: ../src/ui-payee.c:1510 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:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "_Smazat příjemce „%s“" #: ../src/ui-payee.c:1613 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:1710 msgid "Manage Payees" msgstr "Spravovat příjemce" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "Možnosti OFX/QFX" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "Možnosti QIF" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Výchozí filtr" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Možnosti grafů" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Barevné schéma:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Nastavení statistik" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Zobr_azit podle částky" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Zob_razit sloupec kurz" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Zobrazit po_drobnosti" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Nastavení rozpočtu" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "Z_apnout" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Předvolba:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "Uživatelské rozhraní" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Jazyk:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "Zobrazení _datumu:" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Formát:" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Daňový rok" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "Začíná:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Měrné jednotky" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Vzdálenost uvádět v _mílích" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Objem paliva uvádět v _galonech" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "dní dopředu" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "dny" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "_Čáry mřížky:" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Barvy částek" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Používat vlastní barvy" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Výdej:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Příjem:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Varování:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "_Zapnout automatické zálohy" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "Počet záloh, které uchovávat:" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "Frekvence zálohování je jednou denně" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "_Peněženky:" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "Soubory pro výměnu" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Import:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Export:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Spuštění programu" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Zobrazovat spouštěcí obrazovku" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Načíst minule otevřený soubor" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Odeslat neuskutečněné naplánované transakce" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Aktualizovat měny online" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Výkazy v hlavním okně" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "Resetovat všechna nastavení" #: ../src/ui-pref.c:2244 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:2265 msgid "Preferences" msgstr "Předvolby" #: ../src/ui-pref.c:2512 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:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Rozdělit částku" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "Použít" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "Storno" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Částka:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Nepřiřazené:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Součet položek:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Zobrazit _naplánované" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "Zobr_azit všechny účty" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Přidat transakci" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Odvozená transakce" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "Po_známka:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "Upozornění: částka a znaménko kategorie (+ nebo -) nesouhlasí" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "Hromadná úprava transakcí" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Zahrnout" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Vynechat" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(žádný typ)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Banka" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Hotovost" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Aktiva" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Kreditní karta" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Pasiva" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Tento měsíc" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Minulý měsíc" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Toto čtvrtletí" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Minulé čtvrtletí" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Tento rok" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "Minulý rok" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Uplynulých 30 dnů" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Posledních 60 dnů" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Posledních 90 dnů" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Posledních 12 měsíců" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Všechna data" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Možné" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Před" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Po" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Příjmy a výdaje" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "Neschváleno" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Nevyrovnaný" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Bez kategorie" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "leden" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "únor" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "březen" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "duben" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "červen" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "červenec" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "srpen" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "září" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "říjen" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "listopad" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "prosinec" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Zář" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Hledat…" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Šek" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Debetní karta" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Trvalý příkaz" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Elektronická platba" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Vklad" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Bankovní poplatek" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Inkaso" homebank-5.5.2/po/tr.po0000664000175000017500000030255614021210665011645 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2020-05-20 00:46+0000\n" "Last-Translator: İbrahim Sanduvaç \n" "Language-Team: Turkish \n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "Benzer hareketlerin%d grubu var" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Benzer bir işlem bulunamadı!" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "İç transfer sonucunu kontrol et" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Tutarsızlık bulunamadı !" #: ../src/dsp-account.c:320 #, 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çirmek ve düzeltmek ister misiniz?" #: ../src/dsp-account.c:390 #, 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:394 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:396 msgid "_Convert" msgstr "_Dönüştür" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Değişen işlem yok" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "hareket değiştirildi: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Otomatik atama sonuçları" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" "Seçilen her bir işlem için \n" "bir görev oluşturmak istiyor musunuz?" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Oluştur" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" "Seçilen her bir işlem için\n" "bir şablon oluşturmak istiyor musunuz?" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" "Seçilmiş her bir işlemi\n" "silmek istiyor musunuz?" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Sil" #: ../src/dsp-account.c:1677 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:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Seçiminizdeki bir işlem zaten Bağdaşık." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Değiştir" #: ../src/dsp-account.c:1735 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:1737 msgid "_Toggle" msgstr "_Geçiş" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d işlem" #: ../src/dsp-account.c:2101 #, 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:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Ekle..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Devral..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Düzenle..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "_Çoklu değiştir..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Durum" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Hiçbiri" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Temizlendi" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Bağdaşık" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Taslak oluştur..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "Görev oluştur" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Sil..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "_Üst" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "_Aşağı" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "H_esap" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Dışa Aktar QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Dışa Aktar CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Dışa Aktar PDF..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "Yazdır..." #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Kapat" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Düzenle" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Kopyala" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Yapıştır" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Yapıştır (bugün)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "İşle_m" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "_Bul" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Araçlar" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Yineleneni işaretle..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "İç transferi kontrol et" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Otomatik tahsis" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Süzgeç..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Euro'ya çevir..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Ekle" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Yeni bir işlem ekle" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Devral" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Etkin işlemden devral" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Düzenle" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Etkin işlemleri düzenle" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Temizlendi" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Seçilen işlem(ler) için temizlenmiş olana geçiş yap" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Bağdaşık" #: ../src/dsp-account.c:2521 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:2525 msgid "Edit Multiple" msgstr "Çoklu düzenle" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Çoklu hareket düzenle" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Şablon oluştur" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "Sil" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Seçilen işlemleri sil" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "Yukarı" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "İşlemi yukarı taşı" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "Aşağı" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "İşlemi aşağıya taşı" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(kapandı)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s -HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Tüm işlemler" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Yenile" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Aralık:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "İleri tarihli işlemleri göster/gizle" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Tür:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Durum:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Sıfırla" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Euro _kuru" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Bugün:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "HomeBank'a hoş geldiniz" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Ye_ni bir dosya oluştur" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "Var_olan bir dosyayı aç" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Örnek _dosyayı aç" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "HomeBank _Kılavuzu Oku" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Tercihleri düzenle" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "Bu pencereyi bir sonraki zaman göster" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" "Bir yedek dosyasını ('%s') açmak üzeresiniz.\n" "Bunu yapmak istediğinizden emin misiniz?" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "Yedek dosyası açılsın mı?" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "Yedek Aç" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "'%s' dosyası açılamadı, dosya yok\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Bilinmeyen hata" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "'%s' dosyası için G/Ç hatası." #: ../src/dsp-mainwindow.c:1132 #, 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:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Dosya hatası" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "Dosya yüklendikten sonra değiştirilmiş." #: ../src/dsp-mainwindow.c:1212 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:1213 msgid "S_ave Anyway" msgstr "Yine de Kaydet" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "Temizle" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Dosya" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Yeni" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Aç..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Son _Kullanılanı Aç" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Kaydet" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Farklı _Kaydet..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "İçeri Aktar..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "Dışa Aktar QIF..." #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Eskiye Dön" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "Yedeklemeyi Geri Yükle" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Özellikler..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Çık" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Tercihler..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Görüntüle" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Araç çubuğu" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "Üst harcama" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "_Alt Listeler" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro kuru" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Yönet" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "He_saplar..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Alacaklılar..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Kategoriler..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Zamanlanmış/taslak..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Bütçe..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "Bütçe (tablo görünümü)..." #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Tanımlamalar..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Dövizler..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "Etiketler..." #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_İşlemler" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Ekle ..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Göster..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Hepsini görüntüle..." #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Zamanlayıcıyı ayarla..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Zamanlanmış işlemler" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Raporlar" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "İs_tatistikler..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Eğilim zamanı..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "_Bütçe..." #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "B_ütçe..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "_Araç maliyeti..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Hoşgeldin penceresini göster..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Dosya istatistikleri..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Anonimleştir..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Yardım" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "İçinde_kiler" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "Çevrimiçi Yardım Alın..." #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Güncellemeleri denetle..." #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Sürüm notları" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Bir sorun bildir..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Uygulamayı tercüme et..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_Hakkında" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "Yeni" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Yeni bir dosya oluştur" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "Açık" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Bir dosya aç" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Yakın geçmişteki bir dosyayı aç" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "Kaydet" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Mevcut dosyayı kaydet" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Hesap" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "Hesapları yönet" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Alacaklı" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "Alacaklıları yönet" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Kategori" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "Kategorileri yönet" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "Planlanmış / Şablon" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "Zamanlanan / şablon işlemlerini yönet" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Bütçe" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "Bütçeyi yönet" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Atama" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "Otomatik atamaları yönet" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "Göster" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Seçili hesap işlemlerini gösterir" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "İşlemleri ekle" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "İstatistikler" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "İstatistik raporlarını aç" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "Trend zaman" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Eğilim zamanı raporlarını aç" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Bakiye" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Denge raporunu aç" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Bütçe raporunu aç" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Araç maliyeti" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Araç maliyeti raporunu aç" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "Yardım" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "Bağış Yap" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "HomeBank projesine bağışta bulunun" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Zamanlanmış" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Gelecek" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Hatırlat" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "**Önceden doldurulmuş**" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(kategorisiz)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "geçersiz CSV uzantısı" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Tarih" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Bilgi" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Not" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Miktar" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Bilinmeyen" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "% .2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/litre" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "mil/litre" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(alacaklı yok)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "HomeBank seçenekleri" #: ../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:515 msgid "Your accounts" msgstr "Hesaplarınız" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Tümünü genişlet" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Tümünü daralt" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Tümünü göster" #: ../src/hub-account.c:556 msgid "By type" msgstr "Tipe göre" #: ../src/hub-account.c:557 msgid "By group" msgstr "Gruba göre" #: ../src/hub-account.c:558 msgid "By institution" msgstr "Kurum tarafından" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Ekleyecek işlem yok" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "%d işlem eklendi" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Planlanan işlemler sonucu kontrol et" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Toplam" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Planlanan işlemler" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Gönder" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "Ençok %d harcama" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Diğer" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Paranız nereye gidiyor" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "içe aktarılmış hesap" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Genel Toplam" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Hesaplar" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Bugün" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- böl -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "-kategori gerekiyor-" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Durum" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Gider" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Gelir" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "İleri tarih" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d altında %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Liste" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Sonuçları liste şeklinde görüntüle" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Çizgi" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Sonuçları çizgiler şeklinde göster" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Detay" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Detaya geç" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Yenile" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Sonuçları yenile" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Bakiye raporu" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Görüntüle" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "Aralık:" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "Boş satırı göster" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Yakınlaştır X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Kaynak:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Hedef:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Hesap adı" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Seç:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Tümü" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Hiçbiri" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "%s için bütçe" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Sonuç" #: ../src/rep-budget.c:852 msgid " over" msgstr " üstünde" #: ../src/rep-budget.c:858 msgid " left" msgstr " sol" #: ../src/rep-budget.c:861 msgid " under" msgstr " altında" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "Yığın" #: ../src/rep-budget.c:1001 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:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "Sonucu panoya kopyala" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "Sonucu CSV olarak kaydet" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "Detayları panoya kopyala" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "Detayları CSV olarak kaydet" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Bütçe raporu" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Göster:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "Sadece bütçe dışı" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Sonuç:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Bütçe:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Harcama:" #: ../src/rep-budget.c:1422 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:1423 msgid "You should include some accounts from the account dialog." msgstr "Hesap penceresinden bazı hesapları dahil etmelisiniz." #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Harcama" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Alt kategori" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Etiket" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Ay" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Yıl" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s seçimi %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "Gösterebilmek için çok fazla sutün var" #: ../src/rep-stats.c:792 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:1180 ../src/rep-time.c:970 msgid "Column" msgstr "Sütun" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Sonuçları kolon olarak görüntüle" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "Donut" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Sonuçları donut olarak görüntüle" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Göstergeye geçiş yap" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "Puan" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Orana geçiş yap" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "Süzgeç" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Filtreyi düzenle" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "İstatistik Raporu" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "Mod:" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Gelir:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Gider:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "Ortalama" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Gün" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Hafta" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "3 aylık" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "Yarım Yıl" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s Zaman Aşımı" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Ortalama: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Eğilim Zaman Raporu" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "H_esap:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Kategori:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Alacaklı:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Etiket:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "_Tümünü seç" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Toplama" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Sayaç" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Yakıt" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Fiyat" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Uzaklık." #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "Dışa Aktar" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "CSV Olarak Dışa Aktar" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Araç maliyet raporu" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "_Araç:" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Sayaç:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Tüketim:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Yakıt gideri:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Diğer giderler:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Toplam giderler:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(hiçbiri)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Görünür" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_İptal" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_Tamam" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Hesap adı" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Hata" #: ../src/ui-account.c:1505 #, 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:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "'%s' hesabı silemezsiniz" #: ../src/ui-account.c:1557 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:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, 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:1570 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:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Hesapları Yönet" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "Yeniden adlandır" #: ../src/ui-account.c:1917 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:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Genel" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "_Group:" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "_Kurum:" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "R_akam:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Başlangıç _bakiyesi:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Döviz:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "bu hesap kapanmıştır" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Notlar:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "Davranış" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "Otomasyon" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "Öntanımlı _şablon:" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Rapor aktarma" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "hesap özetini çıkar" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "bütçe özetini çıkar" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "her hangi bir tür rapor çıkar" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "Dğr." #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Şuanki kontrol numarası" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Çek defteri_1:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Çek defteri_2:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Bakiye limitleri" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "_Limit aşma yeri:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 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:972 msgid "Next _date:" msgstr "İleri _tarih:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "_Her:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "Daha fazla seçenek" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Hafta sonu:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Sonra dur:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "gönderiler" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Zamanlanmış/Taslak işlemleri yönet" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Şablon" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "_Zamanla" #: ../src/ui-assign.c:344 msgid "Search" msgstr "Ara" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "Notlar" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "(kural %d)" #: ../src/ui-assign.c:654 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:718 #, fuzzy, c-format msgid "This search text already exists at position %d" msgstr "Bu arama metni zaten var" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Pasif" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Eğer boşsa" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Üzerine yaz" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Tanımlama Yönet" #: ../src/ui-assign.c:965 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:987 msgid "Condition" msgstr "Kondisyon" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "_Ara:" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "Büyük/Küçük harf duyarlı" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "Regular expression" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "_İçinde:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "Atamalar" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Öde_me:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" "Bu asistan yeni bir HomeBank dosyası\n" "oluşturmak için size yardımcı olacak" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" "Burada ayarladığınız tüm öğeler gerektiğinde daha sonra değiştirilebilir." #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" "Bu asistanın sonundaki \"Uygula\" yı tıklayana kadar hiçbir değişiklik " "yapılmayacak." #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" "HomeBank ana pencere için bir başlık gösterecek,\n" "Bu, sizin isminiz veya başka bir başlık olabilir." #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" "HomeBank çoklu para birimini desteklemektedir. Temel para birimi, \n" "yeni hesaplar ve raporlar için varsayılandır." #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "Temel:" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "Ek para birimleri Ayarla" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Ekle" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Bulunamadı" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "Dilim için kategoriler ayarla" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Şimdiki dosya:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "İlk hesabımı oluştur" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_İsim:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" "Bu bir onay sayfasıdır.\n" "Değişiklikleri kaydetmek için 'Uygula' ya basınız" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "Dosya Ayarlamayı Başlat" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "Dosya Seçenekleri" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "Para Birimi Seç" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "Kategori Seç" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "Hesap Oluştur" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "Dosya Ayarlamayı Bitir" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "Geçerli" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "İsim" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Aç" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Bilinen dosya" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF dosyaları" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX dosyaları" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV dosyaları" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Tüm dosyalar" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "yeni global hesap" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "yeni hesap" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "atlandı" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr ",%d %d hareketlerin" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "İçe aktarma %s içine:" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "bu dosya" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "bu hesap" #: ../src/ui-assist-import.c:1331 #, 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:1340 #, 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:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d işlem, %d seçilen" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "İşlemleri banka veya kredi kartından içe aktarma" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 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:1422 msgid "Don't show this again" msgstr "Bu mesajı tekrar gösterme" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" "Seçtiğiniz dosyada çok fazla hesap bulunmaktadır,\n" "lütfen geri butonuna basarak daha az dosya seçiniz" #: ../src/ui-assist-import.c:1662 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:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Tarih sırası:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "_Notları içe aktar" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "Notları alacaklılarla _değiştirme" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "OFX _Adı:" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "OFX _Notlar:" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Tersine çevir" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "Cümle olay not/alacaklı" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "Hedef hesapta benzer işlem (olası yinelenen)" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "günler" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "Otomasyonu çalıştır" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "1) _alacaklı varsayılanı ile zenginleştir" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "2) Otomatik _atama kurallarını çalıştır" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "\"Uygula\" tuşu ile hesaplarınızı güncelleyin." #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Hoşgeldiniz" #: ../src/ui-assist-import.c:2264 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:2269 msgid "Import" msgstr "İçe aktar" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Onay" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Dosya biçimi hatası" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "Girişi temizlemek istediğinize emin misiniz?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "Devam ederseniz her miktar 0'a ayarlanır." #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Temizle" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Bütçeyi Yönet" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "_İçe CSV aktar" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "Dışa CSV aktar" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Bakiye:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "her ay için aynı" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "Girişi _Temizle" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "her ay için farklı" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Seçenekler" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "Bu kategoriyi göstermeye _zorla" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Ocak" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Şubat" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mart" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Nisan" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Mayıs" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Haziran" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Temmuz" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 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:266 msgid "Oct" msgstr "Ekim" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Kasım" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "Yıllık Toplam" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "Aylık Ortalama" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "Aylık" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "Kategori ekleyin" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "_Uygula" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "Üst kategori" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "Kategori ismi" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 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:2350 msgid "Merge categories" msgstr "Kategorileri birleştir" #: ../src/ui-budget-tabview.c:2377 #, 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:2384 msgid "Target category" msgstr "Hedef kategori" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "Kategori '%s' i _Sil" #: ../src/ui-budget-tabview.c:2507 #, 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:2754 msgid "Budget (table view)" msgstr "Bütçe (tablo görünümü)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "Kategori ekle" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "Kategori sil" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Birleştir" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "Girişi temizle" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Kullanılmayan kategorileri sil" #: ../src/ui-category.c:1598 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:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Düzenle..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Gelir" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "_alt için tip değiştir" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Kategori '%s' i birleştir" #: ../src/ui-category.c:1943 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:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Kategorileri Düzenle" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "_Kullanılmayanları sil" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "Taşı/Birleştir" #: ../src/ui-category.c:2460 msgid "new category" msgstr "yeni kategori" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Para Birimi" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Biçim" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Düzenle" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Sembol:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "_Önek" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "_Ondalık basamağı:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "Kesi_r haneleri:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "Özel _para birimi ekle" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "Çevrimiçi güncelleyin" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "Temel olarak ayarla" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Dosya istatistikleri" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "İşlem" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Yükselt" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Bir temel para birimi seçin" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "Para Birimi:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "QIF Olarak Dışa Aktar" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "CSV'den içe aktar" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "HomeBank dosyası aç" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "HomeBank yedek dosyasını aç" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "HomeBank dosyasını farklı kaydet" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "HomeBank dosyaları" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "Dosya yedeği" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "Tüm yedekler" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Kapatmadan önce dosyaya değişiklikler kaydedilsin mi?" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "_Kaydetmeden kapat" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Klasör:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Bir klasör seçin" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Dosya adı:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Dışarı Aktar PDF" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Dışarı Aktar _PDF" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Olası işlemler arasından seç..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Bir eylem seçin:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "yeni bir işlem oluştur" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "mevcut bir işlem seçin" #: ../src/ui-dialogs.c:1091 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:1049 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:1155 msgid "_Memo:" msgstr "_Not:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Bilgi:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "Küçük/Büyük _harfe duyarlı" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Herhangi bir durum" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Herhangibir Tip" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Transfer" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Zorla:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "'Eklendi'yi Göster" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "'Düzeltildi'yi Göster" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "'Hatırlatmayı' göster" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "Tarihliler" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "Ödemeler" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Miktarlar" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "Metinler" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Kategoriler" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Alacaklılar" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Dosya özellikleri" #: ../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" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "Öde." #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Kullanılmayan alacaklıları sil" #: ../src/ui-payee.c:1194 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:1375 msgid "Default" msgstr "Varsayılan" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "Ödeme:" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "Alacaklı '%s' i birleştir" #: ../src/ui-payee.c:1510 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:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "Alacaklı '%s' i _Sil" #: ../src/ui-payee.c:1613 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:1710 msgid "Manage Payees" msgstr "Alacaklıları Düzenle" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "Genel seçenekler" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "OFX/QFX seçenekleri" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "QIF seçenekleri" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "CSV seçenekleri" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "(sadece işlem aktarımı)" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "Ayraç:" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Başlangıç süzgeci" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Grafik seçenekleri" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Renk şeması:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "İstatistik seçenekleri" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "_Tutar olarak göster" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "_Oran sütununu göster" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "_Detayları göster" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Bütçe seçenekleri" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Etkinleştir" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Ön ayar:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "Kullanıcı arabirimi" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Dil:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "_Tarih görüntüle:" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Biçim:" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Mali yıl" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "Bu _zamanda başlat:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Ölçü birimleri" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Metre için mil kullan" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Yakıt için galon kullan" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "gün önce" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "Mutabakatları sakla" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "Her zaman hatırlatıyıcı göster" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "Bilançoya hatırlatıcıyı dahil et" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "ortalama gün" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "_Klavuz çizgisi:" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Miktar renkleri" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Özel renkler kullan" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Gider:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Gelir:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Uyarı:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "Otomatik yedeklemeyi _etkinleştir" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "_Saklanacak yedek sayısı:" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "Yedekleme aralığı günde bir kez" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "_Cüzdanlar:" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "_Yedeklemeler:" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "Exchange dosyaları" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_İçe Aktar:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Dışa Aktar:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Program başlangıcı" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Karşılama ekranını göster" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Son açılan dosyayı yükle" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Bekleyen zamanlanmış işlemleri yayınla" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Kurları çevrimiçi güncelle" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Ana pencere raporları" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "Tüm Tercihleri Sıfırla" #: ../src/ui-pref.c:2244 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:2265 msgid "Preferences" msgstr "Tercihler" #: ../src/ui-pref.c:2512 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:2520 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:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "İşlem bölünmeleri" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "Hepsini sil" #: ../src/ui-split.c:966 msgid "Apply" msgstr "Uygula" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "İptal" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "İşlem miktarı:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Atanmamış:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Bölünme toplamı:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "Uyarı: bölünmelerin toplamı ve işlem tutarı eşleşmiyor" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "Uyarı: bölünmelerin toplamı ve işlem türü eşleşmiyor" #: ../src/ui-tag.c:602 #, 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:645 #, c-format msgid "Merge tag '%s'" msgstr "'%s' etiketini birleştir" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" "Bu etikete atanan işlem\n" "seçilen etikete taşınacaktır" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" "Bu etiket kullanılmaktadır.\n" "Bu etiket, kullanan herhangi bir işlemden silinecektir." #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "Etiketleri Yönet" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "yeni etiket" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "%s işlemi oluşturuldu." #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "_Ara" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Zamanlananları göster" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "_Tüm hesapları göster" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "Taslak kullan" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "Ekle & _Sakla" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "İşlem ekle" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "Taslak ekle" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "İşlem devret" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "Taslak devret" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "İşlemi düzenle" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "Taslağı düzenle" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "Miktar:" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "Kime:" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "Kitap_2" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 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:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "Kategori:" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "Not:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "_Etiketler:" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "Uyarı: Tutar ve kategori işareti uyuşmuyor" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "Hareketleri toplu düzenle" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" "Transfer\n" "tipinde" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "Zaman" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "Eğilim" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "Kapalı" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Dahil et" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Hariç tut" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(belirsiz tip)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Banka" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Nakit" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Varlık" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Kredi kartı" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Borçlar" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Bu ay" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Geçen ay" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Bu çeyrek" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Son çeyrek" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Bu yıl" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "Geçen yıl" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Son 30 gün" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Son 60 gün" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Son 90 gün" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Son 12 ay" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "özel" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Tüm zamanlar" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "Geçersiz" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Mümkün" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Önce" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Sonra" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Gid. & Gel." #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "Temizlenmemiş" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Sonuçlanmamış" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Kategorilenmemiş" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "Pzt" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "Salı" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "Çrş" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "Per" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "Cum" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "Cts" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "Paz" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Ocak" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Şubat" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Mart" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Nisan" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Haziran" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Temmuz" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Ağustos" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Eylül" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Ekim" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Kasım" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Aralık" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Eylül" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Arama..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Denetle" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "Banka Transferi" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Banka kartı" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Bekleyen emir" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Elektronik ödeme" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Yatan" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Finans ücreti" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Otomatik ödeme" homebank-5.5.2/po/bg.po0000664000175000017500000027036514021210656011612 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2020-12-25 21:36+0000\n" "Last-Translator: Ivan \n" "Language-Team: Bulgarian \n" "Language: bg_BG\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" "X-Poedit-SourceCharset: UTF-8\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Не бяха намерени подобни транзакции !" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Не бяха открити несъответствия !" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Сумата на всяка транзакция ще бъде разделена на %.6f." #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "_Конвертирай" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Няма променена операция" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "Транзакцията беше променена: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Създаване" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Изтриване" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Промени" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d операции" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d операции, %d избрани, средно: %s, сума: %s (%s - %s)" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Добавяне..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Наследяване..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Редактиране..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Състояние" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Без" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Изчистено" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "Потвърдена" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Създай шаблон..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Изтриване…" #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Запиши като QIF" #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Запиши като CSV" #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Запиши като PDF..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Затваряне" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Редактиране" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Копирай" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Постави" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Постави (днес)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "_Операция" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "_Търсене" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Инструменти" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Филтър..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Преобразувай в Евро" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Добавяне" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Добавяне на нова операция" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Наследяване" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Наследяване от текущата операция" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Редактиране" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Редактиране на текущата операция" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Създаване на шаблон" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Изтриване на избраните операции" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "Премесети операцията нагоре" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "Премести операцията надолу" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(затворен)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Всички операции" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Обновяване" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Обхват:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Тип:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Състояние:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Изчистване" #: ../src/dsp-account.c:2668 msgid "Open the list filter" msgstr "Отваряне на последния филтър" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Днес:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Добре дошли в HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "Отваряне на _последно отворения файл" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Създаване на _нов файл" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Отваряне на съществуващ файл" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Отваряне на _примерния файл" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Прочетете _ръководството на HomeBank" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Конфигуриране на _настройките" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "Показване на прозореца всеки път" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Грешка при отваряне на \"%s\", файлът не съществува.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Непозната грешка" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "Грешка при четене или записване на файла '%s'." #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Файлът '%s' не е във валиден формат за HomeBank." #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Грешка във файл" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "Файлът е бил променен след като беше отворен." #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Ако го запазите, всички външни промени може да се загубят. Запазване въпреки " "това?" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "_Запазване въпреки това" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "Изчисти" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Файл" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Нов" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Отваряне..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Запазване" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Връщане" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Спиране на програмата" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Настройки..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Изглед" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Лента с инструменти" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Най-големи разходи" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Второстепенна валута" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Управление" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "_Сметки..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Получатели..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Категории..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "График/Шаблон..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Бюджет..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Назначения" #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Операции" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Добавяне...." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Показване..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Настройка на графика..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Отчети" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Статистики..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "Отчет _тенденции" #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "_Бюджет..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "_Разходи за автомобил..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Показване на инициализиращия екран" #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Анонимен документ..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Помощ" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Ръководство" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Докладване за проблем..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Превеждане на програмата..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_Относно" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Създаване на нов файл" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Отваряне на файл" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Отваряне на скоро използван файл" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Запазване на текущия файл" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Сметка" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "Управление на сметките" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Получател" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "Управление на получатели" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Категория" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "Управление на категории" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "Управление на операции по график и шаблони" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Бюджет" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "Управление на бюджета" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "Управление на назначенията" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Показва операциите на избраната сметка" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Добавяне на транзакция" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "Статистики" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Зареждане доклада със статистики" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Отваряне Отчет тенденции" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Баланс" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Отваряне на балансов отчет" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Зареждане доклада за бюджета" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Разходи за автомобил" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Отваряне на отчет за разходи за автомобил" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Бъдеще" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Напомняне" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "**ШАБЛОН**" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(без категория)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Дата" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Данни" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Записка" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Сума" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Неизвестно" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(без получател)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Настройки на HomeBank" #: ../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:515 msgid "Your accounts" msgstr "Вашите сметки" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:551 msgid "Show all" msgstr "" #: ../src/hub-account.c:556 msgid "By type" msgstr "" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Няма операции за добавяне" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "операцията е добавена: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Проверка на резултат от операции по график" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Общо" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Операции по график" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Друго" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Разходи" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Обща сума" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Сметки" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Днес" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- разделяне -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Състояние" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Разход" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Приход" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Следваща дата" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d под %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Списък" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Преглед на резултатите като списък" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Линия" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Преглед на резултатите като линии" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Подробно" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Включване на подробности" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Обновяване" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Обновяване на резултатите" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Доклад на баланса" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Показване" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Мащабиране X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_От:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_До:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Име на сметката" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Всичко" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Без" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Резултат" #: ../src/rep-budget.c:852 msgid " over" msgstr "" #: ../src/rep-budget.c:858 msgid " left" msgstr "" #: ../src/rep-budget.c:861 msgid " under" msgstr "" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Доклад за бюджета" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "Преглед по:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Резултат:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Бюджет:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Изразходвано:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "Няма дефинирани сметки в бюджета" #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "Трябва да включите поне една сметка от диалоговия прозорец за сметки." #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Изразходвано" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Подкатегория" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Етикет" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Месец" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Година" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s от %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Включване на легенда" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Включване на процент" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Статистика" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Приход:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Разход:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Ден" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Седмица" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Тримесечие" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Отчет тенденции" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Сметка:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Категория:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Получател:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Етикет:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "_Маркиране на всичко" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Натрупване" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Километраж" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Гориво" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Цена" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Разстояние" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Изнасяне като CSV-файл" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Отчет за разходи за автомобил" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "_Автомобил" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Километраж:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Разход:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Цена на гориво:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Друг разход:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Обща цена:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(без)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Видимо" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Отказ" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_Добре" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Име на сметката" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Грешка" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Не може да се добави сметка '%s',\n" "името вече съществува." #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Управление на сметките" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Влачете и пуснете, за да промените последователността\n" "Двойно щракване за преименуване" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Общи" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "_Номер:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Начално салдо:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "тази сметка е _затворена" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "изключване от _отчет на сметките" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "изключване от _бюджета" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "изключване от _всички отчети" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Номер на текущия чек" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Чекова книжка _1:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Чекова книжка _2:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "Следваща _дата:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "На _всеки:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Край на седмицата:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Спиране след:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Управление на операции по график и шаблони" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Управление на назначенията" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Условие" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "_Плащане:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Добави" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Не е открит" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Файл с шаблон:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Име:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Познати файлове" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF файлове" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX файлове" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV-файлове" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Всички файлове" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Подредба по дата:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Обръщане" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "дни" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Потвърждение" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Грешка във формата на файла" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Управление на бюджета" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Баланс:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "Изчистване" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Настройки" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "Наблюдение на тази категория на_сила" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Яну" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Фев" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Мар" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Апр" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Май" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Юни" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Юли" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Авг" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Окт" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Ноем" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Приход" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Управление на категориите" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Десетични позиции:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Изнасяне като QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Внасяне от CSV-файл" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Файлове на HomeBank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Изберете измежду възможни операции..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Изберете действие:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "създаване на нова операция" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "избиране на съществуваща операция" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "HomeBank откри някои операции, които може да са асоциирани с вътрешния " "трансфер." #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "_Записка:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Данни:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "_Различаване на главни и малки" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Какъвто и да е статус" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Който и да е тип" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Трансфер" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Задължително:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "показване на 'Добавени'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "Показване на 'Редактирани'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "покажи 'Напомняне'" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:194 msgid "File properties" 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 "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "Плащане:" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "Управление на получатели" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "Настройки на OFX/QFX" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Начален филтър" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Настройки на графиките" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Настройки на статистиката" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Показване по _количество:" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Показване на колоната про_цент" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Показване на _подробности" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Настройки на бюджета" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Включване" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Шаблон" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Език:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Фискална година" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "Започва на:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Мерни единици" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Използване на _мили за километража" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "Винаги показвай напомнянията" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "Включи напомнянията в баланса" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 msgid "_Toolbar:" msgstr "Лента с _инструменти:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1845 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Цветове за сумите" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Използва потребителски цветове" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Разход:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Приход:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "Пре_дупреждение:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Внасяне:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Изнасяне:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Стартиране на програмата" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Показване на начален екран" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Зареждане на последно отваряния файл" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Настройки" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "За да влезе промяната на езики в сила\n" "трябва да рестартирате HomeBank." #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Сума по операцията:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Без назначение:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Брой разбивки:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "Добави и остани" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Добавяне на операция" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Наследяване на операция" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "_Записка:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "_Етикети:" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "Време" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Включване" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Изключване" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(без тип)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Банка" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "В брой" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Притежание" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Кредитна карта" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Задължение" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "Спестявания" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Този месец" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Миналия месец" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Това тримесечие" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Миналото тримесечие" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Тази година" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "Миналата година" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Последните 30 дни" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Последните 60 дни" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Последните 90 дни" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Последните 12 месеца" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Всички дати" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "Следващия месец" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "Следващите 30 дни" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "Следващите 60 дни" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "Следващите 90 дни" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Преди" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "След" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Разход и приход" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Непотвърден" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Без категория" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "Пон." #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "Вт." #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "Ср." #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "Четв." #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "Пет." #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "Съб." #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "Нед." #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Януари" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Февруари" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Март" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Април" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Юни" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Юли" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Август" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Септември" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Октомври" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Ноември" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Декември" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Септ" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Търсене..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Чек" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "Банков превод" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Дебитна карта" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Постоянно плащане" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Електронно разплащане" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Депозит" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "FI такса" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Директен дебит" homebank-5.5.2/po/zh_TW.po0000664000175000017500000026747514021210665012265 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: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2020-08-28 06:09+0000\n" "Last-Translator: Frankly Zzm \n" "Language-Team: Traditional Chinese \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" "Translator: Wayne Su \n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "有 %d 組相似交易" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "沒有找到相似交易!" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "檢查內部交易結果" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "沒發現不一致!" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "每個交易總額會被%.6f.分割" #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "您是否確定轉換這個帳戶\n" "以歐元為主要貨幣?" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "轉換(_C)" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "沒有變更任何交易" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "交易變更為: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "自動填入結果" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "建立(_C)" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "刪除(_D)" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "您是否確定要變更狀態為無?" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "有些選擇的交易已經核銷" #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "變更(_C)" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "您是否要切換狀態為已核銷?" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "切換 (_T)" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d 交易" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "共 %d 交易, 選擇了%d 筆, 平均: %s, 總合: %s (%s - %s)" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "新增(_A)..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "繼承 (_I)..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "編輯 (_E)..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "複合編輯(_M)..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "狀態(_S)" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "無(_N)" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "已登帳(_C)" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "已核銷(_R)" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "建立範本..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "刪除(_D)…" #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "帳戶(_C)" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "輸出 QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "匯出 CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "匯出為PDF..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "列印..." #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "關閉 (_C)" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "編輯 (_E)" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "複製" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "貼上" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "貼上(今日)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "交易(_O)" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "尋找(_F)" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "工具(_T)" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "標記重複..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "檢查內部交易" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "自動填入" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "過濾項目(_F)..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "轉換為歐元..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "新增" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "加入新的交易" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "繼承" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "繼承現有的交易" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "編輯" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "編輯現有的交易" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "已登帳" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "切換選擇的交易為已登帳" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "已核銷" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "切換選擇的交易為已核銷" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "編緝複合交易" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "建立範本" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "刪除" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "刪除選擇的交易" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "向上移動交易" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "向下移動交易" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(已關閉)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "所有交易" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "重新整理(_R)" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "範圍(_R):" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "切換顯示未來的交易" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "類型(_T):" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "狀態(_S):" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "重新設定(_R)" #: ../src/dsp-account.c:2668 msgid "Open the list filter" msgstr "開啟清單過濾工具" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "歐元次要(_m)" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "今天:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "歡迎使用 HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "建立一個新檔案 (_n)" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "開啟一個現有檔案(_O)" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "開啟範例檔案(_e)" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "閱讀 HomeBank 使用說明(_M)" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "設定選項(_p)" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "_(O)開啟備份" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "無法開啟「%s」,該檔案不存在。\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "未知的錯誤" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "'%s' 檔案 I/O 錯誤." #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "'%s' 不是有效的 HomeBank 檔案" #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "檔案錯誤" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "讀取之後這個檔案已經被修改" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "如果儲存它,將會失去所有外部作出的變更。仍要儲存它?" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "仍然儲存(_A)" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "清除" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "檔案 (_F)" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "新增 (_N)" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "開啟 (_O)..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "開啟最近使用檔案(_R)" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "儲存 (_S)" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "另存新檔(_A)…" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "匯入..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "匯出為QIF..." #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "還原" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "還原備份" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "屬性…" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "離開(_Q)" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "偏好設定..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "檢視 (_V)" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "工具列(_T)" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "最多花費(_T)" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "底部列表(_B)" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "歐元次要" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "管理(_M)" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "帳戶(_O)..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "收款人 (_P)..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "分類..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "已排程/範本..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "預算..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "預算(表格)..." #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "自動填入..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "幣別..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "標籤..." #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "交易 (_T)" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "新增..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "顯示..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "顯示所有..." #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "設定排程..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "發佈排程" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "報告 (_R)" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "統計 (_S)..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "時間趨勢(_T)..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "結餘報告(_B)..." #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "預算 (_U)..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "交通工具花費(_V)" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "顯示歡迎視窗..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "檔案統計..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "匿名化..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "輔助說明 (_H)" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "內容 (_C)" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "取得線上說明..." #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "檢查更新..." #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "發行說明" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "問題回報..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "翻譯這個應用程式..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "關於 (_A)" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "建立一個新檔案" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "開啟檔案" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "開啟最近使用的檔案" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "儲存目前檔案" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "帳戶" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "收款人" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "分類" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "預算" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "自動填入" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "顯示選取的帳戶的交易" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "新增交易" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "開啟統計報告" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "開啟時間趨勢報告" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "結餘" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "開啟結餘報告" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "開啟預算報告" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "交通工具花費" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "開啟交通工具花費報告" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "贊助HomeBank專案" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "已排程" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "未來" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "提醒" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(沒有類別)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "無效的 CSV 格式" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "日期" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "資訊" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "備註" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "金額" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "未知" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "mi./l" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(沒有收款人)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "HomeBank 選項" #: ../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:515 msgid "Your accounts" msgstr "您的帳戶" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "全部展開" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "全部收起" #: ../src/hub-account.c:551 msgid "Show all" msgstr "顯示全部" #: ../src/hub-account.c:556 msgid "By type" msgstr "依類別" #: ../src/hub-account.c:557 msgid "By group" msgstr "依群組" #: ../src/hub-account.c:558 msgid "By institution" msgstr "依機構" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "沒有新增交易" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "交易已新增: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "檢查已排程交易結果" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "總計" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "已排程交易" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "發佈(_P)" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "最高 %d 花費" #: ../src/hub-spending.c:299 msgid "Other" msgstr "其他" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "您的錢花去哪裡" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "已匯入的帳戶" #: ../src/list-account.c:127 msgid "Grand total" msgstr "總計" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "帳戶" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "今天" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- 分割 -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "- 這需要類別 -" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "狀態" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "支出" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "收入" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "下個日期" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d / %d 項低於 %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "清單" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "以清單檢視結果" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "折線圖" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "以折線圖檢視結果" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "明細" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "切換顯示明細" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "重新整理" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "重新整理結果" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "結餘報告" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "顯示" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "間隔(_v):" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "顯示空行" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "縮放顯示(_Z):" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "從 (_F):" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "到(_T):" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "帳戶名稱" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "選取:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "全部" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "無" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "%s 的預算" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "結果" #: ../src/rep-budget.c:852 msgid " over" msgstr " 超支" #: ../src/rep-budget.c:858 msgid " left" msgstr " 剩餘" #: ../src/rep-budget.c:861 msgid " under" msgstr " 低於" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "以柱狀圖檢視結果" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "結果到剪貼簿(_R)" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "結果到CSV檔(_R)" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "細項到剪貼簿(_D)" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "細項到CSV檔(_D)" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "預算報告" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "檢視(_V):" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "只顯示超出預算" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "結果:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "預算:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "花費" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "此預算沒有設定帳戶" #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "您應該包含一些來自帳戶對話框的帳戶" #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "已支出" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "子分類" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "標籤" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "月" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "年" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s 依 %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "太多欄無法顯示" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "以柱狀圖檢視結果" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "以圓環圖檢視結果" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "切換顯示圖例" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "切換顯示百分比" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "編輯過濾條件" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "統計報告" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "模式:" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "收入:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "支出:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "平均" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "日" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "週" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "季" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "半年" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s 時間趨勢" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "平均: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "時間趨勢報告" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "帳戶(_C):" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "分類(_C):" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "收款人(_P):" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "標籤(_T):" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "選擇全部 (_a)" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "累計(_C)" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "里程表" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "燃料" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "價格" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "距離" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "匯出成 CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "交通工具花費報告" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "交通工具 (_c):" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "里程表:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "耗油:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "燃料費用:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "其它費用:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "總計費用:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(無)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "顯示" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "取消(_C)" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "確定(_O)" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "帳戶名稱" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "錯誤" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "無法新增帳戶 '%s',\n" "這個名稱已經被使用了" #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "無法刪除帳戶 '%s'" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "這個帳戶當中有內部轉帳的交易" #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "您是否確定要永久刪除 '%s'?" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "如果您刪除帳戶,內容將會永久消失" #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "管理帳戶" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "重新命名" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "拖放變更順序\n" "按兩下重新命名" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "一般" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "群組(_G):" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "機構(_I):" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "帳號(_U):" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "起始餘額(_b):" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "幣別(_C):" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "此帳號已被關閉(_c)" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "備註:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "行為" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "自動化" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "預設範本(_T):" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "報告剔除" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "從帳號概況剔除 (_s)" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "從預算剔除(_b)" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "從任何報告剔除(_r)" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "其他" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "當前支票號碼" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "支票本(_1):" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "支票本(_2):" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "餘額限制" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "透支(_O):" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "如果您刪除了排程/範本,內容會永久消失" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "下一天(_d):" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "每(_Y):" #: ../src/ui-archive.c:995 msgid "More options" msgstr "更多選項" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "週末:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "停止於(_S):" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "發佈" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "管理已排程/範本交易" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "範本" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "排程(_S)" #: ../src/ui-assign.c:344 msgid "Search" msgstr "搜尋" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "說明" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "如果您刪除自動填入,它會永久消失" #: ../src/ui-assign.c:718 #, fuzzy, c-format msgid "This search text already exists at position %d" msgstr "搜尋文字已存在" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "已停用" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "留空白" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "覆寫" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "管理自動填入" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "拖拉改變順序" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "條件" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "搜尋(_S):" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "區分大小寫" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "正規表示式" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "在(_I):" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "自動填入" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "付款方式(_M):" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "標題(_T):" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "新增 (_A)" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "找不到" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "預設檔案:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "名稱 (_N):" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "<新帳戶(通用)>" #: ../src/ui-assist-import.c:482 msgid "" msgstr "<新帳戶>" #: ../src/ui-assist-import.c:503 msgid "" msgstr "<略過這個帳戶>" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "有效" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "名稱" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "開啟(_O)" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "已知檔案" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF 檔案" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX 檔案" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV 檔案" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "所有檔案" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "新通用帳戶" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "新帳戶" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "略過" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "匯入 %s到(_t):" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "這個檔案" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "這個帳戶" #: ../src/ui-assist-import.c:1331 #, 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:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "從銀行或信用卡匯入交易" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "在小幫手最後按下「套用」之前不會有任何改變。" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "不再顯示" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "日期排序:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "匯入備註(_I)" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "交換備註與收款人(_S)" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "OFX 名稱(_N):" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "OFX備註(_M):" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "反相選取" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "在目標帳戶中有相似交易(可能是相同重覆)" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "天" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "自動填入" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "歡迎" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "選擇檔案" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "匯入" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "確認" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "檔案格式錯誤" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "您確定要清除輸入?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "如果您繼續, 總額將被設為0" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "清除 (_C)" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "管理預算" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "匯入CSV(_I)" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "匯出CSV(_x)" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "結餘:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "每月相同" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "清除輸入(_C)" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "每月不同" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "選項" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "強制監視此分類(_F)" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "1月" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "2月" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "3月" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "4月" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "5月" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "6月" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "7月" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "8月" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "九月" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "10月" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "11月" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "月平均" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "每月" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "增加類別" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "套用(_A)" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "母分類" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "分類名稱" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "這個類別已經不用\n" "使用此類別的交易將會被設為(無類別)" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "指定為'%s'類別的交易, 會被移動到下面選擇的類別" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "目標類別" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "刪除(_D)類別 '%s'" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "預算(表格)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "增加分類" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "移除分類" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "合併" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "清除輸入" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "刪除未使用的類別" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "您是否確定永久\n" "刪除未使用的類別" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "編輯..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "收入 (_I)" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "合併類別 '%s'" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "交易被指定到這個類別,\n" "會被移動到下面選擇的類別" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "管理分類" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "刪除(_D)未使用的" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "新類別" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "幣別" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "格式" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "自訂(_C)" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "符號(_S):" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "前綴(_f)" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "進位符號(_D)" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "小數位數(_F):" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "新增自訂貨幣(_c)" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "線上更新" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "設為基準" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "檔案統計" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "交易" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "更新" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "選擇基準幣別" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "貨幣:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "匯出成 QIF 檔案" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "從 CSV 檔案匯入" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "開啟 HomeBank 檔案" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "開啟 HomeBank 備份檔案" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "儲存 HomeBank 檔案為" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "HomeBank 檔案" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "檔案備份" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "全部備份" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "關閉檔案前儲存變更?" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "關閉但不儲存 (_W)" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "資料夾:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "選擇資料來" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "檔案名稱:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "匯出成 PDF" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "匯出為PDF檔(_P)" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "選取一些可能的交易..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "選擇行動:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "建立一筆新交易" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "選取一筆已存在的交易" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "HomeBank 找到一些交易, 也許是與內部互轉連結." #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "備註(_M):" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "資訊(_I):" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "區分大小寫(_S)" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "任何狀態" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "任何類型" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "轉帳" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "强制:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "顯示「已新增」" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "顯示「已編輯」" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "顯示「提醒」" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "顯示「空白」" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "日期" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "付款" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "金額" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "文字" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "類別" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "收款人" #: ../src/ui-hbfile.c:194 msgid "File properties" 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 "未來天數, 以當下日期為基準" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "支出" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "刪除未使用的收款人" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "您是否確定要永久地\n" "刪除未使用的收款人?" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "預設值" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "支付(_y)" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "合併收款人 '%s'" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "已經指定給這個收款人的交易,\n" "將會移動到下面選擇的收款人" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "刪除收款人(_D) '%s'" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "此收款人已不使用\n" "使用此收款人的交易將被設為(無收款人)" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "管理收款人" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "一般選項" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "OFX/QFX 選項" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "QIF 選項" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "CSV 選項" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "(只適用匯入交易)" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "分隔符號:" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "初始過濾條件" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "圖表選項" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "配色方案:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "統計選項" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "按金額排序(_A)" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "顯示百分比欄位(_R)" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "顯示明細 (_D)" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "預算選項" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "啟用(_E)" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "顏色組合(_P):" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "使用者介面" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "語言(_L):" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "顯示日期(_D):" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "格式(_F):" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "會計年度" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "起始於(_o):" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "計量單位" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "使用英哩(_m)" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "使用加侖(_g)" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "未來幾天" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "隱藏己核銷" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "總是顯示提醒" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "總是顯示空白" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "在帳戶中包含提醒" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 msgid "_Toolbar:" msgstr "工具列(_T):" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1845 msgid "_Grid line:" msgstr "網格線(_G):" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "帳戶顏色" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "使用自訂顏色" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "支出(_E):" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "收入(_I):" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "警告(_W):" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "啟用自動備份(_E)" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "維持幾個備份(_N):" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "每日備份一次" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "錢包(_W):" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "備份(_B):" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "交易檔案" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "匯入 (_I):" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "匯出 (_E):" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "程式開始" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "顯示潑濺(splash)畫面" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "載入最後開啟的檔案" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "發佈待定的交易排程" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "線上更新貨幣" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "主視窗報告" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "重置所有偏好設定" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" "您是否確定將\n" "所有備好設定\n" "重置為預設值" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "偏好設定" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "您必須重新啟動 HomeBank\n" "使語言變更生效" #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" "備份路徑已經改變\n" "你需要複製'.bak'檔到新位置" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "分割交易" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "全部刪除" #: ../src/ui-split.c:966 msgid "Apply" msgstr "套用" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "取消" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "交易總額:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "未指定:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "分割的總和:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, 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:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "管理標籤" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "新標籤" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "中斷(_B)" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "顯示排程(_s)" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "顯示所有帳戶(_a)" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "使用樣版" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "新增並保留(_K)" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "新增交易" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "新層樣版" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "繼承交易" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "編輯交易" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "編輯範本" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "收件者(_O):" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "分類(_G):" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "備註(_e):" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "標籤(_T):" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "警告:金額與類別不相符" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "複合編輯交易" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "時間" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "趨勢" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "關閉" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "包含" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "不包含" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(沒有類型)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "銀行" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "現金" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "資產" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "信用卡" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "債務" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "本月" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "上個月" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "這一季" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "上一季" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "今年" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "去年" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "過去 30 天" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "過去60天" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "過去 90 天" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "過去 12 個月" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "自訂" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "所有日期" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "空白" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "允許" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "提前" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "延後" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "支出與收入" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "未登帳" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "未核銷" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "尚未分類" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "週一" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "週二" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "週三" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "週四" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "週五" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "週六" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "周日" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "1月" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "2月" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "3月" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "4月" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "6月" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "7月" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "8月" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "9月" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "10月" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "11月" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "12月" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "9月" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "搜尋..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "支票" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "銀行交易" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "簽帳卡" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "定期轉帳代繳" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "電子付費" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "存款" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "金融機構費用" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "直接債務" homebank-5.5.2/po/POTFILES.skip0000644000175000017500000000014512574600306012766 00000000000000# List of source files containing translatable strings. # Main application data/homebank.desktop.in homebank-5.5.2/po/lt.po0000664000175000017500000026557614021210662011646 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2020-12-27 10:45+0000\n" "Last-Translator: Mantas Kriaučiūnas \n" "Language-Team: Lithuanian \n" "Language: lt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 msgid "HomeBank" msgstr "HomeBank apskaita" #: ../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:704 msgid "Free, easy, personal accounting for everyone" msgstr "Laisva ir paprasta asmeninių finansų apskaita 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 "" "Sukurta nesudėtingai namų ūkio finansų apskaitai ir analizuoti 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Neatitikimų nerasta!" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Visų operacijų sumos bus padalintos iš %.6f." #: ../src/dsp-account.c:394 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:396 msgid "_Convert" msgstr "_Konvertuoti" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Nepakeista nė viena operacija" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "Pakeista operacijų: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Automatinių priskyrimų rezultatas" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Sukurti" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Šalinti" #: ../src/dsp-account.c:1677 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:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Kai kurios pasirinktos operacijos jau yra patvirtintos." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Valyti" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Ar norite perjungti operacijų būseną „Patvirtinta“?" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "_Perjungti" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Pridėti…" #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Klonuoti…" #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Taisyti…" #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "_Daugybinis taisymas…" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Būsena" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Jokia" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "Į_vykdyta" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "Pa_tvirtinta" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Kurti šablonus…" #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Šalinti…" #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "_Sąskaita" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Eksportuoti QIF…" #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Eksportuoti CSV…" #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Užverti" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Taisa" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "_Operacija" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Priemonės" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Automatiniai priskyrimai" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filtras…" #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Konvertuoti į Eurus…" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Pridėti" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Pridėti naują operaciją" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Klonuoti" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Pridėti naują operaciją, naudojant parinktos operacijos duomenis" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Taisyti" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Keisti parinktą operaciją" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Įvykdytos" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Perjungti pasirinktų operacijų būseną „Įvykdyta“" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Patvirtintos" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Perjungti pasirinktų operacijų būseną „Patvirtinta“" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Taisyti kelias operacijas" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Kurti šablonus pagal pasirinktas operacijas" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Šalinti pasirinktas operacijas" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "At_naujinti" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Laikotarpis:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Tipas:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Būsena:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Atstatyti" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "_Antrinė valiuta" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Šiandien:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Sveiki, tai – „HomeBank“" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Kurti _naują el. piniginės failą" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Atverti anksčiau sukurtą failą" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Atverti _pavyzdinį failą" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "_Skaityti „HomeBank“ programos žinyną" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Nepavyko atverti „%s“, toks failas neegzistuoja.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "Skaitymo arba rašymo klaida, kreipiantis į failą „%s“." #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Failas „%s“ nėra tinkamas „HomeBank“ failas." #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Failo klaida" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Failas" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Naujas" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Atverti…" #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "Į_rašyti" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Įrašyti kaip…" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Atkurti" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Savybės…" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Baigti darbą" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "_Nustatymai…" #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Rodymas" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Priemonių juosta" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "Pagrindinės _išlaidos" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Antrinė valiuta" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Valdymas" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "_Sąskaitos…" #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Gavėjai…" #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "_Kategorijos…" #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "_Planinės operacijos ir šablonai…" #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "_Biudžetas…" #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Priskyrimai…" #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Valiutos…" #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Operacijos" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Pridėti…" #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Rodyti…" #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Tvarkaraščio parinktys…" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Pridėti planines" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Ataskaitos" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Statistika…" #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Tendencijos…" #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "_Biudžetas…" #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "_Autotransporto išlaidos…" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Rodyti pasveikinimo vediklio langą…" #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Failo statistika…" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Maskuoti…" #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Pagalba" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Žinynas" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Pranešti apie problemą…" #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Versti šią programą…" #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_Apie" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Kurti naują piniginės failą" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Atverti failą" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Atverti neseniai naudotą failą" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Įrašyti esamąjį failą" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Sąskaitos" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Gavėjai" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Kategorija" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Biudžetas" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Priskyrimai" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Rodyti pasirinktos sąskaitos operacijas" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Pridėti operacijas" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Atverti statistinę ataskaitą" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Atverti tendencijų ataskaitą" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Balansas" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Atverti balanso ataskaitą" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Atverti biudžeto ataskaitą" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Transporto išlaidos" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Atverti išlaidų transporto priemonėms ataskaitą" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Planinės operacijos" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Ateitis" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Priminti" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(be kategorijos)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "netinkamas CSV formatas" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Data" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Informacija" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Pastabos" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Suma" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Nežinoma" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f L" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/L" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "myl./L" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(gavėjas nenurodytas)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "„HomeBank“ nustatymai" #: ../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:515 msgid "Your accounts" msgstr "Jūsų sąskaitos" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Išskleisti viską" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Suskleisti viską" #: ../src/hub-account.c:551 msgid "Show all" msgstr "" #: ../src/hub-account.c:556 msgid "By type" msgstr "" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Nėra pridėtinų operacijų" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "pridėta operacijų: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Planinių operacijų pridėjimo rezultatas" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Iš viso" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Planinės operacijos" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Pridėti" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Kita" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Kur išleidžiate pinigus" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Iš viso" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Sąskaitos" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Šiandien" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- išskaidyta -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Būsena" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Išlaidos" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Pajamos" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Kita data" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d iš %d žemiau %s ribos" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Sąrašas" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Rodyti sąrašą" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Linija" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Rodyti linijinę diagramą" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Išsamiai" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Rodyti išsamios informacijos polangį" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Atnaujinti" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Atnaujinti rezultatus" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Balanso ataskaita" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Rodymas" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_X mastelis:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Nuo:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Iki:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Sąskaitos pavadinimas" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Viskas" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Nieko" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Biudžetas: %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Būsena" #: ../src/rep-budget.c:852 msgid " over" msgstr " viršyta" #: ../src/rep-budget.c:858 msgid " left" msgstr " liko" #: ../src/rep-budget.c:861 msgid " under" msgstr " nepanaudota" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "Rodyti histogramą" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Biudžeto ataskaita" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Detalumas:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Rezultatas:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Biudžetas:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Išleista:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "Jokia sąskaita nėra įtraukta į biudžetą." #: ../src/rep-budget.c:1423 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:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Išleista" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Subkategorija" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Žymė" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Mėnuo" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Metai" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s pagal %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Rodyti stulpelinę diagramą" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Rodyti žiedinę diagramą" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Rodyti legendą" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Rodyti santykį" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Statistinė ataskaita" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Pajamos:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Išlaidos:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Diena" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Savaitė" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Ketvirtis" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s laike" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Vidurkis: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Tendencijų laike ataskaita" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Sąskaita:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Kategorija:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Gavėjas (mokėtojas):" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Žymė:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "_Visos sąskaitos" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "S_umuoti" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Rida" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Degalų kiekis" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Kaina" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Atstumas" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Eksportuoti CSV formatu" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Išlaidų transporto priemonėms ataskaita" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "_Transporto kat.:" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Nuvažiuota:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Suvartota:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Išlaidos degalams:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Kitos išlaidos:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Iš viso išlaidų:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(nėra)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Matomas" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Atsisakyti" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_Gerai" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Sąskaitos pavadinimas" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Klaida" #: ../src/ui-account.c:1505 #, 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:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "Negalima pašalinti sąskaitos „%s“" #: ../src/ui-account.c:1557 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:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, 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:1570 msgid "If you delete an account, it will be permanently lost." msgstr "Sąskaitos pašalinimas yra negrąžinamas veiksmas." #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Sąskaitų tvarkymas" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 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:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Pagrindai" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "_Numeris:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Pradinis _balansas:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Valiuta:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "ši sąskaita už_daryta" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Pastabos:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Nepaisymas ataskaitose" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "neįtraukti į sąskaitų _suvestinę" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "neįtraukti į _biudžetą" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "neįtraukti į jokias _ataskaitas" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Einamojo čekio numeris" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "_1-ojoje čekių knygelėje:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "_2-ojoje čekių knygelėje:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Balanso ribos" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "Per_viršis ties:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 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:972 msgid "Next _date:" msgstr "Kita _data:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "_Vykdyti kas" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Savaitgaliais:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Nutraukti po:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "kartų" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Planinių operacijų ir šablonų tvarkymas" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Šablonai" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "Priskyrimo pašalinimas yra negrįžtamas veiksmas." #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Nepriskirti" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Jei nenurodytas (-a)" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Perrašyti" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Priskyrimų tvarkymas" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Sąlyga" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "_Mokėjimo būdas:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Pridėti" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Nežinomas" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Pradinių nustatymų failas:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Pavadinimas:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Pavadinimas" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "At_verti" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Žinomų tipų failai" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF failai" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX failai" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV failai" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Visi failai" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Datos formatas:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Invertuoti" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "d." #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Sveiki!" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "Importuoti" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Patvirtinimas" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Failo formato klaida" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "Ar tikrai norite valyti laukų reikšmes?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "Jei tęsite, visos sumos bus pakeistos nuliais." #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Valyti" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Biudžeto planavimas" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "_Importuoti iš CSV failo" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "_Eksportuoti į CSV failą" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Balansas:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "_Valyti laukus" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Kita" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Priverstinai stebėti šią kategoriją" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Sau" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Vas" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Kov" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Bal" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Gegužė" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Bir" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Lie" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Rgp" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Spa" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Lap" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 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:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "_Pašalinti kategoriją „%s“" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Sujungti" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Nenaudojamų kategorijų šalinimas" #: ../src/ui-category.c:1598 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:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Keisti…" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Pajamos" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Kategorijos „%s“ sujungimas" #: ../src/ui-category.c:1943 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:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Kategorijų tvarkymas" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "_Šalinti nenaudojamas" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "Nauja kategorija" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Valiuta" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Formatas" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Tinkinti" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "Ž_enklas:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "_Prieš skaičių" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "Trupmenos _skirtukas:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "Skaitmenys po _kablelio:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "Atnaujinti internetu" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "Skirti bazine" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Failo statistika" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "Operacija" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Naujovinimas" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Pasirinkite bazinę valiutą" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "Valiuta:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Eksportuoti QIF formatu" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Importuoti iš CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "„HomeBank“ failo atvėrimas" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "„HomeBank“ failo įrašymas" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "„HomeBank“ failai" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Įrašyti pakeitimus į failą prieš jį užveriant?" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "Užverti _neįrašant" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Pasirinkite iš galimų operacijų…" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Pasirinkite veiksmą:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "sukurti naują operaciją" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "parinkti esamą operaciją" #: ../src/ui-dialogs.c:1091 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:1049 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:1155 msgid "_Memo:" msgstr "_Pastaba:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Informacija:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "Skirti _didžiąsias ir mažąsias raides" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Visos būsenos" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Visi tipai" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Pavedimas" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Visada:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "rodyti pridėtas" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "rodyti pakeistas" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "rodyti laukiančias priminimo" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Failo savybės" #: ../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ą" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Nenaudojamų gavėjų šalinimas" #: ../src/ui-payee.c:1194 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:1375 msgid "Default" msgstr "Numatytieji parametrai" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "_Mokėjimo būdas:" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "Gavėjo „%s“ sujungimas" #: ../src/ui-payee.c:1510 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:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "_Pašalinti gavėją (mokėtoją) „%s“" #: ../src/ui-payee.c:1613 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:1710 msgid "Manage Payees" msgstr "Gavėjų (mokėtojų) tvarkymas" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "OFX/QFX failai" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Pirminis filtras" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Grafikai" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Spalvų paletė:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Statistika" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Rodyti pagal _sumą" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "_Rodyti santykio stulpelį" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Rodyti _išsamios informacijos polangį" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Biudžetas" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "Įj_ungti" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Ruošinys:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Kalba:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Formatas:" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Finansiniai metai" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "_Prasideda:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Matavimo vienetai" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Atstumus matuoti _myliomis" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Kuro kiekius matuoti _galonais" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "_Tinklelio linijos:" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Sumų spalvos" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Naudoti pasirinktas spalvas" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Išlaidos:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Pajamos:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "Į_spėjimai:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Importuoti:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Eksportuoti:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Programos paleidimas" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Rodyti užsklandą" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Įkelti paskiausiai naudotą failą" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Pridėti nepridėtas planines operacijas" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Naujinti valiutas internetu" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Pagrindinio lango ataskaitos" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Nustatymai" #: ../src/ui-pref.c:2512 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:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Skaidyti operaciją" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Operacijos suma:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Nepriskirta:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Komponentų suma:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Rodyti _planines" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Pridėti naują operaciją" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Klonuoti operaciją" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "_Pastabos:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "Dėmesio: kiekis neatitinka kategorijos ženklo" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "Daugybinis operacijų taisymas" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Įtraukti" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Neįtraukti" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(nenurodytas)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Bankas" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Grynieji" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Turtas" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Kreditinė kortelė" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Įsipareigojimai" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Šis mėnuo" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Praėjęs mėnuo" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Šis ketvirtis" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Ankstesnis ketvirtis" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Šie metai" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "Praėję metai" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Pastarosios 30 dienų" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Pastarosios 60 dienų" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Pastarosios 90 dienų" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Pastarieji 12 mėnesių" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Visos datos" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "leidžiama" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "prieš" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "po" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Išlaidos ir pajamos" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "Neįvykdytos" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Nepatvirtintos" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Be kategorijos" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Sausis" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Vasaris" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Kovas" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Balandis" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Birželis" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Liepa" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Rugpjūtis" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Rugsėjis" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Spalis" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Lapkritis" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Gruodis" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Rgs" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Ieškoti…" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Čekis" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Debetinė kortelė" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Periodinis mokėjimas" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Elektroninis mokėjimas" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Depozitas" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Finansinis mokestis" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Tiesioginis debetas" homebank-5.5.2/po/nl.po0000664000175000017500000030523114021210663011620 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: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2020-05-13 16:35+0000\n" "Last-Translator: rob \n" "Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "Er is een groep van %d soortgelijke transacties" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Er werd geen soortgelijke transactie gevonden !" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "Resultaat van de interne overboekingscontrole" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Geen onregelmatigheden gevonden" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" "Er zijn onregelmatigheden gevonden: %d\n" "wilt u deze bekijken en repareren?" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Ieder transactiebedrag wordt gedeeld door %.6f." #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Weet u zeker dat u voor deze rekening\n" "de Euro als hoofdvaluta wilt gebruiken?" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "_Omzetten" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Er is geen transactie gewijzigd" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "gewijzigde transacties: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Resultaat van automatische toewijzing" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" "Wilt u een toewijzing aanmaken voor\n" "alle geselecteerde transacties?" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Maken" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" "Wilt u een sjabloon aanmaken van\n" "elke geselecteerde transactie?" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" "Weet u zeker dat u alle\n" "geselecteerde transacties wilt verwijderen?" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Verwijder" #: ../src/dsp-account.c:1677 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:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Sommige geselecteerde transacties zijn al Afgestemd" #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Verander" #: ../src/dsp-account.c:1735 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:1737 msgid "_Toggle" msgstr "Omzetten" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d transacties" #: ../src/dsp-account.c:2101 #, 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:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Toevoegen..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Overnemen..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Bewerken..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "_Bewerk meerdere..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Status" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Geen" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Vrijgegeven" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Afgestemd" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "Bekijk _opsplitsing" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Creëer een sjabloon" #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "Maak toewijzing aan..." #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Verwijderen…" #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "Om_hoog" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "Om_laag" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "A_ccount" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Exporteer QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Naar een CSV-bestand exporteren..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Als pdf exporteren..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "Afdrukken..." #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Sluiten" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Bewerken" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Kopiëren" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Plakken" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Plakken (vandaag)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "_Transactie" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "_Zoeken" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Gereedschappen" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Markeer duplicaat..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "Controleer interne overboeking" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Automatische toewijzingen" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filter..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Converteer naar Euro" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Voeg toe" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Voeg een nieuwe transactie toe" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Overnemen" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Neem over van de actieve transactie" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Bewerken" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Wijzig de geselecteerde transactie(s)" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Vrijgegeven" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Verander Status vrijgegeven van de geselecteerde transactie(s)" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Afgestemd" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Verander Status afgestemd van de geselecteerde transactie(s)" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "Bewerk meerdere" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Bewerk meerdere transacties" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Maak sjabloon" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "Verwijderen" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Verwijder de geslecteerde transactie(s)" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "Omhoog" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "Verplaats transactie omhoog" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "Omlaag" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "Verplaats transactie omlaag" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(gesloten)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Alle transacties" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Vernieuw" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Bereik:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "Toon toekomstige transactie" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Type:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Vernieuw" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Euro alternati_ef" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Vandaag:" #: ../src/dsp-account.c:2764 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 "" "Indien u doorgaat zal alle tekst geanonimiseerd worden, \n" "zoals 'rekening x', 'begunstigde y', 'memo z', ..." #: ../src/dsp-mainwindow.c:334 msgid "_Anonymize" msgstr "_Anonimiseer" #: ../src/dsp-mainwindow.c:675 msgid "Welcome to HomeBank" msgstr "Welkom bij HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "Open het _laatst geopende bestand" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Creëer een _nieuw bestand" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Open een bestaand bestand" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Open het _voorbeeldbestand" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Lees de HomeBank_handleiding" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Configureer _instellingen" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "Toon dit venster volgende keer opnieuw" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" "U staat op het punt om het back-upbestand '%s' te openen.\n" "\n" "Weet u zeker dat u dit wilt doen?" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "Het back-upbestand openen?" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "_Open reservekopie" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Kan '%s' niet openen, bestand bestaat niet.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Onbekende foutmelding" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "I/O fout voor het bestand '%s'" #: ../src/dsp-mainwindow.c:1132 #, 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:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Bestandsfout" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "Het bestand is gewijzigd sinds het gelezen is." #: ../src/dsp-mainwindow.c:1212 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:1213 msgid "S_ave Anyway" msgstr "Toch opsl_aan" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "Wissen" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Bestand" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Nieuw" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Openen..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Open _recent" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Opslaan" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Opslaan _als..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "Importeren..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "Exporteren als QIF..." #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Herstellen" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "Backup terugzetten" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Eigenschappen..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Afsluiten" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Instellingen..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Beeld" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Werkbalk" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Top uitgaven" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "_Lijstvenster" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro alternatief" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Beheren" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "Rek_eningen..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Begunstigden..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Categorieën..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Geplande/Sjabloon..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Budget" #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "Budget (tabelweergave)..." #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Toewijzingen..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Valuta" #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "Labels..." #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Transactie(s)" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Voeg toe..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Weergeven…" #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Toon alles..." #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Planner instellen..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Boek geplande transacties" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Rapporten" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Statistieken..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Trend Tijd..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "_Balans..." #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "B_egroting..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "_Kosten voor een voertuig..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Toon het welkomstscherm..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Bestandsstatistieken..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Anonimiseren..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Help" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Inhoud" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "Zoek hulp online..." #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Zoeken naar updates..." #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Versie-informatie" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Meld een probleem..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Vertaal deze Toepassing..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_Over" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "Nieuw" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Een nieuw bestand aanmaken" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "Open" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Een bestand openen" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Open een recent gebruikt bestand" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "Opslaan" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Huidig bestand opslaan" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Rekening" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "Rekeningbeheer" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Begunstigde" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "Begunstigdenbeheer" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Categorie" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "Categoriebeheer" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "Geplande/Sjabloon" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "Geplande/Sjabloon-beheer" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Budget" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "Budgetbeheer" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Toewijzing" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "Automatisch toewijzingsbeheer" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "Tonen" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Toon de geselecteerde rekeningtransactie(s)" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Voeg transacties toe" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "Statistieken" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Open het Statistiekenrapport" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "Trend Tijd" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Open het Trend Tijdrapport" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Balans" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Open het Balansrapport" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Open het Budgetrapport" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Voertuigkosten" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Open het Voertuigkostenrapport" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "Help" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "Doneer" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "Doneer aan het Homebank project" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Ingepland" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Toekomst" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Herinnering" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "**VOORINGEVULD**" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(geen categorie)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "ongeldig CSV formaat" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Datum" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Informatie" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Memo" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Bedrag" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Onbekend" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2fl" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "mi./l" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(geen begunstigde)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" 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:865 #, c-format msgid "%d-q%d" msgstr "%d-k%d" #: ../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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Homebank-instellingen" #: ../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 "(geen groep)" #: ../src/hub-account.c:515 msgid "Your accounts" msgstr "Uw rekeningen" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Alles uitklappen" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Alles inklappen" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Toon alles" #: ../src/hub-account.c:556 msgid "By type" msgstr "Type" #: ../src/hub-account.c:557 msgid "By group" msgstr "Op groep" #: ../src/hub-account.c:558 msgid "By institution" msgstr "Op instelling" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Geen transactie(s) toe te voegen" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "Transactie(s) toegevoegd: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Bekijk het resultaat van de geplande transactie(s)" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Totaal" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Geplande transacties" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Boeking" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "Grootste %d uitgaven" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Andere" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Waar uw geld heen gaat" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "geïmporteerde rekening" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Eindtotaal" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Rekeningen" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Vandaag" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- split -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "- hiervoor is een categorie vereist -" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Status" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Uitgave" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Inkomsten" #: ../src/list-operation.c:1491 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 "Resterend" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:403 msgid "Next date" msgstr "Volgende datum" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d onder %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Lijst" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Toon resultaten als lijst" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Lijn" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Bekijk de resultaten als lijn" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Detail" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Details aan/uit" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Vernieuwen" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Resultaten vernieuwen" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Balansrapport" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Weergave" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "Inter_val:" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "Toon lege regel" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Zoom X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Van:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Naar:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Rekeningnaam" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Selecteer:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Alles" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Geen" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Budget voor %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Resultaat" #: ../src/rep-budget.c:852 msgid " over" msgstr " boven" #: ../src/rep-budget.c:858 msgid " left" msgstr " overschot" #: ../src/rep-budget.c:861 msgid " under" msgstr " onder" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "Staaf" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "Toon resultaten als staafgrafiek" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "_Resultaat naar kladblok" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "_Resultaat naar CSV" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "_Details naar kladblok" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "_Details naar CSV" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Budgetrapport" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Toon voor:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "alleen buiten budget" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Resultaat:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Budget:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Besteed:" #: ../src/rep-budget.c:1422 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:1423 msgid "You should include some accounts from the account dialog." msgstr "Voeg rekeningen toe uit het rekeningenoverzicht" #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Besteed" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Subcategorie" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Label" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Maand" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Jaar" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s door %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "Te veel kolommen om weer te geven" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "Selecteer a.u.b. een langere interval en/of een kortere tijdsperiode" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "Kolom" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Toon resultaten als kolom" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "Donut" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Toon resultaten als cirkel" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "Bijschrift" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Bijschrift aan/uit" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "Wisselkoers" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Wisselkoers aan/uit" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "Filter" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Filter bewerken" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Statistiekenrapport" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "Modus:" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Inkomsten:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Uitgaven:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "Gemiddeld" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Dag" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Week" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Kwartaal" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "Half jaar" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s na verloop van tijd" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Gemiddelde: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Trend Tijdrapport" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "R_ekening" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Categorie:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Begunstigde:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Tag:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "_Alles selecteren" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Cumuleren" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Meter" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Brandstof" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Prijs" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Afst." #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "Exporteren" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Exporteer als een CSV-bestand" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Rapport voor de voertuigkosten" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "Voer_tuig" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Meter:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Verbruik:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Brandstofprijs:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Andere uitgaven:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Totale uitgaven:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(geen)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Zichtbaar" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Annuleren" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Rekeningnaam" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Fout" #: ../src/ui-account.c:1505 #, 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:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "Kan rekening '%s' niet verwijderen" #: ../src/ui-account.c:1557 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:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, 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:1570 msgid "If you delete an account, it will be permanently lost." msgstr "Als u een rekening verwijdert, zal deze definitief verloren gaan" #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Rekeningbeheer" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "Hernoemen" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Versleep om de volgorde te veranderen\n" "Dubbelklik om te hernoemen" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Algemeen" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "_Groep:" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "_Instelling:" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "N_ummer:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Begin _bedrag:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Valuta:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "deze rekening werd ge_sloten" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Opmerkingen:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "Gedrag" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "Automatisering" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "Standaard _sjabloon" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Uitsluitingsopties" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "uitsluiten van het rekening_overzicht" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "uitsluiten van het _budget" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "uitsluiten van elk _rapport" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "Overig" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Huidig controle nummer" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Chequeboek _1:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Chequeboek _2:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Balsns limieten" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "Kaskrediet bij:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" "Als u een sjabloon / planning verwijdert, zal deze definitief verloren gaan" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "Volgende _datum:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Elk_e:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "Meer opties" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Weekend:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Stop na:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "boekingen" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Geplande/Sjabloon-beheer" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Sjabloon" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "_Planning" #: ../src/ui-assign.c:344 msgid "Search" msgstr "Zoeken" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "Notities" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "(regel %d)" #: ../src/ui-assign.c:654 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:718 #, fuzzy, c-format msgid "This search text already exists at position %d" msgstr "Deze zoektekst bestaat al" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Uitgeschakeld" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Indien leeg" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Overschrijven" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Toewijzingsbeheer" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "Wijzig de volgorde door te verslepen" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Voorwaarde" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "_Zoeken:" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "Hoofdlettergevoelig" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "Reguliere uitdrukking" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "_In:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "Toewijzingen" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Betaling" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" "Deze assistant zal u helpen bij het instellen van een minimum configuratie\n" "voor een nieuw HomeBank-bestand." #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" "Alle elementen die u hier instelt kunnen later eventueel nog gewijzigd " "worden indien nodig." #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" "De instellingen zullen pas worden doorgevoerd nadat u op \"Toepassen\" heeft " "geklikt\n" "aan het einde van deze assistent." #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" "HomeBank zal een titel tonen voor het hoofdvenster,\n" "dit kan een willekeurig label zijn of uw naam." #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Titel:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" "HomeBank ondersteunt diverse valuta's. Standaard wordt het volgend valuta " "gebruikt\n" "voor nieuwe rekeningen en rapporten." #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "Basis:" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "Extra valuta´s instellen" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Voeg toe" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Niet gevonden" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" "HomeBank kan de categorieën die behoren bij uw taal reeds aanmaken\n" "indien er een CSV-bestand daarvan beschikbaar is gesteld door de gemeenschap." #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "Maak categorieën voor mijn taal aan" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Vooraf ingesteld bestand:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" "HomeBank kan uw rekeningen importeren vanaf gedownloade\n" "financiële instellingsbestanden, of u kunt er een handmatig aanmaken." #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "Maak mijn eerste rekening aan" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Naam:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" "Dit is de bevestigingspagina,\n" "\n" "klik op 'Toepassen' om de instellingen door te voeren" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "Start bestandsconfiguratie" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "Bestandsinstellingen" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "Kies valuta´s" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "Kies categorieën" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "Maak rekening aan" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "Eind bestandsconfiguratie" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "Geldig" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Naam" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Openen" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Bekende bestanden" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF-bestanden" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX-bestanden" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV-bestanden" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Alle bestanden" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "nieuwe rekening wereldwijd" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "nieuwe rekening" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "overgeslagen" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr ", %d van %d transacties" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "Importeer %s in_:" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "Dit bestand" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "dit account" #: ../src/ui-assist-import.c:1331 #, 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:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "%d transactie(s), %d soortgelijk, %d bestaand, %d geselecteerd" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d transactie(s), %d geselecteerd" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "Transacties vanuit bank of kredietkaart importeren" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "De instellingen zullen pas worden doorgevoerd nadat u op \"Toepassen\" heeft " "geklikt, aan het einde van deze assistent." #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "Dit bericht niet meer weergeven" #: ../src/ui-assist-import.c:1481 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" "Sleep een of meerdere bestanden naar hieronder om te importeren.\n" "U kunt ook de ´Voeg toe´ (+) en Verwijderen´ (-) knoppen gebruiken om " "bestanden toe te voegen of te verwijderen.." #: ../src/ui-assist-import.c:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" "De geselecteerde bestanden bevatten te veel rekeningen,\n" "klik a.u.b. op de knop ´Terug´ om minder bestanden te selecteren." #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "Identificatie van doelrekening via naam of nummer mislukt." #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Datum volgorde:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "_Importeer memo's" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "_memo's met begunstigden omruilen" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "OFX _Naam:" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "OFX _Memo:" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Omkeren" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "Zin _ hoofdlettergevoelig memo/begunstigde" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "Soortgelijke transactie in doelrekening (mogelijk duplicaat)" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "dagen" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "Voer automatisering uit" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "2) Voer _automatische toewijzingsregels uit" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "Klik op \"Toepassen\" om uw rekeningen bij te werken." #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Welkom" #: ../src/ui-assist-import.c:2264 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:2269 msgid "Import" msgstr "Importeer" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Bevestiging" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Bestandsformaat fout" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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 bevatten,\n" "gescheiden door een puntkomma. Zie de helpinformatie voor meer details." #: ../src/ui-budget.c:912 msgid "Are you sure you want to clear input?" msgstr "Weet u zeker dat u de invoer wilt wissen?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 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:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Vrijgeven" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Beheer budget" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "_Import CSV" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "E_xport CSV" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Saldo:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "is elke maand hetzelfde" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "_Wis invoer" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "is elke maand verschillend" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Opties" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Verplicht het bewaken van deze categorie" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Maa" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Mei" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 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:266 msgid "Oct" msgstr "Okt" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 msgid "Dec" msgstr "Dec" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "Samenvatting" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "Totalen" #: ../src/ui-budget-tabview.c:1561 msgid "Annual Total" msgstr "Jaartotaal" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "Gemiddelde per maand" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "Maandelijks" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "Voeg een categorie toe" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "Toep_assen" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "Hoofdcategorie" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "Categorienaam" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 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:2350 msgid "Merge categories" msgstr "Voeg categorieën samen" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" "Transacties toegewezen aan de categorie '%s', zullen verplaatst worden naar " "de hieronder geselecteerde categorie." #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "Doelcategorie" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "_Verwijder de categorie '%s'" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "Weet u zeker dat u de invoer voor '%s' wilt wissen?" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "Budget (tabelweergave)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "Voeg categorie toe" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "Verwijder categorie" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Samenvoegen" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "Wis invoer" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Verwijder ongebruikte categorieën" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Weet u zeker dat alle ongebruikte categorieën\n" "definitief wilt verwijderen?" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Bewerk..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Inkomsten" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "Wijzig type voor _onderliggende" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Categorie '%s' samenvoegen" #: ../src/ui-category.c:1943 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:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Categorieën beheren" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "Verwijder ongebruikte" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "Verplaatsen/Samenvoegen" #: ../src/ui-category.c:2460 msgid "new category" msgstr "nieuwe categorie" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Valuta" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Opmaak" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Aanpassen" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Symbool:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "Hee_ft voorkeur" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "_Decimaalscheider" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "Aantal decimalen:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "Voeg eigen valuta toe" #: ../src/ui-currency.c:1238 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 nul gezet. Vergeet niet deze aan te passen!" #: ../src/ui-currency.c:1666 msgid "Currencies" msgstr "Valuta" #: ../src/ui-currency.c:1720 msgid "Update online" msgstr "Update online" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "Gebruik als basis" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Bestandsstatistieken" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "Transactie" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Bijwerken" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Selecteer basisvaluta" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "Valuta:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Exporteer als QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Importeer uit CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "Open HomBank bestand" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "HomeBank back-upbestand openen" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "Sla HomeBank-bestand op als" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "HomeBank-bestanden" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "bestandsback-up" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "Alle back-ups" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Opslaan van veranderingen voor afsluiten?" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "Afsluiten _zonder opslaan" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Map" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Kies een map" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Bestandsnaam:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Als PDF exporteren" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Als _pdf exporteren" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" "Bij HomeBank, wordt het afdrukken op een ecovriendelijke manier gedaan\n" "namelijk in het meest gebruikte digitale formaat, het PDF-formaat. " #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Selecteer uit de mogelijke transacties..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Kies een actie:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "creër een nieuwe transactie" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "selecteer een bestaande transactie" #: ../src/ui-dialogs.c:1091 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:1049 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:1155 msgid "_Memo:" msgstr "_Memo:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Informatie:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "_Hoofdlettergevoelig" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Iedere status" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Elk Soort" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Overboeking" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Forceer:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "'Toegevoegd' weergeven" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "'Bewerkt' weergeven" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "'Herinnering' weergeven" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "toon 'Ongeldig'" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "Datums" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "Betalingen" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Bedragen" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "Teksten" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Categorieën" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Begunstigden" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Bestandseigenschappen" #: ../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" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "Betaling" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Verwijder niet-gebruikte begunstigde" #: ../src/ui-payee.c:1194 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:1375 msgid "Default" msgstr "Standaard" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "_Betaling" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "Samenvoegen begunstigde '%s'" #: ../src/ui-payee.c:1510 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:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "_Verwijder de begunstigde '%s'" #: ../src/ui-payee.c:1613 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:1710 msgid "Manage Payees" msgstr "Begunstigdenbeheer" #: ../src/ui-payee.c:1854 msgid "new payee" msgstr "nieuwe begunstigde" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Weergave" #: ../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:1949 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 "Tab" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "Komma" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "Puntkomma" #: ../src/ui-pref.c:149 msgid "Space" msgstr "Spatie" #: ../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 "Kies een standaard Homebank-back-upbestandsmap" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Kies een standaard importmap" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Kies een standaard exportmap" #: ../src/ui-pref.c:1214 msgid "General options" msgstr "Algemene instellingen" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "OFX/QFX-instellingen" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "QIF-instellingen" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "CSV-instellingen" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "(transactie alleen import)" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "Scheiding:" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Aanvankelijk filter" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Grafiekinstellingen" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Kleurenschema:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Statistiekinstellingen" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Toon volgens _bedrag" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Toon _wisselkoerskolom" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Toon _details" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Budgetinstellingen" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Inschakelen" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Voorinstelling:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "Gebruikersinterface" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Taal:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "_Datumweergave" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "Formaat:" #: ../src/ui-pref.c:1614 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 afgekorte naam van de weekdag.\n" "%A volledige naam van de weekdag. \n" "%b afgekorte maandnaam. \n" "%B volledige maandnaam. \n" "%c passende datum- en tijdweergave. \n" "%C eeuwnummer (het jaar gedeeld door 100 en ingekort 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/%j. \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 passende 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:1644 msgid "Fiscal year" msgstr "Boekjaar" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "Begint _op" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Meeteenheden" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Gebruik _mijlen voor meter" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Gebruik de gallon als brandstofeenheid" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "dagen op voorhand" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "Verberg afgestemde" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "Toon altijd herinnering" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "Toon Ongeldig altijd" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "Voeg herinnering toe aan balans" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "glijdende dagen" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 msgid "_Toolbar:" msgstr "_Werkbalk:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1845 msgid "_Grid line:" msgstr "_Rasterlijn:" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Bedragkleuren" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Gebruikt aangepaste kleuren" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Uitgave:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Inkomsten:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Waarschuwing:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "_Automatische back-ups inschakelen" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "_Aantal te bewaren back-ups:" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "back-upfrequentie is eenmaal per dag" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "_Portfeuilles:" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "_Back-ups:" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "Bestanden uitwisselen" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Importeren:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Exporteren:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Programma start" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Toon opstart scherm" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Laad laatst geopend bestand" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Nog te behandelen geplande transacties" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Pas valuta online aan" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Hoofdvensterrapporten" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "Alle instellingen herstellen" #: ../src/ui-pref.c:2244 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:2265 msgid "Preferences" msgstr "Instellingen" #: ../src/ui-pref.c:2512 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:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" "De back-upmap is gewijzigd,\n" "mogelijk moet u het '.bak'-bestand kopiëren naar deze nieuwe locatie." #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Transactie opsplitsen" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "Alles verwijderen" #: ../src/ui-split.c:966 msgid "Apply" msgstr "Toepassen" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "Annuleren" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Hoeveelheid van de transactie:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Niet toegewezen" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Som van de opsplitsingen:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" "Waarschuwing: som van de opsplitsingen en het transactiebedrag komen niet " "overeen" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" "Waarschuwing: som van de opsplitsingen en het transactietype komen niet " "overeen" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" "Kan dit label niet hernoemen,\n" "van '%s' naar '%s',\n" "omdat dit label reeds bestaat." #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "Voeg label '%s' samen" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" "Transacties toegewezen aan dit label,\n" "zullen verplaatst worden naar het hieronder geselecteerde label." #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "Verwij_der het label '%s'" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" "Dit label wordt al gebruikt.\n" "Dit label zal verwijderd worden bij elke transactie die het gebruikt." #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "Labelbeheer" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "nieuw label" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "Transactie van %s aangemaakt." #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Wilt u de interne overboeking verbreken?\n" "\n" "Indien u doorgaat zal de doeltransactie verwijderd worden." #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "Ver_breek" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Laat ingepland zien" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "Toon _alle rekeningen" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "Gebruik een sjabloon" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "Voeg toe & __bewaren" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Transactie toevoegen" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "Voeg sjabloon toe" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Transactie overnemen" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "Sjabloon overnemen" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "Bewerk transactie" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "Bewerk sjabloon" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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 een volledige datum\n" "- gebruik pijltjestoets + ctrl of shift\n" "- laat leeg voor datum van vandaag" #: ../src/ui-transaction.c:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "_Bedrag:" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "N_aar:" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "Boek _2" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" "- type een letter voor auto-aanvulling\n" "- type andere tekst om een nieuwe begunstigde en/of categorie aan te maken" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "Cate_gorie:" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "M_emo:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "_Labels:" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "Waarschuwing: bedrag en teken van categorie komen niet overeen" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "Meerdere transacties bewerken" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" "Typeren als\n" "overschrijving" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "Tijd" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "Trend" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "Uit" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Inclusief" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Exclusief" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(geen soort)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Bank" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Contant" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Activa" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Kredietkaart" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Passiva" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Deze maand" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Vorige maand" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Dit kwartaal" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Vorig kwartaal" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Dit jaar" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "Vorig jaar" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Afgelopen 30 dagen" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Afgelopen 60 dagen" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Afgelopen 90 dagen" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Afgelopen 12 maanden" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "aangepast" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Alle data" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "Ongeldig" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Mogelijk" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Voor" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Na" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Uitgaven & Inkomsten" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "Niet vrijgegeven" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Niet afgestemd" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Geen categorie" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "Maa" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "Din" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "Woe" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "Don" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "Vrij" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "Zat" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "Zon" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Januari" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Februari" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Maart" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "April" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Juni" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Juli" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Augustus" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Oktober" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "November" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "December" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Zoeken…" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Cheque" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "Bankoverschrijving" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Debetkaart" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Doorlopende opdracht" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Elektronische betaling" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Storting" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Bankkosten" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Automatische Incasso" homebank-5.5.2/po/cy.po0000664000175000017500000030427214021210657011631 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2020-11-25 17:33+0000\n" "Last-Translator: Rhoslyn Prys \n" "Language-Team: Welsh \n" "Language: cy\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:00+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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;personol;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 â " "\"chwrw 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 a rhydd o reoli eich cyfrifon " "personol yna HomeBank yw'r un i chi." #: ../src/dsp-account.c:221 #, c-format msgid "There is %d group of similar transactions" msgstr "Mae yn %d grŵp o drafodion tebyg" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Heb ganfod trafodyn tebyg !" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "Gwiriwch ganlyniad y trosglwyddo mewnol" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Heb ganfod anghysonderau!" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" "Wedi canfod anghysonderau: %d\n" "Hoffech chi ei adolygu a'i d drwsio?" #: ../src/dsp-account.c:390 #, 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:394 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:396 msgid "_Convert" msgstr "_Trosi" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Dim trafodyn wedi newid" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "trafodyn wedi newid: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Canlyniad aseiniad awtomatig" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" "Hoffech chi greu aseiniad gyda\n" "pob un o'r trafodion a ddewiswyd?" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "Creu" #: ../src/dsp-account.c:720 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:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" "Ydych chi am ddileu\n" "pob trafodyn dan sylw?" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Dileu" #: ../src/dsp-account.c:1677 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:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Eisoes mae rhai trafodion yn eich dewis wedi eu cysoni." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Newid" #: ../src/dsp-account.c:1735 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:1737 msgid "_Toggle" msgstr "_Toglo" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d trafodyn" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d trafodyn, %d dewiswyd, cyf: %s, swm: %s (%s -%s)" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "Ychwanegu..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Etifeddu..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "Golygu..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "Golygu Lluosog..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Statws" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Dim" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Cliriwyd" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Cysonwyd" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "Gweld _Hollt" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Creu templed..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "Creu aseiniad..." #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Dileu..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "I _fyny" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "I _lawr" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "C_yfrif" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Allforio QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Allforio CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Allforio fel PDF..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "Argraffu..." #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Cau" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "Golygu" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Copïo" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Gludo" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Gludo (heddiw)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "_Trafodion" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "­_Canfod" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Offer" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Marcio'r dyblyg..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "Gwirio'r trosglwyddiad mewnol" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Aseiniadau awtomatig" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Hidlo..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Trosi i Euros..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Ychwanegu" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Ychwanegu trafodion newydd" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Etifeddu" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Etifeddu o'r trafodion cyfredol" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Golygu" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Golygu'r trafodion cyfredol" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Cliriwyd" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Toglo'r clirio ar gyfer y trafodion o dan sylw" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Cysonwyd" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Toglo cysoni ar gyfer y trafodion o dan sylw" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "Golygu'r Lluosog" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Golygu trafodion lluosog" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Creu templed" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "Delete" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Dileu'r trafodion hyn" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "I fyny" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "Symud trafodyn i fyny" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "I lawr" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "Symud trafodyn i lawr" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(wedi cau)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Pob trafodyn" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Adnewyddu" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Cyfnod:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "Toglo dangos trafodion y dyfodol" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Math:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Statws:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Ailosod" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Ewro _lleiaf" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "Cysonwyd" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "Cliriwyd:" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Heddiw:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Croeso i HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "Agor y ffeil _diwethaf" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Creu ffeil _newydd" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Agor ffeil gyfredol" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Agor y ffeil _enghreifftiol" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Darllen _ Llawlyfr HomeBank" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Ffurfweddu'r _dewisiadau" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "Dangos y ffenestr hon y tro nesaf" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" "Rydych chi ar fin agor y ffeil wrth gefn '%s'.\n" "\n" "Ydych chi'n siŵr eich bod chi am wneud hyn?" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "Agor y ffeil wrth gefn ?" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "_Agor y copi wrth gefn" #: ../src/dsp-mainwindow.c:1044 #, 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/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Gwall anhysbys" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "Gwall I/O ffeil '%s'." #: ../src/dsp-mainwindow.c:1132 #, 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:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Gwall ffeil" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "Cafodd y ffeil %s ei newid ers ei darllen." #: ../src/dsp-mainwindow.c:1212 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:1213 msgid "S_ave Anyway" msgstr "C_adw Beth Bynnag" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "Clirio" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Ffeil" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Newydd" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Agor..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Agor y _Diweddaraf" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Cadw" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Cadw _fel..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "Mewnforio..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "Allforio fel QIF..." #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Dychwelyd" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "Adfer y copi wrth gefn" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Priodweddau..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Gadael" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Dewisiadau..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Gweld" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Bar Offer" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Prif wariant" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "Rhestrau _Gwaelod" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Ewro lleiaf" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Rheoli" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "_Cyfrifon..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Taleion..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Categorïau..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Trefnu/Templed..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Cyllidebu..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "Cyllidebu (golwg tabl)..." #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Aseiniadau..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Arian..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "Tagiau..." #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Trafodion" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Ychwanegu..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Dangos..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Dangos y cyfan..." #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Gosod trefniadau..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Cofnod wedi ei drefnu" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Adroddiadau" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "Y_stadegau..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "T_uedd Cyfnod..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "_Balans..." #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "C_yllidebu..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "C_ost cerbyd..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Dangos y sgrin groeso..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Ystadegau'r ffeil..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Gwneud yn anhysbys..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Cymorth" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Cynnwys" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "Cael Cymorth Ar-lein..." #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Gwirio am ddiweddariadau..." #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Nodiadau Ryddhau" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Adrodd am Broblem..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Cyfieithwch y Rhaglen hon..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_Ynghylch" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "Newydd" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Creu ffeil newydd" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "Agor" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Agor ffeil" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Agor ffeil diweddar" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "Cadw" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Cadw'r ffeil gyfredol" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Cyfrif" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "Rheoli'r cyfrifon" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Talai" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "Rheoli'r taledigion" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Categorïau" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "Rheoli'r categorïau" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "Amserlen/Templed" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "Rheoli amserlen/templedi trafodion" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Cyllidebu" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "Rheoli'r gyllideb" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Aseiniad" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "Rheoli'r aseiniadau awtomatig" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "Dangos" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Yn dangos trafodion cyfrif dethol" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Ychwanegu trafodion" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "Ystadegau" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Agor yr adroddiad Ystadegau" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "Cyfnod y tuedd" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Agor yr adroddiad Tuedd Cyfnod" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Gweddill" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Agor adroddiad y Fantolen" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Agor adroddiad y Gyllideb" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Cost cerbyd" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Agor adroddiad cost Cerbyd" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "Cymorth" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "Cyfrannu" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "Cyfrannu tuag at broject HomeBank" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Trefnu" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Y dyfodol" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Atgoffa" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "**RHAGLANWYD**" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(dim categorïau)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "fformat CSV annilys" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Dyddiad" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Manylion" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Memo" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Swm" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Anhysbys" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "mi./l" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(dim talai)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Dewisiadau HomeBank" #: ../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 "(dim grŵp)" #: ../src/hub-account.c:515 msgid "Your accounts" msgstr "Eich cyfrifon" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Ehangu popeth" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Cau popeth" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Dangos y cyfan" #: ../src/hub-account.c:556 msgid "By type" msgstr "Yn ôl math" #: ../src/hub-account.c:557 msgid "By group" msgstr "Yn ôl grŵp" #: ../src/hub-account.c:558 msgid "By institution" msgstr "Yn ôl sefydliad" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Dim trafodion i'w hychwanegu" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "ychwanegwyd y trafodion ]: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Gwirio canlyniad trafodion rheolaidd wedi eu trefnu" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Cyfanswm" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Trafodion wedi eu trefnu" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "_Hepgor" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" msgstr "Golygu a C_hofnodi" #. 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Cofnod" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "Y %d Prif Wariant" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Arall" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Lle'r aeth yr arian" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "cyfrif wedi ei mewnforio" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Prif Gyfanswm" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "cysonwyd ddiwethaf" #: ../src/list-account.c:544 msgid "until" msgstr "hyd" #: ../src/list-account.c:559 msgid "before" msgstr "cyn" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Cyfrifon" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Heddiw" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- hollti -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "- mae angen categori ar hwn -" #: ../src/list-operation.c:1438 msgid "Match" msgstr "Cydweddu" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Statws" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Gwario" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Incwm" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Dyddiad nesaf" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d o dan %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Rhestr" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Gweld canlyniadau fel rhestr" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Llinell" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Gweld canlyniadau fel llinellau" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Manylyn" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Toglo manylyn" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Adnewyddu" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Adnewyddu'r canlyniadau" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "Argraffu" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Adroddiad mantolen" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Dangos" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "C_yfnod:" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "Dangos llinell wag" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "Chwyddo _X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_O:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "I:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Enw'r cyfrif" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Dewis:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Y Cyfan" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Dim" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Cyllidebu ar gyfer %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Canlyniad" #: ../src/rep-budget.c:852 msgid " over" msgstr " drosodd" #: ../src/rep-budget.c:858 msgid " left" msgstr " chwith" #: ../src/rep-budget.c:861 msgid " under" msgstr " o dan" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "Stac" #: ../src/rep-budget.c:1001 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:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "_Canlyniad i'r clipfwrdd" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "_Canlyniad i CSV" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "_Manylyn i'r clipfwrdd" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "_Manylyn i CSV" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Adroddiad cyllideb" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "­_Golwg yn ôl:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "Dim ond allan o'r gyllideb" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Canlyniad:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Cyllidebu:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Gwariwyd:" #: ../src/rep-budget.c:1422 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:1423 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:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Gwariwyd" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Is gategori" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Tag" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Mis" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Blwyddyn" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s yn ôl %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "Gormod o golofnau i'w harddangos" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "Dewiswch gyfnod ehangach a/neu ystod dyddiad mwy cyfyng" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "Colofn" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Gweld canlyniadau fel colofn" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "Toesen" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Gweld canlyniadau fel toesen" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "Mynegai" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Toglo'r mynegai" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "Cyfradd" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Toglo'r gyfradd" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "Hidl" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Golygu'r hidl" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Adroddiad Ystadegau" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "Modd:" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "Trefnu yn ôl _swm" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "Cymharu Allforio a Mewnforio" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "Cyfanswm:" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Incwm:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Gwario:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "Cyfartaledd" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Diwrnod" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Wythnos" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Chwarter" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "Hanner Blwyddyn" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s yn Hwyr" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Cyfartalog: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Adroddiad Tuedd Cyfnod" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "C_yfrif:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Categori:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Talai:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Tag:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Dewis y cyfan" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Crynhoi" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Metr" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Tanwydd" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Pris" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Pellter" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "Allforio" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Alforio fel CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Adroddiad cost cerbyd" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "_Cerbyd:" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Metr:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Gwariant:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Cost y tanwydd:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Costau eraill:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Cyfanswm:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(dim)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Gweladwy" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Diddymu" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_Iawn" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Enw'r cyfrif" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Gwall" #: ../src/ui-account.c:1505 #, 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:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "Methu dileu cyfrif '%s'" #: ../src/ui-account.c:1557 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:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, 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:1570 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:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Rheoli Cyfrifon" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "Ailenwi" #: ../src/ui-account.c:1917 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:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Cyffredinol" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "_Grŵp:" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "_Sefydliad:" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "_Rhif:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Mantolen _gychwynnol:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Arian:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "mae'r cyfrif hwn wedi cau" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Nodiadau:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "Ymddygiad" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "Awtomeiddio" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "_Templed Rhagosodedig:" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Eithriadau Adroddiadau" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "eithrio o grynodeb y cyfrif" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "eithrio o'r _gyllideb" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "eithrio o unrhyw _adroddiad" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "Amrywiol" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Rhif siec cyfredol" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Llyfr Siec _1:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Llyfr Siec _2:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Terfynau'r gweddill/balansau" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "_Gorddrafft:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "_Uchafswm:" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" "Os byddwch yn dileu taliad wedi'i drefnu/templed bydd yn cael ei golli'n " "barhaol." #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "_Dyddiad nesaf:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Pob:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "Rhagor o ddewisiadau" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Penwythos:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Aros ar ôl:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "cofnodion" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Rheoli trafodion drefnwyd/templed" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Templed" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "_Amserlen" #: ../src/ui-assign.c:344 msgid "Search" msgstr "Chwilio" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "Nodiadau" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "(rheol %d)" #: ../src/ui-assign.c:654 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:718 #, fuzzy, c-format msgid "This search text already exists at position %d" msgstr "Mae'r testun chwilio hwn yn bodoli eisoes" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Analluogwyd" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Os gwag" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Trosysgrifennu" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Rheoli Aseiniadau" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "Llusgo a gollwng i newid y drefn" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Amod" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "_Chwilio:" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "Sensitif i faint" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "Mynegiad rheolaidd" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "_Yn:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "Aseiniadau" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "_Taliad:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" "Bydd y cynorthwyydd hwn yn eich helpu i osod ffurfweddiad\n" "ffeil HomeBank newydd." #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" "Bydd modd newid yr holl elfennau rydych yn eu gosod yma yn hwyrach, os oes " "angen." #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" "Bydd dim newidiadau'n cael eu gwneud nes i chi glicio \"Gosod\" ar ddiwedd y " "cynorthwyydd." #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" "Bydd HomeBank yn dangos teitl y brif ffenestr,\n" "gall fod yn label rhydd neu'ch enw chi." #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Teitl:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" "Mae HomeBank yn cefnogi sawl math o arian cyfred. Yr arian sail\n" "yw'r rhagosodiad ar gyfer cyfrifon ac adroddiadau newydd." #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "Sail" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "Yn gosod mathau arian ychwanegol" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Ychwanegu" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Heb ei ganfod" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" "Gall HomeBank rag-lenwi'r categorïau ar gyfer eich iaith\n" "os oes ffeil CSV ar gael ac yn cael ei darparu gan y gymuned." #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "Categorïau gosod ar gyfer fy iaith" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Ffeil rhagosodedig:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" "Mae HomeBank yn galluogi mewnforio eich cyfrifon i'w llwytho i lawr\n" "o ffeiliau sefydliad ariannol, neu gallwch greu eich cyfrif â llaw." #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "Creu fy nghyfrif cyntaf" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Enw:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" "Dyma'r tudalen gadarnhau,\n" "pwyswch 'Gosod' i osod y newidiadau" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "Dechreuwch Osod y Ffeil" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "Dewisiadau Ffeil" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "Dewiswch y math o Arian" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "Dewiswch Gategorïau" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "Creu Cyfrif" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "Gorffen Gosod y Ffeil" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "Dilys" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Enw" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Agor" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Ffeiliau hysbys" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "Ffeiliau QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "Ffeiliau OFX/QFX" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "Ffeiliau CSV" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Pob ffeil" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "cyfrif eang newydd" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "cyfrif newydd" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "wedi ei hepgor" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr ", %d o %d trafodyn" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "Mewnforio %s _i:" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "y ffeil hon" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "y cyfrif hwn" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" "Enw: %s\n" "Rhif: %s\n" "Feil: %s\n" "Amgodio: %s" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "%d trafodyn, %d yn debyg, %d yn bodoli, %d wedi'u dewis" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d trafodyn, %d wedi'u dewis" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "Mewnforio trafodion o gerdyn banc neu gredyd" #: ../src/ui-assist-import.c:1392 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 cynorthwyydd 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:1398 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:1418 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:1422 msgid "Don't show this again" msgstr "Peidio dangos eto" #: ../src/ui-assist-import.c:1481 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" "Llusgwch a gollwng un neu sawl ffeil i'w mewnforio.\n" "Gallwch hefyd ddefnyddio botymau ychwanegu/dileu y rhestr." #: ../src/ui-assist-import.c:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" "Mae gormod o gyfrifon yn y ffeiliau rydych chi'n eu dewis,\n" "defnyddiwch y botwm Nôl i ddewis llai o ffeiliau." #: ../src/ui-assist-import.c:1662 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:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Trefn dyddiadau:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "Mewnforio _memos" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "_Cyfnewid memos gyda'r taledigion" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "_Enw OFX:" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "_Memo OFX:" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Gwrthdroi" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "Maint llythrennau brawddeg memo/taledig" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "Toglo'r _swm" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "Trafodion tebyg yn y cyfrif targed (dyblyg posibl)" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "diwrnod" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "Rhedeg awtomeiddio" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "1) Cyfoethogi gyda _thaleion rhagosodedig" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "2) Rhedeg rheolau _aseinio awtomatig" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "Cliciwch \"Gosod\" i ddiweddaru eich cyfrifon." #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Croeso" #: ../src/ui-assist-import.c:2264 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:2269 msgid "Import" msgstr "Mewnforio" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Cadarnhad" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Gwall fformat ffeil" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 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:914 ../src/ui-budget-tabview.c:2508 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:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Clirio" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Rheoli Cyllideb" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "_Mewnforio CVS" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "_Allforio CSV" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Gweddill:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "yr un peth bob mis" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "_Clirio'r mewnbwn" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "yn wahanol pob mis" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Dewisiadau" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Gorfodi monitro'r categori hwn" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Ion" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Chw" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Maw" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Ebr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Mai" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Meh" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Gor" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Aws" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "Medi" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Hyd" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Tac" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 msgid "Dec" msgstr "Rha" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "Crynodeb" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "Cyfansymiau" #: ../src/ui-budget-tabview.c:1561 msgid "Annual Total" msgstr "Cyfanswm Blynyddol" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "Cyfartaledd Misol" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "Misol" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "Ychwanegu categori" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "_Gosod" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "Categori rhiant" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "Enw categori" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 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:2350 msgid "Merge categories" msgstr "Cyfuno categorïau" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" "Bydd trafodion sy'n cael eu rhoi i gategori '%s', yn cael eu symud i'r " "categori isod." #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "Categori targed" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "_Dileu'r categori '%s'" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "Ydych chi'n siŵr eich bod chi am glirio mewnbynnau ar gyfer '%s'?" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "Cyllidebu (golwg tabl)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "Ychwanegu categori" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "Tynnu categori" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Cyfuno" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "Clirio mewnbwn" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "# txn" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "# cfg" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Dileu categorïau heb eu defnyddio" #: ../src/ui-category.c:1598 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:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Golygu..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Incwm" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "Newid math ar gyfer _plentyn" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Cyfuno categori '%s'" #: ../src/ui-category.c:1943 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:1952 msgid "Include _subcategories" msgstr "Yn cynnwys _is-gategorïau" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Rheoli Categorïau" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "_Dileu heb ei ddefnyddio" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "Symud/Cyfuno" #: ../src/ui-category.c:2460 msgid "new category" msgstr "categori newydd" #: ../src/ui-category.c:2472 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:1487 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 cyfred" #: ../src/ui-currency.c:808 ../src/ui-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Arian Cyfred" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Fformat" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Cyfaddasu" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Symbol:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "Y _rhagddodiad" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "_Nod degol:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "Digidau _frac:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 msgid "_Grouping char:" msgstr "_Grwpio nodau:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Dewiswch arian cyfred sail" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Dewis y math o arian cyfred" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "Cod ISO" #: ../src/ui-currency.c:1225 msgid "Add a custom _currency" msgstr "Ychwanegu _arian cyfred cyfaddas" #: ../src/ui-currency.c:1238 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 cyfred, bydd yn cael ei golli am byth." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Newid yr arian cyfred 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 Cyfred" #: ../src/ui-currency.c:1720 msgid "Update online" msgstr "Diweddaru ar-lein" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "Gosod fel sylfaen" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Ystadegau'r ffeil" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "Trafodyn" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Uwchraddio" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Dewiswch arian cyfred sylfaen" #: ../src/ui-dialogs.c:404 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 cyfred\n" "os na fydd yr arian cyfred isod yn gywir, dylech ei newid:" #: ../src/ui-dialogs.c:409 msgid "Currency:" msgstr "Arian Cyfred:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Allforio fel QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Mewnforio o CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "Agor ffeil HomeBank" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "Agor ffeil wrth gefn HomeBank" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "Cadw ffeil HomeBank fel" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Ffeiliau HomeBank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "Copi wrth gefn" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "Pob copi wrth gefn" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Cadw newidiadau i'r ffeil cyn cau?" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "Cau _heb gadw" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "Allforio fel _CSV" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Ffolder:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Dewis Ffolder" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Enw'r ffeil:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "Manylu'r llinellau hollt" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" "Rydych yn allforio o 'Dangos yr holl gyfrif', gyda'r golofn cyfrif\n" "ond ni fydd y ffeil ar ffurf CSV HomeBank." #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Allforio fel PDF" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Allforio fel _PDF" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" "Gyda HomeBank, mae argraffu wedi'i gyfeirio tuag at agwedd eco-gyfrifol tuag " "at y fformat digidol mwyaf eang: fformat PDF. " #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Dewis o blith trafodion posibl..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Dewiswch weithred:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "creu trafodyn newydd" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "dewis drafodyn sy'n bodoli eisoes" #: ../src/ui-dialogs.c:1091 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:1049 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:1155 msgid "_Memo:" msgstr "_Memo:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Manylion:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "_Sensitif i lythrennau bach/mawr" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Unrhyw Statws" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Unrhyw Fath" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Trosglwyddiad" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Gorfodi:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "dangos 'Ychwanegu'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "dangos 'Golygwyd'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "dangos 'Atgoffa'" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "dangos 'Gwag'" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "Dyddiadau" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "Taliadau" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Symiau" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "Testunau" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Categorïau" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Taledigion" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Priodweddau ffeil" #: ../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" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "Talu" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Dileu talai heb ei ddefnyddio" #: ../src/ui-payee.c:1194 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:1375 msgid "Default" msgstr "Rhagosodedig" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "­_Taliadau:" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "Cyfuno talai '%s'" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Bydd y trafodion fydd yn cael eu rhoi i'r talai hwn\n" "yn cael eu symud i'r talai a ddewiswyd isod." #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "_Dileu talai '%s'" #: ../src/ui-payee.c:1613 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:1710 msgid "Manage Payees" msgstr "Rheoli Taleion" #: ../src/ui-payee.c:1854 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 "Adroddiadau" #: ../src/ui-pref.c:90 ../src/ui-pref.c:1949 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 "Atodi i Fanylion" #: ../src/ui-pref.c:140 msgid "Append to Memo" msgstr "Atodi i Femo" #: ../src/ui-pref.c:141 msgid "Append to Payee" msgstr "Atodi i'r Talai" #: ../src/ui-pref.c:146 msgid "Tab" msgstr "Tab" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "Atalnod" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "Hanner colon" #: ../src/ui-pref.c:149 msgid "Space" msgstr "Bwlch" #: ../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 "Dewiswch ffolder ffeiliau HomeBank ragosodedig" #: ../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:1214 msgid "General options" msgstr "Dewisiadau cyffredinol" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "Dewisiadau OFX / QFX" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "Dewisiadau QIF" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "Dewisiadau CSV" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "(mewnforio trafodion yn unig)" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "Ymwahanydd:" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Hidl cychwynnol" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Dewisiadau siartiau" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Cynllun lliw:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "Ffont mynegai llai" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Dewisiadau ystadegau" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Yn ôl _swm" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Dangos colofn _graddfa" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Dangos _manylion" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Dewisiadau cyllidebu" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Galluogi" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Rhagosodedig:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "Rhyngwyneb" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Iaith:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "_Dangos y dyddiad:" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Fformat:" #: ../src/ui-pref.c:1614 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 locale.\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:1644 msgid "Fiscal year" msgstr "Blwyddyn ariannol" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "_Dechrau ar:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Unedau mesur" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Defnyddio _milltiroedd ar gyfer y mesurydd" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Defnyddio _galwyni am danwydd" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "Rhestr drafodion" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "dyddiau i ddod" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "Cuddio trafodion wedi'u cysoni" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "Dangos atgoffa drwy'r amser" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "Dangos gwag bob amser" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "Cynnwys atgoffa i'r fantolen" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "Deialog trafodion" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "_ Cadw'r dyddiad diwethaf pan yn ychwanegu'n lluosog" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "Goddefiad dyddiad trosglwyddo targed:" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "Galluogi awtogwblhau _memo gyda" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "dyddiau treigl" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "Dangos cadarnhau ychwanegu testun am 5 eiliad" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "_Llinell grid:" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "Gosodiadau Gtk" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "Diystyru" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "Maint _ffont" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "Thema dywyll" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Lliw symiau" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Yn defnyddio lliwiau cyfaddas" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Gwario:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Incwm:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Rhybudd:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "_Galluogi creu copi wrth gefn yn awtomatig" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "_Y nifer o gopïau wrth gefn i'w cadw:" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "Amlder copïo wrth gefn yw unwaith y dydd" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "_Waledi:" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "Copïau wrth _gefn" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "Cyfnewid ffeiliau" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Mewnforio:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Allforio:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Dechrau'r rhaglen" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Dangos y sgrin groeso" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Llwytho'r ffeil agorwyd ddiwethaf" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Trafodion wedi eu trefnu ar ôl dyddiad talu" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Diweddaru arian ar-lein" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Adroddiadau'r brif ffenestr" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "_Uchafswm eitemau:" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "Ailosod yr Holl Ddewisiadau" #: ../src/ui-pref.c:2244 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:2265 msgid "Preferences" msgstr "Dewisiadau" #: ../src/ui-pref.c:2512 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:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" "Mae'r cyfeiriadur wrth gefn wedi newid,\n" "efallai y bydd angen i chi gopïo'r ffeil '.bak' i'r lleoliad newydd hwn." #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Rhannu trafodion" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "Dileu popeth" #: ../src/ui-split.c:966 msgid "Apply" msgstr "Defnyddio" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "Diddymu" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Swm y trafodyn:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Heb ei ddynodi:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Swm y rhannu:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "Rhybudd: nid yw swm yr holltiadau a swm y trafodion yn cydweddu" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "Rhybudd: nid yw swm yr holltiadau a swm y trafodion yn cydweddu" #: ../src/ui-tag.c:602 #, 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:645 #, c-format msgid "Merge tag '%s'" msgstr "Cyfuno tag '%s'" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" "Bydd trafodion a neilltuwyd i'r tag hwn,\n" "yn cael ei symud i'r tag a ddewiswyd isod." #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "_Dileu'r tag '%s'" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" "Mae'r tag yma'n ar waith.\n" "Bydd y tag yn cael ei ddileu o unrhyw drafodyn sy'n ei ddefnyddio." #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "Rheoli Tagiau" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "tag newydd" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "Mae trafodyn %s wedi'i greu." #: ../src/ui-transaction.c:858 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" "\n" "Bydd parhau'n dileu'r trafodyn targed." #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "_Toriad" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Dangos _ wedi'i drefnu" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "Dangos pob _cyfrif" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "Defnyddio templed" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "_Ychwanegu a Chadw" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Ychwanegu trafodion" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "Ychwanegu templed" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Etifeddu trafodyn" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "Templed etifeddu" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "Golygu trafodyn" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "Golygu templed" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" "- math: d, d/m, m/d dyddiad cyflawn\n" "- defnyddio allwedd saeth + ctrl neu shifft\n" "- gwag am heddiw" #: ../src/ui-transaction.c:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "_Swm:" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "_At:" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "Llyfr _2" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" "- teipiwch ryw nod ar gyfer awtogwblhau\n" "- teipiwch destun newydd i greu cofnod" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "_Categori:" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "M_emo:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "_Tagiau:" #: ../src/ui-transaction.c:1575 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:466 msgid "Multiple edit transactions" msgstr "Trafodion golygu lluosog" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" "Teipiwch fel\n" "trosglwyddo" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "Amser" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "Tuedd" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "Diffodd" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Yn cynnwys" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Eithrio" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(dim math)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Banc" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Arian Parod" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Ased" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Cerdyn Credyd" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Atebolrwydd" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "Yn gwirio" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "Cynilion" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Y mis hwn" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Mis diwethaf" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Y chwarter hwn" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Y chwarter diwethaf" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Eleni" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "Llynedd" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "30 diwrnod diwethaf" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "60 diwrnod diwethaf" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "90 diwrnod diwethaf" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "12 mis diwethaf" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "cyfaddas" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Pob dyddiad" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "Mis nesaf" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "30 diwrnod nesaf" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "60 diwrnod nesaf" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "90 diwrnod nesaf" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "Gwag" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Posib" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Cyn" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Ar Ôl" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Costau a Chynwysedig." #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "Heb eu clirio" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Heb ei gysoni" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Heb ei gategoreiddio" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "Llun" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "Maw" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "Mer" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "Iau" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "Gwe" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "Sad" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "Sul" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Ionawr" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Chwefror" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Mawrth" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Ebrill" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Mehefin" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Gorffennaf" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Awst" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Medi" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Hydref" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Tachwedd" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Rhagfyr" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Med" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Chwilio..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Siec" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "Trosglwyddiad Banc" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Cerdyn debyd" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Archeb sefydlog" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Taliad electronig" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Adnau" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Ffi banc" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Debyd Uniongyrchol" homebank-5.5.2/po/be.po0000664000175000017500000025005214021210656011577 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2009-11-09 07:33+0000\n" "Last-Translator: Mikhail S. Pobolovets \n" "Language-Team: Belarusian \n" "Language: be\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Дадаць..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Успадкоўваць..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Праўка..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "" #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "" #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Экспарт CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Зачыніць" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Рэдагаваць" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "_Транзакцыя" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Прылады" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Фільтр..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Дадаць" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Дадаць транзакцыю" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Успадкавать" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Успадкаваць ад бягучай транзакцыі" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Рэдагаваць" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Кіраваць бягучую транзакцыю" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Дыяпазон:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Тып:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2668 msgid "Open the list filter" msgstr "Адкрыць спіс фільтраў" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Сёння:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Не атрымалася адкрыць '%s', файл не існуе.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Памылка файла" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Файл" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Новы" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Адкрыць" #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Захаваць" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Адкаціць" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Выйсці" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Налады..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Выгляд" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Панэль прыладаў" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Кіраванне" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "_Рахункі..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Атрымальнікі плацяжу..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Катэгорыі..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Бюджэт..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Заданні..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Транзакцыі" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Дадаць..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Паказаць..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Справаздачы" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Статыстыка..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "" #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "_Бюджэт..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "" #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Дапамога" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "Змест" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Паведаміць аб праблеме..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Перавесці гэтае прыкладанне..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "Аб праграме" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Адкрыць файл" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Адкрыць адзін з папярэдніх файлаў" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Рахунак" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Атрымальнік плацяжу" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Катэгорыя" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Бюджэт" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Паказаць транзакцыі ў абраных рахунках" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Адкрыць статыстычную справаздачу" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Баланс" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Адкрыць бюджэтную справаздачу" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Будучыня" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Дата" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Інфармацыя" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Сума" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Налады HomeBank" #: ../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:515 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:551 msgid "Show all" msgstr "" #: ../src/hub-account.c:556 msgid "By type" msgstr "" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Разам" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:299 msgid "Other" msgstr "" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Сёння" #: ../src/list-operation.c:586 msgid "- split -" msgstr "" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Выдатак" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Прыбытак" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d пад %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Спіс" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Вынікі спісам" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Лінія" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Вынікі ў выглядзе ліній" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Дэталі" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Паказаць дэталі" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Абнавіць" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Абнавіць вынікі" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_З:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Да:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Рахунак" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Усе" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Нічога" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Вынік" #: ../src/rep-budget.c:852 msgid " over" msgstr "" #: ../src/rep-budget.c:858 msgid " left" msgstr "" #: ../src/rep-budget.c:861 msgid " under" msgstr "" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Справаздача па бюджэце" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Бюджэт:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Выдаткавана:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Выдаткавана" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Падкатэгорыя" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Пазнака" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Месяц" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Год" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Паказаць легенду" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Змяніць стаўку" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Справаздача па статыстыцы" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Прыбытак:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Выдатак:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Дзень" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Тыдзень" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Рахунак" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Катэгорыя:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "Атрымальнік плаця_жу:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Тэг:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Лічыльнік" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Паліва" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Кошт" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Адлегл." #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Экспарт у CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Лічыльнік:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Спажыванне:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Кошт паліва:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Іншыя выдаткі:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Агульны кошт:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(пуста)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Бачны" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Памылка" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Кіраванне рахункамі" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Агульны" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Кож_ны:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "П_лацёж:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Імя:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "Файлы QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX файлы" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "Файлы CSV" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Усе файлы" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Інвертаваць" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "дзён" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Памылка фармату файла" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Кіраванне бюджэтам" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Баланс:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Травень" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Прыбыткі" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Кіраванне катэгорыямі" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "Лі_чбаў пасля коскі:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Экспартаваць як QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Імпарт з CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Файлы HomeBank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Інфармацыя" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "З _улікам рэгістру" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Перадача" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Чыннік:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "паказаць 'Дададзены'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "паказаць 'Зменены'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:194 msgid "File properties" 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 "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "Кіраванне Атрымальнікамі" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Паказаць па _суме" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Паказаць слупок курсу" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Паказаць _дэталі" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Прадусталяванне:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 msgid "_Toolbar:" msgstr "Панэль пр_ылад" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1845 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Выкарыстаньне карыстацкіх колераў" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "Вы_датак:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "Пры_бытак:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "Пап_ярэджанне:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "І_мпарт" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Экспарт" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Загрузіць апошні адчынены файл" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Налады" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Дадаць транзакцыю" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Успадкаваць транзакцыю" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Улу_чыць" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Выкл_ючыць" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Банк" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Гатоўка" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Крэдытная карта" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Апошнія 30 дзён" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Апошні год" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Усе даты" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Выд. і прыб." #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Студзень" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Люты" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Сакавік" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Красавік" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Чэрвень" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Ліпень" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Жнівень" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Верасень" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Кастрычнік" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Лістапад" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Снежань" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Спраўдзіць" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "" homebank-5.5.2/po/oc.po0000664000175000017500000024457414021210663011624 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: \n" "POT-Creation-Date: 2021-03-07 18:47+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" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "_Convertir" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Suprimir" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "Al_ternar" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Apondre..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_ereitar..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Editar..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "E_stat" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Pas cap" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "" #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Suprimir..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "_Compte" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Salv" #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Expòrt CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Tampar" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Editar" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "_Operacion" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Aisinas" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filtre..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Apondre" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Apondre una operacion novèla" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Ereitat" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Eretar dempuèi l'operacion activa" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Editar" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Editar l'operacion activa" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "A_ctualizar" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Plaja:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Tipe :" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "Es_tat :" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Reïnicializar" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Uèi:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 #, 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/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Error de fichièr" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Fichièr" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Novèl" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Dobrir..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Enregistrar" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Enregistrar _jos..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Restablir" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Proprietats..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Quitar" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Preferéncias..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Afichatge" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "Barra d'_aisinas" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Gerir" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "_Comptes..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Terces..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Categorias..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Budgèt..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Afectacions..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Operacions" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Apondre..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Veire..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Rapòrts" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Estatisticas..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "" #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "B_udgèt..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "" #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Ajuda" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Contengut" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Senhalar una anomalia..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Traduire aquesta aplicacion" #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_A prepaus" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Crear un fichièr novèl" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Dobrir un fichièr" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Dobrís un fichièr utilizat recentament" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Enregistrar lo fichièr actiu" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Compte" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Terç" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Categoria" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Budgèt" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Afectacion" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Veire las operacions del compte seleccionat" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Dobrís lo rapòrt Estatisticas" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Sòld" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Dobrís lo rapòrt Budgèt" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Planificat" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Futur" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Data" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Entresenha" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Memo" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Montant" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Desconegut" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "mi./l" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Opcions d'HomeBank" #: ../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:515 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:551 msgid "Show all" msgstr "" #: ../src/hub-account.c:556 msgid "By type" msgstr "" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Mandar" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Autre" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Total general" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Comptes" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Uèi" #: ../src/list-operation.c:586 msgid "- split -" msgstr "" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Estatut" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Debit" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Credit" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Tièra" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Veire los resultats en tièra" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Linha" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Veire los resultats en linhas" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Detalh" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Afichar detalh" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Actualizar" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Actualizar los resultats" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Afichar" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Zoom X :" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_De :" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_A :" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Nom del compte" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Totes" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Pas cap" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Resultat" #: ../src/rep-budget.c:852 msgid " over" msgstr "" #: ../src/rep-budget.c:858 msgid " left" msgstr "" #: ../src/rep-budget.c:861 msgid " under" msgstr "" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Rapòrt Budget" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Resultat :" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Budgèt:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Despensat:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Despensat" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Etiqueta" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Mes" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Annada" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s per %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Afichar la legenda" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Afichar lo taus" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Rapòrt Estatisticas" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Credit:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Debit:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Jorn" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Setmana" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Trimèstre" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Compte:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Categoria :" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Tèrç :" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "E_tiqueta :" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Comptador" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Carburant" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Prètz" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Dist:" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Exportar cap a CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Comptador :" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Consum :" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Còst carburant :" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Autres còstes :" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Còst total :" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(pas cap)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Visible" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "A_nullar" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_D'acòrdi" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Nom del compte" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Error" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1618 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1836 msgid "Manage Accounts" msgstr "Gerir los comptes" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "General" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "N_umèro :" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Nòtas :" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Totes los:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Modèl" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Desactivat" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Espotir" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Condicion" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Paga_ment:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Apondre" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Pas trobat" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Nom :" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Nom" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Dobrir" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "Fichièrs QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "fichièrs OFX/QFX" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "Fichièrs CSV" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Totes los fichièrs" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Inversar" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "jorns" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Benvenguda" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "Importar" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Confirmacion" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Error del format de fichièr" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "Es_cafar" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Gerir le Budgèt" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Balança :" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Opcions" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Gen" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Abr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Mai" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Ago" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Oct" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Fusionar" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Editar…" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Credit" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, c-format msgid "" "Cannot rename this Category,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-category.c:1922 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Moneda" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Format" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Personalizada" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Simbòl :" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "Nombre de _decimalas:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "Transaccion" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Metre a jorn" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "Devisa :" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Exportar en QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Importar dempuèi CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Fichièrs HomeBank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "Tampar _sens enregistrar" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Entresenha :" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "_Sensible a la cassa" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Transferir" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Forçar:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "afichatge 'Ajustes'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "afichatge 'Edicions'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Proprietats de fichièr" #: ../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 "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "Per defaut" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1434 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-payee.c:1489 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Veire per mont_ant" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Veire la colomna dels tauses" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Veire los _detalhs" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Activar" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Predefinit :" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Lenga :" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Format :" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Exercici fiscal" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Debit:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Credit:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Alèrta" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_importar" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "E_xportar :" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Afichar la fenèstra d'aviada" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Preferéncias" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Apondre una operacion novèla" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Eretar l'operacion" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Inclure" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Exclaure" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Banca" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Argent franc" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Dequés" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "carta de credit" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Aqueste mes" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Ongan" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "L'an passat" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "30 darrièrs jorns" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "90 darrièrs jorns" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "12 darrièrs meses" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Totas datas" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Possible" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Abans" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Aprèp" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Deb. & Cred." #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Pas categorizat" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Genièr" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Febrièr" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Març" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Abril" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Junh" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Julhet" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Agost" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Setembre" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Octobre" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Novembre" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Decembre" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Set" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Recercar..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Verificar" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Depaus" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "" homebank-5.5.2/po/et.po0000664000175000017500000024236114021210660011620 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: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2011-06-03 13:48+0000\n" "Last-Translator: Romet Kannukene \n" "Language-Team: Estonian \n" "Language: et\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Lisa..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Kasuta..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "Redigeeri..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "" #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "" #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Ekspordi CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "Sulge" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "R_edigeeri" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Tehing" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Tööriistad" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filter..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Lisa" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Lisa uus tehing" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Kasuta" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Kasuta valitud tehingu andmeid" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Muuda" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Redigeeri aktiivset tehingut" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "Periood:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Tüüp:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Täna:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Võimetu '%s' avama, faili ei eksisteeri.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Faili viga" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Fail" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "Uus" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "Ava..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Salvesta" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Taasta" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "Välju" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Eelistused..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Vaade" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Tööriistariba" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Halda" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "Kontod..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "Tehingu_partnerid..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Kategooriad..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Eelarve..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Määrangud..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Tehingud" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Lisa..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Näita..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Aruanded" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Statistika..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "" #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "Eelarve..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "" #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "Abi" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "Sisu" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Teata probleemist..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Tõlgi see rakendus..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "Teave" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Ava viimatu kasutatud fail" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Konto" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Tehingupartner" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Kategooria" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Eelarve" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Näitab valitud konto tehinguid" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Ava statistiline aruanne" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Bilanss" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Ava eelarve aruanne" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Tulevik" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Kuupäev" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Teave" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Summa" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "HomeBank valikud" #: ../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:515 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:551 msgid "Show all" msgstr "" #: ../src/hub-account.c:556 msgid "By type" msgstr "" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Kokku" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:299 msgid "Other" msgstr "" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Täna" #: ../src/list-operation.c:586 msgid "- split -" msgstr "" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Kulu" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Tulu" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d alla %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Loetelu" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Vaata tulemusi nimekirjana" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Rida" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Vaata tulemusi ribadena" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Detail" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Pööra detailid" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Värskenda" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Värskenda tulemusi" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "Alates:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "Kuni:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Konto" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Kõik" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "MItte ükski" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Tulemus" #: ../src/rep-budget.c:852 msgid " over" msgstr "" #: ../src/rep-budget.c:858 msgid " left" msgstr "" #: ../src/rep-budget.c:861 msgid " under" msgstr "" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Eelarve aruanne" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Eelarve:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Kulutatud:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Kulutatud" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Alamkategooria" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Silt" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Kuu" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Aasta" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Pööra legend" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Pööra suhtarv" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Statistiline arunne" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Tulu:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Kulu:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Päev" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Nädal" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Konto:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "Ka_tegooria:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "Te_hingupartner:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Silt:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Läbisõit" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Kütus" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Hind" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Läbitud" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Ekspordi kui CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Läbitud:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Kütusekulu:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Kütuse hind:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Muud kulud:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Kulud kokku:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(mitte ükski)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Nähtav" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Viga" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1618 #, c-format msgid "" "Cannot rename this Account,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1836 msgid "Manage Accounts" msgstr "Halda kontosid" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Üldist" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Iga" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Halda määranguid" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "_Makse:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Nimi:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF failid" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX failid" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV failid" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Kõik failid" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Pööra ümber" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "päeva" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Failiformaadi viga" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Halda Eelarvet" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Bilanss:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "mai" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "Sissetulek" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Halda kategooriaid" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "Kümnendkohti:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Ekspordi QIF-ina" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Impordi CSV failist" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "HomeBank failid" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "In_fo:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Kuva:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "Lisatud" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "Muudetud" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:194 msgid "File properties" 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 "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1434 #, c-format msgid "" "Cannot rename this Payee,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-payee.c:1489 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "Halda tehingupartnereid" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Kuva summa järgi" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Kuva suhtarvu tulp" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Kuva detailid" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Luba" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "Kulu:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "S_issetulek:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "Hoiatus:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Impordi:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Ekspordi:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Lae viimati avatud fail" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Eelistused" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Lisa tehing" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Kasuta tehingut" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Kaasa arvatud" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Arva välja" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Pank" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Sularaha" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Krediitkaart" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Viimased 30 päeva" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Viimased 12 kuud" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Kõik päevad" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Kulud ja tulud" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "jaanuar" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "veebruar" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "märts" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "aprill" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "juuni" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "juuli" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "august" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "september" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "oktoober" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "november" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "detsember" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "" homebank-5.5.2/po/vi.po0000664000175000017500000025217414021210665011636 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2020-04-06 23:30+0000\n" "Last-Translator: Quan Nguyen \n" "Language-Team: Vietnamese \n" "Language: vi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 msgid "HomeBank" msgstr "HomeBank" #: ../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:704 msgid "Free, easy, personal accounting for everyone" msgstr "Kế toán cá nhân miễn phí, dễ dàng cho tất cả 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 "" "HomeBank là một phần mềm miễn phí (và tự do) sẽ hỗ trợ bạn quản lý kế toán " "cá nhân của chính mình." #: ../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 "" "Nó được thiết kế để dễ sử dụng và có thể phân tích chi tiết tài chính cá " "nhân của bạn bằng cách sử dụng các bộ lọc mạnh mẽ và biểu đồ đẹp mắt." #: ../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 "" "Nếu bạn đang tìm kiếm một cách hoàn toàn miễn phí và dễ dàng để quản lý kế " "toán cá nhân của mình thì HomeBank nên là phần mềm đáng để lựa chọn." #: ../src/dsp-account.c:221 #, c-format msgid "There is %d group of similar transactions" msgstr "Có %d nhóm các giao dịch tương tự nhau" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Không có giao dịch tương tự nào được tìm thấy!" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "Kiểm tra kết quả chuyển giao nội bộ" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Không tìm thấy mâu thuẫn!" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" "Đã tìm thấy sự mâu thuẫn: %d\n" "bạn có muốn xem lại và chỉnh sửa?" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Mỗi số tiền giao dịch sẽ được chia cho %.6f." #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Bạn có chắc chắn muốn chuyển đổi tài khoản này\n" "sang Euro làm Tiền tệ chính?" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "_Chuyển đổi" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Tạo" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Thêm..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Kế thừa" #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Sửa..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "" #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "" #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Xuất ra CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Đóng" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Chỉnh sửa" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Giao dịch" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Công cụ" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Lọc..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Thêm" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Thêm một giao dịch mới" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Kế thừa" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Kế thừa từ các giao dịch đang hoạt động" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Chỉnh sửa" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Chỉnh sửa giao dịch đang hoạt động" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Khoảng" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Loại:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Hôm nay:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Xin chào bạn đã đến với HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Mở file mẫu" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 #, 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/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, 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:1132 #, 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:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Lỗi tập tin" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Tập tin" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Mới" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Mở..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Lưu" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Hoàn nguyên" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Thoát" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Thiết lập..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Hiển thị" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Thanh công cụ" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Quản lý" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "Tài khoản..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Người được trả tiền..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Danh mục..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Ngân sách..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Ấn định..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Giao dịch" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Thêm..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Hiện thị..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Báo cáo" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Thống kê..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Thời gian hướng tới..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "Nhân sách..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Hiển thị hộp thoại chào mừng..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Trợ giúp" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Nội dung" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Báo cáo lỗi" #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Dịch ứng dụng này..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_Giới thiệu" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Tạo tập tin mới" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Mở tập tin" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Mở tập tin vừa dùng" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Lưu tập tin hiện tại" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Tài khoản" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Người nhận" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Danh mục" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Ngân sách" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 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:1941 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Mở báo cáo thống kê" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Mở báo cáo Trend Time" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Số dư" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Mở báo cáo số dư" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Mở báo cáo ngân sách" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Tương lai" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Ngày tháng" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Thông tin" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Ghi nhớ" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Số lượng" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Chưa xác định" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Tùy chọn của HomeBank" #: ../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:515 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:551 msgid "Show all" msgstr "" #: ../src/hub-account.c:556 msgid "By type" msgstr "" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "Giao dịch được thêm vào: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Kiểm tra kết quả giao dịch dự kiến" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Tổng cộng" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:299 msgid "Other" msgstr "" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Tổng cộng" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Các tài khoản" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Hôm nay" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- chia -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Trạng thái" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Chi phí" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Thu nhập" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d dưới %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Danh sách" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Hiển thị kết quả kiểu danh sách" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Hàng" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Hiển thị kết quả theo hàng" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Chi tiết" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Đảo ngược chi tiết" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Làm mới" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Làm mới kết quả" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Báo cáo số dư" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Phóng lớn X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Từ:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "Đế_n:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Tài khoản" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Tất cả" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Không chọn gì" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Kết quả" #: ../src/rep-budget.c:852 msgid " over" msgstr "" #: ../src/rep-budget.c:858 msgid " left" msgstr "" #: ../src/rep-budget.c:861 msgid " under" msgstr "" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Báo cáo ngân sách" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Hiển thị theo:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Ngân sách:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Chi tiêu" #: ../src/rep-budget.c:1422 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:1423 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:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Tiêu xài" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Danh mục phụ" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Nhãn" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Tháng" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Năm" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Đảo ngược chú thích" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Đảo ngược tỷ giá" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Báo cáo thống kê" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Thu nhập:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Chi phí" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Ngày" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Tuần" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Quý" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Báo cáo theo khuynh hướng" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "Tài khoản:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Hạng mục:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Người được trả:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Thẻ:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Chọn tất cả" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Tích lũy" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Mét" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Nhiên liệu" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Giá" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Khoảng cách" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Xuất ra thành CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Báo cáo chi phí xe cộ" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "Xe cộ" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Đo lường:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Tiêu thụ:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Chi phí nhiên liệu:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Chi phí khác:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Tổng chi phí:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(không có)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Xem được" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Lỗi" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Quản lý tài khoản" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Chung" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "Số:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "không bao gồm từ báo cáo" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "&Mỗi:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Quản lý phân công" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Thanh_toán:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Không tìm thấy" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Tập tin được cài đặt sẵn:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Tên:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "Tập tin dạng QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "Tập tin dạng OFX/QFX" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "Tập tin CSV" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Tất cả các tập tin" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Đảo ngược" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "ngày" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Sự chứng thực" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "File lỗi" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Quản lý ngân sách" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Số dư:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 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:257 msgid "Jan" msgstr "Tháng 1" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Tháng 2" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Tháng 3" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Tháng 4" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Tháng Năm" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Tháng 6" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Tháng 7" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 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:266 msgid "Oct" msgstr "Tháng 10" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Tháng 11" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Thu nhập" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Quản lý danh mục" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "Phân số" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Xuất ra dạng QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Nhập vào từ tập tin CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Tập tin HomeBank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Thông tin" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "Phân biệt chữ hoa/thường" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Đổi" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Áp đặt" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "hiển thị 'Đã thêm'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "hiển thị \"Đã sửa\"" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:194 msgid "File properties" 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" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "Quản lý người được trả tiền" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Trình bày theo _số lượng" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Trình bày cột giá" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Trình bày chi tiết" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Bật" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Mẫu có sẵn\"" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Sử dụng màu sắc tùy ý" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Phí tổn" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "Thu _nhập" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Cảnh báo" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Nhập" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Xuất ra:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Nạp tập tin đã mở gần đây" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Tuỳ chọn" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Thêm giao dịch" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Giao dịch kế thừa" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Bao gồm" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Loại trừ" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Ngân hàng" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Tiền mặt" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Tài sản" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Thẻ tín dụng" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Trách nhiệm" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "30 ngày trước" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "60 ngày trước" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "90 ngày trước" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "12 tháng trước" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Tất cả ngày tháng" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Thu & Chi" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Tháng 1" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Tháng 2" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Tháng 3" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Tháng 4" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Tháng 6" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Tháng 7" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Tháng 8" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Tháng 9" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Tháng 10" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Tháng 11" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Tháng 12" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Tháng 9" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Kiểm tra" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Thẻ ghi nợ" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Lệnh" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Tiền điện" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Đặt cọc" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Phí FI" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "" homebank-5.5.2/po/ms.po0000664000175000017500000024462214021210663011634 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2016-09-05 16:32+0000\n" "Last-Translator: abuyop \n" "Language-Team: Malay \n" "Language: ms\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "T_ukar" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Tiada transaksi berubah" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Ubah" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "_Togol" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "T_ambah..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Warisi..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Sunting..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Status" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Tiada" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Cipta templat..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Padam..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "A_kaun" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Eksport QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Eksport CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Tutup" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Sunting" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Transaks_i" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "A_lat" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Penapis..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Tukar ke Euro..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Tambah" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Tambah transaksi baru" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Warisi" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Warisi dari transaksi aktif" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Sunting" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Sunting transaksi aktif" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Cipta templat" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Julat:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Jenis:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Status:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Hari Ini:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Selamat Datang ke HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Buka fail _contoh" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Tidak boleh membuka '%s', fail tidak wujud.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Ralat fail" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Fail" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Baru" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Buka..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Simpan" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Simpan Seb_agai..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Kembali Semula" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Sifat..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Keluar" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Keutamaan..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Papar" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Palang Alat" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Urus" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "Aka_un..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Penerima..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Kategori..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Bajet..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Pemindahan..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Matawang..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Transaksi" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Tambah..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Papar..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Laporan" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Statistik..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Arah Aliran Masa..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "B_ajet..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Papar dialog aluan..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Statistik fail..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Bantuan" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Kandungan" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Laporkan Masalah..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Terjemahkan Aplikasi Ini..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_Perihal" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Cipta fail baharu" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Buka fail" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Buka fail kebelakangan diguna" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Simpan fail semasa" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Akaun" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Penerima" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Kategori" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Bajet" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Papar akaun transaksi pilihan" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Buka laporan Statistik" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Buka laporan Arah Aliran Masa" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Imbangan" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Buka laporan Imbangan" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Buka laporan Bajet" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Masa depan" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Tarikh" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Maklumat" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Amaun" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Pilihan homebank" #: ../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:515 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:551 msgid "Show all" msgstr "" #: ../src/hub-account.c:556 msgid "By type" msgstr "" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Jumlah" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:299 msgid "Other" msgstr "" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Hari ini" #: ../src/list-operation.c:586 msgid "- split -" msgstr "" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Perbelanjaan" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Pendapatan" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d dibawah %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Senarai" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Papar keputusan dalam senarai" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Baris" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Papar keputusan dalam baris" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Terperinci" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Togol perincian" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Segar Semula" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Segar semula keputusan" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Laporan imbangan" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Zum X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Dari:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Hingga:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Akaun" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Semua" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Tiada" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Keputusan" #: ../src/rep-budget.c:852 msgid " over" msgstr "" #: ../src/rep-budget.c:858 msgid " left" msgstr "" #: ../src/rep-budget.c:861 msgid " under" msgstr "" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Laporan bajet" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Papar berdasarkan:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Bajet:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Digunakan:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Digunakan" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Subkategori" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Tag" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Bulan" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Tahun" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Togol petunjuk" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Togol kadar" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Laporan Statistik" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Pendapatan:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Perbelanjaan:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Hari" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Minggu" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Suku" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Laporkan Arah Aliran Masa" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "A_kaun:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Kategori:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Penerima:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Tag:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Pilih semu_a" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Kumpul" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Meter" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Bahan Api" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Harga" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Jarak" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Eksport sebagai CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Laporan kos kenderaan" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "Ken_deraan:" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Meter:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Penggunaan:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Kos bahan api:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Kos lain:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Jumlah kos:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(tiada)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Tampak" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Batal" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Ralat" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Urus Akaun" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Am" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "N_ombor:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Setia_p:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Urus Pemindahan" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Pem_bayaran:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Tidak ditemui" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Praset fail:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Nama:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "Fail QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "Fail OFX/QFX" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "Fail CSV" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Semua fail" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Songsang" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "hari" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Pengesahan" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Ralat format fail" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Urus Bajet" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Imbangan:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Paksa pemantauan kategori ini" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mac" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Mei" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Ogo" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Okt" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "Pen_dapatan" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Urus Kategori" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "Bilangan digit:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Eksport sebagai QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Import dari CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Fail homebank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Maklumat:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "_Sensitif huruf" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Pemindahan" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Paksa:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "papar 'Ditambah'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "papar 'Disunting'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:194 msgid "File properties" 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 "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "Urus Penerima" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Papar berdasarkan _amaun" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Papar lajur kada_r" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Papar per_incian" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Dibenarkan" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "Praset:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Guna warna suai" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "Perbelan_jaan:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "Pen_dapatan:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Amaran:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Import:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Eksport:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Muat fail terakhir dibuka" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Keutamaan" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Tambah transaksi" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Warisi transaksi" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "M_emo:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Termasuk" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Kecualikan" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Bank" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Tunai" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Aset" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Kad Kredit" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Liabiliti" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "30 hari lepas" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "12 bulan lepas" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Semua tarikh" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Perbelanjaan & Pendapatan" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Januari" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Februari" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Mac" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "April" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Jun" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Julai" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Ogos" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Oktober" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "November" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Disember" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Cek" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Kad debit" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Arahan tersedia" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Pembayaran elektronik" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Deposit" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Fi FI" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "" homebank-5.5.2/po/en_CA.po0000664000175000017500000024441414021210660012156 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2019-12-04 21:45+0000\n" "Last-Translator: Ellisun Gordon \n" "Language-Team: English (Canada) \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "No similar transaction was found !" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "Check internal transfer result." #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "No inconsistency found!" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "No transaction changed" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Add..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Inherit..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Edit..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "" #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "" #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Export CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Close" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Edit" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Transacti_on" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Tools" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filter..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Add" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Add a new transaction" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Inherit" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Inherit from the active transaction" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Edit" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Edit the active transaction" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Range:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Type:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Today:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Welcome to HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Open the _example file" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 #, 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/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "File error" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_File" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_New" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Open..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Save" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Revert" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Quit" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Preferences..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_View" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Toolbar" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Manage" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "Acc_ounts..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Payees..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Categories..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Budget..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Assignments..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Transactions" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Add..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Show..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Reports" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Statistics..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Trend Time..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "B_udget..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Show welcome dialog..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Help" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Contents" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Report a Problem..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Translate this Application..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_About" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Open a file" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Open a recently used file" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Account" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Payee" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Category" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Budget" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Shows selected account transactions" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Open the Statistics Report" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Open the Trend Time report" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Balance" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Open the Budget Report" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Future" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Date" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Info" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Amount" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "HomeBank options" #: ../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:515 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:551 msgid "Show all" msgstr "" #: ../src/hub-account.c:556 msgid "By type" msgstr "" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:299 msgid "Other" msgstr "" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Today" #: ../src/list-operation.c:586 msgid "- split -" msgstr "" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Expense" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Income" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d under %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "List" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "View results as a list" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Line" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "View results as lines" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Detail" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Toggle detail" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Refresh" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Refresh results" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Zoom X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_From:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_To:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Account" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "All" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "None" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Result" #: ../src/rep-budget.c:852 msgid " over" msgstr "" #: ../src/rep-budget.c:858 msgid " left" msgstr "" #: ../src/rep-budget.c:861 msgid " under" msgstr "" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Budget report" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_View by:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Budget:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Spent:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Spent" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Subcategory" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Tag" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Month" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Year" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Toggle legend" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Toggle rate" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Statistics Report" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Income:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Expense:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Day" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Week" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Quarter" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Trend Time Report" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "A_ccount:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Category:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Payee:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Tag:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Cumulate" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Metre" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Fuel" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Price" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Export as CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Metre:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Consumption:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Fuel cost:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Other cost:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Total cost:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(none)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Visible" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Error" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Manage Accounts" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "General" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "N_umber:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Starting _balance:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Ever_y:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Manage Assignments" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Pay_ment:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Not found" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Preset file:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Name:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF files" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX files" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV files" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "All files" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Invert" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "days" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "File format error" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Manage Budget" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Balance:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "May" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Aug" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Oct" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Income" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Manage Categories" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Frac digits:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Export as QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Import from CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "HomeBank files" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Info:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "Case _sensitive" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Transfer" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Force:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "display 'Added'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "display 'Edited'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:194 msgid "File properties" 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 "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "Manage Payees" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Show by _amount" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Show _rate column" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Show _details" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Enable" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Preset:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 msgid "_Toolbar:" msgstr "_Toolbar:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1845 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Uses custom colours" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Expense:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Income:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Warning:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Import:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Export:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Load last opened file" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Preferences" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Add transaction" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Inherit transaction" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Include" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Exclude" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Bank" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Cash" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Asset" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Credit card" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Liability" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Last 30 days" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Last 12 months" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "All date" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Exp. & Inc." #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "January" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "February" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "March" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "April" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "June" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "July" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "August" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "September" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "October" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "November" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "December" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Cheque" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Debit card" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Standing order" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Electronic payment" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Deposit" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "FI fee" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "" homebank-5.5.2/po/lv.po0000664000175000017500000024524014021210662011632 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: \n" "POT-Creation-Date: 2021-03-07 18:47+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" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Neviena transakcija nav mainīta" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Pievienot..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Mantot..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "R_ediģēt..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "Saskaņots" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Izveidot šablonu..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "" #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Eksportēt CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Aizvērt" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "R_ediģēt" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Tran_sakcija" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Rīki" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filtrs..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Pievienot" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Pievienot jaunu transakciju" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Mantot" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Mantot no aktīvās transakcijas" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Rediģēt" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Rediģēt aktīvo transakciju" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "Perio_ds" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Veids:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Šodien:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Laipni lūdzam HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Atvērt pi_emēra failu" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Nevar atvērt \"%s\", fails neeksistē.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Faila kļūda" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Fails" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "Jau_ns" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Atvērt..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Saglabāt" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Atgriezties" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Iziet" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Iestatījumi..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Skats" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Rīkjosla" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Pārvaldīt" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "_Konti..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Darījumu partneri..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Kategorijas..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Budžets..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Uzdevumi..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Transakcijas" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Pievienot..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Rādīt..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Atskaites" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Statistika..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Tendences..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "B_udžets..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Rādīt sveiciena dialogu..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Palīdzība" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Saturs" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Ziņot par problēmu..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Tulkot šo lietotni..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "P_ar" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Atvērt failu" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Atvērt nesen lietotu failu" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Konti" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Partneri" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Kategorijas" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Budžets" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Rāda atlasītā konta transakcijas" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Atvērt statistikas atskaiti" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Atvērt tendenču atskaiti" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Bilance" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Atvērt bilances atskaiti" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Atvērt budžeta atskati" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Nākotnē" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Datums" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Informācija" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Summa" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "HomeBank opcijas" #: ../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:515 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:551 msgid "Show all" msgstr "" #: ../src/hub-account.c:556 msgid "By type" msgstr "" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Kopā" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:299 msgid "Other" msgstr "" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Šodien" #: ../src/list-operation.c:586 msgid "- split -" msgstr "" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Izdevumi" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Ienākumi" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d zem %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Saraksts" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Skatīt rezultātus kā sarakstu" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Līnija" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Skatīt rezultātus kā līnijas" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Detaļas" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Pārslēgt detaļas" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Atsvaidzināt" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Atsvaidzināt rezultātus" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Bilances atskaite" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Mērogs:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_No:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Līdz:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Konti" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Viss" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Nekas" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Rezultāts" #: ../src/rep-budget.c:852 msgid " over" msgstr "" #: ../src/rep-budget.c:858 msgid " left" msgstr "" #: ../src/rep-budget.c:861 msgid " under" msgstr "" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Budžeta atskaite" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Skats:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Budžets:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Tērēts:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Tērētais" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Apakškategorija" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Birka" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "mēneši" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "gadi" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Pārslēgt leģendu" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Pārslēgt procentus" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Statistikas atskaite" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Ienākumi:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Izdevumi:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "dienas" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "nedēļas" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Ceturksnis" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Tendenču atskaite" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Konts:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Kategorija:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "D_arījuma partneris:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Birka:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Atlasīt _visu" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Kumulāta" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Nobraukums" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Degviela" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Cena" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Attālums" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Eksportēt kā CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Auto izmaksu atskaite" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "Autom_ašīna" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Nobraukums:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Patēriņš:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Degvielas cena:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Citi izdevumi:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Kopējie izdevumi:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(nekas)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Redzams" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Kļūda" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Pārvaldīt kontus" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Vispārēji" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "N_umurs:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Ar per_iodu:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Pārvaldīt uzdevumus" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "_Maksājums:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Nav atrasts" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Iestatījumu fails:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Nosaukums:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF fails" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX faili" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV fails" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Visi faili" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Invertēt" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "dienas" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Apstiprinājums" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Faila formatēšanas kļūda" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Pārvaldīt budžetu" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Bilance:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Monitorēt šo kategoriju" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Maijs" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Jūn" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Jūl" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Aug" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Okt" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Ienākumi" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Pārvaldīt kategorijas" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "Cipari _aiz komata:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Eksportēt kā QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Importēt no CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "HomeBank faili" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Informācija:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "Reģistrjūtīg_s" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Pārskaitījums" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Turklāt:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "rādīt visas pievienotās" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "rādīt visas rediģētās" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:194 msgid "File properties" 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 "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "Pārvaldīt darījumu partnerus" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Kārtot pēc _summas" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Rādīt p_rocentu kolonnu" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Rādīt _detaļas" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "I_eslēgt" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Komplekts:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Izmanto savas krāsas" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "Izd_evumi:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Ienākumi:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Brīdinājums:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Importēt:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Eksportēt:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Ielādēt pēdējo atvērto failu" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Iestatījumi" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Pievienot transakciju" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Mantot transakciju" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Iekļaut" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Izslēgt" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Bankā" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Skaidra nauda" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Aktīvi" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Kredītkarte" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Pasīvi" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Pēdējās 30 dienas" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Pēdējie 12 mēneši" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Visi datumi" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Izdevumi un ienākumi" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Janvāris" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Februāris" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Marts" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Aprīlis" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Jūnijs" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Jūlijs" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Augusts" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Septembris" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Oktobris" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Novembris" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Decembris" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Čeks" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Debetkarte" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Regulārais maksājums" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Elektroniskais maksājums" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Depozīts" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Komisijas maksa" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "" homebank-5.5.2/po/ast.po0000664000175000017500000024306214021210656012003 00000000000000# msgid "" msgstr "" "Project-Id-Version: HomeBank 3.2 alpha2\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2009-06-07 20:31+0000\n" "Last-Translator: costales \n" "Language-Team: Asturian \n" "Language: ast\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Amestar..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Heredar..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Editar..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "" #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "" #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Esportar CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Zarrar" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Editar" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Transacci_on" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Ferramientes" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filtru..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Amestar" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Amestar una transacción nueva" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Heredar" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Heredar dende la transacción activa" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Editar" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Editar la transacción activa" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Intervalu:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Güei:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Imposible abrir el «%s», el ficheru nun esiste.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "" #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "" #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Fallu de ficheru" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Ficheru" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Nuevu" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Abrir..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Guardar" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Desfacer" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Colar" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Preferencies..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Vista" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "_Cuentes..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Beneficiarios..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Ca_tegoríes..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "" #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Presupuestu..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "" #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Transacciones" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Amestar..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Amosar..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Informes" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Estadístiques..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "" #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "_Presupuestu..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "" #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "" #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "A_ida" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Conteníos..." #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Informar d'un problema..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Tornar esta aplicación" #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_Tocante a" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Cuenta" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Beneficiariu" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Categoría" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Presupuestu" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Amosar les transacciones de la cuenta seleicionada" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Abrir l'informe estadísticu" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Balance" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Abrir l'informe de presupuestu" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Futuru" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Fecha" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Información" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Importe" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Opciones d'HomeBank" #: ../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:515 msgid "Your accounts" msgstr "" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:551 msgid "Show all" msgstr "" #: ../src/hub-account.c:556 msgid "By type" msgstr "" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:299 msgid "Other" msgstr "" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Güei" #: ../src/list-operation.c:586 msgid "- split -" msgstr "" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Gastu" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Ingresu" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d baxo %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Llista" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Ver resultaos como llista" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Llinia" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Ver resultaos como llínies" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Detalle" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Amosar _detalles" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Actualizar" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Actualizar resultaos" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Dende:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Fasta:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Cuenta" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Toos" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Dengún" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Resultáu" #: ../src/rep-budget.c:852 msgid " over" msgstr "" #: ../src/rep-budget.c:858 msgid " left" msgstr "" #: ../src/rep-budget.c:861 msgid " under" msgstr "" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Informe de presupuestu" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Presupuestu:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Gastáu:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "" #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "" #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Gastáu" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Subcategoría" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Etiqueta" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Mes" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Añu" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Camudar llende" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Amosar tasa" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Informe estadísticu" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Ingresos:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Gastos:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Día" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Selmana" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Cuenta:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "Ca_tegoría:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Beneficiariu:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Cuntador" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Carburante" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Preciu" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Esportar como CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Cuntador:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Consumu:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Coste del carburante:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Otros costes:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Coste total:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(nengún)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Visible" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Fallu" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Xestionar cuentes" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Xeneral" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Ca_da:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "_Pagu:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Nome:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "Ficheros QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "Ficheros OFX/QFX" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "Ficheros CSV" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Tolos ficheros" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Invertir" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "díes" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Fallu nel formatu del ficheru" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Xestionar presupuestu" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Balance:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Mayu" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Ingresu" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Xestionar categoríes" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Númberu de decimales:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Esportar a QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Importar dende CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Ficheros HomeBank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Info.:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Forzar:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "amosar 'Amestáu'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "amosar 'Editáu'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:194 msgid "File properties" 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 "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "Xestionar beneficiarios" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Amosar por _importe" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Amosar _columna de porcentaxe" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Amosar _detalles" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Gastu:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Ingresu:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Alvertencia:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Importar:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Esportar:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Cargar el caberu ficheru abiertu" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Preferencies" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Amestar transacción" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Heredar transacción" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Incluyir" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Escluyir" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Saldu" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Efectivu" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Tarxeta de créitu" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Caberos 30 díes" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Caberos 12 meses" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Toles feches" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Esp. & Inc." #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Xineru" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Febreru" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Marzu" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Abril" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Xunu" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Xunetu" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Agostu" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Setiembre" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Ochobre" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Payares" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Avientu" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "" homebank-5.5.2/po/ru.po0000664000175000017500000034201314021210664011635 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: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2020-09-29 11:49+0000\n" "Last-Translator: kazus \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "Присутствует %d групп похожих транзакций" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Похожих транзакций не найдено!" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "Проверьте результат внутреннего перевода" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Несоответсвия не найдены !" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" "Было найдено несоответсвий: %d\n" "хотите просмотреть и исправить?" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Сумма каждой операции будет поделена на %.6f." #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "Конвертировать данный счёт в Евро,\n" "как в основную валюту?" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "_Конвертировать" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Операция не была изменена" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "операция изменилась: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Результат автоматического присвоения" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" "Хотите создать назначение для\n" "каждой выбранной транзакции?" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Создать" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" "Хотите создать шаблон для\n" "каждой выбранной транзакции?" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" "Хотите удалить все \n" "выбранные транзакции?" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Удалить" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "Вы уверены, что хотите сменить статус на \"Не определено\"?" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Некоторые из выбранных операций уже согласованы." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Изменить" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "Вы уверены, что хотите поставить статус \"Согласовано\"?" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "П_ереключить" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d операций" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d операций, %d выбрано, среднее:%s, всего: %s (%s - %s)" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Добавить..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Скопировать..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Редактировать..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "_Множественное редактирование..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Состояние" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Ничего" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Оплачено" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Согласовано" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "Посмотреть _Сплит" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Создать шаблон..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "Создать назначение..." #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Удалить…" #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "_Вверх" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "_Вниз" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "_Счёт" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Экспорт в QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Экспорт CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Экспорт в PDF..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "Печать..." #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Закрыть" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Изменить" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Копировать" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Вставить" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Вставить (сегодня)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Опера_ция" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "_Найти" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Инструменты" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Пометить дубликаты..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "Проверить внутренние переводы" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Автоназначения" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Фильтр…" #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Перевести в евро..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Добавить" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Добавить новую операцию" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Скопировать" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Скопировать текущую операцию" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Изменить" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Редактировать текущую операцию" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Оплачено" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Переключить \"оплачено\" для выбранных операций" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Согласовано" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Переключить \"Согласовано\" для выбранных операций" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "Множественное редактирование" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Редактировать несколько операций" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Создать шаблон" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "Удалить" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Удалить выбранные операции" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "Вверх" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "Переместить транзакцию выше" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "Вниз" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "Переместить транзакцию ниже" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(закрыт)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Все операции" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Обновить" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Диапазон:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "Переключить отображение будующих транзакций" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Вид:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Статус:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Сброс" #: ../src/dsp-account.c:2668 msgid "Open the list filter" msgstr "Открыть список отбора" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Перейти на/с Евро" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Сегодня:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Добро пожаловать в HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "Открыть последний файл" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Новый _файл" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "Откр_ыть файл" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Открыть файл _примера" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Открыть инструкци_ю HomeBank" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Настройки программы" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "Показать это окно в следующий раз" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" "Вы хотите открыть файл резервной копии '%s'\\n\n" "\\n\n" "Вы уверены, что хотите это сделать?" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "Открыть файл резервной копии" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "_Открыть резервную копию" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Не удалось открыть '%s', файл не существует.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Неизвестная ошибка" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "Ошибка ввода/вывода файла '%s'." #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Файл '%s' не является файлом HomeBank." #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Ошибка файла" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "С момента открытия файл был изменён" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Если вы сохраните файл, все внешние изменения будут потеряны. Всё равно " "сохранить?" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "Всё равно со_хранить" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "Очистить" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Файл" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Новый" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Открыть..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "_Недавние файлы" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Сохранить" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Сохранить _как..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "Импорт..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "Экспортировать как QIF..." #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Откатить" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "Восстановить резервную копию" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Свойства..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Выйти" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Параметры..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Вид" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Панель инструментов" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Топ расходов" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "Активное расписание" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Переход на/с Евро" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Управление" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "_Счета..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Получатели платежа..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Категории..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Расписание/Шаблоны..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Бюджет..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "Бюжет (таблица)..." #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Назначения..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Курсы валют..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "Метки..." #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Операции" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Добавить..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Показать..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Показать все" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Настроить планировщик..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Записать запланированные транзакции" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Отчеты" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Статистика..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Временной Тренд" #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "_Баланс..." #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "Б_юджет..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "Расходы на автомобил_ь..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Открыть окно приветствия" #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Статистика файла..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Анонимизировать..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Справка" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Содержание..." #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "Получить помощь Онлайн..." #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Проверить обновления..." #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Примечания к выпуску" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Сообщить о проблеме..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Перевести это приложение..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "О программе" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "Создать" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Создать новый файл" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "Открыть" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Открыть файл" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Открыть недавно использованный файл" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "Сохранить" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Сохранить текущий файл" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Счёт" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "Управление счетами" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Получатель платежа" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "Управление получателями" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Категория" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "Управление категориями" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "Запланированные/Шаблоны" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "Управление запланированными транзакциями и шаблонами" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Бюджет" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "Управление бюджетом" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Назначение" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "Управление автоматическими подстановками" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "Показать" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Показать операции по счёту" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Добавить операции" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "Статистика" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Открыть статистический отчет" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "Временной Тренд" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Открыть отчет по Временному Тренду" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Баланс" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Открыть балансовый отчет" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Открыть отчет по бюжету" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Расходы на автомобиль" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Открыть отчет по расходам на автомобиль" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "Помощь" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "Помочь проекту" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "Помочь проекту HomeBank" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Запланировано" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Будущее" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Напомнить" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "**ЗАПОЛНЕНО**" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(без категории)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "повреждённый формат CSV" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Дата" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Сведения" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Заметка" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Сумма" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Неизвестно" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f л" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "км/л" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "миль/л" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(нет получателя)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" 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:865 #, c-format msgid "%d-q%d" msgstr "%d-q%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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Настройки HomeBank" #: ../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:515 msgid "Your accounts" msgstr "Ваши счета" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Развернуть все" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Свернуть все" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Показать всё" #: ../src/hub-account.c:556 msgid "By type" msgstr "По типу" #: ../src/hub-account.c:557 msgid "By group" msgstr "По группе" #: ../src/hub-account.c:558 msgid "By institution" msgstr "По организациям" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Нет операций для добавления" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "добавлена операция: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Проверить результат запланированных операций" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Итого" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Запланированные операции" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Разместить" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "Наибольшие %d затраты" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Прочее" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Куда уходят ваши деньги" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "импортированная учётная запись" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Общий итог" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Счета" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Сегодня" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- разделитель -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "- Категория не выбрана -" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Статус" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Расход" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Доход" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Следующая дата" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d под %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Список" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Показать в виде списка" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "График" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Показать в виде линейного графика" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Детали" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Переключить подробности" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Обновить" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Обновить результаты" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Балансовый отчет" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Показать" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "Интер_вал" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "Показать пустые строки" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Увеличение X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_С:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_На:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Имя счёта" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Выбрать:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Выбрать все" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Сбросить все" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Бюджет на %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Результат" #: ../src/rep-budget.c:852 msgid " over" msgstr " над" #: ../src/rep-budget.c:858 msgid " left" msgstr " осталось" # If it is about budget result string #: ../src/rep-budget.c:861 msgid " under" msgstr " превышение" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "Столбцы" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "Показать в виде ленточной диаграммы" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "_Результат в буфер обмена" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "_Результат в CSV" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "_Детали в буфер обмена" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "_Детали в CSV" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Отчет по бюджету" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Просмотреть за" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "Только выходящие из бюджета" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Результат:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Бюджет:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Потрачено:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "Нет счетов для включения в бюджет." #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "Необходимо выбрать счета в окне счетов." #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Потрачено" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Подкатегория" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Метка" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Месяц" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Год" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s сгруппировано по графе \"%s\"" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "Слишком много столбцов для отображения" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "Выберите более широкий интервал и / или более узкий диапазон дат" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "Столбец" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Показать в виде столбчатой диаграммы" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "Круговая диаграмма" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Показать в виде круговой диаграммы" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "Обозначения" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Отразить пояснения" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "Курс" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Отразить в процентах" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "Фильтр" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Редактировать фильтр" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Отчёт по статистике" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "Режим:" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Доход:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Расход:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "Среднее" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "День" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Неделя" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Квартал" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "Полугодие" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s во времени" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "В среднем: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Временной тренд" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Счёт" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Категория:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Получатель платежа:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Метка:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Выделить всё" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "Накопительный" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Счётчик" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Топливо" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Стоимость" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Расст." #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "Экспорт" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Экспортировать как CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Отчет по расходам на автомобиль" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "Автомобиль" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Счётчик" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Потребление:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Стоимость топлива:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Другие расходы:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Итоговая стоимость" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(нет)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Видимость" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Отмена" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_ОК" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Имя счёта" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Ошибка" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "Невозможно добавить счёт '%s',\n" "такое имя уже занято." #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "Невозможно удалить счёт '%s'" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" "Этот счёт содержит операции и/или является частью внутреннего перевода." #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Вы уверены, что хотите безвозвратно удалить '%s'?" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "Если вы удалите счёт, он будет безвозвратно утерян." #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Управление счетами" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "Переименовать" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "Перетаскивайте, чтобы изменить порядок\n" "Двойной клик, чтобы переименовать" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Общие" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "_Группа:" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "_Банк" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "Номер с_чёта" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Начальный _баланс:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Валюта:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "этот счёт _закрыт" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Примечания:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "Поведение" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "Автоматизация" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "_Шаблон по умолчанию:" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Исключить из отчетов" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "исключить из сводки по счетам" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "исключить из бюджета" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "исключить из всех отчетов" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "Разное" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Текущий номер чека" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Чековая книжка 1" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Чековая книжка 2" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Ограничения баланса" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "_Овердрафт:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "Если вы удалите запланированное/шаблон, он будет безвозвратно утерян." #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "Следущая _дата:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "Периодичность:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "Больше настроек" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Выходные" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Прекратить после:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "записи" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Управление расписанием/шаблонами операций" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Шаблон" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "_Расписание" #: ../src/ui-assign.c:344 msgid "Search" msgstr "Поиск" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "Примечания" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "(правило %d)" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "Если вы сотрёте эту запись, она будет безвозвратно утеряна." #: ../src/ui-assign.c:718 #, fuzzy, c-format msgid "This search text already exists at position %d" msgstr "Такое значение для поиска уже существует" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Отключёно" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Если пустой" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Переписать" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Управление Назначениями" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "Перетаскивайте мышкой для изменения порядка" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Условие" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "_Содержит:" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "С учетом регистра" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "Регулярное выражение" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "_В:" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "Автоназначения" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Тип _платежа" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" "Ассистент поможет сделать базовую настройку нового\n" "файла HomeBank." #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" "Все элементы, которые вы здесь настроили, могут быть изменены позже, если " "потребуется." #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" "Изменения не будут применены, пока вы не\n" "нажмете кнопку \"Применить\" на завершающем шаге." #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" "HomeBank будет показывать в заголовке главного окна\n" "Ваше имя или любой произвольный текст." #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Заголовок:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" "HomeBank поддерживает учет в нескольких валютах. Базовая валюта\n" "является валютой по умолчанию для счетов и отчетов." #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "Основание:" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "Настроить дополнительные валюты" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Добавить" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Не найден" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" "HomeBank может создать список категорий для вашего языка\n" "если существует файл CSV, созданный сообществом." #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "Настроить категории для моего языка" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Файл настроек:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" "HomeBank позволяет импортировать ваши счета из скачанных\n" "финансовых файлов или вы можете создать счета вручную." #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "Создать счет" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Имя:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" "Это страница подверждения,\n" "\n" "Нажмите \"Применить\", чтобы сохранить изменения." #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "Начать настройку файла" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "Настройки файла" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "Выбрать валюты" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "Выбрать категории" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "Создать счет" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "Завершить настройку файла" #: ../src/ui-assist-import.c:477 msgid "" msgstr "<Новый счёт (основной)>" #: ../src/ui-assist-import.c:482 msgid "" msgstr "<Новый счёт>" #: ../src/ui-assist-import.c:503 msgid "" msgstr "<Пропустить этот счёт>" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "Корректный" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Имя" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Открыть" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Известные файлы" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "Файлы QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX файлы" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "Файлы CSV" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Все файлы" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "новый основной счёт" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "новый счёт" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "пропущено" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr ", %d из %d транзакций" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "Импортировать %s в:" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "этот файл" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "этот счёт" #: ../src/ui-assist-import.c:1331 #, 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:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "%d транзакций, %d аналогичных, %d существует, %d выбрано" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d транзакций, %d выбрано" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "Импорт транзакций из банка или кредитной карты" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "Никакие изменения не будут внесены до того как вы нажмёте \"Применить\" в " "конце процесса" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "Больше не показывать это сообщение" #: ../src/ui-assist-import.c:1481 msgid "" "Drag&Drop one or several files to import.\n" "You can also use the add/delete buttons of the list." msgstr "" "Перетащите один или несколько файлов для импорта\n" "Вы также можете использовать кнопки Добавить / Удалить." #: ../src/ui-assist-import.c:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" "Слишком много счетов в выбранных вами файлах,\n" "используйте кнопку Назад, чтобы выбрать меньшее количество файлов." #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "Не удалось идентифицировать указанный счёт по имени или номеру." #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Формат дат:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "_Импортировать заметки" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "_Поменять заметки на получателя" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "OFX _Название" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "OFX _Действие" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Инвертировать" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "Чувствительность к _регистру" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "Похожие операции в указанном счёте (возможны повторения)" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "дней" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "Запустить автоматизацию" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "1) Дополнить _получателем по умолчанию" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "2) Запустить правила автоматического назначения" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "Нажмите \"Применить\", чтобы обновить ваши счета" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Добро пожаловать" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "Выберите файл(ы)" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "Импортировать" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Подтверждение" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Ошибка формата файла" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "Вы уверены, что хотите очистить ввод." #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "Если вы продолжите, все суммы будут обнулены." #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "О_чистить" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Управление бюджетом" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "_Импортировать файл CSV" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "Экспортировать CSV" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Баланс:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "одинаковая каждый месяц" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "Очистить ввод" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "разная каждый месяц" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Параметры" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "Принудительный мониторинг категории" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Янв" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Фев" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Мар" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Апр" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Май" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Июн" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Июл" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Авг" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "Сен" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Окт" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Ноя" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "Итого за год" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "В среднем за месяц" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "Каждый месяц" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "Добавить категорию" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "_Применить" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "Родительская категория" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "Наименование категории" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 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:2350 msgid "Merge categories" msgstr "Управление категориями" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" "Транзакция с категорией '%s' будет перемещена в категорию, выбранную ниже." #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "Целевая категория" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "_Удалить категорию '%s'" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "Вы уверены, что хотите очистить введенные данные для '%s'?" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "Бюжет (табличный вид)..." #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "Добавить категорию" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "Удалить категорию" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Объединить" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "Очистить" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Удалить неиспользованные категории" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Вы уверены, что хотите безвозвратно\n" "удалить неиспользуемые категории?" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Редактировать..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Доходы" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "Изменить тип дочернего элемента" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Объединить категорию '%s'" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "Операции, относящиеся к этой категории,\n" "будут перемещены в категорию, выбранную ниже." #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "Включая подкатегории" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Управление категориями" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "_Удалить неиспользованное" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "Переместить/Объеденить" #: ../src/ui-category.c:2460 msgid "new category" msgstr "новая категория" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Валюта" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Формат" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Настроить" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Символ" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "Префикс" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "_Десятичный символ:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Знаков после запятой:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "Добавить свою _валюту" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "Обновить по сети" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "Установить в качестве базы" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Статистика файлов" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "Операция" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Обновить" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Выбрать основную валюту" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "Валюта:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Экспортировать как QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Импорт из CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "Открыть файл HomeBank" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "Открыть резервную копию HomeBank" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "Сохранить файл HomeBank как" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Файлы HomeBank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "Резервное копирование" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "Все резервные копии" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Сохранить изменение в файл перед завершением работы?" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "Закрыть _без сохранения" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "Экспорт _CSV" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Папка:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Выберите папку" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Имя файла:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Экспорт в PDF" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Экспортировать как_PDF" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" "Homebank ориентирован на эко-ответсвенное поеведение, \n" "поэтому для епчати используется самый распростаненный цифровой формат: PDF. " #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Выберите среди возможных операций" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Выбрать действие:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "создать новую операцию" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "выберите существующую операцию" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "HomeBank обнаружил операции, которые, возможно, предназначены для внутренних " "переводов." #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "_Заметка:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Описание:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "С учетом _регистра" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Любой статус" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Любой Тип" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Перевод" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Причина:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "показать 'Добавлен'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "показать 'Изменен'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "Отображать \"Запомненные\"" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "Отображать аннулированные" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "Даты" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "Платежи" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Суммы" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "Тексты" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Категории" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Получатель платежа" #: ../src/ui-hbfile.c:194 msgid "File properties" 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 "дней от текущей даты" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "Платеж" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Удалить неиспользуемых плательщиков" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "Вы уверены, что хотите навсегда \n" "удалить неиспользуемых плательщиков" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "По умолчанию" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "Пл_атёж:" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "Произвести слияние получателя платежа '%s'" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "Операции, относящиеся к этому получателю,\n" "будут перемещены получателю, выбранному ниже." #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "Удалить получателя платежей '%s'" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "Этот получатель уже используется. Все операции, \n" "относящиеся к этому получателю, будут отмечены как \"без получателя\"." #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "Управление Получателями" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "Общие настройки" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "Настройки OFX/QFX" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "Настройки QIF" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "Настройки CSV" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "(только для импорта транзакций)" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "Разделитель:" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Начальный фильтр" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Настройки диаграмм" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Цветовая схема:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Настройки статистики" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Показать по _сумме" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Показать столбец _курса" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Показать подробности" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Настройки бюджета" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Включить" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Схема:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "Внешний вид программы" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Язык:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "Видеть дату" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Формат:" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Отчетный год" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "_Начинается" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Единицы измерений" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Использовать _мили вместо метров" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Объём топлива в _галлонах" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "дней вперёд" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "Скрыть согласованные" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "Всегда показывать напоминания" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "Всегда показывать отмененные" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "Добавить напоминание в баланс" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "Скользящие дни" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 msgid "_Toolbar:" msgstr "_Панель инструментов" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1845 msgid "_Grid line:" msgstr "Линия _сетки" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "Перезаписать" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "_Размер шрифта:" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Цвета чисел" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Использовать пользовательские цвета" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Расход:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Доход:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Предупреждение:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "Разрешить автоматическое резервное копирование" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "_Количество создаваемых копий:" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "Резервная копия создается один раз в день" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "Кошельки" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "Резервные копии:" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "Обмен файлами" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Импорт:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Экспорт:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Запуск программы" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Показать экранную заставку" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Загрузить последний открытый файл" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Записать ожидающие запланированные операции" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Обновить курсы валют" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Отчёт в главном окне" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "Сбросить все настройки" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "Вы действительно хотите сбросить все настройки к исходным значениям?" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Настройки" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Вам придется перезагрузить HomeBank \n" "чтобы изменение языка вступило в силу." #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" "Папка для резервных копий изменена,\n" "Вам может понадобиться скопировать файлы '.bak' в новую папку." #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Разбиение операции" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "Удалить все" #: ../src/ui-split.c:966 msgid "Apply" msgstr "Применить" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "Отмена" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Количество операций:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Неназначенный" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Сумма разделенных:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" "Предупреждение: сумма разбиения на категории и сумма транзакции не совпадают" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" "Предупреждение: сумма разбиения на категории и тип транзакции не совпадают" #: ../src/ui-tag.c:602 #, 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:645 #, c-format msgid "Merge tag '%s'" msgstr "Объеденить метки '%s'" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" "Транзакции с этой меткой будут привязаны\n" "к метке, выьранной ниже." #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "_Удалить метку '%s'" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "Метка используется. Она будет удалена из всех транзакций." #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "Управление метками" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "новый тег" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "Транзакция %s создана." #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" "Вы хотите прервать передачу данных?\n" "\n" "Это отменит получаемую транзакцию." #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "_Разрыв" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Показать _запланированные" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "Показать _все счета" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "Использовать шаблон" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "Добавить и _Оставить" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Добавить операцию" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "Добавить шаблон" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Скопировать операцию" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "Скопировать шаблон" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "Изменить транзакцию" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "Редактировать шаблон" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 msgid "" "- type: d, d/m, m/d a complete date\n" "- use arrow key + ctrl or shift\n" "- empty for today" msgstr "" "- Напишите: д, д/м, м/д или полную дату\n" "- Клавишами стрелок+ ctrl или shift\n" "- Оставить пустой для текущей даты" #: ../src/ui-transaction.c:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "Сумма:" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "П_о:" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "Книга _2" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" "- Начните набирать буквы для автозаполнения\n" "- Введите новый текст для создания записи" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "Кате_гория:" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "Зам_етка" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "_Метки:" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "Внимание: количество и знак категории не соответствуют" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "Редактирование нескольких операций" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" "Тип\n" "Перевод" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "Время" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "Тренд" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "Выключен" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Включить" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Исключить" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(нет типа)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Банк" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Наличные" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Активы" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Кредитная карта" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Задолженность" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Текущий месяц" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Предыдущий месяц" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Текущий квартал" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Предыдущий квартал" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Текущий год" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "Предыдущий год" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Последние 30 дней" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Последние 60 дней" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Последние 90 дней" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Последний год" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "Произвольный" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Все даты" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "Аннулировать" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Возможно" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "До" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "После" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Расход и доход" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "Не оплачено:" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Не сверенные" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Без категории" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "Пн" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "Вт" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "Ср" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "Чт" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "Пт" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "Сб" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "Вс" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Январь" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Февраль" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Март" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Апрель" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Июнь" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Июль" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Август" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Сентябрь" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Октябрь" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Ноябрь" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Декабрь" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Сен" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Найти…" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Чек" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "Банковский перевод" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Дебетовая карта" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Регулярный платеж" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Электронный платеж" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Депозит" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "FI гонорар" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Прямой дебет" homebank-5.5.2/po/fa.po0000664000175000017500000030052514021210660011573 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2017-11-21 15:56+0000\n" "Last-Translator: Mojtaba Rezaee \n" "Language-Team: Persian \n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "تناقض پیدا نشد!" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "هر مقدار معامله شده بر %.6f. تقسیم خواهد شد." #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "آیا برای تبدیل ارز این حساب مطمئن هستید؟\n" "استفاده از یورو به عنوان ارز اصلی" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "_تبدیل" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "هیچ رویداد مالی تغییر نکرد" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "تراکنش مقابل تغییر کرد : %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "نتیجه انتساب خودکار" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_حذف" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "آیا مایل به تغییر وضعیت به هیچ هستید؟" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "برخی از تراکنش های انتخابی شما در حال حاضر در وضعیت موافق هستند." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "تغییر" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "آیا مایل به تغییر وضعیت به موافق هستید؟" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "ـتعویض" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_افزودن" #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "ـجانشینی..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_ویرایش..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "ـویرایش چندگانه..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "ـوضعیت" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_هیچکدام" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "ـپاک" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "مطابق" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "ایجاد الگو..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_حذف..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "حساب" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "صدور QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "صدور به فرمت ساده (CSV)" #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_بستن" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_ویرایش" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "تراکنش" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_ابزارها" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "انتساب خودکار" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "فیلتر" #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "تبدیل به یورو..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "افزودن" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "اضافه کردن رویداد مالی جدید" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "جانشینی" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "جانشین رویداد مالی حاضر" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "ویرایش" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "ویرایش رویداد مالی حاضر" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "صاف شده" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "تغییر به پاک شده برای تراکنش های انتخاب شده" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "تسویه شد" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "تغییر به موافق برای تراکنش های انتخاب شده" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "ویرایش تراکنش چندگانه" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "ایجاد الگو" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "حذف تراکنش های انتخاب شده" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "نوسازی" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "دامنه" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_نوع:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_وضعیت:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_تنظیم به حالت اولیه" #: ../src/dsp-account.c:2668 msgid "Open the list filter" msgstr "فیلتر فهرست را باز کن" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "واحد کوچکتر یورو" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "امروز:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "به HomeBank خوش آمدید" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "ایجاد فایل ـ‌جدید" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "ـ‌باز کردن فایل موجود" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "باز کردن فایل ـمثال" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "راهنمای HomeBank را بخوانید" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "پیکربندی تنظیمات" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "ناتوان از باز کردن «%s»، فایل وجود ندارد.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "خطای ورودی/ خروجی برای فایل «%s»" #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "فایل «%s» یک فایل معتبر برای HomeBank نیست." #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "خطای فایل" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_فايل" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_جدید" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_باز کردن..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_ذخیره" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "ذخیره_به عنوان" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "بازگشت" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "ویژگی‌ها..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_خروج" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "تنظیمات..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "ـنمایش" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_نوار ابزار" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_سقف هزینه" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "واحد کوچک‌تر یورو" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_مدیریت" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "حـساب‌ها..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_دریافت کنندهای وجه..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "دسته بندی ها..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "برنامه‌ریزی/الگو..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "بودجه ..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "انتساب..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "واحد پول..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_تراکنش ها" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "افزودن..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "نمایش..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "تنظیم برنامه‌ریز" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "ارسال برنامه ریزی شده" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_گزارش‌ها" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_آمار..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_روند زمانی..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "بـودجه..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "_هزینه خودرو..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "نمایش پنجره خوش آمدید ..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "آمار فایل ..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "بدون نام شود..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_راهنما" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_محتويات" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "گزارش یک مشکل..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "این برنامه را ترجمه کنید…" #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_درباره" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "ایجاد فایل جدید" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "باز کردن یک فایل" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "باز کردن پرونده‌ای که اخیراً به کار رفته" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "ذخیره‌ی فایل فعلی" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "حساب" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "دریافت کننده وجه" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "دسته‌بندی" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "بودجه" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "وظیفه" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "تراکنش های حساب انتخاب شده را نشان بده" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "اضافه کردن تراکنش ها" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "باز کردن گزارش آماری" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "بازکردن گزارش روند زمانی" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "تراز" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "بازکردن گزارش تراز" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "بازکردن گزارش بودجه" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "هزینه خودرو" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "گزارش هزینه های خودرو را باز کن" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "زمان‌بندی‌شده" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "آتی" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "یادآوری" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(بدون گروه)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "فایل CSV ناشناخته" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "تاریخ" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "اطلاعات" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "یادداشت" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "میزان" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "ناشناخته" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "کیلومتر/لیتر" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "مایل/لیتر" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(فاقد گیرنده)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "تنظیمات HomeBank" #: ../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:515 msgid "Your accounts" msgstr "حساب‌های شما" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "باز کردن تمام زبانه ها" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "بستن تمام زبانه ها" #: ../src/hub-account.c:551 msgid "Show all" msgstr "نمایش همه" #: ../src/hub-account.c:556 msgid "By type" msgstr "بر اساس نوع" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "رویدادی برای افزودن وجود ندارد" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "رویداد مالی %d اضافه شد" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "نتیجه‌ی رویدادهای مالی برنامه‌ریزی شده را چک کن" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "جمع" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "تراکنش های برنامه ریزی شده" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_ارسال" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "بزرگترین %d مخارج" #: ../src/hub-spending.c:299 msgid "Other" msgstr "موارد دیگر" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "جایی که پول‌تان می‌رود" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "جمع کل" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "حساب‌ها" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "امروز" #: ../src/list-operation.c:586 msgid "- split -" msgstr "-فاصله-" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "وضعیت" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "هزینه" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "درآمد" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "تاریخ بعدی" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d تحت %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "فهرست" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "نتایج را فهرست‌وار نمایش بده" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "خط" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "نتایج را خطی نمایش بده" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "جزییات" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "سوییچ جزییات" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "بازسازی" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "بازسازی نتایج" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "گزارش تراز" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "نمایش" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_بزرگنمایی X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_از:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_تا:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "نام حساب" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "انتخاب:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "همه" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "هیچ‌کدام" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "بودجه برای %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "نتیجه" #: ../src/rep-budget.c:852 msgid " over" msgstr " بالغ بر" #: ../src/rep-budget.c:858 msgid " left" msgstr " چپ" #: ../src/rep-budget.c:861 msgid " under" msgstr " کمتر از" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "نمایش نتایج به صورت پشته میله ای" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "گزارش بودجه" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "ـنمایش بر اساس" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "نتیجه:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "بودجه:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "هزینه شده" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "هیچ حسابی به عنوان بخشی از بودجه تعریف نشده" #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "باید از گفتگوی حساب حسابی را انتخاب کنید" #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "هزینه شده" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "زیرگروه" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "برچسب" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "ماه" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "سال" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s بر %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "نمایش نتایج به شرح ستون" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "نمایش شرح دونات" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "سوییچ شرح" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "سوییچ نرخ" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "ویرایش فیلتر" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "گزارش آماری" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "درآمد:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "هزینه:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "روز" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "هفته" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "فصل" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s طی زمان" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "میانگین: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "گزارش زمان روند" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "ـ‌حساب" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_دسته بندی:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_دریافت کننده وجه:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "برچسب:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "همه را‌ـ‌انتخاب کن" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "ـتجمیع" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "متر" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "سوخت" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "قیمت" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "مسافت" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "صدور با فرمت ساده (CSV)" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "گزارش بهای خودرو" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "خودـرو" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "متر:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "مصرف" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "بهای سوخت:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "بقیه‌ی بها:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "بهای کل:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(هیچ‌کدام)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "نمايان" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_لغو" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_تایید" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "نام حساب" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "خطا" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "نمی‌توان حساب «%s» را افزود،\n" "این نام هم‌اکنون وجود دارد." #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "نمیتوانید حساب کاربری را حذف کنید '%s'" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "این حساب شامل معاملات و / یا بخشی از انتقال داخلی است." #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "آیا مطمئن هستید که میخواهید %s را به طور دائم حذف کنید؟" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "اگر یک حساب کاربری را حذف کنید، به طور دائم از میان خواهد رفت." #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "مدیریت حساب‌ها" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "کشیدن و رها کردن برای تغییر دستور\n" "دابل کلیک برای تغییر نام" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "عمومی" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "_شماره:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "تراز ـافتتاحی:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_واحد پول:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "این حساب ـ‌بسته شده" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "یادداشت ها :" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "مستثنیات گزارش" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "جزو ـ‌خلاصه حساب به شمار نیاور" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "جزو ـ‌بودجه به شمار نیاور" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "جزو هیچ ـ‌گزارشی به شمار نیاور" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "شماره‌ی چک جاری" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "دسته‌چک‌ـ۱:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "دسته‌چک‌ـ۲:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "محدوده های تراز" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "_اضافه برداشت در:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" "اگر شما یک برنامه ریزی یا قالب را حذف کنید، به طور دائم آن از دست خواهید داد." #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "تاریخ بعد:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "هر:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "اخر هفته:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_توقف پس از:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "مطلب" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "مدیریت رویدادهای برنامه‌ریزی‌شده/قالب" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "قالب" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "اگر شما یک انتساب را حذف کنید، به طور دائم آن را از دست خواهید داد." #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "غیرفعال" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "در صورت خالی بودن" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "بازنویسی" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "مدیریت واگذاری‌ها" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "شرط" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "پرداخت" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "افزودن" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "پیدا نشد" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "فایل از پیش تنظیم شده:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_نام:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "نام" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_باز کردن" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "فایل‌های شناخته شده" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "فایل‌های QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "فایل‌های OFX/QFX" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "فایل‌های فرمت ساده (CSV)" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "تمامی فایل‌ها" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "ترتیب تاریخ:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "معکوس" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "روز" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "خوش آمدید" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "وارد کردن" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "تأیید" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "خطای فرمت فایل" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "مطمئن هستید که میخواهید ورودی را پاک کنید؟" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "در صورد ادامه , تمام مقادیر 0 خواهند شد." #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "پاک کردن" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "مدیریت بودجه" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "_درون ریزی فایل CSV" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "_درون ریزی فایل CSV" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "تراز:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "ـپاک کردن ورودی" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "گزینه‌ها" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "ـ‌نظارت الزامی این گروه" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "ژانویه" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "فوریه" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "مارس" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "آوریل" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "ماه مه" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "ژوئن" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "ژوئیه" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "اوت" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "اکتبر" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "نوامبر" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "این دسته بندی استفاده شده است.\n" "تمام تراکنش هایی که از این دسته بندی استفاده میکنند تبدیل به (بدون دسته " "بندی) خواهند شد." #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "_حذف دسته بندی '%s'" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "ادغام" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "حذف دسته بندی های استفاده نشده" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "آیا برای حذف دسته بندی های استفاده نشده\n" "به طور دائم مطمئن هستید؟" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "ویرایش..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_درآمد" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "ادغام دسته بندی '%s'" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "تراکنش های اختصاص داده شده به این دسته بندی,\n" "به دسته بندی انتخاب شده‌ی زیر انتقال پیدا خواهند کرد." #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "مدیریت گروه‌ها" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "_حذف استفاده نشده ها" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "دسته بندی جدید" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "واحد پول" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "قالب" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_شخصی سازی" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_سمبل:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "پیشوند است" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "جدول دهدهی:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "رقم‌های ـ‌کسری:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "به روز رسانی آنلاین" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "تنظیم به عنوان پایه" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "آمار فایل" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "تراکنش" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "به‌روزرسانی" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "ارز پایه را انتخاب کنید" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "واحد پول:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "صدور با فرمت QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "فراخوانی از فرمتِ ساده (CSV)" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "فایل HomeBank را باز کنید" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "ذخیره فایل HomeBank به عنوان" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "فایل‌های homebank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "ذخیره تغییرات در فایل قبل از بسته شدن؟" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "بستن _بدون ذخیره‌سازی" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "انتخاب از میان رویدادهای ممکن..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "کنشی انتخاب کنید:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "ایجاد رویداد جدید" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "انتخاب رویداد موجود" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "HomeBank رویدادی را یافته که می‌تواند رویداد وابسته به انتقال داخلی باشد." #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "ـ‌یادداشت:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_اطلاعات:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "_حساس به حروف" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "هر وضعیتی" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "هر نوع" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "انتقال" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "اجبار:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "نشان بده 'اضافه شده'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "نشان بده 'ویرایش شده'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "نمایش 'یادآوری:" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "تاریخ‌ها" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "پرداخت‌ها" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "مجموع" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "متن‌ها" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "دسته‌بندی‌ها" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "پرداخت‌ها" #: ../src/ui-hbfile.c:194 msgid "File properties" 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 "روز پیش از تاریخ کنونی" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "حذف دریافت کننده های وجه استفاده نشده" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "آیا مطمئن هستید که می خواهید\n" "به طور دائم دریافت کننده های وجه استفاده نشده را حذف کنید؟" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "پیش فرض" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "پرـداخت:" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "ادغام دریافت کننده وجه '%s'" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "تراکنش های اختصاص یافته به این دریافت کننده وجه،\n" "به دریافت کننده وجه ای که در زیر انتخاب شده منتقل خواهد شد." #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "_حذف کردن این دریافت کننده وجه '%s'" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "این دریافت کننده وجه استفاده شده است.\n" "تمام تراکنش هایی که مربوط به این دریافت کننده وجه هستند به صورت (بدون دریافت " "کننده وجه) تبدیل خواهند شد." #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "مدیریت گیرنده ها" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "گزینه‌های QFX/OFX" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "گزینه های QIF" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "فیلتر اولیه" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "گزینه‌های نمودارها" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "طرح رنگ:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "گزینه‌های آماری" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "بر حسب مقدار نشان بده" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "ستون ـ‌نرخ را نشان بده" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "جزییات را نشان بده" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "گزینه‌های بودجه" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_فعال‌سازی" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "ـ‌پیش‌فرض:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_زبان:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_قالب:" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "سال مالی" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "شروع از:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "واحدهای اندازه‌گیری" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "به کار گیری ـمایل به جای مت" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "استفاده از واحد گالن برای سوخت" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 msgid "_Toolbar:" msgstr "_نوار‌ابزار:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1845 msgid "_Grid line:" msgstr "_خط شبکه:" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "رنگ‌های مبلغ" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "از رنگ‌های سفارشی استفاده می‌کند" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "ـ‌هزینه:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_درآمد:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_اخطار:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "ـ‌فراخوانی:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "ـ‌صدور:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "راه‌اندازی برنامه" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "نمایش اسپلش اسکرین" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "آخرین فایل باز شده را بارگذاری کن" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "ارسال تراکنش های زمان بندی شده درحال بررسی" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "به روز رسانی ارز به صورت آنلاین" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "گزارش‌های پنجره‌ی اصلی" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "تنظیمات" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "ناچارید HomeBank را بازراه‌اندازی کنید\n" "تا تغییر زبان اثر کند." #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "انشعاب های تراکنش" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "مقدار رویداد:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "تخصیص‌نیافته:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "مجموع تفکیک‌ها:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "نمایش برنامه ریزی ها" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "افزودن رویداد مالی" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "جانشین رویداد مالی شود" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "یاـدداشت:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "هشدار:مقدار و علامت دسته بندی باهم مطابقت ندارند" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "ویرایش چندگانه تراکنش‌ها" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "شامل" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "خارج از شمول" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(فاقد نوع)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "بانک" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "وجه نقد" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "دارایی" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "کارت اعتباری" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "بدهی" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "این ماه" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "ماه گذشته" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "این سه ماهه" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "سه ماه گذشته" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "امسال" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "سال گذشته" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "۳۰ روز گذشته" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "۶۰ روز گذشته" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "۹۰ روز گذشته" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "12 ماه اَخیر" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "تمام تاریخ" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "ممکن" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "قبل از" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "پس از" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "هزینه & درآمد" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "صاف نشده" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "فاقد تطابق" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "فاقد گروه" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "ژانویه" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "فوریه" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "مارس" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "آوریل" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "ژوئن" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "ژوئیه" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "اوت" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "سپتامبر" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "اکتبر" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "نوامبر" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "دسامبر" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "سپتامبر" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "جستجو..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "چک" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "کارت اعتباری" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "دستور پرداخت مستمر" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "پرداخت الکترونیکی" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "واریز" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "دستمزد ثابت" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "بدهی مستقیم" homebank-5.5.2/po/fi.po0000664000175000017500000027037114021210661011611 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2020-06-11 23:07+0000\n" "Last-Translator: Jiri Grönroos \n" "Language-Team: Finnish \n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 msgid "HomeBank" msgstr "Kotipankki" #: ../data/homebank.desktop.in.in.h:2 msgid "Personal finance" msgstr "Henkilökohtaista varainhoitoa" #: ../data/homebank.desktop.in.in.h:3 ../src/dsp-mainwindow.c:208 #: ../src/dsp-mainwindow.c:704 msgid "Free, easy, personal accounting for everyone" msgstr "Avointa, ilmaista ja helppoa henkilökohtaista kirjanpitoa kaikille" #: ../data/homebank.desktop.in.in.h:4 msgid "finance;accounting;budget;personal;money;" msgstr "" "finance;accounting;budget;personal;money;finanssi;kirjanpito;talous;budjetti;" "raha;" #: ../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 "" "Kotipankki on vapaa ja ilmainen ohjelmisto (englanninkielisen sanan free " "tarkoittaessa sekä \"sananvapautta\" että \"ilmaista olutta\"), joka ohjaa " "sinua henkilökohtaisen kirjanpidon hallinnassa." #: ../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 "" "Se on suunniteltu helppokäyttöiseksi ja hyödylliseksi oman taloudellisen " "tilanteen yksityiskohtaiseen tarkasteluun tehokkaita suodatustyökaluja ja " "kauniita graafeja käyttäen." #: ../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 "" "Jos etsit täysin avointa ja ilmaista tapaa hallita henkilökohtaista " "kirjanpitoa, Kotipankki on erinomainen valinta." #: ../src/dsp-account.c:221 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Samankaltaisia tapahtumia ei löytynyt!" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Epäjohdonmukaisuutta ei löytynyt!" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" "Epäjohdonmukaisuus löytyi: %d\n" "Haluatko katselmoida ja korjata sen?" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "_Muunna" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" "Haluatko luoda maksumääräyksen kaikilla\n" "valituilla tapahtumilla?" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Luo" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" "Haluatko luoda mallipohjan\n" "valittuna olevilla tapahtumilla?" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" "Haluatko poistaa\n" "jokaisen valitun tapahtuman?" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Poista" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Jokin tapahtuma valinnassasi on jo täsmäytetty." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Muuta" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d tapahtumaa" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "%d tapahtumaa, %d valittu, ka.: %s, summa: %s (%s - %s)" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Lisää..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "Per_i..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Muokkaa..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "_Muokkaa useita..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Tila" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Täsmäytetty" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Luo mallipohja..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "Luo maksumääräys..." #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Poista..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "_Ylös" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "_Alas" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "_Tili" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Vie QIF-tiedostoksi..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Vie CSV-tiedostoon..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Vie PDF-tiedostoksi..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "Tulosta..." #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Sulje" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Muokkaa" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Kopioi" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Liitä" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Liitä (tänään)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Tapaht_uma" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "_Etsi" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "T_yökalut" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Merkitse kaksoiskappaleeksi..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "Tarkista sisäiset siirrot" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Autom. maksumääräykset" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Suodatin..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Muunna euroksi..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Lisää" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Lisää uusi tapahtuma" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Perivät" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Peri valitusta tapahtumasta" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Muokkaa" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Muokkaa valittua tapahtumaa" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Täsmäytetty" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "Muokkaa useita" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Muokkaa useita tapahtumia" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Luo mallipohja" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "Poista" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Poista valitut tapahtumat" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "Ylös" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "Siirrä tapahtuma ylös" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "Alas" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "Siirrä tapahtuma alas" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(suljettu)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - Kotipankki" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Kaikki tapahtumat" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Päivitä" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Rajaus:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Tyyppi:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Tila:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Nollaa" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Tänään:" #: ../src/dsp-account.c:2764 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 "_Palauta" #: ../src/dsp-mainwindow.c:324 msgid "Are you sure you want to anonymize the file?" msgstr "Haluatko varmasti anonymisoida tiedoston?" #: ../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 "_Anonymisoi" #: ../src/dsp-mainwindow.c:675 msgid "Welcome to HomeBank" msgstr "Tervetuloa Kotipankkiin" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "Avaa _viimeksi avattu tiedosto" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Luo _uusi tiedosto" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Avaa olemassa oleva tiedosto" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Avaa _esimerkkitiedosto" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "_Lue Kotipankin ohje" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Määritä _asetukset" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "Näytä tämä ikkuna seuraavalla kerralla" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" "Olet aikeissa avata varmuuskopiotiedoston '%s'.\n" "\n" "Haluatko varmasti jatkaa?" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "Avataanko varmuuskopiotiedosto?" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "_Avaa varmuuskopio" #: ../src/dsp-mainwindow.c:1044 #, 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/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Tuntematon virhe" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "I/O-virhe tiedoston '%s' kohdalla." #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Tiedosto '%s' ei ole kelvollinen Kotipankki-tiedosto." #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Tiedostovirhe" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "Tiedostoa on muokattu sen jälkeen, kun se luettiin." #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" "Jos tallennat tiedoston, kaikki ulkopuoliset muokkaukset saattavat kadota. " "Tallennetaanko silti?" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "T_allenna silti" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "Tyhjennä" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Tiedosto" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Uusi" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Avaa..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Avaa _viimeisimpiä" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Tallenna" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Tallenna _nimellä..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "Tuo..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "Vie QIF-tiedostoksi..." #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Palauta" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "Palauta varmuuskopio" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Ominaisuudet..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Lopeta" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Asetukset..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Näytä" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Työkalurivi" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Suurin kulu" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "_Listat alhaalla" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro-sivuutus" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "H_allinta" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "Ti_lit..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "Maksun_saajat..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Luokat..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Ajastettu/malli..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Talousarvio..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "Talousarvio (taulukkonäkymä)..." #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Maksumääräykset..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Valuutat..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "Tunnisteet..." #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "Ta_pahtumat" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Lisää..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Näytä..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Näytä kaikki..." #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Aseta ajastin..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Lähetä ajastetut" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Raportit" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "Tila_stot..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Kehitys..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "_Saldo..." #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "Talo_usarvio..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "_Ajoneuvon kulut..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Näytä Tervetuloa-ikkuna..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Tiedoston tilastot..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Anonymisoi..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "O_hje" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Sisältö" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "Hae ohjeita verkosta..." #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Tarkista päivitykset..." #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Julkaisutiedot" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Raportoi ongelmasta..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Käännä tämä ohjelma..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "Tietoj_a" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "Uusi" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Luo uusi tiedosto" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "Avaa" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Avaa tiedosto" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Avaa äskettäin käytetty tiedosto" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "Tallenna" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Tallenna nykyinen tiedosto" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Tili" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "Hallitse tilejä" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Saaja" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "Hallitse saajia" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Luokka" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "Hallitse luokkia" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "Ajastettu/malli" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "Hallitse ajastettuja/mallipohjaisia tapahtumia" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Talousarvio" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "Hallitse talousarviota" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Maksumääräys" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "Hallitse automaattisia maksumääräyksiä" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "Näytä" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Näyttää valitut tilitapahtumat" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Lisää tapahtumia" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "Tilastot" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Avaa tilastoraportti" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Avaa kehitysraportti" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Saldo" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Avaa saldoraportti" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Avaa talousarvioraportti" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Ajoneuvon kulut" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Avaa ajoneuvon kuluraportti" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "Ohje" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "Lahjoita" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "Lahjoita Kotipankki-projektille" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Ajastettu" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Tulevaisuudessa" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Muistuta" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "**ESITÄYTETTY**" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(ei luokkaa)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "virheellinen CSV-muoto" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Päiväys" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Tietoja" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Summa" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Tuntematon" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "mi./l" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(ei saajaa)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" msgstr "%d-vk%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:865 #, c-format msgid "%d-q%d" msgstr "%d-q%d" #: ../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 "Selainvirhe." #: ../src/homebank.c:256 #, c-format msgid "Could not display the URL '%s'" msgstr "Verkko-osoitetta \"%s\" ei voitu näyttää" #: ../src/homebank.c:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Kotipankki-valinnat" #: ../src/hub-account.c:130 msgid "(no institution)" msgstr "(ei instituutiota)" #: ../src/hub-account.c:140 ../src/ui-group.c:272 msgid "(no group)" msgstr "(ei ryhmää)" #: ../src/hub-account.c:515 msgid "Your accounts" msgstr "Tilisi" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Laajenna kaikki" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Supista kaikki" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Näytä kaikki" #: ../src/hub-account.c:556 msgid "By type" msgstr "Tyypin mukaan" #: ../src/hub-account.c:557 msgid "By group" msgstr "Ryhmän mukaan" #: ../src/hub-account.c:558 msgid "By institution" msgstr "Instituution mukaan" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Ei tapahtumaa lisättäväksi" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "tapahtuma lisätty: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Yhteensä" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Ajastetut tapahtumat" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Lähetä" #: ../src/hub-scheduled.c:562 msgid "maximum post date" msgstr "lähetyspäivä enintään" #. hb_label_set_amount(GTK_LABEL(data->TX_topamount), total, GLOBALS->kcur, GLOBALS->minor); #: ../src/hub-spending.c:91 msgid "Top spending" msgstr "Suurin kulutus" #. future usage #: ../src/hub-spending.c:103 #, c-format msgid "Top %d spending" msgstr "Top %d -kulutus" #: ../src/hub-spending.c:299 msgid "Other" msgstr "" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Mihin rahasi kuluvat" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "tuotu tili" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Loppusumma" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Tilit" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Tänään" #: ../src/list-operation.c:586 msgid "- split -" msgstr "" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "- tämä tarvitsee luokan -" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Tila" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Meno" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Tulo" #: ../src/list-operation.c:1491 msgid "Tags" msgstr "Tunnisteet" #. TRANSLATORS: title of list column to inform the scheduled transaction is Late #: ../src/list-scheduled.c:355 msgid "Late" msgstr "Myöhässä" #. 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 "Vielä" #: ../src/list-scheduled.c:387 ../src/ui-archive.c:403 msgid "Next date" msgstr "Seuraava päiväys" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d alle %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Luettelo" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Näytä tulokset luettelona" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Viivat" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Näytä tulokset viivoina" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Tiedot" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Vaihda tietojen näkyminen" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Päivitä" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Päivitä tulokset" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Saldoraportti" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Näkymä" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "Näytä tyhjä rivi" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_X-skaalaus:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 msgid "Date filter" msgstr "Päiväsuodatin" #. 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Alkaen:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "Päättyen:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Tilin nimi" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Valitse:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Kaikki" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Ei mitään" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Tulos" #: ../src/rep-budget.c:852 msgid " over" msgstr " yli" #: ../src/rep-budget.c:858 msgid " left" msgstr " jäljellä" #: ../src/rep-budget.c:861 msgid " under" msgstr " alle" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Talousarvioraportti" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Näkymä:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Tulos:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Talousarvio:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Kulutus:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "Talousarvion osalliseksi ei ole määritelty mitään tilejä." #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "Sisällytä tilejä tili-ikkunasta." #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Kulutus" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Alaluokka" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Tunniste" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Kuukausi" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Vuosi" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "Liian monta saraketta näytettäväksi" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "Sarake" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Vaihda selitteen näkyminen" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Muuta kurssia" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "Suodatin" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Muokkaa suodatinta" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Tilastoraportti" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "Tila:" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Tulot:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Menot:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "Keskiarvo" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Päivä" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Viikko" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Neljännes" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Keskiarvo: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Kehitysraportti" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "T_ili" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Luokka:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "Mak_sun saaja:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Tunniste:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Valitse k_aikki" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "K_umulatiivinen" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Mittari" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Polttoaine" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Hinta" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Matka" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "Vie" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Vie CSV-tiedostoksi" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Ajoneuvon kuluraportti" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "_Ajoneuvo:" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Mittari:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Kulutus:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Polttoainekulut:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Muut kulut:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Kulut yhteensä:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(ei mitään)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Näkyvä" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Peru" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_OK" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Tilin nimi" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Virhe" #: ../src/ui-account.c:1505 #, 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:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "Tiliä '%s' ei voi poistaa" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "Tämä tili sisältää tapahtumia ja/tai on osa sisäisiä siirtoja." #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "Poistetaanko '%s' pysyvästi?" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "Jos poistat tilin, sen tiedot katoavat lopullisesti." #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Hallitse tilejä" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "Nimeä uudelleen" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Yleiset" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "_Ryhmä:" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "_Instituutio:" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "Nu_mero:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "_Alkusaldo:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Valuutta:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "täm_ä tili suljettiin" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Merkinnät:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "Toiminta" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "Automaatio" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "_Oletusmallipohja:" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Raportin rajaus" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "älä sisällytä tili_yhteenvetoon" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "älä sisällytä _talousarvioon" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "älä sisällytä _mihinkään raporttiin" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "Sekalaiset" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Šekkivihko _1:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Šekkivihko _2:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Saldorajoitukset" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "Seuraava _päiväys:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "_Joka:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "Lisää valintoja" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Hallitse ajastettuja/mallipohjaisia tapahtumia" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Mallipohja" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "_Ajoita" #: ../src/ui-assign.c:344 msgid "Search" msgstr "Haku" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "Merkinnät" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "(sääntö %d)" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "Jos poistat maksumääräyksen, sen tiedot katoavat lopullisesti." #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Pois käytöstä" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Jos tyhjä" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Maksumääräysten hallinta" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "Vedä ja raahaa vaihtaaksesi järjestystä" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Ehto" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "_Etsi:" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "Huomioi kirjainkoko" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "Säännöllinen lauseke" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "Maksumääräykset" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "_Maksu:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" "Tämä ohjattu käyttöönotto auttaa sinua määrittämään\n" "uuden Kotipankki-tiedoston vähimmäisvaatimukset." #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" "Kaikkia käyttöönoton yhteydessä määritettäviä yksityiskohtia voi muuttaa " "myöhemmin, jos siihen ilmenee tarvetta." #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" "Muutoksia ei tehdä, ennen kuin napsautat\n" "\"Toteuta\" käyttöönoton päätteeksi." #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" "Kotipankki näyttää otsikon pääikkunassa,\n" "voit valita sen vapaasti tai asettaa siihen esimerkiksi nimesi." #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Otsikko:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" "Kotipankki tukee useita valuuttoja. Pohjavaluutta toimii\n" "oletuksena uusille tileille ja raporteille." #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "Pohja:" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "Aseta lisävaluuttoja" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Lisää" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Ei löytynyt" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" "Kotipankki voi esitäyttää luokat käyttämälläsi kielellä,\n" "jos CSV-tiedosto on saatavilla ja tarjolla yhteisön toimesta." #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "Aseta luokat kielelleni" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Esiasetustiedosto:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" "Kotipankki mahdollistaa tilien tuomisen ladatuista rahoituslaitosten\n" "tiedostoista, tai voit luoda tilin manuaalisesti." #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "Luo ensimmäinen tilini" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Nimi:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" "Tämä on vahvistussivu.\n" "\n" "Napsauta \"Toteuta\" toteuttaaksesi muutokset." #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "Aloitustiedoston asetukset" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "Tiedoston valinnat" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "Valitse valuutat" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "Valitse luokat" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "Luo tili" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "Viimeistele tiedoston asetukset" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Nimi" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Avaa" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Tunnetut tiedostot" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF-tiedostot" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "OFX/QFX-tiedostot" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV-tiedostot" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Kaikki tiedostot" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "uusi tili" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "ohitettu" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr ", %d/%d tapahtumasta" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "Tuo %s _kohteeseen:" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "tämä tiedosto" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "tämä tili" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "%d tapahtuma(a), %d valittu" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "Tuo tapahtumat pankki- tai luottokortilta" #: ../src/ui-assist-import.c:1392 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:1398 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 "" "Suositeltu: .OFX tai .QFX\n" "(Kutsutaan myös nimillä Money™ tai Quicken™)\n" "Tuettu: .QIF\n" "(Yleinen Quicken™ -tiedosto)\n" "Vain edistyneille käyttäjille: .CSV\n" "(Kotipankin oma muoto, lue dokumentaatio)" #: ../src/ui-assist-import.c:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" "Muutoksia ei tehdä, ennen kuin napsautat \"Toteuta\" käyttöönoton päätteeksi." #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "Älä näytä tätä uudelleen" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Päiväysjärjestys:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "OFX-_nimi:" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Käännä" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "Samanlainen tapahtuma kohdetilillä (mahdollinen kaksoiskappale)" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "päivää" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "Suorita automaatio" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "Napsauta \"Toteuta\" päivittääksesi tilisi." #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Tervetuloa" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "Valitse tiedosto(t)" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "Tuo" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Vahvistus" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Tiedostomuodon virhe" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Tyhjennä" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Hallitse talousarviota" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "Tuo _CSV" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "Vie _CSV-tiedostoksi" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Saldo:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "_Tyhjennä syöte" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Valinnat" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Pakota tämän luokan seuranta" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Tammi" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Helmi" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Maalis" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Huhti" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Toukokuu" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Kesä" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Heinä" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Elo" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Loka" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Marras" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 msgid "Dec" msgstr "Joulu" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "Yhteenveto" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "Yhteensä" #: ../src/ui-budget-tabview.c:1561 msgid "Annual Total" msgstr "Vuosittain yhteensä" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "Kuukausittainen keskiarvo" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "Kuukausittain" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "Lisää luokka" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "_Toteuta" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "Yläluokka" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "Luokan nimi" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "Yhdistä luokat" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "Kohdeluokka" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "_Poista luokka '%s'" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "Talousarvio (taulukkonäkymä)" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "Lisää luokka" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "Poista luokka" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "Tyhjennä syöte" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Poista käyttämättömät luokat" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "Haluatko varmasti poistaa pysyvästi\n" "käyttämättömät luokat?" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Muokkaa..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Tulot" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Yhdistä luokka '%s'" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Hallitse luokkia" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "Siirrä/yhdistä" #: ../src/ui-category.c:2460 msgid "new category" msgstr "uusi luokka" #: ../src/ui-category.c:2472 msgid "new subcategory" msgstr "uusi aliluokka" #: ../src/ui-currency.c:366 ../src/ui-currency.c:373 msgid "Base currency" msgstr "Pohjavaluutta" #: ../src/ui-currency.c:627 msgid "Symbol" msgstr "Symboli" #: ../src/ui-currency.c:639 ../src/ui-currency.c:822 ../src/ui-pref.c:1487 msgid "Exchange rate" msgstr "Vaihtokurssi" #: ../src/ui-currency.c:652 msgid "Last modified" msgstr "Viimeksi muokattu" #: ../src/ui-currency.c:777 msgid "Edit currency" msgstr "Muokkaa valuuttaa" #: ../src/ui-currency.c:808 ../src/ui-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Valuutta" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Muoto" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Mukauta" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Symboli:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "On _etuliite" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "_Desimaalimerkki:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Desimaalit" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 msgid "_Grouping char:" msgstr "_Ryhmitysmerkki:" #: ../src/ui-currency.c:1147 msgid "Select base currency" msgstr "Valitse pohjavaluutta" #: ../src/ui-currency.c:1147 msgid "Select currency" msgstr "Valitse valuutta" #: ../src/ui-currency.c:1219 msgid "ISO Code" msgstr "ISO-koodi" #: ../src/ui-currency.c:1225 msgid "Add a custom _currency" msgstr "Lisää mukautettu _valuutta" #: ../src/ui-currency.c:1238 msgid "_ISO:" msgstr "_ISO:" #: ../src/ui-currency.c:1327 msgid "Update online error" msgstr "Virhe päivittäessä verkosta" #: ../src/ui-currency.c:1548 msgid "If you delete a currency, it will be permanently lost." msgstr "Jos poistat valuutan, sen tiedot katoavat lopullisesti." #: ../src/ui-currency.c:1592 msgid "Change the base currency" msgstr "Muuta pohjavaluutta" #: ../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 "Valuutat" #: ../src/ui-currency.c:1720 msgid "Update online" msgstr "Päivitä verkosta" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "Aseta pohjaksi" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Tiedostotilastot" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "Tapahtuma" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Valitse pohjavaluutta" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "Valuutta:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Vie QIF-tiedostoksi" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Tuo CSV-tiedostosta" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "Avaa Kotipankki-tiedosto" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "Avaa Kotipankin varmuuskopiotiedosto" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "Tallenna Kotipankki-tiedosto nimellä" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Kotipankki-tiedostot" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "Kaikki varmuuskopiot" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Tallennetaanko muutokset tiedostoon ennen sulkemista?" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" "Jos et tallenna, muutokset katoavat pysyvästi.\n" "Muutosten määrä: %d." #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "Sulje _tallentamatta" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Kansio:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Valitse kansio" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Tiedostonimi:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Vie PDF-tiedostoksi" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Vie _PDF-tiedostoksi" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "" #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Valitse toiminto:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "luo uusi tapahtuma" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "valitse olemassa oleva tapahtuma" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "" "Kotipankki löysi tapahtuman, joka saattaa olla yhteydessä sisäiseen siirtoon." #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Tiedot:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "_Huomioi kirjainkoko" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Mikä tahansa tila" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Mikä tahansa tyyppi" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Tilisiirto" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Pakota:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "näytä 'Lisätty'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "näytä 'Muutettu'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Summat" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Luokat" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Saajat" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Tiedoston ominaisuudet" #: ../src/ui-hbfile.c:242 msgid "Scheduled transaction" msgstr "Ajastettu tapahtuma" #: ../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 "" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Poista käyttämätön saaja" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "Oletus" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "_Maksu:" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "_Poista saaja '%s'" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "Hallitse maksun saajia" #: ../src/ui-payee.c:1854 msgid "new payee" msgstr "uusi saaja" #: ../src/ui-pref.c:85 msgid "Interface" msgstr "Käyttöliittymä" #: ../src/ui-pref.c:86 msgid "Locale" msgstr "Maa-asetus" #: ../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:1949 msgid "Backup" msgstr "Varmuuskopiointi" #: ../src/ui-pref.c:91 msgid "Folders" msgstr "Kansiot" #: ../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 "Vaakasuunta" #: ../src/ui-pref.c:108 msgid "Vertical" msgstr "Pystysuunta" #: ../src/ui-pref.c:109 msgid "Both" msgstr "Molemmat" #: ../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 "Sarkain" #: ../src/ui-pref.c:147 msgid "Comma" msgstr "Pilkku" #: ../src/ui-pref.c:148 msgid "Semicolon" msgstr "Puolipiste" #: ../src/ui-pref.c:149 msgid "Space" msgstr "Välilyönti" #: ../src/ui-pref.c:486 msgid "System Language" msgstr "Järjestelmän kieli" #: ../src/ui-pref.c:647 msgid "Choose a default HomeBank files folder" msgstr "Valitse Kotipankin tiedostojen oletuskansio" #: ../src/ui-pref.c:652 msgid "Choose a default HomeBank backup files folder" msgstr "" "Valitse oletusarvoinen kansio, johon Kotipankki asettaa varmuuskopiotiedostot" #: ../src/ui-pref.c:657 msgid "Choose a default import folder" msgstr "Valitse oletusarvoinen tuontikansio" #: ../src/ui-pref.c:662 msgid "Choose a default export folder" msgstr "Valitse oletusarvoinen vientikansio" #: ../src/ui-pref.c:1214 msgid "General options" msgstr "Yleiset asetukset" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "OFX-/QFX-valinnat" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "QIF-valinnat" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "CSV-valinnat" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "Erotin:" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Alkusuodatus" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Värimalli:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Tilastoasetukset" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Näytä summ_an mukaan" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Näytä _korkosarake" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Näytä yksityiskoh_dat" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Talousarvion asetukset" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Käytä" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "Esi_asetettu:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "Käyttöliittymä" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Kieli:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "_Päivän näyttö:" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Muoto:" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Tilivuosi" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "_Alkaa:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Mittayksiköt" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 msgid "_Show future:" msgstr "_Näytä tuleva:" #. 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:1724 msgid "days ahead" msgstr "päivää eteenpäin" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "Piilota täsmäytetyt" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "Näytä aina muistutukset" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "Näytä aina aiheettomat" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "peräkkäistä päivää" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "_Ruudukon viiva:" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Summien värit" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Käytä omia värejä" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "M_eno:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Tulo:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Varoitus:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "_Käytä automaattista varmuuskopiointia" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "_Säilytettävien varmuuskopioiden määrä:" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "Varmuuskopio otetaan kerran päivässä" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "_Lompakot:" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "_Varmuuskopiot:" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "Vaihtotiedostot" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Tuo:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "Vi_e:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Ohjelman käynnistys" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Näytä aloitusruutu" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Lataa viimeksi avattu tiedosto" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Lähetä odottavat ajastetut tapahtumat" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Päivitä valuutat verkosta" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Pääikkunan raportit" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "Nollaa kaikki asetukset" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" "Haluatko varmasti\n" "palauttaa kaikki\n" "asetukset oletusarvoihin?" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Asetukset" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "Kotipankki tulee käynnistää uudelleen,\n" "jotta kielimuutos tulee voimaan." #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "Poista kaikki" #: ../src/ui-split.c:966 msgid "Apply" msgstr "Toteuta" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "Peru" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Tapahtuman summa:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "Yhdistä tunniste '%s'" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "_Poista tunniste '%s'" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "Hallitse tunnisteita" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "uusi tunniste" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Näytä _ajastetut" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "Näytä _kaikki tilit" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "Käytä mallipohjaa" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Lisää tapahtuma" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "Lisää mallipohja" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Peri tapahtuma" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "Muokkaa tapahtumaa" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "Muokkaa mallipohjaa" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "_Luokka:" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "_Tunnisteet:" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "Muokkaa useita tapahtumia" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "Aika" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "Ei käytössä" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Sisällytä" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Älä sisällytä" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(ei tyyppiä)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Pankki" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Käteinen" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Varat" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Luottokortti" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Velat" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Tämä kuukausi" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Viime kuukausi" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "Tämä vuosineljännes" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Viime vuosineljännes" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "Tämä vuosi" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "Viime vuosi" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Viimeiset 30 päivää" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Viimeiset 60 päivää" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Viimeiset 90 päivää" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Viimeiset 12 kuukautta" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "mukautettu" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Kaikki päiväykset" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "Aiheeton" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Mahdollinen" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Ennen" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Jälkeen" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Menot & tulot" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Täsmäyttämätön" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Luokittelematon" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "ma" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "ti" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "ke" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "to" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "pe" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "la" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "su" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Tammikuu" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Helmikuu" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Maaliskuu" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Huhtikuu" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Kesäkuu" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Heinäkuu" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Elokuu" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Syyskuu" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Lokakuu" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Marraskuu" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Joulukuu" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Syys" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Etsi..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Šekki" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "Pankkisiirto" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Pankkikortti" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Suoramaksu" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Verkkomaksu" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Talletus" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Rahoituslaitoskulu" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Suoraveloitus" homebank-5.5.2/po/he.po0000664000175000017500000026773414021210661011620 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: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2019-03-12 18:27+0000\n" "Last-Translator: rochai \n" "Language-Team: Hebrew \n" "Language: he\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" "X-Language: he\n" "X-Source-Language: en\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "נמצאו %d קבוצות של עסקאות דומות" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "לא נמצאו עסקאות תואמות" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "לא נמצא חוסר עקביות" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "כל סכום עסקה יחולק ב %.6f" #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" "האם לשנות את מטבע החשבון ל-Euro\n" "כמטבע עיקרי?" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "לא בוצעו שינויים בעסקאות" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "עסקה עודכנה: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "תוצאה של השמה אוטומטית" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_מחק" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "האם אתה בטח כי ברצונך לשנות את הסטטוס אל אין?" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "חלק מהעסקאות שנבחרו כבר הושלמו." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_שינוי" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "האם לעדכן את סטטוס העסקא ל-'הושלם'?" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "_החלף" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d עסקאות" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "הוספה..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "הור_ש..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_ערוך..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "_עריכה מרובה..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_סטטוס" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_אין" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "הו_סדר" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "הו_שלם" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "צור תבנית..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_מחק..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "יצא QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "יצא CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "ייצא כ-PDF" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_סגור" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "ע_ריכה" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_כלים" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "סמן ככפול" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "השמות אוטומטיות" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "מ_סנן..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "המר ל-Euro" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "הוסף" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "הוסף עסקה חדשה" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "הורש" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "הורש מתוך העסקה הפעילה" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "ערוך" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "ערוך עסקאות פעילות" # נוקה #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "הוסדר" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "הגדר עסקאות נבחרות כמוסדרות" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "הושלם" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "הגדר עסקאות נבחרות כמושלמות" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "ערוך מספר עסקאות" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "צור תבנית" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "מחק עסקאות נבחרות" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(סגור)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "כל העסקאות" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_רענן" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_טווח:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_טיפוס:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "ס_טטוס:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "אפ_ס" #: ../src/dsp-account.c:2668 msgid "Open the list filter" msgstr "פתח את מסנן הרשימה" #. TRANSLATORS: this is for Euro specific users, a toggle to display in 'Minor' currency #: ../src/dsp-account.c:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "היום:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "ברוכים הבאים אל HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "ליצור קובץ _חדש" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_לפתוח קובץ קיים" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "לפתוח קובץ _דוגמא" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "לקרוא מדריך _HomeBank" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "הגדר _העדפות" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "לא ניתן לפתוח '%s', הקובץ איננו קיים.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "שגיאת I/O לקובץ '%s'." #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "הקובץ '%s' אינו קובץ HomeBank תקני." #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "שגיאת קובץ" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_קובץ" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_חדש" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_פתח..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_שמור" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "שמירה _בשם..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "ייבוא..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "שחזר" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "מאפיינים..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "י_ציאה" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "העדפות..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_תצוגה" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_סרגל כלים" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "הוצאה _עיקרית" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "יורו שולי" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_ניהול" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "_חשבונות..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "מוט_בים..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "סיווגים..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "תזמון/תבנית..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "תקציב..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "משימות..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "מטבעות..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "ע_סקאות" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "הוסף..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "הצג..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "הגדר מתזמן..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "מתוכננות בדיעבד" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_דיווחים" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_סטטיסטיקה..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_מגמת זמן..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "תק_ציב..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "_עלויות רכב..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "הצג דו שיח התחלה..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "סטטיסטיקת קובץ..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "עילום (אנונימיזציה)..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_עזרה" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_תכנים" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "דווח על בעיה..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "תרגם יישום זה..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_אודות" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "צור קובץ חדש" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "פתח קובץ" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "פתח קובץ שהיה בשימוש לאחרונה" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "שמור את הקובץ הנוכחי" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "חשבון" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "מוטב" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "סיווג" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "תקציב" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "משימה" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "הצג עסקאות חשבון נבחרות" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "הוסף עסקאות" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "פתח דו״ח סטטיסטיקה" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "פתח דו״ח מגמת זמן" # ןיתרה #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "מאז" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "פתח דו״ח מאזן" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "פתח דו״ח תקציב" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "עלויות רכב" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "פתח דו״ח עלויות רכב" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "מתוזמן" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "עתיד" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "הזכר" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(אין סיווג)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "פורמט CSV לא חוקי" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "תאריך" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "מידע" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "מזכר" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "סכום" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "לא מוכר" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f ל" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "ק״מ/ל" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "מייל/ל" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(אין מוטב)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "אפשרויות HomeBank" #: ../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:515 msgid "Your accounts" msgstr "החשבון שלך" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "הרחב הכל" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "צמצם הכל" #: ../src/hub-account.c:551 msgid "Show all" msgstr "הצג הכל" #: ../src/hub-account.c:556 msgid "By type" msgstr "לפי סוג" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "אין עסקה להוספה" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "התווספה עסקה: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "תוצאת בדיקת עסקאות מתוכננות" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "סה״כ" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "עסקאות מתוכננות" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_ממש" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "%d הוצאות עיקריות" #: ../src/hub-spending.c:299 msgid "Other" msgstr "אחר" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "לאן הולך הכסף שלך" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "סך כולל" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "חשבונות" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "היום" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- פילוג -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "סטטוס" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "הוצאה" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "הכנסה" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "מועד הבא" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d תחת %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "רשימה" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "הצג תוצאות בתור רשימה" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "עקומה" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "הצג תוצאות בתור עקומות" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "פירוט" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "פרטים" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "רענן" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "רענן תוצאות" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "דו״ח מאזן" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "תצוגה" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_זום X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_מן:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_עד:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "שם חשבון" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "בחר:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "הכל" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "אין" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "תקציב עבור %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "תוצאה" #: ../src/rep-budget.c:852 msgid " over" msgstr " עודף" #: ../src/rep-budget.c:858 msgid " left" msgstr " נותר" #: ../src/rep-budget.c:861 msgid " under" msgstr " בחובה" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "הצג תוצאות בתור שורות מסודרות בערימה" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "דו״ח תקציב" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_הצג לפי:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "תוצאה:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "תקציב:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "הוצאות:" #: ../src/rep-budget.c:1422 msgid "No account is defined to be part of the budget." msgstr "אין חשבון אשר מוגדר כדי להוות חלק מן התקציב." #: ../src/rep-budget.c:1423 msgid "You should include some accounts from the account dialog." msgstr "עליך להגדיר אילו חשבונות מתוך דו שיח חשבון." #. column: Expense #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "הוצאות" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "סיווג משני" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "תגית" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "חודש" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "שנה" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s לפי %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "הצג תוצאות בתור עמודה" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "הצג תוצאות בתור עוגה" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "מקרא" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "שיעור" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "ערוך מסנן" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "דו״ח סטטיסטי" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "הכנסה:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "הוצאה:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "יום" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "שבוע" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "רבעון" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s במשך זמן" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "ממוצע: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "דו״ח מגמת זמן" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "ח_שבון:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "סיוו_ג:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "מוט_ב:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "ת_גית:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "בחר ה_כל" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_צבור" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "מונה" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "דלק" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "מחיר" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "מרחק" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "יצוא כ-CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "דו״ח עלויות רכב" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "_רכב:" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "מונה:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "צריכה:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "עלות דלק:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "עלות אחרת:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "עלות כוללת:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(אין)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "מוצג" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_ביטול" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_אישור" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "שם חשבון" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "שגיאה" #: ../src/ui-account.c:1505 #, c-format msgid "" "Cannot add an account '%s',\n" "this name already exists." msgstr "" "לא מסוגל להוסיף חשבון '%s',\n" "שם זה כבר קיים." #: ../src/ui-account.c:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "לא יכול למחוק חשבון '%s'" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "חשבון זה מכיל עסקאות ו/או הינו חלק מתוך עסקאות פנימיות." #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "האם אתה בטוח כי ברצונך למחוק את '%s' לצמיתות?" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "כאשר אתה מוחק חשבון, זה יאבד לעד." #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "ניהול חשבונות" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 msgid "" "Drag & drop to change the order\n" "Double-click to rename" msgstr "" "גרורו השחרר כדי לשנות את הסדר\n" "לחיצה-כפולה כדי לשנות שם" #: ../src/ui-account.c:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "כללי" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "_מספר:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "איזון ה_תחלה:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_מטבע:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "חשבון זה _נסגר" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "הערות:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" # מניעת דיווח #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "הוצאה מכלל דיווח" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "הוצא מתוך _סיכום חשבון" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "הוצא מתוך ה_תקציב" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "הוצא מתוך ה_דיווחים" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "מספר שיק נוכחי" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "פנקס שיקים _1:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "פנקס שיקים _2:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "כאשר אתה מוחק תזמון/תבנית, זו תאבד לעד." #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "_מועד הבא:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "_כל:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "סוף שבוע:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_הפסק כעבור:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "ממומשות" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "ניהול עסקאות מתוזמנות/תבנית" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "תבנית" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "כאשר אתה מוחק משימה, זו תאבד לעד." #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "מושבת" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "אם ריק" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "שכתוב" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "ניהול משימות" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "תנאי" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "תש_לום:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "הוס_ף" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "לא נמצא" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "קובץ מוגדר מראש:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_שם:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "שם" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_פתח" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "קבצים מוכרים" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "קבצי QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "קבצי OFX/QFX" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "קבצי CSV" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "כל הקבצים" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "סדר תאריך:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "הפוך" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "ימים" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "ברוכים הבאים" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "יבוא" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "אימות" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "שגיאת פורמט קובץ" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "האם אתה בטוח כי ברצונך לטהר קלט?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "אם תמשיך, כל סכום יוגדר אל 0." #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_טהר" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "ניהול תקציב" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "י_בא CSV" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "יצ_א CSV" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "מאזן:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "_טהר קלט" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "אפשרויות" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_אכוף מעקב על סיווג זה" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "ינו׳" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "פבר׳" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "מרץ" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "אפר׳" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "מאי" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "יונ׳" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "יול׳" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "אוג׳" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "אוק׳" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "נוב׳" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" "סיווג זה הינו מצוי בשימוש.\n" "כל עסקה אשר משתמשת בסיווג זה תוגדר אל (אין סיווג)" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "_מחק את הקטגוריה '%s'" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "מזג" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "מחק סיווגים שאינם בשימוש" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" "האם אתה בטוח שברצונך למחוק לצמיתות\n" "סיווגים שאינם בשימוש?" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "ערוך..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "ה_כנסה" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "מיזוג קטגוריה '%s'" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" "עסקאות אשר מוקצות לסיווג זה,\n" "יועברו אל הסיווג אשר נבחר מטה." #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "ניהול קטגוריות" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "_מחק לא בשימוש" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "סיווג חדש" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "מטבע" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "תבנית" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_התאמה אישית" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_סימן" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "ספרות _שבר:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "עדכן אונליין" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "בחר כבסיס" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "סטטיסטיקת קובץ" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "עסקה" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "שדרג" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "בחר מטבע בסיס" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "מטבע:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "ייצוא כ-QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "יבוא מתוך CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "פתח קובץ HomeBank" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "שמור קובץ HomeBank בשם" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "קבצי HomeBank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "לשמור שינויים לקובץ לפני סגירה?" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "_סגור מבלי לשמור" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "בחר מתוך עסקאות אפשריות..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "בחר פעולה:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "צור עסקה חדשה" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "בחר עסקה קיימת" #: ../src/ui-dialogs.c:1091 msgid "" "HomeBank has found some transaction that may be the associated transaction " "for the internal transfer." msgstr "‏HomeBank מצאה איזו עסקה אשר אולי היא העסקה המשוייכת להעברה הפנימית." #: ../src/ui-filter.c:1049 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:1155 msgid "_Memo:" msgstr "ת_זכיר:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_מידע:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "תלוי _רישיות" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "כל סטטוס" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "כל טיפוס" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "העברה" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "אכוף:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "הצג 'נתווסף'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "הצג 'נערך'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "הצג 'תזכורת'" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "תאריכים" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "תשלומים" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "סכומים" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "סיווגים" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "מוטבים" #: ../src/ui-hbfile.c:194 msgid "File properties" 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 "ימים לפני התאריך הנוכחי" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "מחק מוטב שאינו בשימוש" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" "האם אתה בטוח שאתה רוצה\n" "למחוק לצמיתות מוטב שאינו בשימוש" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "ברירת מחדל" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "ת_שלום:" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "מזג מוטב '%s'" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" "עסקאות אשר מוקצות למוטב זה,\n" "יועברו אל המוטב אשר נבחר מטה." #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "_מחק את המוטב '%s'" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" "מוטב זה הינו מצוי בשימוש.\n" "כל עסקה אשר משתמשת במוטב זה תוגדר אל (אין מוטב)" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "ניהול מוטבים" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "אפשרויות OFX/QFX" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "אפשרויות QIF" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "מסנן התחלתי" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "אפשרויות תרשים" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "ערכת צבעים:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "אפשרויות סטטיסטיקה" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "הצג לפי _סכום" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "הצג טור _אחוזים" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "הצג _פרטים" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "אפשרויות תקציב" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_אפשר" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_קבועים מראש:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_שפה:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_פורמט:" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "שנת כספים" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "מתחילה _ביום:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "יחידות מידה" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "השתמש ב_מיילים לצורך מונה" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "השתמש ב_גלונים לצורך דלק" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 msgid "_Toolbar:" msgstr "סרגל _כלים:" #. widget = gtk_check_button_new_with_mnemonic (_("Enable rows in alternating colors")); #. data->CM_ruleshint = widget; #: ../src/ui-pref.c:1845 msgid "_Grid line:" msgstr "_קווי רשת:" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "צבעי סכום" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "בחר צבעים מותאמים" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_הוצאה:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "ה_כנסה:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_אזהרה:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "י_בוא:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "י_צוא:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "התחלת תוכנית" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "הצג מסך פתיחה" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "פתח קובץ אחרון" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "עסקאות מתוכננות תלויות ועומדות בדיעבד" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "דיווחי חלון ראשי" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "הגדרות" #: ../src/ui-pref.c:2512 msgid "" "You will have to restart HomeBank\n" "for the language change to take effect." msgstr "" "עליך להתחיל מחדש את HomeBank\n" "על מנת שהשפה תיכנס לתוקף." #: ../src/ui-pref.c:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "פילוגי עסקה" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "סכום עסקה:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "לא מוקצה:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "חישוב של פילוגים:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "הוספת עסקה" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "הורשת עסקה" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "ת_זכיר:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "עריכה מרובה של עסקאות" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "הכלל" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "הוצא" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(אין טיפוס)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "בנק" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "מזומן" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "נכס" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "כרטיס אשראי" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "התחייבות" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "חודש נוכחי" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "חודש קודם" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "רבעון נוכחי" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "רבעון קודם" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "שנה נוכחית" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "שנה שעברה" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "30 ימים אחרונים" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "60 ימים אחרונים" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "90 ימים אחרונים" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "12 חודשים אחרונים" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "כל התאריכים" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "אפשרי" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "לפני" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "אחרי" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "הוצאות וגם הכנסות" # לא מנוקה #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "לא מוסדר" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "לא הושלם" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "לא מסווגת" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "ינואר" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "פברואר" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "מרץ" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "אפריל" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "יוני" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "יולי" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "אוגוסט" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "ספטמבר" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "אוקטובר" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "נובמבר" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "דצמבר" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "ספט׳" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "שיק" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "כרטיס חיוב" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "הוראת קבע" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "תשלום אלקטרוני" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "הפקדה" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "אגרת FI (מוסד פיננסי)" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "הרשאה לחיוב" homebank-5.5.2/po/pt_PT.po0000664000175000017500000025240014021210664012235 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: \n" "POT-Creation-Date: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2014-07-25 14:56+0000\n" "Last-Translator: IvoGuerreiro \n" "Language-Team: Portuguese (Portugal) \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "" #: ../src/dsp-account.c:394 msgid "" "Are you sure you want to convert this account\n" "to Euro as Major currency?" msgstr "" #: ../src/dsp-account.c:396 msgid "_Convert" msgstr "" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Nenhuma transação alterada" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "" #: ../src/dsp-account.c:1677 msgid "Are you sure you want to change the status to None?" msgstr "" #: ../src/dsp-account.c:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "" #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "" #: ../src/dsp-account.c:1735 msgid "Are you sure you want to toggle the status Reconciled?" msgstr "" #: ../src/dsp-account.c:1737 msgid "_Toggle" msgstr "" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "" #: ../src/dsp-account.c:2101 #, c-format msgid "%d transactions, %d selected, avg: %s, sum: %s (%s - %s)" msgstr "" #: ../src/dsp-account.c:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Adicionar..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Herdar..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Editar..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "" #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Reconciliada" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Criar modelo..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "" #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "" #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Exportar QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Exportar CSV..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "" #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "" #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "Fe_char" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Editar" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "Transacçã_o" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_ferramentas" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "" #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filtrar..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Adicionar" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Adicionar uma nova transacção" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Herdar" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Herdar da transacção activa" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Editar" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Editar a transacção activa" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_intervalo:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "_Tipo:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Estado:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Hoje:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Bem-vindo ao HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Criar _novo ficheiro" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Abrir ficheiro existente" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Abrir um _exemplo" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Consultar o _manual" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "" #: ../src/dsp-mainwindow.c:1044 #, 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/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "Erro de E/S no ficheiro %s." #: ../src/dsp-mainwindow.c:1132 #, 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:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Erro no ficheiro" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "" #: ../src/dsp-mainwindow.c:1212 msgid "If you save it, all the external changes could be lost. Save it anyway?" msgstr "" #: ../src/dsp-mainwindow.c:1213 msgid "S_ave Anyway" msgstr "" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Ficheiro" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Nova" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Abrir..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Gravar" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "" #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "" #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "" #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Refazer" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "" #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Sair" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Preferências..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Ver" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Barra de ferramentas" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Maiores despesas" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Euro menor" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Gerir" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "C_ontas..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Beneficiários..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Categorias..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Agendada/Modelo..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Orçamento..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Atribuições..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "" #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "" #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Transacções" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Adicionar..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Mostrar..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "" #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Definir agendamento..." #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Relatórios" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Estatísticas..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Tempo de evolução..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "" #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "O_rçamento" #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "Custo da _viatura" #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Mostrar diálogo de boas vindas..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "" #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Anónimo..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Ajuda" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Conteúdos" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "" #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Reportar um Problema..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Traduzir esta aplicação..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_Sobre" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Criar novo ficheiro" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Abrir um ficheiro" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Abrir um ficheiro recente" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Guardar o ficheiro actual" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Conta" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Credor" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Categoria" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Orçamento" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Mostra as transações da conta selecionada" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Abrir relatório das estatísticas" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Abrir relatório do tempo de evolução" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Saldo" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Abrir relatório de saldo" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Abrir relatório do orçamento" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Custo da viatura" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Abrir relatório de gastos da viatura" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Futuro" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(sem categoria)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Data" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Informações" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Memo" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Quantia" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Desconhecido" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(sem beneficiário)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Opções HomeBank" #: ../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:515 msgid "Your accounts" msgstr "As suas contas" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "" #: ../src/hub-account.c:551 msgid "Show all" msgstr "" #: ../src/hub-account.c:556 msgid "By type" msgstr "" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Sem transações para adicionar" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "transação adicionada: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Consultar resultado das transações agendadas" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Total" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Transações agendadas" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Outra" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Para onde o seu dinheiro vai" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Total Geral" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Contas" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Hoje" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- separar -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Estado" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Despesa" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Entrada" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Próxima data" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d por baixo de %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Lista" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Ver resultados como lista" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Gráfico de Linhas" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Ver resultados como um gráfico de linhas" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Detalhe" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Alternar detalhes" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Atualizar" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Atualizar resultados" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Relatório de Balanço" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Monitor" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Zoom X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_De:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Até:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Nome da conta" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Tudo" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Nenhum" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Resultado" #: ../src/rep-budget.c:852 msgid " over" msgstr "" #: ../src/rep-budget.c:858 msgid " left" msgstr "" #: ../src/rep-budget.c:861 msgid " under" msgstr "" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "" #: ../src/rep-budget.c:1001 msgid "View results as stack bars" msgstr "" #. gtk_widget_set_halign (menu, GTK_ALIGN_END); #: ../src/rep-budget.c:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Relatório de orçamento" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Ver por:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Resultado:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Orçamento:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Gasto:" #: ../src/rep-budget.c:1422 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:1423 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:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Gasto" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Subcategoria" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Etiqueta" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Mês" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Ano" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s por %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Alternar legenda" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Alternar taxa" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Relatório de estatísticas" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Receita:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Despesa:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Dia" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Semana" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Trimestre" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s Ao Longo do Tempo" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Relatório da divisão de tempo" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "_Conta:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Categoria:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Beneficiário:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Etiqueta:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Seleccionar _tudo" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Acumulado" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Conta-quilómetros:" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Combustível" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Preço" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Dist." #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Exportar como CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Relatório de custos da viatura" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "Viat_ura:" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Conta-quilómetros:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Consumo:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Custos com combustível:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Outros custos:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Custo total:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(nenhum)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Visível" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Nome da conta" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Erro" #: ../src/ui-account.c:1505 #, 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:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "" #: ../src/ui-account.c:1557 msgid "" "This account contains transactions and/or is part of internal transfers." msgstr "" #: ../src/ui-account.c:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, c-format msgid "Are you sure you want to permanently delete '%s'?" msgstr "" #: ../src/ui-account.c:1570 msgid "If you delete an account, it will be permanently lost." msgstr "" #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Gerir Contas" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "" #: ../src/ui-account.c:1917 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:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Geral" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "N_úmero:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "_Balanço inicial:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "esta _conta foi fechada" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Reportar exclusão" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "excluir do _resumo de contas" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "excluir do _orçamento" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "excluir dos _relatórios" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Número de cheque atual:" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Livro de cheques _1:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Livro de cheques _2:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 msgid "If you delete a scheduled/template, it will be permanently lost." msgstr "" #: ../src/ui-archive.c:972 msgid "Next _date:" msgstr "Próxima _data:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "A Cada:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Fim da semana:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Parar após:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "introduções" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Gerir transacções agendadas/modelo" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "" #: ../src/ui-assign.c:344 msgid "Search" msgstr "" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "" #: ../src/ui-assign.c:718 #, c-format msgid "This search text already exists at position %d" msgstr "" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Gerir atribuições" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Condição" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "Paga_mento:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Não encontrado" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Ficheiro de pré-ajuste:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Nome:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Ficheiros aceites" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "ficheiros QIF" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "Ficheiros OFX/QFX" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "ficheiros CSV" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Todos os ficheiros" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr "" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "" #: ../src/ui-assist-import.c:1331 #, c-format msgid "" "Name: %s\n" "Number: %s\n" "File: %s\n" "Encoding: %s" msgstr "" #: ../src/ui-assist-import.c:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 msgid "Target account identification by name or number failed." msgstr "" #: ../src/ui-assist-import.c:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Data de operação:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Inverter" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "dias" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "" #: ../src/ui-assist-import.c:2264 msgid "Select file(s)" msgstr "" #. gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS); #: ../src/ui-assist-import.c:2269 msgid "Import" msgstr "" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Confirmação" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Formato de ficheiro errado" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 msgid "If you proceed, every amount will be set to 0." msgstr "" #: ../src/ui-budget.c:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Gerir Orçamento" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Balanço:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "_Limpar entrada" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Opções" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Forçar monitorização desta categoria" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Fev" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Abr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "Maio" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Ago" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Out" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 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:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 msgid "" "This category is used.\n" "Any transaction using that category will be set to (no category)" msgstr "" #: ../src/ui-budget-tabview.c:2350 msgid "Merge categories" msgstr "" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "" #: ../src/ui-category.c:1598 msgid "" "Are you sure you want to permanently\n" "delete unused categories?" msgstr "" #: ../src/ui-category.c:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "" #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "Rece_ita" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "" #: ../src/ui-category.c:1943 msgid "" "Transactions assigned to this category,\n" "will be moved to the category selected below." msgstr "" #: ../src/ui-category.c:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Gerir Categorias" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "" #: ../src/ui-category.c:2460 msgid "new category" msgstr "" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "Dígitos de _fração:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Exportar como QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Importar de CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "ficheiros HomeBank" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "" #: ../src/ui-dialogs.c:731 #, c-format msgid "" "If you don't save, changes will be permanently lost.\n" "Number of changes: %d." msgstr "" #: ../src/ui-dialogs.c:736 msgid "Close _without saving" msgstr "" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Selecionar de entre as transações possíveis..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Selecionar uma ação:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "criar nova transação" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "escolher uma transação existente" #: ../src/ui-dialogs.c:1091 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:1049 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:1155 msgid "_Memo:" msgstr "_Memo:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Info:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "_Sensível a maiúsculas e minúsculas" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Qualquer estado" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Qualquer Tipo" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Transferência" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Forçar:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "mostrar 'Adicionado'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "mostrar 'Editado'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Propriedades do ficheiro" #: ../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" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "" #: ../src/ui-payee.c:1194 msgid "" "Are you sure you want to\n" "permanently delete unused payee?" msgstr "" #: ../src/ui-payee.c:1375 msgid "Default" msgstr "" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "Pa_gamento:" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "" #: ../src/ui-payee.c:1510 msgid "" "Transactions assigned to this payee,\n" "will be moved to the payee selected below." msgstr "" #: ../src/ui-payee.c:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "" #: ../src/ui-payee.c:1613 msgid "" "This payee is used.\n" "Any transaction using that payee will be set to (no payee)" msgstr "" #: ../src/ui-payee.c:1710 msgid "Manage Payees" msgstr "Gerir beneficiários" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "Opções OFX/QFX" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Fitro inicial" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Opções de gráficos" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Opções de estatísticas" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Mostrar por _quantia" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Mostrar _coluna da taxa" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Mostrar _detalhes" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Opções de orçamento" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Ativar" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Pré-definido:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Idioma:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Ano fiscal" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "Começa _em:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Unidades de medida" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Utilizar _milhas para medição" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Número de cores" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Utilizar cores personalizadas" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "D_espesas:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "Rece_itas:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Aviso:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Importar:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Exportar:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Arranque do programa" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Mostrar ecrã inicial" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Carregar o último ficheiro aberto" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Introduzir transações agendadas em espera" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Relatórios da janela principal" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Preferências" #: ../src/ui-pref.c:2512 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:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "" #: ../src/ui-split.c:966 msgid "Apply" msgstr "" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Valor da transação:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Não atríbuida:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Soma das partes:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Adicionar transacção" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Herdar transacção" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "M_emo:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Incluir" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Excluir" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(sem tipo)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Banco" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Dinheiro" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Ativo" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Cartão de crédito" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Passivo" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "Últimos 30 dias" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "Últimos 60 dias" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "Últimos 90 dias" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "Últimos 12 meses" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "Todas as datas" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Possível" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Antes" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Depois" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Desp. e Rend." #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Não reconciliado" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Sem categoria" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "Janeiro" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "Fevereiro" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "Março" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "Abril" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "Junho" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "Julho" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "Agosto" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "Setembro" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "Outubro" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "Novembro" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "Dezembro" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Set" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "" #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Cheque" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Cartão de débito" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Ordem permanente" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Pagamento electrónico" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Depósito" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Taxa FI" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Débito Directo" homebank-5.5.2/po/sl.po0000664000175000017500000027136514021210664011640 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: 2021-03-07 18:47+0100\n" "PO-Revision-Date: 2020-06-17 16:38+0000\n" "Last-Translator: Matej Urbančič \n" "Language-Team: Slovenian GNOME Translation Team \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2021-02-10 20:01+0000\n" "X-Generator: Launchpad (build e34ce994f03aae76d4610a97bccf86c0f2cf9f70)\n" "X-Poedit-Country: SLOVENIA\n" "X-Poedit-Language: Slovenian\n" "X-Poedit-SourceCharset: utf-8\n" #: ../data/homebank.desktop.in.in.h:1 ../src/dsp-mainwindow.c:700 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:704 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:221 #, c-format msgid "There is %d group of similar transactions" msgstr "" #: ../src/dsp-account.c:226 msgid "No similar transaction were found !" msgstr "Ni zaznanih podobnih transakcij!" #: ../src/dsp-account.c:309 ../src/dsp-account.c:319 msgid "Check internal transfer result" msgstr "Preverite rezultate notranjih transakcij" #: ../src/dsp-account.c:310 msgid "No inconsistency found !" msgstr "Ni zaznanih neskladnosti!" #: ../src/dsp-account.c:320 #, c-format msgid "" "Inconsistency were found: %d\n" "do you want to review and fix?" msgstr "" #: ../src/dsp-account.c:390 #, c-format msgid "Every transaction amount will be divided by %.6f." msgstr "Vsak znesek transakcije bo deljen z %.6f." #: ../src/dsp-account.c:394 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:396 msgid "_Convert" msgstr "_Pretvori" #: ../src/dsp-account.c:514 msgid "No transaction changed" msgstr "Ni spremenjenih transakcij" #: ../src/dsp-account.c:516 #, c-format msgid "transaction changed: %d" msgstr "spremenjena transakcija: %d" #: ../src/dsp-account.c:519 msgid "Automatic assignment result" msgstr "Samodejni rezultat naloge" #: ../src/dsp-account.c:653 msgid "" "Do you want to create an assignment with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:654 ../src/dsp-account.c:721 msgid "_Create" msgstr "_Ustvari" #: ../src/dsp-account.c:720 msgid "" "Do you want to create a template with\n" "each of the selected transaction?" msgstr "" #: ../src/dsp-account.c:1596 msgid "" "Do you want to delete\n" "each of the selected transaction?" msgstr "" #. widget = gtk_button_new_with_mnemonic(_("_Delete")); #: ../src/dsp-account.c:1597 ../src/ui-account.c:1576 ../src/ui-archive.c:759 #: ../src/ui-archive.c:1162 ../src/ui-assign.c:660 #: ../src/ui-budget-tabview.c:2300 ../src/ui-category.c:1599 #: ../src/ui-category.c:2066 ../src/ui-currency.c:1554 ../src/ui-payee.c:1195 #: ../src/ui-payee.c:1621 ../src/ui-tag.c:772 msgid "_Delete" msgstr "_Izbriši" #: ../src/dsp-account.c:1677 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:1678 ../src/dsp-account.c:1736 msgid "Some transaction in your selection are already Reconciled." msgstr "Nekatere transakcije v izboru so že potrjene." #: ../src/dsp-account.c:1679 ../src/ui-assist-start.c:277 #: ../src/ui-dialogs.c:414 msgid "_Change" msgstr "_Spremeni" #: ../src/dsp-account.c:1735 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:1737 msgid "_Toggle" msgstr "_Preklopi" #: ../src/dsp-account.c:2098 #, c-format msgid "%d transactions" msgstr "%d transakcij" #: ../src/dsp-account.c:2101 #, 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:2365 ../src/dsp-account.c:2463 msgid "_Add..." msgstr "_Dodaj ..." #: ../src/dsp-account.c:2367 ../src/dsp-account.c:2465 msgid "_Inherit..." msgstr "_Prevzemi ..." #: ../src/dsp-account.c:2369 ../src/dsp-account.c:2467 msgid "_Edit..." msgstr "_Uredi ..." #: ../src/dsp-account.c:2371 ../src/dsp-account.c:2481 msgid "_Multiple Edit..." msgstr "_Hkratno urejanje ..." #: ../src/dsp-account.c:2376 ../src/dsp-account.c:2472 msgid "_Status" msgstr "_Stanje" #: ../src/dsp-account.c:2378 ../src/dsp-account.c:2474 msgid "_None" msgstr "_Brez" #: ../src/dsp-account.c:2380 ../src/dsp-account.c:2476 msgid "_Cleared" msgstr "_Pregledano" #: ../src/dsp-account.c:2382 ../src/dsp-account.c:2478 msgid "_Reconciled" msgstr "_Potrjeno" #: ../src/dsp-account.c:2387 msgid "View _Split" msgstr "" #: ../src/dsp-account.c:2389 ../src/dsp-account.c:2483 msgid "Create template..." msgstr "Ustvari predlogo ..." #: ../src/dsp-account.c:2391 ../src/dsp-account.c:2482 msgid "Create assignment..." msgstr "Ustvari nalogo ..." #: ../src/dsp-account.c:2393 ../src/dsp-account.c:2484 msgid "_Delete..." msgstr "_Izbriši ..." #: ../src/dsp-account.c:2398 msgid "_Up" msgstr "_Gor" #: ../src/dsp-account.c:2400 msgid "_Down" msgstr "_Dol" #: ../src/dsp-account.c:2439 msgid "A_ccount" msgstr "_Račun" #: ../src/dsp-account.c:2441 msgid "Export QIF..." msgstr "Izvozi kot QIF..." #: ../src/dsp-account.c:2442 msgid "Export CSV..." msgstr "Izvoz podatkov v CSV ..." #: ../src/dsp-account.c:2444 msgid "Export as PDF..." msgstr "Izvozi kot PDF ..." #: ../src/dsp-account.c:2446 msgid "Print..." msgstr "Natisni ..." #: ../src/dsp-account.c:2448 ../src/dsp-mainwindow.c:678 #: ../src/dsp-mainwindow.c:1833 ../src/ui-account.c:1839 #: ../src/ui-archive.c:1055 ../src/ui-assign.c:882 ../src/ui-budget.c:1096 #: ../src/ui-budget-tabview.c:2757 ../src/ui-category.c:2313 #: ../src/ui-currency.c:1669 ../src/ui-dialogs.c:178 ../src/ui-payee.c:1713 #: ../src/ui-split.c:788 ../src/ui-tag.c:851 ../src/ui-transaction.c:1293 msgid "_Close" msgstr "_Zapri" #. #1818052 wish: copy/paste one/multiple transaction(s) #: ../src/dsp-account.c:2452 ../src/dsp-mainwindow.c:1838 msgid "_Edit" msgstr "_Uredi" #: ../src/dsp-account.c:2454 msgid "Copy" msgstr "Kopiraj" #: ../src/dsp-account.c:2456 msgid "Paste" msgstr "Prilepi" #: ../src/dsp-account.c:2458 msgid "Paste (today)" msgstr "Prilepi (danes)" #: ../src/dsp-account.c:2461 msgid "Transacti_on" msgstr "_Transakcija" #: ../src/dsp-account.c:2489 msgid "_Find" msgstr "_Najdi" #: ../src/dsp-account.c:2492 ../src/dsp-mainwindow.c:1884 msgid "_Tools" msgstr "_Orodja" #: ../src/dsp-account.c:2494 msgid "Mark duplicate..." msgstr "Označi kot podvojeno ..." #: ../src/dsp-account.c:2495 msgid "Check internal transfer" msgstr "Preveri notranji prenos" #: ../src/dsp-account.c:2496 msgid "Auto. assignments" msgstr "Samodejne naloge" #: ../src/dsp-account.c:2497 msgid "_Filter..." msgstr "_Filter ..." #: ../src/dsp-account.c:2498 msgid "Convert to Euro..." msgstr "Pretvori v evro ..." #. widget = gtk_button_new_with_mnemonic(_("_Add")); #: ../src/dsp-account.c:2511 ../src/dsp-mainwindow.c:1941 #: ../src/ui-account.c:1898 ../src/ui-archive.c:1133 ../src/ui-assign.c:950 #: ../src/ui-assist-import.c:1516 ../src/ui-category.c:2416 #: ../src/ui-currency.c:1750 ../src/ui-payee.c:1833 ../src/ui-split.c:962 #: ../src/ui-tag.c:927 msgid "Add" msgstr "Dodaj" #: ../src/dsp-account.c:2511 msgid "Add a new transaction" msgstr "Dodaj transakcijo" #: ../src/dsp-account.c:2513 msgid "Inherit" msgstr "Prevzemi" #: ../src/dsp-account.c:2513 msgid "Inherit from the active transaction" msgstr "Prevzemi iz dejavne transakcije" #. widget = gtk_button_new_with_mnemonic(_("_Edit")); #. todo: useless ? #: ../src/dsp-account.c:2515 ../src/ui-archive.c:1138 ../src/ui-category.c:2420 #: ../src/ui-currency.c:1754 ../src/ui-payee.c:1837 ../src/ui-split.c:923 #: ../src/ui-tag.c:931 msgid "Edit" msgstr "Uredi" #: ../src/dsp-account.c:2515 msgid "Edit the active transaction" msgstr "Uredi trenutno transakcijo" #. Cleared #: ../src/dsp-account.c:2520 ../src/list-account.c:689 ../src/ui-filter.c:1247 #: ../src/ui-widgets-data.c:146 ../src/ui-widgets-data.c:191 msgid "Cleared" msgstr "Sprejeto" #: ../src/dsp-account.c:2520 msgid "Toggle cleared for selected transaction(s)" msgstr "Preklopi oznako Pregledano za izbrane transakcije" #. Reconciled #: ../src/dsp-account.c:2521 ../src/list-account.c:685 ../src/ui-filter.c:1248 #: ../src/ui-widgets-data.c:147 ../src/ui-widgets-data.c:193 msgid "Reconciled" msgstr "Potrjeno" #: ../src/dsp-account.c:2521 msgid "Toggle reconciled for selected transaction(s)" msgstr "Preklopi stanje potrjeno za izbrane transakcije." #: ../src/dsp-account.c:2525 msgid "Edit Multiple" msgstr "Sočasno urejanje" #: ../src/dsp-account.c:2525 msgid "Edit multiple transaction" msgstr "Urejanje več transakcij" #: ../src/dsp-account.c:2526 msgid "Create template" msgstr "Ustvari predlogo" #: ../src/dsp-account.c:2527 ../src/ui-account.c:1906 ../src/ui-assign.c:954 #: ../src/ui-assist-import.c:1520 ../src/ui-category.c:2428 #: ../src/ui-currency.c:1758 ../src/ui-payee.c:1845 ../src/ui-split.c:919 #: ../src/ui-tag.c:937 msgid "Delete" msgstr "Izbriši" #: ../src/dsp-account.c:2527 msgid "Delete selected transaction(s)" msgstr "Izbriši izbrane transakcije" #: ../src/dsp-account.c:2531 msgid "Up" msgstr "Gor" #: ../src/dsp-account.c:2531 msgid "Move transaction up" msgstr "Premakne transakcijo višje" #: ../src/dsp-account.c:2532 msgid "Down" msgstr "Dol" #: ../src/dsp-account.c:2532 msgid "Move transaction down" msgstr "Premakne transakcijo nižje" #: ../src/dsp-account.c:2577 msgid "(closed)" msgstr "(zaprto)" #: ../src/dsp-account.c:2584 #, c-format msgid "%s - HomeBank" msgstr "%s - HomeBank" #: ../src/dsp-account.c:2584 msgid "All transactions" msgstr "Vse transakcije" #. info bar for duplicate #: ../src/dsp-account.c:2613 msgid "_Refresh" msgstr "_Osveži" #: ../src/dsp-account.c:2641 ../src/rep-balance.c:950 ../src/rep-budget.c:1239 #: ../src/rep-stats.c:1486 ../src/rep-time.c:1279 ../src/rep-vehicle.c:963 #: ../src/ui-pref.c:1351 ../src/ui-pref.c:1707 ../src/ui-pref.c:2141 msgid "_Range:" msgstr "_Obdobje:" #: ../src/dsp-account.c:2649 msgid "Toggle show future transaction" msgstr "Preklopi prikaz prihodnjih transakcij" #: ../src/dsp-account.c:2653 ../src/rep-budget.c:1214 ../src/rep-stats.c:1428 #: ../src/ui-account.c:1944 ../src/ui-assist-start.c:536 #: ../src/ui-filter.c:1264 msgid "_Type:" msgstr "Vrs_ta:" #: ../src/dsp-account.c:2658 ../src/ui-filter.c:1241 #: ../src/ui-transaction.c:1533 msgid "_Status:" msgstr "_Stanje:" #. widget = gtk_button_new_with_mnemonic (_("Reset _filters")); #: ../src/dsp-account.c:2664 ../src/ui-filter.c:1439 ../src/ui-pref.c:2245 #: ../src/ui-pref.c:2268 msgid "_Reset" msgstr "_Ponastavi" #: ../src/dsp-account.c:2668 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:2675 ../src/rep-balance.c:929 ../src/rep-budget.c:1226 #: ../src/rep-stats.c:1465 ../src/rep-time.c:1258 ../src/rep-vehicle.c:950 msgid "Euro _minor" msgstr "Druga _valuta" #. lock + account name #: ../src/dsp-account.c:2743 msgid "Reconciled:" msgstr "" #: ../src/dsp-account.c:2750 msgid "Cleared:" msgstr "" #: ../src/dsp-account.c:2757 msgid "Today:" msgstr "Trenutno:" #: ../src/dsp-account.c:2764 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:675 msgid "Welcome to HomeBank" msgstr "Dobrodošli v program HomeBank" #. 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); #: ../src/dsp-mainwindow.c:722 msgid "Open _last opened file" msgstr "" #: ../src/dsp-mainwindow.c:726 msgid "Create a _new file" msgstr "Ustvari _novo datoteko" #: ../src/dsp-mainwindow.c:730 msgid "_Open an existing file" msgstr "_Odpri obstoječo datoteko" #: ../src/dsp-mainwindow.c:734 msgid "Open the _example file" msgstr "Odpri _vzorčno datoteko primerov" #: ../src/dsp-mainwindow.c:738 msgid "Read HomeBank _Manual" msgstr "Preberi priročnik programa _HomeBank" #: ../src/dsp-mainwindow.c:742 msgid "Configure _preferences" msgstr "Nastavitev _možnosti" #: ../src/dsp-mainwindow.c:746 msgid "Show this window next time" msgstr "" #: ../src/dsp-mainwindow.c:993 #, c-format msgid "" "You are about to open the backup file '%s'.\n" "\n" "Are you sure you want to do this?" msgstr "" #: ../src/dsp-mainwindow.c:997 msgid "Open the backup file?" msgstr "" #: ../src/dsp-mainwindow.c:999 msgid "_Open backup" msgstr "_Odpri datoteko varnostne kopije" #: ../src/dsp-mainwindow.c:1044 #, c-format msgid "Unable to open '%s', the file does not exist.\n" msgstr "Ni mogoče odpreti '%s'. Datoteka ne obstaja.\n" #: ../src/dsp-mainwindow.c:1124 ../src/ui-currency.c:1319 msgid "Unknown error" msgstr "Neznana napaka" #: ../src/dsp-mainwindow.c:1129 ../src/dsp-mainwindow.c:1235 #, c-format msgid "I/O error for file '%s'." msgstr "Napaka V/I za datoteko '%s'." #: ../src/dsp-mainwindow.c:1132 #, c-format msgid "The file '%s' is not a valid HomeBank file." msgstr "Datoteka '%s' ni veljavna datoteka programa HomeBank" #: ../src/dsp-mainwindow.c:1135 #, 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:1140 ../src/dsp-mainwindow.c:1238 msgid "File error" msgstr "Napaka datoteke" #: ../src/dsp-mainwindow.c:1211 msgid "The file has been modified since reading it." msgstr "Datoteka je bila od časa zadnjega branja spremenjena." #: ../src/dsp-mainwindow.c:1212 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:1213 msgid "S_ave Anyway" msgstr "_Vseeno shrani" #: ../src/dsp-mainwindow.c:1787 msgid "Clear" msgstr "Počisti" #: ../src/dsp-mainwindow.c:1809 msgid "_File" msgstr "_Datoteka" #: ../src/dsp-mainwindow.c:1811 msgid "_New" msgstr "_Novo" #: ../src/dsp-mainwindow.c:1813 msgid "_Open..." msgstr "_Odpri ..." #: ../src/dsp-mainwindow.c:1815 msgid "Open _Recent" msgstr "Odpri _nedavno" #: ../src/dsp-mainwindow.c:1820 ../src/ui-dialogs.c:489 ../src/ui-dialogs.c:536 #: ../src/ui-dialogs.c:597 ../src/ui-dialogs.c:738 msgid "_Save" msgstr "_Shrani" #: ../src/dsp-mainwindow.c:1822 msgid "Save _As..." msgstr "Shrani _kot ..." #: ../src/dsp-mainwindow.c:1825 msgid "Import..." msgstr "Uvozi ..." #: ../src/dsp-mainwindow.c:1826 msgid "Export as QIF..." msgstr "Izvozi kot QIF ..." #: ../src/dsp-mainwindow.c:1828 msgid "Revert" msgstr "Povrni" #: ../src/dsp-mainwindow.c:1829 msgid "Restore backup" msgstr "Obnovi varnostno kopijo" #: ../src/dsp-mainwindow.c:1831 msgid "Properties..." msgstr "Lastnosti ..." #: ../src/dsp-mainwindow.c:1835 msgid "_Quit" msgstr "_Končaj" #: ../src/dsp-mainwindow.c:1840 msgid "Preferences..." msgstr "Možnosti ..." #: ../src/dsp-mainwindow.c:1842 msgid "_View" msgstr "_Pogled" #: ../src/dsp-mainwindow.c:1844 msgid "_Toolbar" msgstr "_Orodna vrstica" #: ../src/dsp-mainwindow.c:1846 msgid "_Top spending" msgstr "_Najvišja poraba" #: ../src/dsp-mainwindow.c:1848 msgid "_Bottom Lists" msgstr "_Spodnji seznami" #: ../src/dsp-mainwindow.c:1851 ../src/ui-pref.c:92 msgid "Euro minor" msgstr "Druga valuta" #: ../src/dsp-mainwindow.c:1855 msgid "_Manage" msgstr "_Upravljanje" #: ../src/dsp-mainwindow.c:1857 msgid "Acc_ounts..." msgstr "Ra_čuni ..." #: ../src/dsp-mainwindow.c:1858 msgid "_Payees..." msgstr "_Stranke ..." #: ../src/dsp-mainwindow.c:1859 msgid "Categories..." msgstr "Kategorije ..." #: ../src/dsp-mainwindow.c:1860 msgid "Scheduled/Template..." msgstr "Načrtovano/Predloge ..." #: ../src/dsp-mainwindow.c:1861 msgid "Budget..." msgstr "Proračun ..." #: ../src/dsp-mainwindow.c:1862 msgid "Budget (table view)..." msgstr "" #: ../src/dsp-mainwindow.c:1863 msgid "Assignments..." msgstr "Nakazila ..." #: ../src/dsp-mainwindow.c:1864 msgid "Currencies..." msgstr "Valute ..." #: ../src/dsp-mainwindow.c:1865 msgid "Tags..." msgstr "Oznake ..." #: ../src/dsp-mainwindow.c:1867 msgid "_Transactions" msgstr "_Prenosi" #: ../src/dsp-mainwindow.c:1869 msgid "Add..." msgstr "Dodaj ..." #: ../src/dsp-mainwindow.c:1870 msgid "Show..." msgstr "Pokaži ..." #: ../src/dsp-mainwindow.c:1871 msgid "Show all..." msgstr "Pokaži vse ..." #: ../src/dsp-mainwindow.c:1873 msgid "Set scheduler..." msgstr "Nastavi načrtovane transakcije" #: ../src/dsp-mainwindow.c:1874 ../src/ui-transaction.c:1311 msgid "Post scheduled" msgstr "Objavi načrtovane transakcije" #: ../src/dsp-mainwindow.c:1876 msgid "_Reports" msgstr "_Poročila" #: ../src/dsp-mainwindow.c:1878 msgid "_Statistics..." msgstr "_Statistika ..." #: ../src/dsp-mainwindow.c:1879 msgid "_Trend Time..." msgstr "_Časovni trend ..." #: ../src/dsp-mainwindow.c:1880 msgid "_Balance..." msgstr "_Stanje ..." #: ../src/dsp-mainwindow.c:1881 msgid "B_udget..." msgstr "Prorač_un ..." #: ../src/dsp-mainwindow.c:1882 msgid "_Vehicle cost..." msgstr "Stroški _vozila ..." #: ../src/dsp-mainwindow.c:1886 msgid "Show welcome dialog..." msgstr "Pokaži pozdravno pogovorno okno ..." #: ../src/dsp-mainwindow.c:1887 msgid "File statistics..." msgstr "Statistika datoteke ..." #: ../src/dsp-mainwindow.c:1889 msgid "Anonymize..." msgstr "Brisanje osebnih podatkov ..." #: ../src/dsp-mainwindow.c:1891 msgid "_Help" msgstr "_Pomoč" #: ../src/dsp-mainwindow.c:1893 msgid "_Contents" msgstr "_Vsebina" #: ../src/dsp-mainwindow.c:1895 ../src/dsp-mainwindow.c:1954 msgid "Get Help Online..." msgstr "" #: ../src/dsp-mainwindow.c:1898 msgid "Check for updates..." msgstr "Preveri za posodobitve ..." #: ../src/dsp-mainwindow.c:1899 msgid "Release Notes" msgstr "Opombe ob izdaji" #: ../src/dsp-mainwindow.c:1900 msgid "Report a Problem..." msgstr "Poročilo o napaki ..." #: ../src/dsp-mainwindow.c:1901 msgid "Translate this Application..." msgstr "Prevod programa ..." #: ../src/dsp-mainwindow.c:1903 msgid "_About" msgstr "_O Programu" #: ../src/dsp-mainwindow.c:1916 msgid "New" msgstr "Novo" #: ../src/dsp-mainwindow.c:1916 msgid "Create a new file" msgstr "Ustvari novo datoteko" #: ../src/dsp-mainwindow.c:1919 msgid "Open" msgstr "Odpri" #: ../src/dsp-mainwindow.c:1920 msgid "Open a file" msgstr "Odpri datoteko" #: ../src/dsp-mainwindow.c:1925 msgid "Open a recently used file" msgstr "Odpri nedavno uporabljeno datoteko" #: ../src/dsp-mainwindow.c:1927 msgid "Save" msgstr "Shrani" #: ../src/dsp-mainwindow.c:1927 msgid "Save the current file" msgstr "Shrani trenutno datoteko" #. 5.2 Account is always created but not visible for BOOK #. 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/dsp-mainwindow.c:1931 ../src/list-operation.c:1431 #: ../src/list-scheduled.c:472 ../src/rep-stats.c:69 ../src/rep-time.c:67 #: ../src/ui-account.c:1024 ../src/ui-archive.c:430 #: ../src/ui-assist-import.c:2096 ../src/ui-dialogs.c:197 msgid "Account" msgstr "Račun" #: ../src/dsp-mainwindow.c:1931 msgid "Manage the accounts" msgstr "Upravljaj z računi" #. column: Payee #. payee #: ../src/dsp-mainwindow.c:1932 ../src/hb-export.c:443 #: ../src/list-operation.c:1458 ../src/list-scheduled.c:404 #: ../src/rep-stats.c:68 ../src/rep-time.c:69 ../src/ui-archive.c:411 #: ../src/ui-assist-import.c:391 ../src/ui-dialogs.c:252 ../src/ui-payee.c:1082 #: ../src/ui-pref.c:132 ../src/ui-widgets-data.c:29 msgid "Payee" msgstr "Stranka" #: ../src/dsp-mainwindow.c:1932 msgid "Manage the payees" msgstr "Upravljaj s strankami" #. category #: ../src/dsp-mainwindow.c:1933 ../src/list-operation.c:1488 #: ../src/rep-budget.c:1461 ../src/rep-budget.c:1642 ../src/rep-stats.c:66 #: ../src/rep-time.c:68 ../src/ui-assist-import.c:395 ../src/ui-budget.c:255 #: ../src/ui-budget-tabview.c:1543 ../src/ui-category.c:1488 #: ../src/ui-dialogs.c:261 ../src/ui-payee.c:1117 ../src/ui-split.c:203 #: ../src/ui-split.c:928 ../src/ui-widgets-data.c:42 msgid "Category" msgstr "Kategorija" #: ../src/dsp-mainwindow.c:1933 msgid "Manage the categories" msgstr "Upravljaj kategorije" #: ../src/dsp-mainwindow.c:1934 msgid "Scheduled/Template" msgstr "" #: ../src/dsp-mainwindow.c:1934 msgid "Manage the scheduled/template transactions" msgstr "" #. column: Income #: ../src/dsp-mainwindow.c:1935 ../src/dsp-mainwindow.c:1949 #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1657 msgid "Budget" msgstr "Proračun" #: ../src/dsp-mainwindow.c:1935 msgid "Manage the budget" msgstr "" #: ../src/dsp-mainwindow.c:1936 ../src/ui-dialogs.c:233 msgid "Assignment" msgstr "Nakazila" #: ../src/dsp-mainwindow.c:1936 msgid "Manage the automatic assignments" msgstr "" #: ../src/dsp-mainwindow.c:1940 msgid "Show" msgstr "Pokaži" #: ../src/dsp-mainwindow.c:1940 msgid "Shows selected account transactions" msgstr "Pokaže transakcije izbranega računa" #: ../src/dsp-mainwindow.c:1941 msgid "Add transactions" msgstr "Dodaj transakcije" #: ../src/dsp-mainwindow.c:1946 msgid "Statistics" msgstr "Statistike" #: ../src/dsp-mainwindow.c:1946 msgid "Open the Statistics report" msgstr "Odpri statistično poročilo" #: ../src/dsp-mainwindow.c:1947 msgid "Trend time" msgstr "Trend" #: ../src/dsp-mainwindow.c:1947 msgid "Open the Trend Time report" msgstr "Odpri poročilo o trendu" #. column: Balance #: ../src/dsp-mainwindow.c:1948 ../src/hb-export.c:447 #: ../src/list-operation.c:1496 ../src/rep-balance.c:1329 #: ../src/ui-widgets-data.c:59 msgid "Balance" msgstr "Stanje" #: ../src/dsp-mainwindow.c:1948 msgid "Open the Balance report" msgstr "Odpri poročilo o stanju" #: ../src/dsp-mainwindow.c:1949 msgid "Open the Budget report" msgstr "Odpri poročilo proračuna" #: ../src/dsp-mainwindow.c:1950 ../src/ui-hbfile.c:278 msgid "Vehicle cost" msgstr "Stroški vozila" #: ../src/dsp-mainwindow.c:1950 msgid "Open the Vehicle cost report" msgstr "Odpri poročilo o stroških vozila" #: ../src/dsp-mainwindow.c:1954 msgid "Help" msgstr "Pomoč" #: ../src/dsp-mainwindow.c:1955 msgid "Donate" msgstr "Doniraj" #: ../src/dsp-mainwindow.c:1955 msgid "Donate to HomeBank project" msgstr "Donacija projektu HomeBank" #: ../src/dsp-mainwindow.c:2068 ../src/ui-archive.c:1093 #: ../src/ui-dialogs.c:217 msgid "Scheduled" msgstr "Načrtovano" #. Future #: ../src/dsp-mainwindow.c:2072 ../src/list-account.c:697 msgid "Future" msgstr "Prihodnost" #: ../src/dsp-mainwindow.c:2075 ../src/ui-widgets-data.c:148 msgid "Remind" msgstr "Opomni" #: ../src/hb-archive.c:350 ../src/hb-archive.c:352 ../src/hb-assign.c:278 msgid "**PREFILLED**" msgstr "" #: ../src/hb-category.c:492 ../src/hb-report.c:338 ../src/ui-budget.c:113 #: ../src/ui-category.c:189 ../src/ui-category.c:826 ../src/ui-category.c:1047 msgid "(no category)" msgstr "(ni določene kategorije)" #: ../src/hb-category.c:1032 ../src/hb-payee.c:612 msgid "invalid CSV format" msgstr "neveljaven zapis CSV" #: ../src/hb-export.c:441 ../src/list-operation.c:1446 #: ../src/rep-balance.c:1310 ../src/rep-vehicle.c:167 ../src/rep-vehicle.c:1322 #: ../src/ui-assist-import.c:363 msgid "Date" msgstr "Datum" #: ../src/hb-export.c:442 ../src/list-operation.c:1228 #: ../src/ui-assist-import.c:377 ../src/ui-pref.c:133 ../src/ui-pref.c:2511 #: ../src/ui-pref.c:2519 msgid "Info" msgstr "Podrobnosti" #. column: Memo #. memo #: ../src/hb-export.c:444 ../src/list-operation.c:1461 #: ../src/list-scheduled.c:427 ../src/ui-archive.c:415 #: ../src/ui-assist-import.c:368 ../src/ui-pref.c:131 ../src/ui-split.c:223 #: ../src/ui-split.c:932 ../src/ui-widgets-data.c:28 msgid "Memo" msgstr "Opomnik" #. column: Amount #. amount #: ../src/hb-export.c:445 ../src/list-operation.c:1479 ../src/rep-time.c:1476 #: ../src/rep-time.c:1629 ../src/rep-vehicle.c:171 ../src/rep-vehicle.c:1367 #: ../src/ui-archive.c:420 ../src/ui-assist-import.c:372 ../src/ui-split.c:239 #: ../src/ui-split.c:936 msgid "Amount" msgstr "Znesek" #: ../src/hb-hbfile.c:596 ../src/ui-assist-import.c:2096 msgid "Unknown" msgstr "Neznano" #. TRANSLATORS: format a liter number with l/L as abbreviation #: ../src/hb-preferences.c:84 #, c-format msgid "%.2f l" msgstr "%.2f l" #. TRANSLATORS: kilometer per liter #: ../src/hb-preferences.c:87 msgid "km/l" msgstr "km/l" #. TRANSLATORS: miles per liter #: ../src/hb-preferences.c:90 msgid "mi./l" msgstr "mi/l" #: ../src/hb-report.c:350 ../src/ui-payee.c:631 ../src/ui-payee.c:869 msgid "(no payee)" msgstr "(ni določene stranke)" #. g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); #. TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 #: ../src/hb-report.c:851 #, fuzzy, c-format msgid "%d-w%02d" 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:865 #, 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:877 ../src/homebank.c:878 msgid "HomeBank options" msgstr "Možnosti programa" #: ../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:515 msgid "Your accounts" msgstr "Računi" #: ../src/hub-account.c:530 ../src/ui-budget.c:1194 #: ../src/ui-budget-tabview.c:2904 ../src/ui-category.c:2443 #: ../src/ui-filter.c:361 msgid "Expand all" msgstr "Razširi vse" #: ../src/hub-account.c:534 ../src/ui-budget.c:1198 #: ../src/ui-budget-tabview.c:2908 ../src/ui-category.c:2447 #: ../src/ui-filter.c:365 msgid "Collapse all" msgstr "Zloži vse" #: ../src/hub-account.c:551 msgid "Show all" msgstr "Pokaži vse" #: ../src/hub-account.c:556 msgid "By type" msgstr "Po vrsti" #: ../src/hub-account.c:557 msgid "By group" msgstr "" #: ../src/hub-account.c:558 msgid "By institution" msgstr "po ustanovi" #: ../src/hub-scheduled.c:330 msgid "No transaction to add" msgstr "Ni dodane transakcije" #: ../src/hub-scheduled.c:332 #, c-format msgid "transaction added: %d" msgstr "dodana transakcija: %d" #: ../src/hub-scheduled.c:335 msgid "Check scheduled transactions result" msgstr "Preveri rezultat načrtovanih transakcij" #. column: Total #: ../src/hub-scheduled.c:477 ../src/list-account.c:123 ../src/rep-stats.c:80 #: ../src/rep-stats.c:767 ../src/rep-stats.c:901 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2029 ../src/rep-stats.c:2258 ../src/rep-vehicle.c:1034 #: ../src/ui-widgets-data.c:50 ../src/ui-widgets-data.c:57 msgid "Total" msgstr "Skupno" #: ../src/hub-scheduled.c:521 msgid "Scheduled transactions" msgstr "Načrtovane transakcije" #: ../src/hub-scheduled.c:537 msgid "_Skip" msgstr "" #: ../src/hub-scheduled.c:541 msgid "Edit & P_ost" 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:547 ../src/ui-transaction.c:1299 msgid "_Post" msgstr "_Oddaj" #: ../src/hub-scheduled.c:562 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:103 #, c-format msgid "Top %d spending" msgstr "Zgornjih %d plačil" #: ../src/hub-spending.c:299 msgid "Other" msgstr "Drugo" #: ../src/hub-spending.c:362 msgid "Where your money goes" msgstr "Kam gre denar" #: ../src/hb-import.c:1388 msgid "imported account" msgstr "uvožen račun" #: ../src/list-account.c:127 msgid "Grand total" msgstr "Skupni seštevek" #: ../src/list-account.c:532 msgid "last reconciled" msgstr "" #: ../src/list-account.c:544 msgid "until" msgstr "" #: ../src/list-account.c:559 msgid "before" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-account.c:673 ../src/ui-filter.c:1525 msgid "Accounts" msgstr "Računi" #. Today #: ../src/list-account.c:693 msgid "Today" msgstr "Danes" #: ../src/list-operation.c:586 msgid "- split -" msgstr "- razdelitev -" #: ../src/list-operation.c:602 msgid "- this needs a category -" msgstr "" #: ../src/list-operation.c:1438 msgid "Match" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/list-operation.c:1466 ../src/ui-filter.c:1498 msgid "Status" msgstr "Stanje" #. column: Expense #: ../src/list-operation.c:1482 ../src/list-scheduled.c:441 #: ../src/rep-balance.c:1321 ../src/rep-stats.c:78 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2017 ../src/ui-budget-tabview.c:88 #: ../src/ui-filter.c:1270 ../src/ui-transaction.c:53 #: ../src/ui-widgets-data.c:35 ../src/ui-widgets-data.c:173 #: ../src/ui-widgets-data.c:182 msgid "Expense" msgstr "Izplačila" #. column: Income #: ../src/list-operation.c:1485 ../src/list-scheduled.c:452 #: ../src/rep-balance.c:1325 ../src/rep-stats.c:79 ../src/rep-stats.c:1749 #: ../src/rep-stats.c:2023 ../src/ui-budget-tabview.c:89 #: ../src/ui-filter.c:1271 ../src/ui-transaction.c:54 #: ../src/ui-widgets-data.c:36 ../src/ui-widgets-data.c:174 #: ../src/ui-widgets-data.c:183 msgid "Income" msgstr "Vplačila" #: ../src/list-operation.c:1491 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:403 msgid "Next date" msgstr "Naslednji datum" #. //TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold #: ../src/rep-balance.c:245 #, c-format msgid "%d/%d under %s" msgstr "%d/%d pod %s" #: ../src/rep-balance.c:758 ../src/rep-budget.c:994 ../src/rep-stats.c:1174 #: ../src/rep-time.c:958 msgid "List" msgstr "Seznam" #: ../src/rep-balance.c:759 ../src/rep-budget.c:995 ../src/rep-stats.c:1175 #: ../src/rep-time.c:959 msgid "View results as list" msgstr "Seznamski pregled" #: ../src/rep-balance.c:764 ../src/rep-time.c:964 msgid "Line" msgstr "Črta" #: ../src/rep-balance.c:765 ../src/rep-time.c:965 msgid "View results as lines" msgstr "Vrstični pregled" #: ../src/rep-balance.c:770 ../src/rep-budget.c:1008 ../src/rep-stats.c:1194 #: ../src/rep-time.c:978 msgid "Detail" msgstr "Podrobnost" #: ../src/rep-balance.c:771 ../src/rep-budget.c:1009 ../src/rep-stats.c:1195 #: ../src/rep-time.c:979 msgid "Toggle detail" msgstr "Preklop podrobnosti" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh" msgstr "Osveži" #: ../src/rep-balance.c:776 ../src/rep-budget.c:1015 ../src/rep-stats.c:1224 #: ../src/rep-time.c:984 ../src/rep-vehicle.c:790 msgid "Refresh results" msgstr "Osvežitev rezultatov" #: ../src/rep-balance.c:779 ../src/rep-budget.c:1058 ../src/rep-stats.c:1267 #: ../src/rep-time.c:1027 msgid "Print" msgstr "" #: ../src/rep-balance.c:888 msgid "Balance report" msgstr "Poročilo stanja" #: ../src/rep-balance.c:911 ../src/rep-budget.c:1202 ../src/rep-stats.c:1409 #: ../src/rep-time.c:1190 ../src/rep-vehicle.c:938 msgid "Display" msgstr "Pokaži" #: ../src/rep-balance.c:916 ../src/rep-stats.c:1437 ../src/rep-time.c:1244 msgid "Inter_val:" msgstr "Inter_val:" #: ../src/rep-balance.c:924 ../src/rep-time.c:1252 msgid "Show empty line" msgstr "Pokaži prazno vrstico" #: ../src/rep-balance.c:934 ../src/rep-stats.c:1457 ../src/rep-time.c:1263 msgid "_Zoom X:" msgstr "_Približaj os X:" #: ../src/rep-balance.c:946 ../src/rep-budget.c:1235 ../src/rep-stats.c:1482 #: ../src/rep-time.c:1275 ../src/rep-vehicle.c:959 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:956 ../src/rep-budget.c:1245 ../src/rep-stats.c:1492 #: ../src/rep-time.c:1285 ../src/rep-vehicle.c:969 ../src/ui-filter.c:1120 #: ../src/ui-filter.c:1205 ../src/ui-transaction.c:118 #: ../src/ui-transaction.c:123 msgid "_From:" msgstr "_Od:" #: ../src/rep-balance.c:962 ../src/rep-budget.c:1251 ../src/rep-stats.c:1498 #: ../src/rep-time.c:1291 ../src/rep-vehicle.c:975 ../src/ui-filter.c:1126 #: ../src/ui-filter.c:1212 ../src/ui-transaction.c:119 #: ../src/ui-transaction.c:124 msgid "_To:" msgstr "_Do:" #: ../src/rep-balance.c:972 #, fuzzy msgid "Account filter" msgstr "Ime računa" #: ../src/rep-balance.c:980 ../src/ui-assist-import.c:1727 #: ../src/ui-filter.c:311 ../src/ui-filter.c:527 ../src/ui-filter.c:699 #: ../src/ui-filter.c:1366 msgid "Select:" msgstr "Izbor:" #: ../src/rep-balance.c:984 ../src/ui-assist-import.c:1730 #: ../src/ui-filter.c:315 ../src/ui-filter.c:531 ../src/ui-filter.c:703 #: ../src/ui-filter.c:1370 ../src/ui-widgets-data.c:126 msgid "All" msgstr "Vse" #: ../src/rep-balance.c:988 ../src/ui-assist-import.c:1734 #: ../src/ui-filter.c:320 ../src/ui-filter.c:536 ../src/ui-filter.c:707 #: ../src/ui-filter.c:1375 ../src/ui-pref.c:106 ../src/ui-widgets-data.c:145 msgid "None" msgstr "Brez" #. update stack chart #: ../src/rep-budget.c:631 ../src/ui-budget.c:974 #, c-format msgid "Budget for %s" msgstr "Proračun za %s" #. column: Result #: ../src/rep-budget.c:637 ../src/rep-budget.c:1461 ../src/rep-budget.c:1661 #: ../src/rep-stats.c:1749 ../src/rep-stats.c:2006 msgid "Result" msgstr "Rezultat" #: ../src/rep-budget.c:852 msgid " over" msgstr " preko" #: ../src/rep-budget.c:858 msgid " left" msgstr " na levi" #: ../src/rep-budget.c:861 msgid " under" msgstr " spodaj" #: ../src/rep-budget.c:1000 msgid "Stack" msgstr "Sklad↓" #: ../src/rep-budget.c:1001 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:1023 ../src/rep-stats.c:1232 ../src/rep-time.c:992 msgid "_Result to clipboard" msgstr "_Kopiraj rezultat v odložišče" #: ../src/rep-budget.c:1027 ../src/rep-stats.c:1236 ../src/rep-time.c:996 msgid "_Result to CSV" msgstr "_Shrani rezultat v datoteko CSV" #: ../src/rep-budget.c:1031 ../src/rep-stats.c:1240 ../src/rep-time.c:1000 msgid "_Detail to clipboard" msgstr "_Kopiraj podrobnosti v odložišče" #: ../src/rep-budget.c:1036 ../src/rep-stats.c:1245 ../src/rep-time.c:1005 msgid "_Detail to CSV" msgstr "_Shrani podrobnosti v datoteko CSV" #: ../src/rep-budget.c:1177 msgid "Budget report" msgstr "Poročilo proračuna" #: ../src/rep-budget.c:1206 ../src/rep-stats.c:1420 ../src/rep-time.c:1194 msgid "_View by:" msgstr "_Pokaži za:" #: ../src/rep-budget.c:1221 msgid "Only out of budget" msgstr "Le iz proračuna" #: ../src/rep-budget.c:1280 msgid "Result:" msgstr "Rezultat:" #: ../src/rep-budget.c:1286 msgid "Budget:" msgstr "Proračun:" #: ../src/rep-budget.c:1292 msgid "Spent:" msgstr "Porabljeno:" #: ../src/rep-budget.c:1422 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:1423 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:1461 ../src/rep-budget.c:1653 msgid "Spent" msgstr "Porabljeno" #: ../src/rep-stats.c:67 ../src/ui-widgets-data.c:43 msgid "Subcategory" msgstr "Podkategorija" #: ../src/rep-stats.c:70 ../src/rep-time.c:70 ../src/ui-dialogs.c:270 msgid "Tag" msgstr "Oznaka" #: ../src/rep-stats.c:71 ../src/rep-time.c:78 ../src/ui-widgets-data.c:157 msgid "Month" msgstr "Mesec" #: ../src/rep-stats.c:72 ../src/rep-time.c:81 ../src/ui-widgets-data.c:158 msgid "Year" msgstr "Leto" #. TRANSLATORS: example 'Expense by Category' #: ../src/rep-stats.c:302 #, c-format msgid "%s by %s" msgstr "%s po elementu %s" #: ../src/rep-stats.c:791 msgid "Too much columns to display" msgstr "" #: ../src/rep-stats.c:792 msgid "Please select a wider interval and / or a narrower date range" msgstr "" #: ../src/rep-stats.c:1180 ../src/rep-time.c:970 msgid "Column" msgstr "Stolpec" #: ../src/rep-stats.c:1181 ../src/rep-time.c:971 msgid "View results as column" msgstr "Poglej rezultate v stolpcu" #: ../src/rep-stats.c:1186 msgid "Donut" msgstr "" #: ../src/rep-stats.c:1187 msgid "View results as donut" msgstr "Prikaz podatkov v diagramu" #: ../src/rep-stats.c:1203 msgid "Legend" msgstr "Legenda" #: ../src/rep-stats.c:1204 msgid "Toggle legend" msgstr "Preklop legende" #: ../src/rep-stats.c:1212 msgid "Rate" msgstr "Mera" #: ../src/rep-stats.c:1213 msgid "Toggle rate" msgstr "Preklopi mero" #: ../src/rep-stats.c:1221 msgid "Filter" msgstr "Filter" #: ../src/rep-stats.c:1221 ../src/ui-filter.c:1431 msgid "Edit filter" msgstr "Uredi filter" #: ../src/rep-stats.c:1388 msgid "Statistics Report" msgstr "Statistično poročilo" #: ../src/rep-stats.c:1413 msgid "Mode:" msgstr "Način:" #: ../src/rep-stats.c:1447 msgid "Sort by _amount" msgstr "" #: ../src/rep-stats.c:1452 msgid "Compare Exp. & Inc." msgstr "" #: ../src/rep-stats.c:1566 msgid "Total:" msgstr "" #: ../src/rep-stats.c:1572 ../src/ui-budget.c:1232 msgid "Income:" msgstr "Dohodek:" #: ../src/rep-stats.c:1579 ../src/ui-budget.c:1225 msgid "Expense:" msgstr "Izdatek:" #: ../src/rep-stats.c:2255 msgid "Average" msgstr "Povprečje" #: ../src/rep-time.c:76 ../src/ui-widgets-data.c:155 msgid "Day" msgstr "Dan" #: ../src/rep-time.c:77 ../src/ui-widgets-data.c:156 msgid "Week" msgstr "Teden" #: ../src/rep-time.c:79 msgid "Quarter" msgstr "Četrtletje" #: ../src/rep-time.c:80 msgid "Half Year" msgstr "Polletje" #. TRANSLATORS: example 'Category Over Time' #: ../src/rep-time.c:267 #, c-format msgid "%s Over Time" msgstr "%s čez čas" #: ../src/rep-time.c:742 #, c-format msgid "Average: %s" msgstr "Povprečje: %s" #: ../src/rep-time.c:1167 msgid "Trend Time Report" msgstr "Poročilo časovnega trenda" #: ../src/rep-time.c:1202 ../src/ui-transaction.c:128 #: ../src/ui-transaction.c:1416 ../src/ui-txn-multi.c:513 msgid "A_ccount:" msgstr "Rač_un:" #: ../src/rep-time.c:1210 ../src/ui-assign.c:1080 ../src/ui-hbfile.c:282 #: ../src/ui-payee.c:1388 msgid "_Category:" msgstr "_Kategorija:" #: ../src/rep-time.c:1218 ../src/ui-assign.c:1061 ../src/ui-transaction.c:1485 #: ../src/ui-txn-multi.c:564 msgid "_Payee:" msgstr "_Stranka:" #: ../src/rep-time.c:1226 ../src/ui-filter.c:1170 msgid "_Tag:" msgstr "_Oznaka:" #: ../src/rep-time.c:1234 msgid "Select _all" msgstr "Izberi _vse" #: ../src/rep-time.c:1239 msgid "_Cumulate" msgstr "_Seštevaj" #: ../src/rep-time.c:1476 ../src/rep-time.c:1617 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:168 ../src/rep-vehicle.c:1355 msgid "Meter" msgstr "Števec" #. column: Fuel load #: ../src/rep-vehicle.c:169 ../src/rep-vehicle.c:1359 msgid "Fuel" msgstr "Gorivo" #. column: Price by unit #: ../src/rep-vehicle.c:170 ../src/rep-vehicle.c:1363 msgid "Price" msgstr "Cena" #. column: Distance done #: ../src/rep-vehicle.c:172 ../src/rep-vehicle.c:1371 msgid "Dist." msgstr "Pot" #: ../src/rep-vehicle.c:793 msgid "Export" msgstr "Izvozi" #: ../src/rep-vehicle.c:793 ../src/ui-dialogs.c:535 ../src/ui-dialogs.c:778 msgid "Export as CSV" msgstr "Izvozi v CSV" #: ../src/rep-vehicle.c:914 msgid "Vehicle cost report" msgstr "Poročilo o stroških vozila" #: ../src/rep-vehicle.c:942 msgid "Vehi_cle:" msgstr "V_ozilo:" #: ../src/rep-vehicle.c:1001 msgid "Meter:" msgstr "Števec:" #: ../src/rep-vehicle.c:1005 msgid "Consumption:" msgstr "Poraba:" #: ../src/rep-vehicle.c:1009 msgid "Fuel cost:" msgstr "Cena goriva:" #: ../src/rep-vehicle.c:1013 msgid "Other cost:" msgstr "Ostali stroški:" #: ../src/rep-vehicle.c:1017 msgid "Total cost:" msgstr "Skupna cena:" #. populate template #: ../src/ui-account.c:732 ../src/ui-account.c:1804 ../src/ui-assign.c:109 #: ../src/ui-currency.c:245 ../src/ui-tag.c:255 ../src/ui-widgets.c:1221 msgid "(none)" msgstr "(brez)" #: ../src/ui-account.c:1009 ../src/ui-assign.c:310 ../src/ui-category.c:1468 #: ../src/ui-currency.c:599 ../src/ui-payee.c:1062 ../src/ui-tag.c:398 msgid "Visible" msgstr "Vidno" #. GTK_FILE_CHOOSER_ACTION_OPEN, #: ../src/ui-account.c:1166 ../src/ui-assist-import.c:736 #: ../src/ui-budget-tabview.c:2101 ../src/ui-budget-tabview.c:2353 #: ../src/ui-category.c:1785 ../src/ui-category.c:1933 ../src/ui-currency.c:780 #: ../src/ui-currency.c:1150 ../src/ui-dialogs.c:69 ../src/ui-dialogs.c:370 #: ../src/ui-dialogs.c:488 ../src/ui-dialogs.c:543 ../src/ui-dialogs.c:603 #: ../src/ui-dialogs.c:672 ../src/ui-dialogs.c:737 ../src/ui-dialogs.c:781 #: ../src/ui-dialogs.c:893 ../src/ui-dialogs.c:1048 ../src/ui-filter.c:1443 #: ../src/ui-hbfile.c:197 ../src/ui-payee.c:1337 ../src/ui-payee.c:1500 #: ../src/ui-pref.c:2270 ../src/ui-split.c:857 ../src/ui-tag.c:541 #: ../src/ui-tag.c:656 ../src/ui-transaction.c:1287 ../src/ui-txn-multi.c:447 msgid "_Cancel" msgstr "_Prekliči" #: ../src/ui-account.c:1168 ../src/ui-category.c:1787 ../src/ui-currency.c:782 #: ../src/ui-currency.c:1152 ../src/ui-dialogs.c:371 ../src/ui-dialogs.c:1049 #: ../src/ui-filter.c:1444 ../src/ui-hbfile.c:199 ../src/ui-payee.c:1339 #: ../src/ui-pref.c:2272 ../src/ui-split.c:870 ../src/ui-tag.c:543 #: ../src/ui-transaction.c:1288 ../src/ui-txn-multi.c:449 msgid "_OK" msgstr "_V redu" #: ../src/ui-account.c:1498 ../src/ui-account.c:1611 msgid "Account name" msgstr "Ime računa" #: ../src/ui-account.c:1504 ../src/ui-account.c:1617 ../src/ui-category.c:1862 #: ../src/ui-payee.c:1433 ../src/ui-tag.c:601 msgid "Error" msgstr "Napaka" #: ../src/ui-account.c:1505 #, 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:1553 #, c-format msgid "Cannot delete account '%s'" msgstr "Ni mogoče izbrisati računa '%s'" #: ../src/ui-account.c:1557 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:1568 ../src/ui-archive.c:751 ../src/ui-assign.c:652 #: ../src/ui-budget-tabview.c:2288 ../src/ui-category.c:2054 #: ../src/ui-currency.c:1546 ../src/ui-payee.c:1609 ../src/ui-tag.c:760 #, 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:1570 msgid "If you delete an account, it will be permanently lost." msgstr "Izbrisan račun je trajno izgubljen." #: ../src/ui-account.c:1618 #, 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:1836 msgid "Manage Accounts" msgstr "Upravljanje računov" #: ../src/ui-account.c:1902 msgid "Rename" msgstr "Preimenuj" #: ../src/ui-account.c:1917 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:1931 ../src/ui-hbfile.c:225 ../src/ui-pref.c:84 #: ../src/ui-pref.c:1447 ../src/ui-pref.c:1832 msgid "General" msgstr "Splošno" #: ../src/ui-account.c:1952 msgid "_Group:" msgstr "_Skupina:" #: ../src/ui-account.c:1961 msgid "_Institution:" msgstr "_Ustanova:" #: ../src/ui-account.c:1969 msgid "N_umber:" msgstr "_Številka:" #: ../src/ui-account.c:1977 msgid "Start _balance:" msgstr "Začetno _stanje:" #: ../src/ui-account.c:1984 msgid "_Currency:" msgstr "_Valuta:" #: ../src/ui-account.c:1991 msgid "this account was _closed" msgstr "ta račun je _zaprt" #: ../src/ui-account.c:1996 ../src/ui-assign.c:1117 msgid "Notes:" msgstr "Opombe:" #: ../src/ui-account.c:2016 msgid "Behaviour" msgstr "Obnašanje" #: ../src/ui-account.c:2025 msgid "Automation" msgstr "" #: ../src/ui-account.c:2029 msgid "Default _Template:" msgstr "Privzeta _predloga:" #: ../src/ui-account.c:2043 msgid "Report exclusion" msgstr "Izločitve iz poročila" #: ../src/ui-account.c:2047 msgid "exclude from account _summary" msgstr "izloči iz prikaza _povzetka računa" #: ../src/ui-account.c:2052 msgid "exclude from the _budget" msgstr "izloči iz prikaza _proračuna" #: ../src/ui-account.c:2057 msgid "exclude from any _reports" msgstr "izloči iz _vseh poročil" #: ../src/ui-account.c:2066 msgid "Misc." msgstr "Razno" #: ../src/ui-account.c:2075 msgid "Current check number" msgstr "Številka trenutnega čeka" #: ../src/ui-account.c:2079 msgid "Checkbook _1:" msgstr "Čekovna knjižica _1:" #: ../src/ui-account.c:2086 msgid "Checkbook _2:" msgstr "Čekovna knjižica _2:" #: ../src/ui-account.c:2098 msgid "Balance limits" msgstr "Limit računa" #: ../src/ui-account.c:2102 msgid "_Overdraft at:" msgstr "_Limit pri:" #: ../src/ui-account.c:2109 msgid "Max_imum:" msgstr "" #: ../src/ui-archive.c:753 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:972 msgid "Next _date:" msgstr "Naslednji _datum:" #: ../src/ui-archive.c:980 msgid "Ever_y:" msgstr "_Vsak:" #: ../src/ui-archive.c:995 msgid "More options" msgstr "Več možnosti" #: ../src/ui-archive.c:1007 msgid "Week end:" msgstr "Konec tedna:" #: ../src/ui-archive.c:1015 msgid "_Stop after:" msgstr "_Zaustavi po:" #: ../src/ui-archive.c:1029 msgid "posts" msgstr "objave" #: ../src/ui-archive.c:1052 msgid "Manage scheduled/template transactions" msgstr "Upravljanje z načrtovanimi transakcijami in predlogami" #: ../src/ui-archive.c:1097 ../src/ui-dialogs.c:225 msgid "Template" msgstr "Predloga" #: ../src/ui-archive.c:1152 msgid "_Schedule" msgstr "_Urnik" #: ../src/ui-assign.c:344 msgid "Search" msgstr "Iskanje" #: ../src/ui-assign.c:361 msgid "Notes" msgstr "Opombe" #: ../src/ui-assign.c:624 #, c-format msgid "(rule %d)" msgstr "(pravilo %d)" #: ../src/ui-assign.c:654 msgid "If you delete an assignment, it will be permanently lost." msgstr "Če nakazilo izbrišete, bo trajno izgubljeno." #: ../src/ui-assign.c:718 #, fuzzy, c-format msgid "This search text already exists at position %d" msgstr "To iskano besedilo že obstaja" #: ../src/ui-assign.c:854 msgid "Disabled" msgstr "Onemogočeno" #: ../src/ui-assign.c:855 msgid "If empty" msgstr "Če je prazno" #: ../src/ui-assign.c:856 msgid "Overwrite" msgstr "Prepiši" #: ../src/ui-assign.c:879 msgid "Manage Assignments" msgstr "Upravljanje nakazil" #: ../src/ui-assign.c:965 msgid "Drag & drop to change the order" msgstr "" #: ../src/ui-assign.c:987 msgid "Condition" msgstr "Pogoj" #. label = make_label_widget(_("Con_tains:")); #: ../src/ui-assign.c:992 msgid "_Search:" msgstr "_Poišči:" #: ../src/ui-assign.c:1001 msgid "Case sensitive" msgstr "Razlikuj velikost črk" #: ../src/ui-assign.c:1006 msgid "Regular expression" msgstr "Logični izraz" #: ../src/ui-assign.c:1024 msgid "_In:" msgstr "" #. label = make_label_group(_("Assign payee")); #: ../src/ui-assign.c:1051 msgid "Assignments" msgstr "Naloge" #: ../src/ui-assign.c:1098 msgid "Pay_ment:" msgstr "P_lačilo:" #: ../src/ui-assist-start.c:57 msgid "" "This assistant will help you setup a minimum configuration\n" "for a new HomeBank file." msgstr "" #: ../src/ui-assist-start.c:62 msgid "All the elements you setup here can be changed later if required." msgstr "" #: ../src/ui-assist-start.c:67 msgid "" "No changes will be made until you click \"Apply\"\n" "at the end of this assistant." msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:136 msgid "" "HomeBank will display a title for the main window,\n" "it can be a free label or your name." msgstr "" #: ../src/ui-assist-start.c:146 ../src/ui-hbfile.c:229 msgid "_Title:" msgstr "_Naslov:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:264 msgid "" "HomeBank support multiple currencies. The base currency is\n" "the default for new accounts and reports." msgstr "" #: ../src/ui-assist-start.c:272 msgid "Base:" msgstr "Osnova:" #: ../src/ui-assist-start.c:282 msgid "Setup additional currencies" msgstr "" #: ../src/ui-assist-start.c:296 ../src/ui-transaction.c:1297 msgid "_Add" msgstr "_Dodaj" #: ../src/ui-assist-start.c:394 msgid "Not found" msgstr "Ni mogoče najti" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:414 msgid "" "HomeBank can prefill the categories for your language\n" "if a CSV file is available and provided by the community." msgstr "" #: ../src/ui-assist-start.c:419 msgid "Setup categories for my language" msgstr "" #: ../src/ui-assist-start.c:429 msgid "Preset file:" msgstr "Datoteka določil:" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-assist-start.c:512 msgid "" "HomeBank enables to import your accounts from downloaded\n" "financial institution files, or you can create your account manually." msgstr "" #: ../src/ui-assist-start.c:517 msgid "Create my first account" msgstr "" #: ../src/ui-assist-start.c:529 ../src/ui-currency.c:1231 #: ../src/ui-payee.c:1362 ../src/ui-tag.c:566 msgid "_Name:" msgstr "_Ime:" #: ../src/ui-assist-start.c:560 msgid "" "This is a confirmation page,\n" "\n" "press 'Apply' to apply changes" msgstr "" #: ../src/ui-assist-start.c:737 msgid "Start File Setup" msgstr "" #: ../src/ui-assist-start.c:743 msgid "File Options" msgstr "Možnosti datoteke" #: ../src/ui-assist-start.c:748 msgid "Choose Currencies" msgstr "Izbor denarne enote" #: ../src/ui-assist-start.c:753 msgid "Choose Categories" msgstr "Izbor kategorij" #: ../src/ui-assist-start.c:758 msgid "Create Account" msgstr "Ustvari račun" #: ../src/ui-assist-start.c:764 msgid "Finish File Setup" msgstr "Končaj nastavitev datoteke" #: ../src/ui-assist-import.c:477 msgid "" msgstr "" #: ../src/ui-assist-import.c:482 msgid "" msgstr "" #: ../src/ui-assist-import.c:503 msgid "" msgstr "" #: ../src/ui-assist-import.c:646 ../src/ui-assist-import.c:1742 msgid "Valid" msgstr "Veljavno" #: ../src/ui-assist-import.c:657 ../src/ui-currency.c:616 #: ../src/ui-currency.c:1214 msgid "Name" msgstr "Ime" #: ../src/ui-assist-import.c:738 ../src/ui-dialogs.c:530 #: ../src/ui-dialogs.c:592 ../src/ui-dialogs.c:673 msgid "_Open" msgstr "_Odpri" #: ../src/ui-assist-import.c:748 msgid "Known files" msgstr "Znane datoteke" #: ../src/ui-assist-import.c:759 ../src/ui-dialogs.c:494 msgid "QIF files" msgstr "QIF datoteke" #: ../src/ui-assist-import.c:767 msgid "OFX/QFX files" msgstr "Datoteke OFX/QFX" #: ../src/ui-assist-import.c:775 ../src/ui-dialogs.c:552 msgid "CSV files" msgstr "CSV datoteke" #: ../src/ui-assist-import.c:782 ../src/ui-dialogs.c:495 #: ../src/ui-dialogs.c:553 ../src/ui-dialogs.c:613 msgid "All files" msgstr "Vse datoteke" #: ../src/ui-assist-import.c:861 msgid "new global account" msgstr "nov splošni račun" #: ../src/ui-assist-import.c:864 msgid "new account" msgstr "nov račun" #: ../src/ui-assist-import.c:867 msgid "skipped" msgstr "preskočen" #: ../src/ui-assist-import.c:886 #, c-format msgid ", %d of %d transactions" msgstr ", %d od %d transakcij" #: ../src/ui-assist-import.c:1135 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:1324 #, c-format msgid "Import %s in_to:" msgstr "Uvozi %s _v:" #: ../src/ui-assist-import.c:1324 msgid "this file" msgstr "ta datoteka" #: ../src/ui-assist-import.c:1324 msgid "this account" msgstr "ta račun" #: ../src/ui-assist-import.c:1331 #, 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:1340 #, c-format msgid "%d transaction(s), %d similar, %d existing, %d selected" msgstr "" #: ../src/ui-assist-import.c:1342 #, c-format msgid "%d transaction(s), %d selected" msgstr "" #: ../src/ui-assist-import.c:1384 msgid "Import transactions from bank or credit card" msgstr "Uvozi transakcije bančne ali kreditne kartice" #: ../src/ui-assist-import.c:1392 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:1398 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:1418 msgid "" "No changes will be made until you click \"Apply\" at the end of this " "assistant." msgstr "" #: ../src/ui-assist-import.c:1422 msgid "Don't show this again" msgstr "Sporočila ne pokaži več" #: ../src/ui-assist-import.c:1481 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:1554 msgid "" "There is too much account in the files you choose,\n" "please use the back button to select less files." msgstr "" #: ../src/ui-assist-import.c:1662 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:1675 ../src/ui-pref.c:1218 msgid "Date order:" msgstr "Razvrstitev datuma:" #: ../src/ui-assist-import.c:1691 ../src/ui-pref.c:1266 msgid "_Import memos" msgstr "_Uvozi opomnike" #: ../src/ui-assist-import.c:1695 ../src/ui-pref.c:1269 msgid "_Swap memos with payees" msgstr "_Zamenjaj opomike z nazivi strank" #: ../src/ui-assist-import.c:1705 ../src/ui-pref.c:1241 msgid "OFX _Name:" msgstr "_Ime OFX:" #: ../src/ui-assist-import.c:1711 ../src/ui-pref.c:1249 msgid "OFX _Memo:" msgstr "_Opomnik OFX:" #: ../src/ui-assist-import.c:1738 ../src/ui-filter.c:325 ../src/ui-filter.c:541 #: ../src/ui-filter.c:711 ../src/ui-filter.c:1380 msgid "Invert" msgstr "Preobrn_i" #: ../src/ui-assist-import.c:1760 ../src/ui-pref.c:1226 msgid "Sentence _case memo/payee" msgstr "" #: ../src/ui-assist-import.c:1764 msgid "_Toggle amount" msgstr "" #: ../src/ui-assist-import.c:1798 msgid "Similar transaction in target account (possible duplicate)" msgstr "Podobna transakcija v ciljnem računu (morebitna podvojitev)" #: ../src/ui-assist-import.c:1822 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:1830 ../src/ui-pref.c:1768 msgid "days" msgstr "dni" #: ../src/ui-assist-import.c:1838 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:1908 msgid "Run automation" msgstr "" #: ../src/ui-assist-import.c:1912 msgid "1) Enrich with _payee default" msgstr "" #: ../src/ui-assist-import.c:1918 msgid "2) Run automatic _assigment rules" msgstr "" #: ../src/ui-assist-import.c:1924 msgid "Click \"Apply\" to update your accounts." msgstr "" #: ../src/ui-assist-import.c:2258 msgid "Welcome" msgstr "Dobrodošli" #: ../src/ui-assist-import.c:2264 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:2269 msgid "Import" msgstr "Uvozi" #: ../src/ui-assist-import.c:2282 msgid "Confirmation" msgstr "Potrditev" #: ../src/ui-budget.c:521 ../src/ui-category.c:1640 ../src/ui-payee.c:1235 msgid "File format error" msgstr "Napaka zapisa datoteke" #: ../src/ui-budget.c:522 ../src/ui-category.c:1641 ../src/ui-payee.c:1236 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:912 msgid "Are you sure you want to clear input?" msgstr "Ali ste prepričani, da želite počistiti vnos?" #: ../src/ui-budget.c:914 ../src/ui-budget-tabview.c:2508 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:920 ../src/ui-budget-tabview.c:2514 msgid "_Clear" msgstr "_Počisti" #: ../src/ui-budget.c:1093 msgid "Manage Budget" msgstr "Upravljanje proračuna" #: ../src/ui-budget.c:1141 ../src/ui-category.c:2360 ../src/ui-payee.c:1766 msgid "_Import CSV" msgstr "_Uvozi CSV" #: ../src/ui-budget.c:1145 ../src/ui-category.c:2364 ../src/ui-payee.c:1770 msgid "E_xport CSV" msgstr "_Izvozi CSV" #: ../src/ui-budget.c:1239 msgid "Balance:" msgstr "Stanje:" #: ../src/ui-budget.c:1260 msgid "is the same each month" msgstr "" #: ../src/ui-budget.c:1274 msgid "_Clear input" msgstr "_Počisti vhod" #: ../src/ui-budget.c:1289 msgid "is different per month" msgstr "" #: ../src/ui-budget.c:1328 msgid "Options" msgstr "Možnosti" #: ../src/ui-budget.c:1333 ../src/ui-budget-tabview.c:2883 msgid "_Force monitoring this category" msgstr "_Vsili nadzor nad kategorijo" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:257 msgid "Jan" msgstr "Jan" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:258 msgid "Feb" msgstr "Feb" #: ../src/ui-budget-tabview.c:79 ../src/ui-widgets-data.c:259 msgid "Mar" msgstr "Mar" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:260 msgid "Apr" msgstr "Apr" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:241 #: ../src/ui-widgets-data.c:261 msgid "May" msgstr "maj" #: ../src/ui-budget-tabview.c:80 ../src/ui-widgets-data.c:262 msgid "Jun" msgstr "Jun" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:263 msgid "Jul" msgstr "Jul" #: ../src/ui-budget-tabview.c:81 ../src/ui-widgets-data.c:264 msgid "Aug" msgstr "Avg" #: ../src/ui-budget-tabview.c:81 msgid "Sept" msgstr "" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:266 msgid "Oct" msgstr "Okt" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:267 msgid "Nov" msgstr "Nov" #: ../src/ui-budget-tabview.c:82 ../src/ui-widgets-data.c:268 msgid "Dec" msgstr "Dec" #: ../src/ui-budget-tabview.c:87 msgid "Summary" msgstr "Povzetek" #: ../src/ui-budget-tabview.c:533 ../src/ui-budget-tabview.c:534 msgid "Totals" msgstr "Skupaj" #: ../src/ui-budget-tabview.c:1561 msgid "Annual Total" msgstr "" #: ../src/ui-budget-tabview.c:1572 msgid "Monthly Average" msgstr "Mesečno povprečje" #: ../src/ui-budget-tabview.c:1583 msgid "Monthly" msgstr "Mesečno" #: ../src/ui-budget-tabview.c:2098 msgid "Add a category" msgstr "Dodaj kategorijo" #: ../src/ui-budget-tabview.c:2107 ../src/ui-budget-tabview.c:2359 msgid "_Apply" msgstr "_Uveljavi" #: ../src/ui-budget-tabview.c:2125 msgid "Parent category" msgstr "Nadrejena kategorija" #: ../src/ui-budget-tabview.c:2148 msgid "Category name" msgstr "Naziv kategorije" #: ../src/ui-budget-tabview.c:2292 ../src/ui-category.c:2058 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:2350 msgid "Merge categories" msgstr "Združi kategorije" #: ../src/ui-budget-tabview.c:2377 #, c-format msgid "" "Transactions assigned to category '%s', will be moved to the category " "selected below." msgstr "" #: ../src/ui-budget-tabview.c:2384 msgid "Target category" msgstr "Ciljna kategorija" #: ../src/ui-budget-tabview.c:2416 ../src/ui-category.c:1956 #, c-format msgid "_Delete the category '%s'" msgstr "_Izbriši kategorijo '%s'" #: ../src/ui-budget-tabview.c:2507 #, c-format msgid "Are you sure you want to clear inputs for '%s'?" msgstr "" #. create window #: ../src/ui-budget-tabview.c:2754 msgid "Budget (table view)" msgstr "" #. Add / Remove / Merge #: ../src/ui-budget-tabview.c:2840 msgid "Add category" msgstr "Dodaj kategorijo" #: ../src/ui-budget-tabview.c:2845 msgid "Remove category" msgstr "Odstrani kategorijo" #: ../src/ui-budget-tabview.c:2850 ../src/ui-category.c:1934 #: ../src/ui-payee.c:1501 ../src/ui-tag.c:657 msgid "Merge" msgstr "Združi" #: ../src/ui-budget-tabview.c:2867 msgid "Clear input" msgstr "Počisti vnos" #. TRANSLATORS: 'txn' is abbrevation for transaction #: ../src/ui-category.c:1501 ../src/ui-payee.c:1134 msgid "# txn" msgstr "" #. TRANSLATORS: 'cfg' is abbrevation for configuration #. TRANSLATORS: 'txn' is abbrevation for configuration #: ../src/ui-category.c:1513 ../src/ui-payee.c:1147 msgid "# cfg" msgstr "" #: ../src/ui-category.c:1597 msgid "Delete unused categories" msgstr "Izbriši neuporabljene kategorije" #: ../src/ui-category.c:1598 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:1782 ../src/ui-payee.c:1334 ../src/ui-tag.c:538 msgid "Edit..." msgstr "Uredi ..." #. if(!(item->flags & GF_SUB)) #. { #: ../src/ui-category.c:1805 msgid "_Income" msgstr "_Vplačila" #. } #: ../src/ui-category.c:1810 msgid "Change type for _child" msgstr "" #: ../src/ui-category.c:1863 #, 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:1922 #, c-format msgid "Merge category '%s'" msgstr "Združi kategorijo '%s'" #: ../src/ui-category.c:1943 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:1952 msgid "Include _subcategories" msgstr "" #: ../src/ui-category.c:2310 msgid "Manage Categories" msgstr "Upravljanje kategorij" #: ../src/ui-category.c:2371 ../src/ui-payee.c:1777 msgid "_Delete unused" msgstr "_Izbriši neuporabljeno" #: ../src/ui-category.c:2424 ../src/ui-payee.c:1841 ../src/ui-tag.c:934 msgid "Move/Merge" msgstr "Premakni/Združi" #: ../src/ui-category.c:2460 msgid "new category" msgstr "nova kategorija" #: ../src/ui-category.c:2472 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:1487 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-dialogs.c:279 ../src/ui-pref.c:1462 msgid "Currency" msgstr "Valuta" #: ../src/ui-currency.c:841 ../src/ui-pref.c:1504 msgid "Format" msgstr "Oblika" #: ../src/ui-currency.c:850 ../src/ui-pref.c:1513 ../src/ui-pref.c:1593 msgid "_Customize" msgstr "_Prilagodi" #: ../src/ui-currency.c:859 ../src/ui-pref.c:1522 msgid "_Symbol:" msgstr "_Simbol:" #: ../src/ui-currency.c:866 ../src/ui-pref.c:1529 msgid "Is pre_fix" msgstr "Je pre_dpona" #: ../src/ui-currency.c:871 ../src/ui-pref.c:1534 msgid "_Decimal char:" msgstr "_Decimalni znak:" #: ../src/ui-currency.c:878 ../src/ui-pref.c:1541 msgid "_Frac digits:" msgstr "_Decimalna mesta:" #: ../src/ui-currency.c:885 ../src/ui-pref.c:1548 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:1225 msgid "Add a custom _currency" msgstr "Dodaj _valuto po meri" #: ../src/ui-currency.c:1238 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:1720 msgid "Update online" msgstr "Posodobi prek omrežja" #: ../src/ui-currency.c:1762 msgid "Set as base" msgstr "Nastavi kot osnovno" #: ../src/ui-dialogs.c:175 msgid "File statistics" msgstr "Statistika datoteke" #: ../src/ui-dialogs.c:206 msgid "Transaction" msgstr "Transakcija" #: ../src/ui-dialogs.c:367 msgid "Upgrade" msgstr "Nadgradi" #: ../src/ui-dialogs.c:395 msgid "Select a base currency" msgstr "Izbor osnovne valute" #: ../src/ui-dialogs.c:404 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:409 msgid "Currency:" msgstr "Valuta:" #: ../src/ui-dialogs.c:485 msgid "Export as QIF" msgstr "Izvozi kot QIF" #: ../src/ui-dialogs.c:529 msgid "Import from CSV" msgstr "Uvoz iz CSV" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank file" msgstr "Odpri datoteko Homebank" #: ../src/ui-dialogs.c:591 msgid "Open HomeBank backup file" msgstr "Odpri varnostno kopijo HomeBank" #: ../src/ui-dialogs.c:596 msgid "Save HomeBank file as" msgstr "Shrani datoteko kot" #: ../src/ui-dialogs.c:612 ../src/ui-pref.c:1997 msgid "HomeBank files" msgstr "Datoteke" #: ../src/ui-dialogs.c:624 msgid "File backup" msgstr "Varnostna kopija datoteke" #: ../src/ui-dialogs.c:628 msgid "All backups" msgstr "Vse varnostne kopije" #: ../src/ui-dialogs.c:727 msgid "Save changes to the file before closing?" msgstr "Ali želite shraniti spremembe pred zapiranjem?" #: ../src/ui-dialogs.c:731 #, 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:736 msgid "Close _without saving" msgstr "Zapri _brez shranjevanja" #: ../src/ui-dialogs.c:782 msgid "Export as _CSV" msgstr "" #: ../src/ui-dialogs.c:805 ../src/ui-dialogs.c:923 msgid "Folder:" msgstr "Mapa:" #: ../src/ui-dialogs.c:807 ../src/ui-dialogs.c:925 msgid "Pick a Folder" msgstr "Izbor mape" #: ../src/ui-dialogs.c:811 ../src/ui-dialogs.c:929 msgid "Filename:" msgstr "Ime datoteke:" #: ../src/ui-dialogs.c:818 msgid "Detail split lines" msgstr "" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:834 msgid "" "You export from 'Show all account', with the account column\n" "the file will not be in HomeBank CSV format." msgstr "" #: ../src/ui-dialogs.c:890 msgid "Export as PDF" msgstr "Izvozi kot PDF" #: ../src/ui-dialogs.c:894 msgid "Export as _PDF" msgstr "Izvozi kot _PDF" #. 123456789012345678901234567890123456789012345678901234567890 #: ../src/ui-dialogs.c:940 msgid "" "With HomeBank, printing is oriented towards an eco-responsible\n" "attitude towards the most widespread digital format: PDF format. " msgstr "" #: ../src/ui-dialogs.c:1045 msgid "Select among possible transactions..." msgstr "Izbor iz seznama transakcij ..." #: ../src/ui-dialogs.c:1079 msgid "Select an action:" msgstr "Izbor dejanja:" #: ../src/ui-dialogs.c:1083 msgid "create a new transaction" msgstr "ustvari novo transakcijo" #: ../src/ui-dialogs.c:1086 msgid "select an existing transaction" msgstr "izberi obstoječo transakcijo" #: ../src/ui-dialogs.c:1091 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:1049 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:1155 msgid "_Memo:" msgstr "_Opomnik:" #: ../src/ui-filter.c:1162 ../src/ui-transaction.c:1455 #: ../src/ui-txn-multi.c:548 msgid "_Info:" msgstr "_Podrobnosti:" #: ../src/ui-filter.c:1178 msgid "Case _sensitive" msgstr "_Razlikovanje velikosti črk" #: ../src/ui-filter.c:1246 ../src/ui-widgets-data.c:189 msgid "Any Status" msgstr "Kakršnokoli stanje" #: ../src/ui-filter.c:1269 ../src/ui-widgets-data.c:180 msgid "Any Type" msgstr "Katerakoli vrsta" #: ../src/ui-filter.c:1272 ../src/ui-transaction.c:55 #: ../src/ui-widgets-data.c:184 msgid "Transfer" msgstr "Prenos" #: ../src/ui-filter.c:1284 msgid "Force:" msgstr "Vsili:" #: ../src/ui-filter.c:1292 msgid "display 'Added'" msgstr "pokaži 'dodano'" #: ../src/ui-filter.c:1296 msgid "display 'Edited'" msgstr "pokaži 'urejeno'" #: ../src/ui-filter.c:1300 msgid "display 'Remind'" msgstr "Pokaži 'Opomnik'" #: ../src/ui-filter.c:1304 msgid "display 'Void'" msgstr "" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1494 msgid "Dates" msgstr "Datumi" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1502 msgid "Payments" msgstr "Plačila" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1506 msgid "Amounts" msgstr "Vsote" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1510 msgid "Texts" msgstr "Besedila" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1514 msgid "Categories" msgstr "Kategorije" #. gtk_widget_show(GTK_WIDGET(page)); #: ../src/ui-filter.c:1518 msgid "Payees" msgstr "Stranke" #: ../src/ui-hbfile.c:194 msgid "File properties" msgstr "Lastnosti datoteke" #: ../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" #. TRANSLATORS: this is abbreviation for Payment #: ../src/ui-payee.c:1096 msgid "Pay." msgstr "Plačilo" #: ../src/ui-payee.c:1193 msgid "Delete unused payee" msgstr "Izbriši neuporabljeno stranko" #: ../src/ui-payee.c:1194 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:1375 msgid "Default" msgstr "Privzeto" #: ../src/ui-payee.c:1379 ../src/ui-transaction.c:1443 #: ../src/ui-txn-multi.c:534 msgid "Pa_yment:" msgstr "P_lačilo:" #: ../src/ui-payee.c:1434 #, 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:1489 #, c-format msgid "Merge payee '%s'" msgstr "Združi stranko »%s«" #: ../src/ui-payee.c:1510 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:1520 #, c-format msgid "_Delete the payee '%s'" msgstr "_Izbriši stranko »%s«" #: ../src/ui-payee.c:1613 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:1710 msgid "Manage Payees" msgstr "Upravljanje strank" #: ../src/ui-payee.c:1854 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:1949 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:1214 msgid "General options" msgstr "Splošne možnosti" #: ../src/ui-pref.c:1237 msgid "OFX/QFX options" msgstr "Možnosti OFX/QFX" #: ../src/ui-pref.c:1262 msgid "QIF options" msgstr "Možnosti QIF" #: ../src/ui-pref.c:1279 msgid "CSV options" msgstr "Možnosti CSV" #: ../src/ui-pref.c:1283 msgid "(transaction import only)" msgstr "(le uvoz transakcij)" #: ../src/ui-pref.c:1287 msgid "Separator:" msgstr "Ločilnik:" #: ../src/ui-pref.c:1347 msgid "Initial filter" msgstr "Začetni filter" #: ../src/ui-pref.c:1364 msgid "Charts options" msgstr "Možnosti diagramov" #: ../src/ui-pref.c:1368 msgid "Color scheme:" msgstr "Barvna shema:" #: ../src/ui-pref.c:1384 msgid "Smaller legend _font" msgstr "" #: ../src/ui-pref.c:1395 msgid "Statistics options" msgstr "Možnosti statistike" #: ../src/ui-pref.c:1399 msgid "Show by _amount" msgstr "Razvrsti po _znesku" #: ../src/ui-pref.c:1404 msgid "Show _rate column" msgstr "Pokaži odstotni stolpec" #: ../src/ui-pref.c:1409 ../src/ui-pref.c:1423 msgid "Show _details" msgstr "Pokaži _podrobnosti" #: ../src/ui-pref.c:1419 msgid "Budget options" msgstr "Možnosti proračuna" #: ../src/ui-pref.c:1451 msgid "_Enable" msgstr "_Omogoči" #. row++; #: ../src/ui-pref.c:1471 ../src/ui-pref.c:1894 msgid "_Preset:" msgstr "_Privzeto:" #: ../src/ui-pref.c:1574 msgid "User interface" msgstr "Uporabniški vmesnik" #: ../src/ui-pref.c:1578 msgid "_Language:" msgstr "_Jezik:" #: ../src/ui-pref.c:1586 msgid "_Date display:" msgstr "_Prikaz datuma:" #: ../src/ui-pref.c:1602 msgid "_Format:" msgstr "_Oblika:" #: ../src/ui-pref.c:1614 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:1644 msgid "Fiscal year" msgstr "Proračunsko leto" #. TRANSLATORS: (fiscal year) starts on #: ../src/ui-pref.c:1649 msgid "Starts _on:" msgstr "Začetek:" #: ../src/ui-pref.c:1669 msgid "Measurement units" msgstr "Enote za merjenje" #: ../src/ui-pref.c:1673 msgid "Use _miles for meter" msgstr "Uporabi _milje za razdalje" #: ../src/ui-pref.c:1678 msgid "Use _gallon for fuel" msgstr "Uporabi _galone pri gorivu" #. label = make_label_group(_("Transaction window")); #: ../src/ui-pref.c:1703 msgid "Transaction list" msgstr "" #: ../src/ui-pref.c:1715 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:1724 msgid "days ahead" msgstr "" #: ../src/ui-pref.c:1728 msgid "Hide reconciled" msgstr "" #: ../src/ui-pref.c:1733 msgid "Always show remind" msgstr "" #: ../src/ui-pref.c:1738 msgid "Always show void" msgstr "" #: ../src/ui-pref.c:1743 msgid "Include remind into balance" msgstr "" #: ../src/ui-pref.c:1754 msgid "Transaction dialog" msgstr "" #: ../src/ui-pref.c:1758 msgid "_Keep the last date when multiple add" msgstr "" #: ../src/ui-pref.c:1763 msgid "Transfer target date tolerance:" msgstr "" #: ../src/ui-pref.c:1772 msgid "Enable _memo autocomplete with" msgstr "" #: ../src/ui-pref.c:1778 msgid "rolling days" msgstr "" #: ../src/ui-pref.c:1783 msgid "Show add confirmation text for 5s" msgstr "" #: ../src/ui-pref.c:1836 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:1845 msgid "_Grid line:" msgstr "_Mrežne črte:" #: ../src/ui-pref.c:1857 msgid "Gtk settings" msgstr "" #: ../src/ui-pref.c:1861 msgid "Override" msgstr "" #: ../src/ui-pref.c:1866 msgid "Font _size:" msgstr "" #: ../src/ui-pref.c:1874 msgid "Dark theme" msgstr "" #: ../src/ui-pref.c:1885 msgid "Amount colors" msgstr "Barve vrednosti" #: ../src/ui-pref.c:1889 msgid "Uses custom colors" msgstr "Uporabi barve po meri" #: ../src/ui-pref.c:1903 msgid "_Expense:" msgstr "_Izdatek:" #: ../src/ui-pref.c:1915 msgid "_Income:" msgstr "_Dohodek:" #: ../src/ui-pref.c:1922 msgid "_Warning:" msgstr "_Opozorilo:" #: ../src/ui-pref.c:1953 msgid "_Enable automatic backups" msgstr "_Omogoči samodejne varnostne kopije" #: ../src/ui-pref.c:1958 msgid "_Number of backups to keep:" msgstr "_Število shranjenih samodejnih varnostnih kopij:" #: ../src/ui-pref.c:1973 msgid "Backup frequency is once a day" msgstr "Pogostost shranjevanja je enkrat dnevno" #: ../src/ui-pref.c:2001 msgid "_Wallets:" msgstr "_Denarnice:" #: ../src/ui-pref.c:2019 msgid "_Backups:" msgstr "" #: ../src/ui-pref.c:2044 msgid "Exchange files" msgstr "" #: ../src/ui-pref.c:2048 msgid "_Import:" msgstr "_Uvozi:" #: ../src/ui-pref.c:2067 msgid "_Export:" msgstr "_Izvoz:" #: ../src/ui-pref.c:2107 msgid "Program start" msgstr "Zagon programa" #: ../src/ui-pref.c:2111 msgid "Show splash screen" msgstr "Pokaži pozdravno okno" #: ../src/ui-pref.c:2116 msgid "Load last opened file" msgstr "Naloži zadnjo odprto datoteko" #: ../src/ui-pref.c:2121 msgid "Post pending scheduled transactions" msgstr "Objavi načrtovane transakcije v čakanju" #: ../src/ui-pref.c:2126 msgid "Update currencies online" msgstr "Posodobi spletne valute" #: ../src/ui-pref.c:2137 msgid "Main window reports" msgstr "Poročila glavnega okna" #: ../src/ui-pref.c:2148 msgid "Max _items:" msgstr "" #: ../src/ui-pref.c:2243 msgid "Reset All Preferences" msgstr "Ponastavi vse nastavitve" #: ../src/ui-pref.c:2244 msgid "" "Do you really want to reset\n" "all preferences to default\n" "values?" msgstr "" #: ../src/ui-pref.c:2265 msgid "Preferences" msgstr "Možnosti" #: ../src/ui-pref.c:2512 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:2520 msgid "" "The backup directory has changed,\n" "you may need to copy the '.bak' file to this new location." msgstr "" #: ../src/ui-split.c:785 ../src/ui-split.c:854 ../src/ui-transaction.c:1397 msgid "Transaction splits" msgstr "Razdelitev transakcije" #: ../src/ui-split.c:915 msgid "Delete all" msgstr "Izbriši vse" #: ../src/ui-split.c:966 msgid "Apply" msgstr "Uveljavi" #: ../src/ui-split.c:970 msgid "Cancel" msgstr "Prekliči" #: ../src/ui-split.c:978 msgid "Transaction amount:" msgstr "Znesek transakcije:" #: ../src/ui-split.c:987 msgid "Unassigned:" msgstr "Nedodeljeno:" #: ../src/ui-split.c:1002 msgid "Sum of splits:" msgstr "Vsota razdelitev:" #: ../src/ui-split.c:1014 msgid "Warning: sum of splits and transaction amount don't match" msgstr "" #: ../src/ui-split.c:1022 msgid "Warning: sum of splits and transaction type don't match" msgstr "" #: ../src/ui-tag.c:602 #, c-format msgid "" "Cannot rename this Tag,\n" "from '%s' to '%s',\n" "this name already exists." msgstr "" #: ../src/ui-tag.c:645 #, c-format msgid "Merge tag '%s'" msgstr "" #: ../src/ui-tag.c:666 msgid "" "Transactions assigned to this tag,\n" "will be moved to the tag selected below." msgstr "" #: ../src/ui-tag.c:676 #, c-format msgid "_Delete the tag '%s'" msgstr "" #: ../src/ui-tag.c:764 msgid "" "This tag is used.\n" "That tag will be deleted from any transaction using it." msgstr "" #: ../src/ui-tag.c:848 msgid "Manage Tags" msgstr "" #: ../src/ui-tag.c:944 msgid "new tag" msgstr "nova oznaka" #: ../src/ui-transaction.c:776 #, c-format msgid "Transaction of %s created." msgstr "" #: ../src/ui-transaction.c:858 msgid "" "Do you want to break the internal transfer?\n" "\n" "Proceeding will delete the target transaction." msgstr "" #: ../src/ui-transaction.c:860 msgid "_Break" msgstr "" #: ../src/ui-transaction.c:1162 msgid "Show _scheduled" msgstr "Pokaži _načrtovane" #: ../src/ui-transaction.c:1166 msgid "Show _all accounts" msgstr "" #: ../src/ui-transaction.c:1197 msgid "Use a template" msgstr "" #: ../src/ui-transaction.c:1295 msgid "Add & _Keep" msgstr "" #: ../src/ui-transaction.c:1309 msgid "Add transaction" msgstr "Dodaj transakcijo" #: ../src/ui-transaction.c:1310 msgid "Add template" msgstr "" #: ../src/ui-transaction.c:1315 msgid "Inherit transaction" msgstr "Prevzemi transakcijo" #: ../src/ui-transaction.c:1317 msgid "Inherit template" msgstr "" #: ../src/ui-transaction.c:1321 msgid "Edit transaction" msgstr "" #: ../src/ui-transaction.c:1323 msgid "Edit template" msgstr "Uredi predlogo" #: ../src/ui-transaction.c:1362 ../src/ui-txn-multi.c:481 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:1377 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:1385 ../src/ui-txn-multi.c:499 msgid "Amou_nt:" msgstr "_Račun:" #: ../src/ui-transaction.c:1435 msgid "T_o:" msgstr "_Za:" #: ../src/ui-transaction.c:1449 msgid "Book _2" msgstr "" #. gtk_widget_set_tooltip_text(widget, _("Autocompletion and direct seizure\nis available")); #: ../src/ui-transaction.c:1497 ../src/ui-transaction.c:1518 msgid "" "- type some letter for autocompletion\n" "- type new text to create entry" msgstr "" #: ../src/ui-transaction.c:1505 ../src/ui-txn-multi.c:581 msgid "Cate_gory:" msgstr "K_ategorija:" #: ../src/ui-transaction.c:1544 ../src/ui-txn-multi.c:598 msgid "M_emo:" msgstr "_Opomnik:" #: ../src/ui-transaction.c:1552 ../src/ui-txn-multi.c:614 msgid "_Tags:" msgstr "O_znake:" #: ../src/ui-transaction.c:1575 msgid "Warning: amount and category sign don't match" msgstr "Opozorilo: predznak zneska ni skladen z izbrano kategorijo!" #: ../src/ui-txn-multi.c:466 msgid "Multiple edit transactions" msgstr "Urejanje več transakcij" #: ../src/ui-txn-multi.c:636 msgid "" "Type as\n" "transfer" msgstr "" #: ../src/ui-widgets-data.c:51 msgid "Time" msgstr "Čas" #: ../src/ui-widgets-data.c:58 msgid "Trend" msgstr "Trend" #. N_("Inactive"), #: ../src/ui-widgets-data.c:67 msgid "Off" msgstr "Izključeno" #: ../src/ui-widgets-data.c:68 msgid "Include" msgstr "Vključi" #: ../src/ui-widgets-data.c:69 msgid "Exclude" msgstr "Ne upoštevaj" #: ../src/ui-widgets-data.c:79 msgid "(no type)" msgstr "(ni določene vrste)" #: ../src/ui-widgets-data.c:80 msgid "Bank" msgstr "Banka" #: ../src/ui-widgets-data.c:81 ../src/ui-widgets.c:1224 msgid "Cash" msgstr "Gotovina" #: ../src/ui-widgets-data.c:82 msgid "Asset" msgstr "Premoženje" #: ../src/ui-widgets-data.c:83 ../src/ui-widgets.c:1222 msgid "Credit card" msgstr "Kreditna kartica" #: ../src/ui-widgets-data.c:84 msgid "Liability" msgstr "Odgovornost" #: ../src/ui-widgets-data.c:85 msgid "Checking" msgstr "" #: ../src/ui-widgets-data.c:86 msgid "Savings" msgstr "" #: ../src/ui-widgets-data.c:98 ../src/ui-widgets-data.c:119 msgid "This month" msgstr "Trenutni mesec" #: ../src/ui-widgets-data.c:99 msgid "Last month" msgstr "Predhodni mesec" #: ../src/ui-widgets-data.c:100 msgid "This quarter" msgstr "To četrtletje" #: ../src/ui-widgets-data.c:101 msgid "Last quarter" msgstr "Zadnje četrtletje" #: ../src/ui-widgets-data.c:102 msgid "This year" msgstr "To leto" #: ../src/ui-widgets-data.c:103 msgid "Last year" msgstr "Prejšnje leto" #: ../src/ui-widgets-data.c:105 msgid "Last 30 days" msgstr "zadnjih 30 dni" #: ../src/ui-widgets-data.c:106 msgid "Last 60 days" msgstr "zadnjih 60 dni" #: ../src/ui-widgets-data.c:107 msgid "Last 90 days" msgstr "zadnjih 90 dni" #: ../src/ui-widgets-data.c:108 msgid "Last 12 months" msgstr "zadnjih 12 mesecev" #. { FLT_RANGE_OTHER, N_("Other...") }, #: ../src/ui-widgets-data.c:111 msgid "custom" msgstr "po meri" #: ../src/ui-widgets-data.c:113 msgid "All date" msgstr "vsi datumi" #: ../src/ui-widgets-data.c:120 msgid "Next month" msgstr "" #: ../src/ui-widgets-data.c:122 msgid "Next 30 days" msgstr "" #: ../src/ui-widgets-data.c:123 msgid "Next 60 days" msgstr "" #: ../src/ui-widgets-data.c:124 msgid "Next 90 days" msgstr "" #: ../src/ui-widgets-data.c:149 msgid "Void" msgstr "Prazno" #: ../src/ui-widgets-data.c:164 msgid "Possible" msgstr "Možno" #: ../src/ui-widgets-data.c:165 msgid "Before" msgstr "Pred" #: ../src/ui-widgets-data.c:166 msgid "After" msgstr "Po" #: ../src/ui-widgets-data.c:172 msgid "Exp. & Inc." msgstr "Izplačila / Vplačila" #: ../src/ui-widgets-data.c:192 msgid "Uncleared" msgstr "Nepregledano" #: ../src/ui-widgets-data.c:194 msgid "Unreconciled" msgstr "Nepotrjeno" #: ../src/ui-widgets-data.c:196 msgid "Uncategorized" msgstr "Neopredeljeno" #: ../src/ui-widgets-data.c:223 msgid "Mon" msgstr "pon" #: ../src/ui-widgets-data.c:224 msgid "Tue" msgstr "tor" #: ../src/ui-widgets-data.c:225 msgid "Wed" msgstr "sre" #: ../src/ui-widgets-data.c:226 msgid "Thu" msgstr "čet" #: ../src/ui-widgets-data.c:227 msgid "Fri" msgstr "pet" #: ../src/ui-widgets-data.c:228 msgid "Sat" msgstr "sob" #: ../src/ui-widgets-data.c:229 msgid "Sun" msgstr "" #: ../src/ui-widgets-data.c:237 msgid "January" msgstr "januar" #: ../src/ui-widgets-data.c:238 msgid "February" msgstr "februar" #: ../src/ui-widgets-data.c:239 msgid "March" msgstr "marec" #: ../src/ui-widgets-data.c:240 msgid "April" msgstr "april" #: ../src/ui-widgets-data.c:242 msgid "June" msgstr "junij" #: ../src/ui-widgets-data.c:243 msgid "July" msgstr "julij" #: ../src/ui-widgets-data.c:244 msgid "August" msgstr "avgust" #: ../src/ui-widgets-data.c:245 msgid "September" msgstr "september" #: ../src/ui-widgets-data.c:246 msgid "October" msgstr "oktober" #: ../src/ui-widgets-data.c:247 msgid "November" msgstr "november" #: ../src/ui-widgets-data.c:248 msgid "December" msgstr "december" #: ../src/ui-widgets-data.c:265 msgid "Sep" msgstr "Sep" #: ../src/ui-widgets.c:340 msgid "Search..." msgstr "Poišči ..." #: ../src/ui-widgets.c:1223 msgid "Check" msgstr "Ček" #: ../src/ui-widgets.c:1225 msgid "Bank Transfer" msgstr "" #: ../src/ui-widgets.c:1226 msgid "Debit card" msgstr "Debetna kartica" #: ../src/ui-widgets.c:1227 msgid "Standing order" msgstr "Pošiljanje naročila" #: ../src/ui-widgets.c:1228 msgid "Electronic payment" msgstr "Elektronsko plačilo" #: ../src/ui-widgets.c:1229 msgid "Deposit" msgstr "Polog" #. TRANSLATORS: Financial institution fee #: ../src/ui-widgets.c:1231 msgid "FI fee" msgstr "Finančni stroški" #: ../src/ui-widgets.c:1232 msgid "Direct Debit" msgstr "Trajnik" homebank-5.5.2/INSTALL0000664000175000017500000002245011413604274011270 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.5.2/missing0000755000175000017500000001452011023413026011621 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.5.2/compile0000755000175000017500000001624512367655477011644 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.5.2/src/0000775000175000017500000000000014045525102011077 500000000000000homebank-5.5.2/src/hb-report.h0000644000175000017500000000655714036077072013115 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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_EXPENSE, REPORT_TYPE_INCOME, REPORT_TYPE_TOTAL } 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 kparent; guint32 kcat; 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); gdouble da_datarow_get_cell_sum(DataRow *dr, guint32 index); void datatable_init_items(DataTable *dt, gint src, guint32 jfrom); void datatable_amount_add(DataTable *dt, guint32 idx, gdouble value); 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; //used for sort //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 guint32 nbcols; gdouble *expense; //array for each row column gdouble *income; }; 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 DataRow *totrow; //for trend gdouble totexp; gdouble totinc; }; #endif homebank-5.5.2/src/ui-assign.h0000644000175000017500000000465714007276247013114 00000000000000/* HomeBank -- Free, easy, personal rulounting for everyone. * Copyright (C) 1995-2021 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.5.2/src/hb-import-csv.c0000664000175000017500000002032314007276243013664 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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.5.2/src/ui-category.c0000644000175000017500000021254114021205274013415 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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, STO_CAT_DATA, item, STO_CAT_FULLNAME, item->fullname, -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 ("[cat entry popover] setactive\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, STO_CAT_DATA, &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, STO_CAT_DATA, &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, STO_CAT_DATA, item, STO_CAT_FULLNAME, item->fullname, -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)) ); } } } void ui_cat_entry_popover_sort_type(GtkBox *box, guint type) { GtkWidget *entry; GtkTreeModel *store; DB( g_print ("[cat entry popover] sort type\n") ); entry = container_get_nth(box, 0); if( entry != NULL && GTK_IS_ENTRY(entry) ) { store = gtk_entry_completion_get_model(gtk_entry_get_completion(GTK_ENTRY(entry))); g_object_set_data(G_OBJECT(store), "type", GUINT_TO_POINTER(type)); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID, GTK_SORT_ASCENDING); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING); } } static gint ui_cat_entry_popover_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint retval = 0; Category *cat1, *cat2; guint type; gtk_tree_model_get(model, a, STO_CAT_DATA, &cat1, -1); gtk_tree_model_get(model, b, STO_CAT_DATA, &cat2, -1); if(cat1->key == 0) return -1; if(cat2->key == 0) return 1; //#1882456 type = GPOINTER_TO_UINT(g_object_get_data(G_OBJECT(model), "type")); switch(type) { case TXN_TYPE_INCOME: // inc first retval = (cat2->flags & GF_INCOME) - (cat1->flags & GF_INCOME); break; default: retval = (cat1->flags & GF_INCOME) - (cat2->flags & GF_INCOME); } if( !retval ) retval = hb_string_utf8_compare(cat1->fullname, cat2->fullname); 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, STO_CAT_DATA, &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 ("[cat 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 (NUM_STO_CAT, G_TYPE_POINTER, G_TYPE_STRING ); 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, STO_CAT_FULLNAME); 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", STO_CAT_FULLNAME, 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); } void ui_cat_combobox_entry_clear(GtkComboBox *entry_box) { GtkTreeModel *model; DB( g_print ("ui_cat_comboboxentry_clear()\n") ); model = gtk_combo_box_get_model(GTK_COMBO_BOX(entry_box)); gtk_list_store_clear (GTK_LIST_STORE(model)); } 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_USETXN: retval = entry1->nb_use_txn - entry2->nb_use_txn; break; case LST_DEFCAT_SORT_USECFG: retval = (entry1->nb_use_all - entry1->nb_use_txn) - (entry2->nb_use_all - entry2->nb_use_txn); 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_txn_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Category *entry; gchar buffer[32]; guint16 use; guint16 usecat; buffer[0] = '\0'; gtk_tree_model_get(model, iter, LST_DEFCAT_DATAS, &entry, -1); use = entry->nb_use_txn; usecat = entry->nb_use_txncat; if(use > 0) { if( !(entry->flags & GF_SUB) && (usecat != use) ) g_snprintf(buffer, 32-1, "%d (%d)", use, usecat); else g_snprintf(buffer, 32-1, "%d", use); } g_object_set(renderer, "text", buffer, NULL); } static void ui_cat_listview_count_cfg_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Category *entry; gchar buffer[32]; gint use; gint usecat; buffer[0] = '\0'; gtk_tree_model_get(model, iter, LST_DEFCAT_DATAS, &entry, -1); use = entry->nb_use_all - entry->nb_use_txn; usecat = entry->nb_use_allcat - entry->nb_use_txncat; if(use > 0 || usecat > 0) { if( !(entry->flags & GF_SUB) && (usecat != use) ) g_snprintf(buffer, 32-1, "%d (%d)", use, usecat); else g_snprintf(buffer, 32-1, "%d", use); } g_object_set(renderer, "text", buffer, 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(); //TRANSLATORS: 'txn' is abbrevation for transaction gtk_tree_view_column_set_title(column, _("# txn")); 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_txn_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_USETXN); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); column = gtk_tree_view_column_new(); //TRANSLATORS: 'cfg' is abbrevation for configuration gtk_tree_view_column_set_title(column, _("# cfg")); 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_cfg_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_USECFG); 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_USETXN, ui_cat_listview_compare_func, GINT_TO_POINTER(LST_DEFCAT_SORT_USETXN), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DEFCAT_SORT_USECFG, ui_cat_listview_compare_func, GINT_TO_POINTER(LST_DEFCAT_SORT_USECFG), 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)); //#1917075 data->change += 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, *cb_subcat, *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); cb_subcat = gtk_check_button_new_with_mnemonic(_("Include _subcategories")); gtk_box_pack_start (GTK_BOX (mainvbox), cb_subcat, 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); hb_widget_visible(cb_subcat, (srccat->flags & GF_SUB) ? FALSE : TRUE); //wait for the user gint result = gtk_dialog_run (GTK_DIALOG (dialog)); if(result == GTK_RESPONSE_OK) { GtkTreeModel *model; Category *newcat, *parent; gboolean dosubcat; 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)); dosubcat = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(cb_subcat)); DB( g_print(" -> move cat to %d (subcat=%d)\n", dstcatkey, dosubcat) ); category_move(srccat->key, dstcatkey, dosubcat); newcat = da_cat_get (dstcatkey); //#1771720: update count //TODO: this is imperfect here, as if subcat, we don't count ? newcat->nb_use_all += srccat->nb_use_all; newcat->nb_use_txn += srccat->nb_use_txn; srccat->nb_use_all = 0; srccat->nb_use_txn = 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->nb_use_all > 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, TRUE); 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 *dialog, *content, *mainvbox, *bbox, *table, *hbox, *vbox, *label, *scrollwin, *treeview; GtkWidget *menu, *menuitem, *widget, *image, *tbar, *addreveal; GtkToolItem *toolitem; gint w, h, dw, dh, row; data = g_malloc0(sizeof(struct ui_cat_manage_dialog_data)); if(!data) return NULL; dialog = gtk_dialog_new_with_buttons (_("Manage Categories"), GTK_WINDOW(GLOBALS->mainwindow), 0, _("_Close"), GTK_RESPONSE_ACCEPT, NULL); data->dialog = dialog; data->change = 0; gtk_window_set_icon_name(GTK_WINDOW (dialog), ICONNAME_HB_CATEGORY); //set a nice dialog size gtk_window_get_size(GTK_WINDOW(GLOBALS->mainwindow), &w, &h); dh = (h*1.33/PHI); //ratio 2:3 dw = (dh * 2) / 3; DB( g_print(" main w=%d h=%d => diag w=%d h=%d\n", w, h, dw, dh) ); gtk_window_set_default_size (GTK_WINDOW(dialog), dw, dh); //store our window private data g_object_set_data(G_OBJECT(dialog), "inst_data", (gpointer)data); DB( g_print("(defcategory) 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 = hbtk_radio_button_new(GTK_ORIENTATION_HORIZONTAL, 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 (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; ui_cat_manage_dialog_cleanup(data, result); gtk_widget_destroy (dialog); g_free(data); return NULL; } homebank-5.5.2/src/hb-encoding.c0000644000175000017500000001757214007276243013361 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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.5.2/src/rep-stats.c0000644000175000017500000015200514045453456013122 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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-report.h" #include "list-operation.h" #include "gtk-chart.h" #include "gtk-dateentry.h" #include "dsp-mainwindow.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 repstats_range_change(GtkWidget *widget, gpointer user_data); static void repstats_filter_setup(struct repstats_data *data); static void repstats_compute(GtkWidget *widget, gpointer user_data); static void repstats_sensitive(GtkWidget *widget, gpointer user_data); static void repstats_update_daterange(GtkWidget *widget, gpointer user_data); static void repstats_update_date_widget(GtkWidget *widget, gpointer user_data); static void repstats_selection(GtkTreeSelection *treeselection, gpointer user_data); static void repstats_selection2(GtkTreeSelection *treeselection, gpointer user_data); 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_EXPENSE, N_("Expense") }, { REPORT_TYPE_INCOME, N_("Income") }, { REPORT_TYPE_TOTAL, N_("Total")} , { 0, NULL } }; extern gchar *CYA_REPORT_MODE[]; extern HbKvData CYA_REPORT_INTVL[]; /* action functions -------------------- */ static void repstats_action_viewlist(GtkToolButton *toolbutton, gpointer user_data) { struct repstats_data *data = user_data; gint tmpmode; tmpmode = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_mode)); hb_widget_visible (data->SW_total, tmpmode ? FALSE : TRUE); hb_widget_visible (data->SW_trend, tmpmode ? TRUE : FALSE); gtk_notebook_set_current_page(GTK_NOTEBOOK(data->GR_result), 0); data->charttype = 0; repstats_sensitive(data->window, NULL); } static void repstats_action_mode_changed(GtkToolButton *toolbutton, gpointer user_data) { struct repstats_data *data = user_data; gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(data->BT_list), TRUE); repstats_action_viewlist(toolbutton, data); if( data->detail == TRUE ) { gint tmpmode = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_mode)); if( tmpmode == 0 ) repstats_selection(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_report)), NULL); else repstats_selection2(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_report2)), NULL); } } static void repstats_action_viewbar(GtkToolButton *toolbutton, gpointer user_data) { struct repstats_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); data->charttype = CHART_TYPE_COL; repstats_sensitive(data->window, NULL); } static void repstats_action_viewpie(GtkToolButton *toolbutton, gpointer user_data) { struct repstats_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_PIE); data->charttype = CHART_TYPE_PIE; repstats_sensitive(data->window, NULL); } static void repstats_action_print(GtkToolButton *toolbutton, gpointer user_data) { struct repstats_data *data = user_data; gint tmpsrc; gchar *name; tmpsrc = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_src)); name = g_strdup_printf("hb-repstat_%s", hbtk_get_label(CYA_REPORT_SRC,tmpsrc)); gtk_chart_print(GTK_CHART(data->RE_chart), GTK_WINDOW(data->window), PREFS->path_export, name); g_free(name); } static void repstats_action_filter(GtkToolButton *toolbutton, gpointer user_data) { struct repstats_data *data = user_data; gint response_id; DB( g_print("\n[repdist] filter\n") ); //debug //create_deffilter_window(data->filter, TRUE); response_id = ui_flt_manage_dialog_new(GTK_WINDOW(data->window), data->filter, TRUE, FALSE); if( response_id != GTK_RESPONSE_REJECT) { if( response_id == 55 ) //reset { DB( g_print(" reset filter\n") ); repstats_filter_setup(data); } else { if( data->filter->range == FLT_RANGE_OTHER ) { filter_preset_daterange_set(data->filter, data->filter->range, 0); } } 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), data->filter->range); g_signal_handler_unblock(data->CY_range, data->handler_id[HID_REPDIST_RANGE]); repstats_compute(data->window, NULL); repstats_update_date_widget(data->window, NULL); repstats_update_daterange(data->window, NULL); } } /* ** ============================================================================ */ static void repstats_date_change(GtkWidget *widget, gpointer user_data) { struct repstats_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]); repstats_compute(widget, NULL); repstats_update_daterange(widget, NULL); } static void repstats_range_change(GtkWidget *widget, gpointer user_data) { struct repstats_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); repstats_update_date_widget(data->window, NULL); repstats_compute(data->window, NULL); repstats_update_daterange(data->window, NULL); } else { if(ui_flt_manage_dialog_new(GTK_WINDOW(data->window), data->filter, TRUE, FALSE) != GTK_RESPONSE_REJECT) { repstats_update_date_widget(data->window, NULL); repstats_compute(data->window, NULL); repstats_update_daterange(data->window, NULL); } } } static void repstats_update(GtkWidget *widget, gpointer user_data) { struct repstats_data *data; gboolean byamount; GtkTreeModel *model; gint tmpsrc, tmptype, usrcomp, 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)); usrcomp = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_compare)); 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)) ); // define view/sort column column = LST_REPDIST_POS; if( byamount ) { switch( tmptype ) { case REPORT_TYPE_TOTAL: column = LST_REPDIST_TOTAL; 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_TOTAL) && (usrcomp == TRUE) ) //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)*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 repstats_update_date_widget(GtkWidget *widget, gpointer user_data) { struct repstats_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 repstats_update_daterange(GtkWidget *widget, gpointer user_data) { struct repstats_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 repstats_update_total(GtkWidget *widget, gpointer user_data) { struct repstats_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 repstats_export_result_clipboard(GtkWidget *widget, gpointer user_data) { struct repstats_data *data; GtkClipboard *clipboard; GString *node; gchar *title, *catsubcat; gint tmpmode, tmpsrc; 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"); tmpmode = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_mode)); tmpsrc = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_src)); //#1886299/1900281 catsubcat = NULL; title = hbtk_get_label(CYA_REPORT_SRC,tmpsrc); if(tmpsrc == REPORT_SRC_SUBCATEGORY) { catsubcat = g_strjoin(":",hbtk_get_label(CYA_REPORT_SRC, REPORT_SRC_CATEGORY), hbtk_get_label(CYA_REPORT_SRC, REPORT_SRC_SUBCATEGORY), NULL); title = catsubcat; } if( tmpmode == 0 ) node = lst_rep_total_to_string(GTK_TREE_VIEW(data->LV_report), title, TRUE); else node = lst_rep_time_to_string(GTK_TREE_VIEW(data->LV_report2), title, TRUE); clipboard = gtk_clipboard_get_default(gdk_display_get_default()); gtk_clipboard_set_text(clipboard, node->str, node->len); g_string_free(node, TRUE); g_free(catsubcat); } static void repstats_export_result_csv(GtkWidget *widget, gpointer user_data) { struct repstats_data *data; gchar *filename = NULL; GString *node; GIOChannel *io; gchar *name, *title, *catsubcat; gint tmpmode, 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"); tmpmode = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_mode)); //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) { //#1886299/1900281 catsubcat = NULL; title = hbtk_get_label(CYA_REPORT_SRC,tmpsrc); if(tmpsrc == REPORT_SRC_SUBCATEGORY) { catsubcat = g_strjoin(":",hbtk_get_label(CYA_REPORT_SRC, REPORT_SRC_CATEGORY), hbtk_get_label(CYA_REPORT_SRC, REPORT_SRC_SUBCATEGORY), NULL); title = catsubcat; } if( tmpmode == 0 ) node = lst_rep_total_to_string(GTK_TREE_VIEW(data->LV_report), title, FALSE); else node = lst_rep_time_to_string(GTK_TREE_VIEW(data->LV_report2), title, FALSE); g_io_channel_write_chars(io, node->str, -1, NULL, NULL); g_io_channel_unref (io); g_string_free(node, TRUE); g_free(catsubcat); } g_free( filename ); } g_free(name); } static void repstats_export_detail_clipboard(GtkWidget *widget, gpointer user_data) { struct repstats_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, FALSE, FALSE); 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 repstats_export_detail_csv(GtkWidget *widget, gpointer user_data) { struct repstats_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, FALSE, 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 repstats_detail(GtkWidget *widget, gpointer user_data) { struct repstats_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 repstats_compute(GtkWidget *widget, gpointer user_data) { struct repstats_data *data; DataTable *dt; gint tmpsrc, tmptype, tmpintvl; gdouble totexp, totinc; guint n_result, n_cols; guint i, n_inserted; 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 model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_report)); n_inserted = 0; totexp = totinc = 0.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 */ 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 */ DB( g_print("\npopulate total listview\n") ); /* 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]) ); n_inserted++; totexp += dr->expense[0]; totinc += 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_TOTAL , dr->expense[0] + dr->income[1], //#1925976 abs is used into hb_rate, no need to - expense LST_REPDIST_EXPRATE, hb_rate(dr->expense[0], data->total_expense), LST_REPDIST_INCRATE, hb_rate(dr->income[1] , data->total_income), LST_REPDIST_TOTRATE, 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); repstats_update_total(widget, NULL); //insert total if( n_inserted > 1 ) { gtk_list_store_insert_with_values (GTK_LIST_STORE(model), &iter, -1, LST_REPDIST_POS, LST_REPDIST_POS_TOTAL, LST_REPDIST_KEY, -1, LST_REPDIST_NAME, _("Total"), LST_REPDIST_EXPENSE, totexp, LST_REPDIST_INCOME , totinc, LST_REPDIST_TOTAL, totexp + totinc, -1); } repstats_update(widget, user_data); /* trend with test mutlti to remove */ //TODO: add if mode==1 && choose a better max column value model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_report2)); gtk_tree_store_clear (GTK_TREE_STORE(model)); n_inserted = 0; if( n_cols > 365*4 ) { lst_rep_time_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 time listview\n") ); /* clear and detach our 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 */ lst_rep_time_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 = da_datarow_get_cell_sum(dr, dt->nbcols+1); 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") ); n_inserted++; gtk_tree_store_insert_with_values(GTK_TREE_STORE(model), &iter, NULL, -1, LST_REPDIST2_KEY, cat->key, LST_REPDIST2_LABEL, dr->label, LST_REPDIST2_ROW, dr, -1); } else { GtkTreeIter iter2; DB( g_printf(" > insert\n") ); n_inserted++; gtk_tree_store_insert_with_values(GTK_TREE_STORE(model), &iter2, &iter, -1, LST_REPDIST2_KEY, cat->key, LST_REPDIST2_LABEL, dr->label, LST_REPDIST2_ROW, dr, -1); } } else { DB( g_printf(" > skipped\n") ); } } l = g_list_next(l); } g_list_free(clist); } else { for(i=0; irows[i]; gdouble total = da_datarow_get_cell_sum(dr, dt->nbcols+1); DB( g_printf(" eval item %4d:'%s' %.2f\n", i, dr->label, total ) ); if( !total ) continue; DB( g_printf(" --> insert\n") ); n_inserted++; gtk_tree_store_insert_with_values(GTK_TREE_STORE(model), &iter, NULL, -1, LST_REPDIST2_KEY, i, LST_REPDIST2_LABEL, dr->label, LST_REPDIST2_ROW, dr, -1); } } //insert total if( n_inserted > 1 ) { DataRow *dr = dt->totrow; dr->pos = LST_REPDIST_POS_TOTAL; DB( g_printf(" eval item total:'%s'\n", dr->label ) ); DB( g_printf(" --> insert total\n") ); n_inserted++; gtk_tree_store_insert_with_values(GTK_TREE_STORE(model), &iter, NULL, -1, LST_REPDIST2_POS, LST_REPDIST_POS_TOTAL, LST_REPDIST2_KEY, -1, LST_REPDIST2_ROW, dr, LST_REPDIST2_LABEL, _("Total"), -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 repstats_sensitive(GtkWidget *widget, gpointer user_data) { struct repstats_data *data; gboolean visible, sensitive; gint mode, type, 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)); type = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_type)); page = gtk_notebook_get_current_page(GTK_NOTEBOOK(data->GR_result)); //total 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->CM_compare, visible); hb_widget_visible(data->BT_column, visible); hb_widget_visible(data->BT_donut, visible); hb_widget_visible(data->BT_rate, visible); hb_widget_visible(data->LB_intvl, !visible); hb_widget_visible(data->CY_intvl, !visible); //zoom visible = (data->charttype == CHART_TYPE_COL) ? TRUE : FALSE; hb_widget_visible(data->LB_zoomx, visible); hb_widget_visible(data->RG_zoomx, visible); //compare visible = (type == REPORT_TYPE_TOTAL) && (data->charttype == CHART_TYPE_COL) ? TRUE : FALSE; hb_widget_visible(data->CM_compare, visible); visible = page == 0 ? TRUE : FALSE; hb_widget_visible (data->BT_detail, visible); hb_widget_visible (data->BT_export, visible); visible = (mode==0 && page > 0) ? TRUE : FALSE; hb_widget_visible (data->BT_legend, visible); hb_widget_visible (data->BT_print, 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 repstats_detail_onRowActivated (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *col, gpointer userdata) { struct repstats_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++; repstats_compute(data->window, NULL); } da_transaction_free (old_txn); } } static void repstats_update_detail(GtkWidget *widget, gpointer user_data) { struct repstats_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) ); repstats_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 repstats_toggle_detail(GtkWidget *widget, gpointer user_data) { struct repstats_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) ); repstats_update_detail(widget, user_data); } /* ** change the chart legend visibility */ static void repstats_toggle_legend(GtkWidget *widget, gpointer user_data) { struct repstats_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); gtk_chart_queue_redraw(GTK_CHART(data->RE_chart)); } static void repstats_zoomx_callback(GtkWidget *widget, gpointer user_data) { struct repstats_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 repstats_toggle_rate(GtkWidget *widget, gpointer user_data) { struct repstats_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 repstats_toggle_minor(GtkWidget *widget, gpointer user_data) { struct repstats_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)); repstats_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); gtk_chart_queue_redraw(GTK_CHART(data->RE_chart)); } static void repstats_selection(GtkTreeSelection *treeselection, gpointer user_data) { GtkTreeModel *model; GtkTreeIter iter; guint key = -1; DB( g_print("\n[repdist] selection total\n") ); if (gtk_tree_selection_get_selected(treeselection, &model, &iter)) { gtk_tree_model_get(model, &iter, LST_REPDIST_KEY, &key, -1); } DB( g_print(" - total active is %d\n", key) ); repstats_detail(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), GINT_TO_POINTER(key)); repstats_sensitive(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), NULL); } static void repstats_selection2(GtkTreeSelection *treeselection, gpointer user_data) { GtkTreeModel *model; GtkTreeIter iter; guint key = -1; DB( g_print("\n[repdist] selection time\n") ); if (gtk_tree_selection_get_selected(treeselection, &model, &iter)) { gtk_tree_model_get(model, &iter, LST_REPDIST2_KEY, &key, -1); } DB( g_print(" - time active is %d\n", key) ); repstats_detail(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), GINT_TO_POINTER(key)); repstats_sensitive(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), NULL); } static GtkWidget * repstats_toolbar_create(struct repstats_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 (repstats_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 (repstats_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 (repstats_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 (repstats_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); button = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_PRINT, _("Print"), _("Print")); data->BT_print = button; return toolbar; } //reset the filter static void repstats_filter_setup(struct repstats_data *data) { DB( g_print("\n[repdist] reset filter\n") ); filter_reset(data->filter); filter_preset_daterange_set(data->filter, PREFS->date_range_rep, 0); repstats_update_date_widget(data->window, NULL); /* 3.4 : make int transfer out of stats */ data->filter->option[FLT_GRP_TYPE] = 2; data->filter->type = FLT_TYPE_INTXFER; } // setup default for our object/memory static void repstats_window_setup(struct repstats_data *data) { DB( g_print("\n[repdist] setup\n") ); repstats_filter_setup(data); data->detail = PREFS->stat_showdetail; data->legend = 1; data->rate = PREFS->stat_showrate^1; repstats_toggle_rate(data->window, NULL); gtk_chart_set_smallfont (GTK_CHART(data->RE_chart), PREFS->rep_smallfont); } static gboolean repstats_window_dispose(GtkWidget *widget, GdkEvent *event, gpointer user_data) { struct repstats_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)); //unref window to our open window list GLOBALS->openwindows = g_slist_remove(GLOBALS->openwindows, widget); return FALSE; } //allocate our object/memory static void repstats_window_acquire(struct repstats_data *data) { DB( g_print("\n[repdist] acquire\n") ); data->txn_queue = g_queue_new (); data->filter = da_flt_malloc(); } // the window creation GtkWidget *repstats_window_new(void) { struct repstats_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 repstats_data)); if(!data) return NULL; repstats_window_acquire(data); //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; //ref window to our open window list GLOBALS->openwindows = g_slist_prepend(GLOBALS->openwindows, 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(GTK_ORIENTATION_HORIZONTAL, 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++; 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 (_("Sort by _amount")); data->CM_byamount = widget; gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Compare Exp. & Inc.")); data->CM_compare = 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 (_("Euro _minor")); data->CM_minor = 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); //part: info + report vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0); //toolbar widget = repstats_toolbar_create(data); data->TB_bar = widget; gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); //infos + total 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(_("Total:")); 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 group vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_paned_pack1 (GTK_PANED(vpaned), vbox, TRUE, TRUE); // list total sw = gtk_scrolled_window_new (NULL, NULL); data->SW_total = sw; 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); treeview = lst_rep_total_create(); data->LV_report = treeview; gtk_container_add (GTK_CONTAINER(sw), treeview); // list trend sw = gtk_scrolled_window_new (NULL, NULL); data->SW_trend = sw; 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); treeview = lst_rep_time_create(); data->LV_report2 = treeview; gtk_container_add (GTK_CONTAINER(sw), treeview); //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); //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 (repstats_window_dispose), (gpointer)data); g_signal_connect (data->CM_minor, "toggled", G_CALLBACK (repstats_toggle_minor), NULL); data->handler_id[HID_REPDIST_MINDATE] = g_signal_connect (data->PO_mindate, "changed", G_CALLBACK (repstats_date_change), (gpointer)data); data->handler_id[HID_REPDIST_MAXDATE] = g_signal_connect (data->PO_maxdate, "changed", G_CALLBACK (repstats_date_change), (gpointer)data); data->handler_id[HID_REPDIST_RANGE] = g_signal_connect (data->CY_range, "changed", G_CALLBACK (repstats_range_change), NULL); g_signal_connect (data->CY_src, "changed", G_CALLBACK (repstats_compute), (gpointer)data); //test multi hbtk_radio_button_connect (GTK_CONTAINER(data->RA_mode), "toggled", G_CALLBACK (repstats_action_mode_changed), (gpointer)data); g_signal_connect (data->CY_intvl, "changed", G_CALLBACK (repstats_compute), (gpointer)data); data->handler_id[HID_REPDIST_VIEW] = g_signal_connect (data->CY_type, "changed", G_CALLBACK (repstats_compute), (gpointer)data); g_signal_connect (data->RG_zoomx, "value-changed", G_CALLBACK (repstats_zoomx_callback), NULL); g_signal_connect (data->CM_byamount, "toggled", G_CALLBACK (repstats_update), NULL); g_signal_connect (data->CM_compare, "toggled", G_CALLBACK (repstats_update), NULL); g_signal_connect (G_OBJECT (data->BT_list), "clicked", G_CALLBACK (repstats_action_viewlist), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_column), "clicked", G_CALLBACK (repstats_action_viewbar), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_donut), "clicked", G_CALLBACK (repstats_action_viewpie), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_detail), "clicked", G_CALLBACK (repstats_toggle_detail), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_legend), "clicked", G_CALLBACK (repstats_toggle_legend), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_rate), "clicked", G_CALLBACK (repstats_toggle_rate), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_filter), "clicked", G_CALLBACK (repstats_action_filter), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_refresh), "clicked", G_CALLBACK (repstats_compute), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_print), "clicked", G_CALLBACK (repstats_action_print), (gpointer)data); //export is a menu g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_report )), "changed", G_CALLBACK (repstats_selection), NULL); g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_report2)), "changed", G_CALLBACK (repstats_selection2), NULL); g_signal_connect (GTK_TREE_VIEW(data->LV_detail), "row-activated", G_CALLBACK (repstats_detail_onRowActivated), NULL); //setup, init and show window repstats_window_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); gtk_widget_hide(data->SW_trend); //minor ? if( PREFS->euro_active ) gtk_widget_show(data->CM_minor); else gtk_widget_hide(data->CM_minor); //gtk_widget_hide(data->GR_detail); repstats_sensitive(window, NULL); repstats_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 repstats_compute(window, NULL); return window; } homebank-5.5.2/src/rep-budget.h0000644000175000017500000000373114036245463013241 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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_progress; GtkWidget *BT_detail; GtkWidget *BT_refresh; GtkWidget *BT_print; 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_progress; 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.5.2/src/list-scheduled.h0000644000175000017500000000232714007276247014116 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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.5.2/src/hb-encoding.h0000644000175000017500000000575714007276247013374 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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.5.2/src/hub-spending.c0000664000175000017500000002553014007276243013562 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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_smallfont (GTK_CHART(data->RE_pie), PREFS->rep_smallfont); 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, (guint)PREFS->rep_maxspenditems); 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' o='%f'\n", i, item->key, item->value, total, other) ); } } 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 ; ivalue) 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); DB( g_print(" - %d : %s k='%d' v='%f'\n", i, name, item->key, item->value) ); // 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) { DB( g_print(" - %d : %s k='%d' v='%f'\n", 10, "Other", 0, other) ); 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(GTK_ORIENTATION_HORIZONTAL, 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.5.2/src/ui-account.h0000644000175000017500000000736014021203123013231 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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_minimum; GtkWidget *ST_maximum; 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); /* = = = = = = = = = = */ guint ui_acc_listview_fill_keys(GtkTreeView *treeview, guint32 *keys, guint32 *kcur); void ui_acc_listview_set_active(GtkTreeView *treeview, guint32 key); 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.5.2/src/hb-filter.c0000644000175000017500000005101714007276243013050 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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[FLT_GRP_DATE] = 1; //5.4.2: useless, as it is always changed after all //flt->range = FLT_RANGE_LAST12MONTHS; //filter_preset_daterange_set(flt, flt->range, 0); flt->range = FLT_RANGE_LAST30DAYS; flt->mindate = GLOBALS->today-30; flt->maxdate = GLOBALS->today; 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[FLT_GRP_TYPE] = 1; flt->type = type; /*flt->option[FLT_GRP_AMOUNT] = 0; flt->minamount = G_MINDOUBLE; flt->maxamount = G_MINDOUBLE; switch( type ) { case FLT_TYPE_EXPENSE: flt->option[FLT_GRP_AMOUNT] = 1; flt->minamount = -G_MAXDOUBLE; flt->maxamount = G_MINDOUBLE; break; case FLT_TYPE_INCOME: flt->option[FLT_GRP_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[FLT_GRP_TYPE] = 0; flt->option[FLT_GRP_STATUS] = 0; flt->option[FLT_GRP_CATEGORY] = 0; flt->type = FLT_TYPE_ALL; flt->status = FLT_STATUS_ALL; //#1602835 fautly set //flt->forceadd = TRUE; //flt->forcechg = TRUE; //#1860356 keep widget active_id //#1873324 register status quick filter do not reset //note: status revert to UNRECONCILED here is normal if PREFS->hidereconciled=TRUE //flt->rawstatus = status; switch( status ) { case FLT_STATUS_UNCATEGORIZED: flt->option[FLT_GRP_TYPE] = 2; flt->type = FLT_TYPE_INTXFER; flt->option[FLT_GRP_CATEGORY] = 1; filter_status_cat_clear_except(flt, 0); break; case FLT_STATUS_UNRECONCILED: flt->option[FLT_GRP_STATUS] = 2; flt->status = FLT_STATUS_RECONCILED; break; case FLT_STATUS_UNCLEARED: flt->option[FLT_GRP_STATUS] = 2; flt->status = FLT_STATUS_CLEARED; break; case FLT_STATUS_RECONCILED: flt->option[FLT_GRP_STATUS] = 1; flt->status = FLT_STATUS_RECONCILED; break; case FLT_STATUS_CLEARED: flt->option[FLT_GRP_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]; DB( g_print(" needle='%s' txnamt='%s'\n", needle, formatd_buf) ); 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[FLT_GRP_DATE]) { insert = ( (txn->date >= flt->mindate) && (txn->date <= (flt->maxdate + flt->nbdaysfuture) ) ) ? 1 : 0; if(flt->option[FLT_GRP_DATE] == 2) insert ^= 1; } if(!insert) goto end; /* account */ if(flt->option[FLT_GRP_ACCOUNT]) { accitem = da_acc_get(txn->kacc); if(accitem) { insert = ( accitem->flt_select == TRUE ) ? 1 : 0; if(flt->option[FLT_GRP_ACCOUNT] == 2) insert ^= 1; } } if(!insert) goto end; /* payee */ if(flt->option[FLT_GRP_PAYEE]) { payitem = da_pay_get(txn->kpay); if(payitem) { insert = ( payitem->flt_select == TRUE ) ? 1 : 0; if(flt->option[FLT_GRP_PAYEE] == 2) insert ^= 1; } } if(!insert) goto end; /* category */ if(flt->option[FLT_GRP_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[FLT_GRP_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[FLT_GRP_CATEGORY] == 2) insert ^= 1; } } } if(!insert) goto end; /* type */ if(flt->option[FLT_GRP_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[FLT_GRP_TYPE] == 2) insert ^= 1; } if(!insert) goto end; /* status */ if(flt->option[FLT_GRP_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[FLT_GRP_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[FLT_GRP_PAYMODE]) { insert = ( flt->paymode[txn->paymode] == TRUE) ? 1 : 0; if(flt->option[FLT_GRP_PAYMODE] == 2) insert ^= 1; } if(!insert) goto end; /* amount */ if(flt->option[FLT_GRP_AMOUNT]) { insert = ( (txn->amount >= flt->minamount) && (txn->amount <= flt->maxamount) ) ? 1 : 0; if(flt->option[FLT_GRP_AMOUNT] == 2) insert ^= 1; } if(!insert) goto end; /* info/memo/tag */ if(flt->option[FLT_GRP_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[FLT_GRP_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.5.2/src/ui-assist-start.h0000644000175000017500000000277514007276247014270 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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__ #define PAGE_WELCOME 0 #define PAGE_GENERAL 1 #define PAGE_CURRENCIES 2 #define PAGE_CATEGORIES 3 #define PAGE_ACCOUNTS 4 struct assist_start_data { GtkWidget *dialog; //GtkWidget *pages[NUM_PAGE]; GtkWidget *ST_owner; GtkWidget *LB_cur_base, *BT_cur_change;; GtkWidget *CM_cur_add, *LB_cur_others, *BT_cur_add; GtkWidget *GR_file; GtkWidget *TX_file; GtkWidget *TX_preview; GtkWidget *ok_image, *ko_image; GtkWidget *CM_load; GtkWidget *CM_acc_add; GtkWidget *GR_acc; GtkWidget *ST_name; GtkWidget *CY_type; Currency4217 *curfmt; gchar *pathfilename; GPtrArray *cur_arr; }; GtkWidget *ui_newfile_assitant_new(void); #endif homebank-5.5.2/src/dsp-mainwindow.c0000644000175000017500000021753114021201504014121 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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-2021 - 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_newfile_assitant_new(); } } 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_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_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_SENSITIVE)); } static void ui_mainwindow_action_defpayee(void) { ui_pay_manage_dialog(); ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(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_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_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_SENSITIVE)); } static void ui_mainwindow_action_defbudgettable(void) { ui_bud_tabview_manage_dialog(); ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_SENSITIVE)); } static void ui_mainwindow_action_defassign(void) { ui_asg_manage_dialog(); ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_SENSITIVE)); } static void ui_mainwindow_action_deftag(void) { ui_tag_manage_dialog(); //ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_SENSITIVE)); } static void ui_mainwindow_action_preferences(void) { struct hbfile_data *data = g_object_get_data(G_OBJECT(GLOBALS->mainwindow), "inst_data"); gboolean prv_includeremind; //#1914935 store previous includeremind state to detect a change prv_includeremind = PREFS->includeremind; 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); } homebank_pref_apply (); //#1914935 if include remind change, we update balance if( prv_includeremind != PREFS->includeremind ) { account_compute_balances(); } 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) { repstats_window_new(); } static void ui_mainwindow_action_trendtime(void) { struct hbfile_data *data = g_object_get_data(G_OBJECT(GLOBALS->mainwindow), "inst_data"); 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) { repvehicle_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_welcome_cb (GtkWidget *widget, gpointer user_data) { GtkWidget *dialog; gint response = GPOINTER_TO_INT(user_data); dialog = gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW); if( GTK_IS_DIALOG(dialog) ) gtk_dialog_response (GTK_DIALOG(dialog), response); } gint ui_mainwindow_action_help_welcome(void) { GtkWidget *dialog, *content_area; GtkWidget *mainvbox, *table, *widget, *label, *check; gchar *pathfilename; dialog = gtk_dialog_new_with_buttons (_("Welcome to HomeBank"), GTK_WINDOW(GLOBALS->mainwindow), 0, _("_Close"), //_("_Exit"), GTK_RESPONSE_CLOSE, NULL); content_area = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); 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_LARGE); gtk_box_pack_start (GTK_BOX (content_area), table, FALSE, FALSE, 0); //get our icon pathfilename = g_build_filename(homebank_app_get_images_dir(), "homebank-icon.svg", NULL); if (g_file_test (pathfilename, G_FILE_TEST_EXISTS) == TRUE) widget = gtk_image_new_from_file((const gchar *)pathfilename); else widget = gtk_image_new_from_icon_name ("homebank", GTK_ICON_SIZE_DIALOG); g_free(pathfilename); gtk_grid_attach (GTK_GRID (table), widget, 0, 0, 1, 2); label = make_label (_("HomeBank"), 0, 0); gimp_label_set_attributes(GTK_LABEL(label), PANGO_ATTR_WEIGHT, PANGO_WEIGHT_BOLD, PANGO_ATTR_SCALE, PANGO_SCALE_XX_LARGE, -1); gtk_grid_attach (GTK_GRID (table), label, 1, 0, 1, 1); label = make_label (_("Free, easy, personal accounting for everyone"), 0, 0); gimp_label_set_attributes(GTK_LABEL(label), PANGO_ATTR_SCALE, PANGO_SCALE_SMALL, -1); gtk_grid_attach (GTK_GRID (table), label, 1, 1, 1, 1); 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, FALSE, FALSE, 0); gtk_widget_set_halign (mainvbox, GTK_ALIGN_CENTER); gtk_container_set_border_width (GTK_CONTAINER(mainvbox), SPACING_LARGE); //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(_("Open _last opened file")); gtk_box_pack_start (GTK_BOX (mainvbox), widget, FALSE, FALSE, 0); g_signal_connect (widget, "clicked", G_CALLBACK (ui_mainwindow_action_help_welcome_cb), GINT_TO_POINTER(HB_WELCOME_OPENLAST)); 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_welcome_cb), GINT_TO_POINTER(HB_WELCOME_CREATENEW)); 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_welcome_cb), GINT_TO_POINTER(HB_WELCOME_OPENEXISTING)); 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_welcome_cb), GINT_TO_POINTER(HB_WELCOME_OPENSAMPLE)); 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_welcome_cb), GINT_TO_POINTER(HB_WELCOME_READMANUAL)); 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_welcome_cb), GINT_TO_POINTER(HB_WELCOME_CONFIGPREF)); check = gtk_check_button_new_with_mnemonic (_("Show this window next time")); gtk_box_pack_end (GTK_BOX (mainvbox), check, FALSE, FALSE, SPACING_SMALL); //init gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(check), PREFS->showwelcome); //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)); PREFS->showwelcome = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(check)); // cleanup and destroy gtk_widget_destroy (dialog); // do appropriate action switch(result) { case HB_WELCOME_OPENLAST: { gchar *rawfilepath = homebank_lastopenedfiles_load(); ui_mainwindow_open_check(GLOBALS->mainwindow, rawfilepath); } break; case HB_WELCOME_READMANUAL: ui_mainwindow_action_help(); break; case HB_WELCOME_CONFIGPREF: ui_mainwindow_action_preferences(); break; case HB_WELCOME_CREATENEW: ui_mainwindow_action_new(); break; case HB_WELCOME_OPENEXISTING: ui_mainwindow_action_open(); break; case HB_WELCOME_OPENSAMPLE: hbfile_change_filepath(g_build_filename(homebank_app_get_datas_dir(), "example.xhb", NULL)); ui_mainwindow_open_internal(GLOBALS->mainwindow, NULL); break; } return result; } 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); GSList *list; 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(); //5.5.1 should close any toplevel windows as well (reports...) DB( g_print(" closing %d windows\n", g_slist_length(GLOBALS->openwindows) )); list = GLOBALS->openwindows; while( list != NULL) { GtkWindow *window = GTK_WINDOW(list->data); DB( g_print(" closing type:%d title:'%s'\n", gtk_window_get_window_type(window), gtk_window_get_title(window) )); gtk_widget_destroy(GTK_WIDGET(window)); list = g_slist_next(list); } 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_SENSITIVE+UF_REFRESHALL)); } } static 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 ( _("You 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_check(GtkWidget *widget, gchar *filepath) { //struct hbfile_data *data; gboolean doopen = TRUE; if( filepath == NULL ) return; DB( g_print("\n[ui-mainwindow] open check\n") ); //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); DB( g_print(" path='%s'\n", filepath) ); if (g_file_test (filepath, G_FILE_TEST_EXISTS) == TRUE) { //#1710955 test for backup open if( hbfile_file_isbackup(filepath) ) { if( ui_mainwindow_open_backup_check_confirm(filepath) == TRUE ) { GLOBALS->hbfile_is_bak = TRUE; doopen = TRUE; } else { doopen = FALSE; } } } else { g_warning (_("Unable to open '%s', the file does not exist.\n"), filepath); } if(doopen) { hbfile_change_filepath(g_strdup(filepath)); ui_mainwindow_open_internal(widget, NULL); } g_free(filepath); } 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 ) { ui_mainwindow_open_check(widget, filename); } } } /* * 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); /* changes */ #if MYDEBUG == 1 gchar *chgtxt = g_strdup_printf("%d", GLOBALS->changes_count); gtk_label_set_label(GTK_LABEL(data->dbgchange), chgtxt); g_free(chgtxt); #endif /* 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); g_free(data->wintitle); changed = (GLOBALS->changes_count > 0) ? "*" : ""; data->wintitle = g_strdup_printf("%s%s - %s - " PROGNAME, changed, basename, GLOBALS->owner); 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_exportqif, sensitive); gtk_widget_set_sensitive(data->MI_anonymise, 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_txnshowall, sensitive); gtk_widget_set_sensitive(data->MI_repstat, sensitive); gtk_widget_set_sensitive(data->MI_reptime, sensitive); gtk_widget_set_sensitive(data->MI_repbal, 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_repbal, 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); gtk_widget_set_sensitive(data->BT_manbud, 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); gtk_widget_set_sensitive(data->BT_manasg, sensitive); // empty archive list: disable scheduled check DB( g_print(" has archive ?\n") ); sensitive = da_archive_length() > 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)); //TODO: should add txn listview here as well DB( g_print(" - show toolbar=%d\n", PREFS->wal_toolbar) ); hb_widget_visible(data->toolbar, PREFS->wal_toolbar); DB( g_print(" - show top_spending=%d\n", PREFS->wal_spending) ); hb_widget_visible(data->GR_top, PREFS->wal_spending); //TODO: why this ? to redraw ? hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_range), PREFS->date_range_wal); DB( g_print(" - show upcoming=%d\n", PREFS->wal_upcoming) ); hb_widget_visible(data->GR_upc, PREFS->wal_upcoming); DB( g_print(" minor %d\n", PREFS->euro_active) ); hb_widget_visible(data->MI_eurominor, PREFS->euro_active); } 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"), _("Manage the accounts")); data->BT_manpay = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_PAYEE , _("Payee"), _("Manage the payees")); data->BT_mancat = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_CATEGORY, _("Category"), _("Manage the categories")); data->BT_mantpl = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_ARCHIVE , _("Scheduled/Template"), _("Manage the scheduled/template transactions")); data->BT_manbud = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_BUDGET , _("Budget"), _("Manage the budget")); data->BT_manasg = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_ASSIGN , _("Assignment"), _("Manage 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 (); box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (mainvbox), box, FALSE, FALSE, 0); menubar = ui_mainwindow_menubar_create(data); gtk_box_pack_start (GTK_BOX (box), menubar, TRUE, TRUE, 0); #if HB_UNSTABLE_SHOW == TRUE 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 data files\n" "- BUGs or CRASH can still occur" ); #endif #if MYDEBUG == 1 widget = make_label(NULL, 1.0, 0.5); gtk_widget_set_margin_end(widget, 12); data->dbgchange = widget; gtk_box_pack_end (GTK_BOX (box), widget, 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.5.2/src/hb-import-ofx.c0000664000175000017500000002657514021123165013672 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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; } // 5.5.1 add fitid if(data.fi_id_valid==true) { gentxn->fitid = g_strdup(data.fi_id); } // 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.5.2/src/hb-misc.c0000644000175000017500000005432114011773457012523 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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); } } // used only in gtk_chart.c 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) { Currency *cur; gdouble monval; if(minor == FALSE) { cur = hb_strfmon_check(outstr, kcur); if(cur != NULL) { monval = hb_amount_round(value, cur->frac_digits); //#1868185 print raw number, not with monetary g_ascii_formatd(outstr, outlen, "%.2f", monval); } } else { cur = &PREFS->minor_cur; monval = hb_amount_to_euro(value); //#1868185 print raw number, not with monetary g_ascii_formatd(outstr, outlen, "%.2f", monval); } } 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 *san_str, *new_str, *d; gchar gdc; const gchar *p; //sanitize the string first: keep -,.0-9 //#1876134 windows: pasted numbers from calculator loose dchar //https://github.com/microsoft/calculator/issues/504 san_str = d = g_strdup(string); p = string; while(*p) { if( g_ascii_isdigit(*p) || *p=='-' || *p=='.' || *p==',' ) *d++ = *p; p++; } *d++ = '\0'; l = strlen(san_str); gdc = hb_string_raw_amount_guess_dchar(san_str, l, digits); new_str = d = g_malloc (l+1); p = san_str; while(*p) { if(*p=='-' || g_ascii_isdigit(*p) ) *d++ = *p; else if( *p==gdc ) { *d++ = '.'; } p++; } *d++ = '\0'; g_free(san_str); return new_str; } static gchar * hb_date_add_separator(gchar *txt, gint dateorder) { gchar *newtxt, *d; gint len; len = strlen(txt); newtxt = g_new0(char, len+3); d = newtxt; if( (dateorder == PRF_DATEFMT_MDY) || (dateorder == PRF_DATEFMT_DMY) ) { *d++ = *txt++; *d++ = *txt++; *d++ = '/'; *d++ = *txt++; *d++ = *txt++; *d++ = '/'; *d++ = *txt++; *d++ = *txt++; if( len == 8 ) { *d++ = *txt++; *d++ = *txt++; } } else if( dateorder == PRF_DATEFMT_YMD ) { *d++ = *txt++; *d++ = *txt++; if( len == 8 ) { *d++ = *txt++; *d++ = *txt++; } *d++ = '/'; *d++ = *txt++; *d++ = *txt++; *d++ = '/'; *d++ = *txt++; *d++ = *txt++; } *d++ = '\0'; return newtxt; } 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); //#371381 add '-' 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 dateorder) { GDate *date; gint n1, n2, n3, d, m, y; guint32 julian = 0; gboolean parsed; gchar *datewithsep; DB( g_print("\n[utils] hb_date_get_julian\n") ); //1st try with separator DB( g_print(" 1st pass str='%s'\n", string) ); parsed = hb_date_parser_get_nums(string, &n1, &n2, &n3); if( parsed == FALSE ) { //#1904569 give a try with no separator datewithsep = hb_date_add_separator(string, dateorder); DB( g_print(" 2nd pass str='%s'\n", datewithsep) ); parsed = hb_date_parser_get_nums(datewithsep, &n1, &n2, &n3); g_free(datewithsep); } if( parsed == TRUE ) { DB( g_print(" num= '%d' '%d' '%d'\n", n1, n2, n3) ); switch(dateorder) { 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) ) { DB( g_print(" ddmmyyyy = '%d' '%d' '%d'\n", d, m, y) ); date = g_date_new_dmy(d, m, y); julian = g_date_get_julian (date); g_date_free(date); } } } DB( g_print(" >%s :: julian=%d\n", parsed ? "OK":"--", 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.5.2/src/ui-currency.h0000644000175000017500000000617214007276247013454 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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_BASE, CUR_SELECT_MODE_NOCUSTOM, CUR_SELECT_MODE_CUSTOM, }; 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.5.2/src/hb-filter.h0000644000175000017500000000734114007276247013062 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 { FLT_GRP_DATE, FLT_GRP_CATEGORY, FLT_GRP_PAYEE, FLT_GRP_ACCOUNT, FLT_GRP_TEXT, FLT_GRP_AMOUNT, FLT_GRP_PAYMODE, FLT_GRP_STATUS, FLT_GRP_TYPE, FLT_GRP_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[FLT_GRP_MAX]; gint range; guint32 mindate, maxdate; //gint rawtype, rawstatus; gint type, status; 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.5.2/src/rep-vehicle.h0000644000175000017500000000365414007276247013414 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 *repvehicle_window_new(void); #endif homebank-5.5.2/src/ui-dialogs.c0000644000175000017500000010617214007276243013234 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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, *box, *group_grid; GtkWidget *label, *widget; //gchar *tmpstr; gint row, count, count2; 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)); box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_MEDIUM); gtk_container_set_border_width (GTK_CONTAINER(box), SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (content_area), box, FALSE, FALSE, 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_box_pack_start (GTK_BOX (box), group_grid, FALSE, FALSE, 0); 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); da_archive_stats(&count, &count2); row++; label = make_label_widget(_("Scheduled")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_label(NULL, 1.0, 0.5); ui_label_set_integer(GTK_LABEL(widget), count2); gtk_widget_set_hexpand(widget, TRUE); gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; label = make_label_widget(_("Template")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_label(NULL, 1.0, 0.5); 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); widget = gtk_separator_new( GTK_ORIENTATION_VERTICAL); gtk_box_pack_start (GTK_BOX (box), widget, FALSE, FALSE, 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_box_pack_start (GTK_BOX (box), group_grid, FALSE, FALSE, 0); row = 1; 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(_("Tag")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_label(NULL, 1.0, 0.5); count = da_tag_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(_("Currency")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_label(NULL, 1.0, 0.5); count = da_cur_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(box); //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( action == GTK_FILE_CHOOSER_ACTION_OPEN ) { if( bakmode == FALSE ) { gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER(chooser), PREFS->path_hbfile); 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 { gchar *pattern; GtkFileFilter *flt; //#1864176 open backup should open the backup folder gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER(chooser), PREFS->path_hbbak); 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]"); } } else /* GTK_FILE_CHOOSER_ACTION_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_csv(GtkWindow *parent, gchar **storage_ptr, gboolean *split_ptr, gboolean showall) { GtkWidget *dialog, *content_area, *content_grid, *group_grid; GtkWidget *label, *widget, *BT_folder, *ST_name, *CM_split; gchar *tmpstr; gint crow, row; dialog = gtk_dialog_new_with_buttons (_("Export as CSV"), GTK_WINDOW (parent), 0, _("_Cancel"), GTK_RESPONSE_CANCEL, _("Export as _CSV"), 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; 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_widget_set_hexpand(ST_name, TRUE); gtk_grid_attach (GTK_GRID (group_grid), ST_name, 1, row, 1, 1); row++; CM_split = gtk_check_button_new_with_mnemonic (_("Detail split lines")); gtk_grid_attach (GTK_GRID (group_grid), CM_split, 1, row, 1, 1); if( showall ) { row++; /* 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); */ 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); // 123456789012345678901234567890123456789012345678901234567890 label = gtk_label_new(_("You export from 'Show all account', with the account column\n" \ "the file will not be in HomeBank CSV format.")); gtk_grid_attach (GTK_GRID (group_grid), label, 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)), "csv"); g_free(*storage_ptr); *storage_ptr = g_build_filename(nufolder, nufilename, NULL); g_free(nufilename); g_free(nufolder); g_free(urifolder); if( split_ptr != NULL ) { *split_ptr = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(CM_split)); } } // cleanup and destroy gtk_widget_destroy (dialog); return result; } 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_widget_set_hexpand(ST_name, TRUE); gtk_grid_attach (GTK_GRID (group_grid), ST_name, 1, row, 1, 1); row++; row++; widget = gtk_image_new_from_icon_name (ICONNAME_INFO, GTK_ICON_SIZE_DIALOG); gtk_grid_attach (GTK_GRID (group_grid), widget, 0, row, 1, 1); // 123456789012345678901234567890123456789012345678901234567890 label = gtk_label_new(_("With HomeBank, printing is oriented towards an eco-responsible\n" \ "attitude towards the most widespread digital format: PDF format. ")); gtk_grid_attach (GTK_GRID (group_grid), label, 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_XFERTARGET, 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.5.2/src/gtk-chart-colors.h0000664000175000017500000000540014007276247014365 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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_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.5.2/src/hub-scheduled.c0000664000175000017500000004256614017416235013721 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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; extern HbKvData CYA_FLT_SCHEDULED[]; /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ /* scheduled */ /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void ui_hub_scheduled_onRowActivated (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *col, gpointer userdata) { struct hbfile_data *data; GtkTreeModel *model; GList *selection, *list; gint count; DB( g_print ("\n[hub-scheduled] row double-clicked\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(treeview), GTK_TYPE_WINDOW)), "inst_data"); count = gtk_tree_selection_count_selected_rows(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_upc))); if( count == 1 ) { //model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_upc)); selection = gtk_tree_selection_get_selected_rows(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_upc)), &model); list = g_list_first(selection); if(list != NULL) { GtkTreeIter iter; Archive *arc; gtk_tree_model_get_iter(model, &iter, list->data); gtk_tree_model_get(model, &iter, LST_DSPUPC_DATAS, &arc, -1); //fix: don't open for total line if( arc != NULL ) ui_mainwindow_defarchive(arc); } g_list_foreach(selection, (GFunc)gtk_tree_path_free, NULL); g_list_free(selection); } } 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; GtkTreeModel *model; GList *selection, *list; DB( g_print("\n[hub-scheduled] editpost\n") ); selection = gtk_tree_selection_get_selected_rows(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_upc)), &model); list = g_list_first(selection); while(list != NULL) { GtkTreeIter iter; Archive *arc; gtk_tree_model_get_iter(model, &iter, list->data); gtk_tree_model_get(model, &iter, LST_DSPUPC_DATAS, &arc, -1); if( (arc != NULL) ) { ui_hub_scheduled_do_post(arc, TRUE, data); } list = g_list_next(list); } g_list_foreach(selection, (GFunc)gtk_tree_path_free, NULL); g_list_free(selection); 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; GtkTreeModel *model; GList *selection, *list; DB( g_print("\n[hub-scheduled] post\n") ); selection = gtk_tree_selection_get_selected_rows(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_upc)), &model); list = g_list_first(selection); while(list != NULL) { GtkTreeIter iter; Archive *arc; gtk_tree_model_get_iter(model, &iter, list->data); gtk_tree_model_get(model, &iter, LST_DSPUPC_DATAS, &arc, -1); 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); } } list = g_list_next(list); } g_list_foreach(selection, (GFunc)gtk_tree_path_free, NULL); g_list_free(selection); 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; GtkTreeModel *model; GList *selection, *list; DB( g_print("\n[hub-scheduled] skip\n") ); selection = gtk_tree_selection_get_selected_rows(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_upc)), &model); list = g_list_first(selection); while(list != NULL) { GtkTreeIter iter; Archive *arc; gtk_tree_model_get_iter(model, &iter, list->data); gtk_tree_model_get(model, &iter, LST_DSPUPC_DATAS, &arc, -1); if( (arc != NULL) && (arc->flags & OF_AUTO) ) { GLOBALS->changes_count++; scheduled_date_advance(arc); ui_hub_scheduled_populate(GLOBALS->mainwindow, NULL); } list = g_list_next(list); } g_list_foreach(selection, (GFunc)gtk_tree_path_free, NULL); g_list_free(selection); 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 count; //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)); count = gtk_tree_selection_count_selected_rows(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_upc))); //Archive *arc = ui_hub_scheduled_get_selected_item(GTK_TREE_VIEW(data->LV_upc)); if(count >= 1) { //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; guint32 fltmindate, fltmaxdate; 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(); PREFS->pnl_upc_range = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_sched_range)); 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); fltmindate = HB_MINDATE; fltmaxdate = HB_MAXDATE; scheduled_date_get_show_minmax(PREFS->pnl_upc_range, &fltmindate, &fltmaxdate); DB( hb_print_date(GLOBALS->today, "today" ) ); DB( hb_print_date(maxpostdate, "maxpostdate" ) ); DB( hb_print_date(fltmindate, "fltmindate" ) ); DB( hb_print_date(fltmaxdate, "fltmaxdate" ) ); list = g_list_first(GLOBALS->arc_list); while (list != NULL) { Archive *arc = list->data; Account *acc; gdouble inc, exp; gint 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(" eval %d in [%d-%d] ? days %d late %d, memo='%s'\n", arc->nextdate, fltmindate, fltmaxdate, nbdays, nblate, arc->memo) ); if( nblate == 0 ) { //#1857636 hide due date scheduled > custom user config if > 0 if( (arc->nextdate < fltmindate) || (arc->nextdate > fltmaxdate) ) { DB( g_print(" - skip '%s' : next %d >= maxshow %d\n", arc->memo, arc->nextdate, PREFS->pnl_upc_range) ); //TODO: count hidden goto next; } } DB( g_print(" ++ append\n") ); 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); } } next: 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_mnemonic (_("_Skip")); data->BT_sched_skip = widget; gtk_box_pack_start (GTK_BOX (bbox), widget, FALSE, FALSE, 0); widget = gtk_button_new_with_mnemonic(_("Edit & P_ost")); 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_mnemonic (_("_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); 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); //#1857636 add setting to input max due date to show widget = hbtk_combo_box_new_with_data (NULL, CYA_FLT_SCHEDULED); data->CY_sched_range = widget; toolitem = gtk_tool_item_new(); gtk_container_add (GTK_CONTAINER(toolitem), widget); gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1); //setup hbtk_combo_box_set_active_id (GTK_COMBO_BOX_TEXT(data->CY_sched_range), PREFS->pnl_upc_range); 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); g_signal_connect (data->CY_sched_range, "changed", G_CALLBACK (ui_hub_scheduled_populate), NULL); return hub; } homebank-5.5.2/src/enums.h0000644000175000017500000000443714007276247012340 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 */ LST_DSPOPE_MATCH, /* 14 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.5.2/src/ui-txn-multi.h0000664000175000017500000000304514007276247013561 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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.5.2/src/ui-budget-tabview.h0000644000175000017500000000367414007276247014537 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.5.2/src/dsp-account.c0000644000175000017500000026132314036560517013421 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 register_panel_make_assignment(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_createassignment(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; register_panel_make_assignment(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); } static void register_panel_action_viewsplit(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; Transaction *ope; ope = list_txn_get_active_transaction(GTK_TREE_VIEW(data->LV_ope)); if(ope != NULL) ui_split_view_dialog(data->window, ope); } /* = = = = = = = = 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(FLG_REG_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(FLG_REG_SENSITIVE)); } static void register_panel_action_edit_paste(GtkMenuItem *menuitem, gpointer user_data) { struct register_panel_data *data = user_data; GList *list; gboolean istoday = FALSE; DB( g_print("\n[register] paste normal\n") ); istoday = ( (gpointer)menuitem == (gpointer)data->MI_pastet ) ? TRUE : FALSE; DB( g_print(" paste %d - as today=%d\n", (gint)g_queue_get_length(data->q_txn_clip), istoday) ); 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( istoday == TRUE ) 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(FLG_REG_SENSITIVE+FLG_REG_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 *name, *filepath; GString *node; GIOChannel *io; gboolean detailsplit; 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"); name = g_strdup_printf("%s.csv", (data->showall == TRUE) ? GLOBALS->owner :data->acc->name); filepath = g_build_filename(PREFS->path_export, name, NULL); if( ui_dialog_export_csv(GTK_WINDOW(data->window), &filepath, &detailsplit, data->showall) == GTK_RESPONSE_ACCEPT ) { DB( g_printf(" filename is'%s'\n", filepath) ); io = g_io_channel_new_file(filepath, "w", NULL); if(io != NULL) { //TODO: add showall et detailsplit here //+ handle it node = list_txn_to_string(GTK_TREE_VIEW(data->LV_ope), FALSE, detailsplit, data->showall); g_io_channel_write_chars(io, node->str, -1, NULL, NULL); g_io_channel_unref (io); g_string_free(node, TRUE); } } g_free(filepath); g_free(name); } 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(FLG_REG_SENSITIVE|FLG_REG_BALANCE)); } static void register_panel_make_assignment(GtkWidget *widget, gpointer user_data) { struct register_panel_data *data; GtkTreeModel *model; GList *selection, *list; gint result, count; DB( g_print("\n[register] make assignment\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 an assignment 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) { Assign *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 assignment %s %.2f\n", ope->memo, ope->amount) ); //TODO: migrate to hb-assign item = da_asg_malloc(); da_asg_init_from_transaction(item, ope); da_asg_append(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_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, TRUE); //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 = user_data; Transaction *txn = NULL; Transaction *prevtxn = NULL; gint count = 0; DB( g_print("\n[register] move up\n\n") ); 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(FLG_REG_SENSITIVE|FLG_REG_BALANCE)); } } static void register_panel_move_down(GtkWidget *widget, gpointer user_data) { struct register_panel_data *data = user_data; Transaction *txn = NULL; Transaction *nexttxn = NULL; gint count = 0; DB( g_print("\n[register] move down\n\n") ); 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(FLG_REG_SENSITIVE|FLG_REG_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(FLG_REG_SENSITIVE+FLG_REG_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; gint dspstatus; 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]); DB( g_print(" - set range : %d\n", data->filter->range) ); DB( g_print(" - set type : %d\n", data->filter->type) ); DB( g_print(" - set status: %d\n", data->filter->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); //#1873324 register status quick filter do not reset //gtk_combo_box_set_active(GTK_COMBO_BOX(data->CY_status), data->filter->rawstatus); //#1878483 status with hidereconciled shows reconciled (due to filter !reconciled internal dspstatus = data->filter->status; if( (dspstatus == FLT_STATUS_RECONCILED) && (data->filter->option[FLT_GRP_STATUS] == 2) ) dspstatus = FLT_STATUS_UNRECONCILED; gtk_combo_box_set_active(GTK_COMBO_BOX(data->CY_status), dspstatus); 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(FLG_REG_SENSITIVE+FLG_REG_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); } } // this func to some toggle static void status_selected_foreach_func (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer userdata) { gint targetstatus = GPOINTER_TO_INT(userdata); Transaction *txn; gboolean saverecondate = FALSE; 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; saverecondate = TRUE; break; case TXN_STATUS_RECONCILED: txn->status = TXN_STATUS_CLEARED; txn->flags |= OF_CHANGED; break; } break; } transaction_changed(txn, saverecondate); 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(FLG_REG_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(); // miss from 5.2.8 ?? //da_transaction_set_default_template(src_txn); 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))); //#1873311 inherit+kepplastdate=OFF = today if( PREFS->heritdate == FALSE ) data->cur_ope->date = GLOBALS->today; //#1432204 inherit => status none 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); } deftransaction_set_transaction(dialog, data->cur_ope); result = gtk_dialog_run (GTK_DIALOG (dialog)); DB( g_print(" - dialog result is %d\n", result) ); 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); DB( g_print(" - added 1 transaction to %d\n", add_txn->kacc) ); register_panel_add_after_propagate(data, add_txn); register_panel_update(widget, GINT_TO_POINTER(FLG_REG_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(FLG_REG_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(FLG_REG_BALANCE)); } } //da_transaction_copy(new_txn, old_txn); register_panel_update(widget, GINT_TO_POINTER(FLG_REG_SENSITIVE|FLG_REG_BALANCE)); //TODO: saverecondate is handled in external edit already transaction_changed(new_txn, FALSE); 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(FLG_REG_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(FLG_REG_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(FLG_REG_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(FLG_REG_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(FLG_REG_SENSITIVE+FLG_REG_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(FLG_REG_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(FLG_REG_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 & FLG_REG_TITLE) { DB( g_print(" - FLG_REG_TITLE\n") ); } /* update toolbar & list */ if(flags & FLG_REG_VISUAL) { DB( g_print(" - FLG_REG_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 ? hb_widget_visible (data->CM_minor, PREFS->euro_active); } /* update balances */ if(flags & FLG_REG_BALANCE) { DB( g_print(" - FLG_REG_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_recon, acc->kcur, GLOBALS->minor); hb_label_set_colvalue(GTK_LABEL(data->TX_balance[1]), acc->bal_clear, acc->kcur, GLOBALS->minor); hb_label_set_colvalue(GTK_LABEL(data->TX_balance[2]), acc->bal_today, acc->kcur, GLOBALS->minor); hb_label_set_colvalue(GTK_LABEL(data->TX_balance[3]), acc->bal_future, acc->kcur, GLOBALS->minor); } else { GList *lst_acc, *lnk_acc; gdouble recon, clear, today, future; recon = clear = 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; recon += hb_amount_base(acc->bal_recon, acc->kcur); clear += hb_amount_base(acc->bal_clear, 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]), recon, GLOBALS->kcur, GLOBALS->minor); hb_label_set_colvalue(GTK_LABEL(data->TX_balance[1]), clear, GLOBALS->kcur, GLOBALS->minor); hb_label_set_colvalue(GTK_LABEL(data->TX_balance[2]), today, GLOBALS->kcur, GLOBALS->minor); hb_label_set_colvalue(GTK_LABEL(data->TX_balance[3]), future, GLOBALS->kcur, GLOBALS->minor); } ui_hub_account_compute(GLOBALS->mainwindow, NULL); } /* update disabled things */ if(flags & FLG_REG_SENSITIVE) { gboolean sensitive, psensitive, nsensitive; GtkTreeModel *model; gint sort_column_id; GtkSortType order; Transaction *ope; DB( g_print(" - FLG_REG_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_print, visible); hb_widget_visible(data->MI_exportqif, visible); //5.4.3 enabled //hb_widget_visible(data->MI_exportcsv, visible); //tools hb_widget_visible(data->MI_markdup, visible); hb_widget_visible(data->MI_chkintxfer, visible); //#1873248 Auto. assignments faulty visible on 'All transactions' window hb_widget_visible(data->MI_autoassign, 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); gtk_widget_set_sensitive(data->ME_popmenu, sensitive); // multiple: disable inherit, edit sensitive = (count != 1 ) ? FALSE : TRUE; gtk_widget_set_sensitive(data->MI_herit, sensitive); gtk_widget_set_sensitive(data->MI_popherit, sensitive); gtk_widget_set_sensitive(data->MI_edit, sensitive); gtk_widget_set_sensitive(data->MI_popedit, sensitive); gtk_widget_set_sensitive(data->BT_herit, sensitive); gtk_widget_set_sensitive(data->BT_edit, sensitive); //txn have split ope = list_txn_get_active_transaction(GTK_TREE_VIEW(data->LV_ope)); sensitive = (count == 1) && (ope != NULL) && (ope->flags & OF_SPLIT) ? TRUE : FALSE; gtk_widget_set_sensitive(data->MI_popviewsplit, sensitive); // single: disable multiedit sensitive = (count <= 1 ) ? FALSE : TRUE; gtk_widget_set_sensitive(data->MI_multiedit, sensitive); gtk_widget_set_sensitive(data->MI_popmultiedit, 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->ME_popmenustatus, sensitive); gtk_widget_set_sensitive(data->MI_delete, sensitive); gtk_widget_set_sensitive(data->MI_popdelete, sensitive); gtk_widget_set_sensitive(data->MI_assign, sensitive); gtk_widget_set_sensitive(data->MI_popassign, sensitive); gtk_widget_set_sensitive(data->MI_template, sensitive); gtk_widget_set_sensitive(data->MI_poptemplate, 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 : not when showall and when sort is not date visible = FALSE; psensitive = FALSE; nsensitive = FALSE; if( count == 1 && data->showall == FALSE ) { Transaction *prevtxn, *nexttxn; visible = TRUE; 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; prevtxn = NULL; nexttxn = NULL; Transaction *txn = list_txn_get_surround_transaction(GTK_TREE_VIEW(data->LV_ope), &prevtxn, &nexttxn); if( prevtxn && txn ) { psensitive = (prevtxn->date == txn->date) ? TRUE : FALSE; } if( nexttxn && txn ) { nsensitive = (nexttxn->date == txn->date) ? TRUE : FALSE; } } hb_widget_visible(data->BT_up, visible); hb_widget_visible(data->BT_down, visible); hb_widget_visible(data->MI_poptxnup, visible); hb_widget_visible(data->MI_poptxndown, visible); gtk_widget_set_sensitive(data->MI_poptxnup, psensitive); gtk_widget_set_sensitive(data->BT_up, psensitive); gtk_widget_set_sensitive(data->MI_poptxndown, nsensitive); gtk_widget_set_sensitive(data->BT_down, nsensitive); } //#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(" - FLG_REG_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); } } } } /* ** 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(FLG_REG_VISUAL|FLG_REG_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; } static gboolean register_panel_cb_search_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] search focus-in event\n") ); gtk_tree_selection_unselect_all(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_ope))); 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(FLG_REG_SENSITIVE+FLG_REG_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_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 gint listview_context_cb (GtkWidget *widget, GdkEventButton *event, GtkWidget *menu) { if (event->type == GDK_BUTTON_PRESS && event->button == 3) { // check we are not in the header but in bin window if (event->window == gtk_tree_view_get_bin_window (GTK_TREE_VIEW (widget))) { #if( (GTK_MAJOR_VERSION == 3) && (GTK_MINOR_VERSION >= 22) ) gtk_menu_popup_at_pointer(GTK_MENU(menu), (GdkEvent *)event); #else gtk_menu_popup (GTK_MENU(menu), NULL, NULL, NULL, NULL, event->button, event->time); #endif // 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; } static GtkWidget * register_panel_popmenu_create(struct register_panel_data *data) { GtkWidget *menu, *submenu; GtkWidget *menuitem; //GtkAccelGroup *accel_group = NULL; //accel_group = gtk_accel_group_new(); //gtk_window_add_accel_group(GTK_WINDOW(data->window), accel_group); menu = gtk_menu_new(); data->ME_popmenu = menu; menuitem = hbtk_menu_add_menuitem (menu, _("_Add...") ); data->MI_popadd = menuitem; menuitem = hbtk_menu_add_menuitem (menu, _("_Inherit...")); data->MI_popherit = menuitem; menuitem = hbtk_menu_add_menuitem (menu, _("_Edit...") ); data->MI_popedit = menuitem; menuitem = hbtk_menu_add_menuitem (menu, _("_Multiple Edit...")); data->MI_popmultiedit = menuitem; gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_separator_menu_item_new()); submenu = hbtk_menubar_add_menu(menu, _("_Status"), &data->ME_popmenustatus); menuitem = hbtk_menu_add_menuitem (submenu, _("_None")); data->MI_popstatnone = menuitem; menuitem = hbtk_menu_add_menuitem (submenu, _("_Cleared")); data->MI_popstatclear = menuitem; menuitem = hbtk_menu_add_menuitem (submenu, _("_Reconciled")); data->MI_popstatrecon = menuitem; gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_separator_menu_item_new()); menuitem = hbtk_menu_add_menuitem (menu, _("View _Split")); data->MI_popviewsplit = menuitem; menuitem = hbtk_menu_add_menuitem (menu, _("Create template...")); data->MI_poptemplate = menuitem; menuitem = hbtk_menu_add_menuitem (menu, _("Create assignment...")); data->MI_popassign = menuitem; menuitem = hbtk_menu_add_menuitem (menu, _("_Delete...") ); data->MI_popdelete = menuitem; gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_separator_menu_item_new()); menuitem = hbtk_menu_add_menuitem (menu, _("_Up")); data->MI_poptxnup = menuitem; menuitem = hbtk_menu_add_menuitem (menu, _("_Down")); data->MI_poptxndown = menuitem; gtk_widget_show_all(menu); g_signal_connect (data->MI_popadd , "activate", G_CALLBACK (register_panel_action_add), (gpointer)data); g_signal_connect (data->MI_popherit , "activate", G_CALLBACK (register_panel_action_inherit), (gpointer)data); g_signal_connect (data->MI_popedit , "activate", G_CALLBACK (register_panel_action_edit), (gpointer)data); g_signal_connect (data->MI_popmultiedit , "activate", G_CALLBACK (register_panel_action_multiedit), (gpointer)data); g_signal_connect (data->MI_popstatnone , "activate", G_CALLBACK (register_panel_action_none), (gpointer)data); g_signal_connect (data->MI_popstatclear , "activate", G_CALLBACK (register_panel_action_clear), (gpointer)data); g_signal_connect (data->MI_popstatrecon , "activate", G_CALLBACK (register_panel_action_reconcile), (gpointer)data); g_signal_connect (data->MI_popviewsplit , "activate", G_CALLBACK (register_panel_action_viewsplit), (gpointer)data); g_signal_connect (data->MI_poptemplate , "activate", G_CALLBACK (register_panel_action_createtemplate), (gpointer)data); g_signal_connect (data->MI_popassign , "activate", G_CALLBACK (register_panel_action_createassignment), (gpointer)data); g_signal_connect (data->MI_popdelete , "activate", G_CALLBACK (register_panel_action_delete), (gpointer)data); g_signal_connect (data->MI_poptxnup , "activate", G_CALLBACK (register_panel_move_up), (gpointer)data); g_signal_connect (data->MI_poptxndown , "activate", G_CALLBACK (register_panel_move_down), (gpointer)data); return menu; } 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_print = menuitem = hbtk_menu_add_menuitem(menu, _("Print...") ); gtk_widget_add_accelerator(menuitem, "activate", accel_group, GDK_KEY_p, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); 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_assign = hbtk_menu_add_menuitem(menu, _("Create assignment...")); 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; 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); /* 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 label = gtk_label_new(_("Reconciled:")); //data->LB_recon = label; 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(_("Cleared:")); //data->LB_clear = label; 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(_("Today:")); //data->LB_today = label; gtk_grid_attach (GTK_GRID(table), label, 7, 0, 1, 1); widget = gtk_label_new(NULL); data->TX_balance[2] = widget; gtk_grid_attach (GTK_GRID(table), widget, 8, 0, 1, 1); label = gtk_label_new(_("Future:")); //data->LB_futur = label; gtk_grid_attach (GTK_GRID(table), label, 9, 0, 1, 1); widget = gtk_label_new(NULL); data->TX_balance[3] = widget; g_object_set(widget, "margin", SPACING_TINY, NULL); gtk_grid_attach (GTK_GRID(table), widget, 10, 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_print , "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); data->handler_id[HID_SEARCH] = g_signal_connect (data->ST_search, "search-changed", G_CALLBACK (quick_search_text_changed_cb), data); //#1879451 deselect all when quicksearch has the focus (to prevent delete) g_signal_connect (data->ST_search, "focus-in-event", G_CALLBACK (register_panel_cb_search_focus_in_event), 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)); GtkWidget *popmenu = register_panel_popmenu_create(data); //todo: debug test g_signal_connect (treeview, "button-press-event", G_CALLBACK (listview_context_cb), // todo: here is not a GtkMenu but GtkImageMenuItem... popmenu //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.5.2/src/hb-archive.h0000644000175000017500000000541614017416051013205 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 }; enum { FLT_SCHEDULED_THISMONTH = 1, FLT_SCHEDULED_NEXTMONTH, FLT_SCHEDULED_NEXT30DAYS, FLT_SCHEDULED_NEXT60DAYS, FLT_SCHEDULED_NEXT90DAYS, FLT_SCHEDULED_ALLDATE }; 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); guint da_archive_length(void); void da_archive_stats(gint *nbtpl, gint *nbsch); 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 fromregister); GList *da_archive_glist_sorted(gint column); 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); void scheduled_date_get_show_minmax(gint select, guint32 *mindate, guint32 *maxdate); guint32 scheduled_date_get_post_max(void); gint scheduled_post_all_pending(void); #endif homebank-5.5.2/src/hb-xml.c0000644000175000017500000014003014007276243012355 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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") ); da_archive_glist_sorted(1); } // 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], "maximum" )) { entry->maximum = 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]); } //5.5 else if(!strcmp (attribute_names[i], "ccday" )) { entry->cccday = atoi(attribute_values[i]); } else if(!strcmp (attribute_names[i], "rdate" )) { entry->rdate = 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 //#1892828 append change the pos... //da_asg_append(entry); da_asg_insert(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 ) { //TODO: beware here of we display all the file... DB( g_print(" d=%.25s)\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; } if( ctx.data_version < 50402 ) { //fix income txn flag that may be incorrect (multiple edit) dosanity = TRUE; } // next ? // sanity check at last 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_amt(node, "maximum", item->maximum); 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); //5.5 hb_xml_append_int(node, "ccday", item->cccday); hb_xml_append_int(node, "rdate", item->rdate); 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 = da_archive_glist_sorted(0); 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); //The default encoding for the external file is UTF-8. 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_grp(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_ope(io); g_io_channel_write_chars(io, "\n", -1, NULL, NULL); g_io_channel_unref (io); return retval; } homebank-5.5.2/src/gtk-dateentry.c0000644000175000017500000004520014036562435013756 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 #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) G_DEFINE_TYPE_WITH_CODE(GtkDateEntry, gtk_date_entry, GTK_TYPE_BOX, G_ADD_PRIVATE (GtkDateEntry)) // 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; DB( g_print(" pre %d %d %d\n", g_date_get_day(priv->date), g_date_get_month(priv->date), g_date_get_year(priv->date)) ); g_date_clamp(priv->date, &priv->mindate, &priv->maxdate); DB( g_print(" min %d %d %d\n", g_date_get_day(&priv->mindate), g_date_get_month(&priv->mindate), g_date_get_year(&priv->mindate)) ); DB( g_print(" max %d %d %d\n", g_date_get_day(&priv->maxdate), g_date_get_month(&priv->maxdate), g_date_get_year(&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); DB( g_print(" post %d %d %d\n", g_date_get_day(priv->date), g_date_get_month(priv->date), g_date_get_year(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); DB( g_print(" parsed '%s' %d %d %d\n", str, g_date_get_day(priv->date), g_date_get_month(priv->date), g_date_get_year(priv->date)) ); 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); DB( g_print(" tokened %d %d %d\n", g_date_get_day(priv->date), g_date_get_month(priv->date), g_date_get_year(priv->date)) ); } //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_set_calendar (GtkWidget * widget, GtkDateEntry * dateentry) { GtkDateEntryPrivate *priv = dateentry->priv; guint day, month; DB( g_print("\n[dateentry] set calendar\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), month, g_date_get_year (priv->date)); gtk_calendar_select_day (GTK_CALENDAR (priv->calendar), day); g_signal_handler_unblock(priv->calendar, priv->hid_dayselect); } static void gtk_date_entry_cb_today_clicked (GtkWidget * widget, GtkDateEntry * dateentry) { GtkDateEntryPrivate *priv = dateentry->priv; DB( g_print("\n[dateentry] today_clicked\n") ); //revert to now (today) g_date_set_time_t(priv->date, time(NULL)); eval_date(dateentry); gtk_date_entry_set_calendar(widget, dateentry); //1923368 keep the popover visible //gtk_widget_hide (priv->popover); } 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; guint action; DB( g_print("\n[dateentry] entry key pressed") ); DB( g_print(" state: %s %s\n", (event->state & GDK_SHIFT_MASK) ? "shift" : "", (event->state & GDK_CONTROL_MASK) ? "ctrl" : "" ) ); DB( g_print(" kyval: %s %s\n", (event->keyval == GDK_KEY_Up) ? "up" : "", (event->keyval == GDK_KEY_Down) ? "down" : "") ); if( (event->type != GDK_KEY_PRESS) ) return FALSE; //#1873643 preserve Up/Down (+ctrl) natural GTK focus change if( (event->state & GDK_CONTROL_MASK) && !(event->state & GDK_SHIFT_MASK) ) return FALSE; if( (event->keyval == GDK_KEY_Up) || (event->keyval == GDK_KEY_Down) ) { //let's bitwise key to an action-id action = 0; action |= (event->state & GDK_SHIFT_MASK) ? 2 : 0; action |= (event->state & GDK_CONTROL_MASK) ? 4 : 0; action |= (event->keyval == GDK_KEY_Down) ? 1 : 0; DB( g_print(" action: %d\n", action) ); switch(action) { case 0: g_date_add_days (priv->date, 1); break; case 1: g_date_subtract_days (priv->date, 1); break; case 2: g_date_add_months (priv->date, 1); break; case 3: g_date_subtract_months (priv->date, 1); break; case 6: g_date_add_years (priv->date, 1); break; case 7: g_date_subtract_years (priv->date, 1); break; } eval_date(dateentry); //stop handlers return TRUE; } //propagate 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; DB( g_print("\n[dateentry] button_clicked\n") ); gtk_date_entry_set_calendar(widget, dateentry); 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; GtkWidget *vbox; 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);*/ dateentry->priv = gtk_date_entry_get_instance_private(dateentry); 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); vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_container_add (GTK_CONTAINER (priv->popover), vbox); gtk_widget_set_margin_start (vbox, 10); gtk_widget_set_margin_end (vbox, 10); gtk_widget_set_margin_top (vbox, 10); gtk_widget_set_margin_bottom (vbox, 10); priv->calendar = gtk_calendar_new (); gtk_box_pack_start(GTK_BOX(vbox), priv->calendar, FALSE, FALSE, 0); priv->BT_today = gtk_button_new_with_mnemonic ( gettext("_Today")); gtk_box_pack_start(GTK_BOX(vbox), priv->BT_today, FALSE, FALSE, 0); 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); g_signal_connect (priv->BT_today, "clicked", G_CALLBACK (gtk_date_entry_cb_today_clicked), 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.5.2/src/ui-group.c0000664000175000017500000002020014007276243012733 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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.5.2/src/rep-time.c0000644000175000017500000014176314021201631012707 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 reptime_update(GtkWidget *widget, gpointer user_data); static void reptime_compute(GtkWidget *widget, gpointer user_data); static void reptime_sensitive(GtkWidget *widget, gpointer user_data); static void reptime_update_daterange(GtkWidget *widget, gpointer user_data); static GtkWidget *lst_reptime_create(void); static GString *lst_reptime_to_string(GtkTreeView *treeview, gchar *title, gboolean clipboard); static void lst_reptime_set_cur(GtkTreeView *treeview, guint32 kcur); 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_MODE2[]; extern gchar *CYA_ABMONTHS[]; /* action functions -------------------- */ static void reptime_action_viewlist(GtkToolButton *toolbutton, gpointer user_data) { struct reptime_data *data = user_data; data->charttype = CHART_TYPE_NONE; gtk_notebook_set_current_page(GTK_NOTEBOOK(data->GR_result), 0); reptime_sensitive(data->window, NULL); } static void reptime_action_viewline(GtkToolButton *toolbutton, gpointer user_data) { struct reptime_data *data = user_data; data->charttype = CHART_TYPE_LINE; gtk_notebook_set_current_page(GTK_NOTEBOOK(data->GR_result), 1); reptime_sensitive(data->window, NULL); reptime_update(data->window, NULL); } static void reptime_action_viewcolumn(GtkToolButton *toolbutton, gpointer user_data) { struct reptime_data *data = user_data; data->charttype = CHART_TYPE_COL; gtk_notebook_set_current_page(GTK_NOTEBOOK(data->GR_result), 1); reptime_sensitive(data->window, NULL); reptime_update(data->window, NULL); } static void reptime_action_print(GtkToolButton *toolbutton, gpointer user_data) { struct reptime_data *data = user_data; gint tmpsrc; gchar *name; 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) ); gtk_chart_print(GTK_CHART(data->RE_chart), GTK_WINDOW(data->window), PREFS->path_export, name); g_free(name); } /* ** ============================================================================ */ static void reptime_date_change(GtkWidget *widget, gpointer user_data) { struct 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]); reptime_compute(widget, NULL); reptime_update_daterange(widget, NULL); } static void reptime_update_quickdate(GtkWidget *widget, gpointer user_data) { struct 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 reptime_range_change(GtkWidget *widget, gpointer user_data) { struct 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); reptime_update_quickdate(widget, NULL); reptime_compute(widget, NULL); reptime_update_daterange(widget, NULL); } } static void reptime_update_daterange(GtkWidget *widget, gpointer user_data) { struct 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 reptime_update(GtkWidget *widget, gpointer user_data) { struct reptime_data *data; GtkTreeModel *model; gint page; gint tmpsrc; gboolean cumul; 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)); cumul = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_cumul)); // 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_chart), FALSE, FALSE); gtk_chart_show_xval(GTK_CHART(data->RE_chart), TRUE); gtk_chart_show_average(GTK_CHART(data->RE_chart), data->average, cumul); //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_chart), 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_chart), data->charttype); gtk_chart_set_showmono(GTK_CHART(data->RE_chart), TRUE); } } static void reptime_export_result_clipboard(GtkWidget *widget, gpointer user_data) { struct reptime_data *data; GtkClipboard *clipboard; GString *node; gchar *title; gint tmpintvl; 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"); tmpintvl = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_intvl)); title = hbtk_get_label(CYA_REPORT_INTVL, tmpintvl); node = lst_reptime_to_string(GTK_TREE_VIEW(data->LV_report), title, 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 reptime_export_result_csv(GtkWidget *widget, gpointer user_data) { struct reptime_data *data; gchar *filename = NULL; GString *node; GIOChannel *io; gchar *name; gint tmpsrc; gchar *title; gint tmpintvl; 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) { tmpintvl = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_intvl)); title = hbtk_get_label(CYA_REPORT_INTVL, tmpintvl); node = lst_reptime_to_string(GTK_TREE_VIEW(data->LV_report), title, 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 reptime_export_detail_clipboard(GtkWidget *widget, gpointer user_data) { struct 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, FALSE, FALSE); 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 reptime_export_detail_csv(GtkWidget *widget, gpointer user_data) { struct 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, FALSE, 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 reptime_update_for(GtkWidget *widget, gpointer user_data) { struct 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 reptime_for(GtkWidget *widget, gpointer user_data) { struct 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"); reptime_update_for(widget, data); reptime_compute(widget, data); } //TODO: this is temporary, as at end we will enable filter static void reptime_compute_set_filter(Filter *flt, gint tmpsrc, guint32 selkey) { //inactive all filters flt->option[FLT_GRP_CATEGORY] = 0; flt->option[FLT_GRP_PAYEE] = 0; flt->option[FLT_GRP_ACCOUNT] = 0; flt->option[FLT_GRP_TEXT] = 0; switch(tmpsrc) { case REPORT_SRC_ACCOUNT: flt->option[FLT_GRP_ACCOUNT] = 1; filter_status_acc_clear_except(flt, selkey); break; case REPORT_SRC_CATEGORY: flt->option[FLT_GRP_CATEGORY] = 1; filter_status_cat_clear_except(flt, selkey); break; case REPORT_SRC_PAYEE: flt->option[FLT_GRP_PAYEE] = 1; filter_status_pay_clear_except(flt, selkey); break; case REPORT_SRC_TAG: flt->option[FLT_GRP_TEXT] = 1; filter_set_tag_by_id(flt, selkey); break; } } static void reptime_detail(GtkWidget *widget, gpointer user_data) { struct 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)); //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 reptime_compute(GtkWidget *widget, gpointer user_data) { struct 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[FLT_GRP_CATEGORY] = 0; data->filter->option[FLT_GRP_PAYEE] = 0; data->filter->option[FLT_GRP_ACCOUNT] = 0; data->filter->option[FLT_GRP_TEXT] = 0; } else 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); 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; //fix 5.4.2 crash here gtk_chart_set_overdrawn(GTK_CHART(data->RE_chart), acc->minimum); } } lst_reptime_set_cur(GTK_TREE_VIEW(data->LV_report), kcur); gtk_chart_set_currency(GTK_CHART(data->RE_chart), 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); reptime_update(widget, user_data); } static void reptime_sensitive(GtkWidget *widget, gpointer user_data) { struct 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->BT_print, visible); 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 reptime_detail_onRowActivated (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *col, gpointer userdata) { struct 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++; reptime_compute(data->window, NULL); } da_transaction_free (old_txn); } } static void reptime_update_detail(GtkWidget *widget, gpointer user_data) { struct 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) ); 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 reptime_toggle_detail(GtkWidget *widget, gpointer user_data) { struct 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) ); reptime_update_detail(widget, user_data); } static void reptime_zoomx_callback(GtkWidget *widget, gpointer user_data) { struct 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_chart), value); } static void reptime_toggle_minor(GtkWidget *widget, gpointer user_data) { struct 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_chart), GLOBALS->minor); gtk_chart_queue_redraw(GTK_CHART(data->RE_chart)); } static void reptime_toggle_showall(GtkWidget *widget, gpointer user_data) { struct 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); reptime_compute(widget, data); } static void 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) ); reptime_detail(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), GINT_TO_POINTER(key)); reptime_sensitive(GTK_WIDGET(gtk_tree_selection_get_tree_view (treeselection)), NULL); } static GtkWidget * reptime_toolbar_create(struct 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 (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 (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 (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 (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); button = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_PRINT, _("Print"), _("Print")); data->BT_print = button; return toolbar; } //reset the filter static void reptime_filter_setup(struct reptime_data *data) { DB( g_print("\n[reptime] reset filter\n") ); filter_reset(data->filter); /* 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[FLT_GRP_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]); } static void reptime_window_setup(struct reptime_data *data, guint32 accnum) { DB( g_print("\n[reptime] setup\n") ); reptime_filter_setup(data); data->detail = 0; 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)); gtk_chart_set_smallfont (GTK_CHART(data->RE_chart), PREFS->rep_smallfont); DB( g_print(" all ok\n") ); } static gboolean reptime_window_dispose(GtkWidget *widget, GdkEvent *event, gpointer user_data) { struct 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)); //unref window to our open window list GLOBALS->openwindows = g_slist_remove(GLOBALS->openwindows, widget); return FALSE; } //allocate our object/memory static void reptime_window_acquire(struct reptime_data *data) { DB( g_print("\n[repdist] acquire\n") ); data->txn_queue = g_queue_new (); data->filter = da_flt_malloc(); } // the window creation GtkWidget *reptime_window_new(guint32 accnum) { struct reptime_data *data; struct WinGeometry *wg; GtkWidget *window, *mainvbox, *hbox, *vbox, *notebook, *treeview; GtkWidget *label, *widget, *table; gint row; DB( g_print("\n[reptime] new\n") ); data = g_malloc0(sizeof(struct reptime_data)); if(!data) return NULL; reptime_window_acquire(data); //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; //ref window to our open window list GLOBALS->openwindows = g_slist_prepend(GLOBALS->openwindows, 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 = 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 = lst_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_chart = 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 (reptime_window_dispose), (gpointer)data); g_signal_connect (data->CM_cumul, "toggled", G_CALLBACK (reptime_compute), NULL); g_signal_connect (data->CM_minor, "toggled", G_CALLBACK (reptime_toggle_minor), NULL); data->handler_id[HID_REPTIME_MINDATE] = g_signal_connect (data->PO_mindate, "changed", G_CALLBACK (reptime_date_change), (gpointer)data); data->handler_id[HID_REPTIME_MAXDATE] = g_signal_connect (data->PO_maxdate, "changed", G_CALLBACK (reptime_date_change), (gpointer)data); data->handler_id[HID_REPTIME_RANGE] = g_signal_connect (data->CY_range, "changed", G_CALLBACK (reptime_range_change), NULL); g_signal_connect (data->CY_src, "changed", G_CALLBACK (reptime_for), (gpointer)data); data->handler_id[HID_REPTIME_VIEW] = g_signal_connect (data->CY_intvl, "changed", G_CALLBACK (reptime_compute), (gpointer)data); g_signal_connect (data->CM_showempty, "toggled", G_CALLBACK (reptime_compute), NULL); //setup, init and show window reptime_window_setup(data, accnum); g_signal_connect (data->CM_all, "toggled", G_CALLBACK (reptime_toggle_showall), NULL); g_signal_connect (data->PO_acc, "changed", G_CALLBACK (reptime_compute), NULL); g_signal_connect (data->PO_cat, "changed", G_CALLBACK (reptime_compute), NULL); g_signal_connect (data->PO_pay, "changed", G_CALLBACK (reptime_compute), NULL); g_signal_connect (data->PO_tag, "changed", G_CALLBACK (reptime_compute), NULL); g_signal_connect (data->RG_zoomx, "value-changed", G_CALLBACK (reptime_zoomx_callback), NULL); g_signal_connect (G_OBJECT (data->BT_list), "clicked", G_CALLBACK (reptime_action_viewlist), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_line), "clicked", G_CALLBACK (reptime_action_viewline), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_column), "clicked", G_CALLBACK (reptime_action_viewcolumn), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_detail), "clicked", G_CALLBACK (reptime_toggle_detail), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_refresh), "clicked", G_CALLBACK (reptime_compute), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_print), "clicked", G_CALLBACK (reptime_action_print), (gpointer)data); //export is a menu g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_report)), "changed", G_CALLBACK (reptime_selection), NULL); g_signal_connect (GTK_TREE_VIEW(data->LV_detail), "row-activated", G_CALLBACK (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); reptime_update_for(window, data); //gtk_widget_hide(data->GR_detail); reptime_sensitive(window, NULL); 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 reptime_compute(window, NULL); return window; } /* ** ============================================================================ */ static GString *lst_reptime_to_string(GtkTreeView *treeview, gchar *title, 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, (title == NULL) ? _("Time slice") : title, _("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 lst_reptime_cell_data_function_amount (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 *lst_reptime_column_create_amount(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, lst_reptime_cell_data_function_amount, 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 gint lst_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; } static void lst_reptime_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 *lst_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 = lst_reptime_column_create_amount(_("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 , lst_reptime_compare_func, GINT_TO_POINTER(LST_REPTIME_POS), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_REPTIME_AMOUNT, lst_reptime_compare_func, GINT_TO_POINTER(LST_REPTIME_AMOUNT), NULL); return(view); } homebank-5.5.2/src/rep-balance.c0000644000175000017500000011557714021203010013333 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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_update_daterange(GtkWidget *widget, gpointer user_data); static void repbalance_detail(GtkWidget *widget, gpointer user_data); static void repbalance_sensitive(GtkWidget *widget, gpointer user_data); static void repbalance_compute(GtkWidget *widget, gpointer user_data); static GtkWidget *lst_repbal_create(void); static void lst_repbal_set_cur(GtkTreeView *treeview, guint32 kcur); //todo amiga/linux //prev //next extern HbKvData CYA_REPORT_INTVL[]; /* action functions -------------------- */ static void repbalance_action_viewlist(GtkToolButton *toolbutton, 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(GtkToolButton *toolbutton, 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 repbalance_action_print(GtkToolButton *toolbutton, gpointer user_data) { struct repbalance_data *data = user_data; gtk_chart_print(GTK_CHART(data->RE_chart), GTK_WINDOW(data->window), NULL, 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, 0); 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_KEY, &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; 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)); visible = page == 0 ? TRUE : FALSE; hb_widget_visible (data->BT_detail, 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->BT_print, visible); 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]; 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 minor = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_minor)); hb_strfmon(buf, 127, data->minimum, data->usrkcur, minor); ////TRANSLATORS: count of transaction in balancedrawn / count of total transaction under abalancedrawn amount threshold info = g_strdup_printf(_("%d/%d under %s"), data->nbovrdraft, 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); guint tmpintvl; 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[repbalance] detail\n") ); tmpintvl = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_intvl)); /* 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_list_first(data->ope_list); while (list != NULL) { Transaction *ope = list->data; guint pos; if( (ope->date >= data->filter->mindate) && (ope->date <= data->filter->maxdate) ) { //#1907699 date is wrong //pos = report_interval_get_pos(tmpintvl, data->filter->mindate, ope); pos = report_interval_get_pos(tmpintvl, data->jbasedate, ope); DB( g_print(" get '%s', pos=%d act=%d\n", ope->memo, pos, active) ); //filter here //if( pos == active && (ope->kacc == acckey || selectall) ) if( pos == active ) { DB( g_print(" insert\n") ); gtk_list_store_insert_with_values (GTK_LIST_STORE(model), &iter, -1, 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 gboolean repbalance_cb_acc_activate_link (GtkWidget *label, const gchar *uri, gpointer user_data) { struct repbalance_data *data; GtkTreeModel *model; GtkTreeIter iter; gboolean valid; data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(label), GTK_TYPE_WINDOW)), "inst_data"); DB( g_print(" comboboxlink '%s' \n", uri) ); model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_acc)); 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); } } g_signal_emit_by_name(gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_acc)), "changed", NULL); return TRUE; } static void repbalance_cb_acc_changed(GtkTreeSelection *treeselection, gpointer user_data) { GtkTreeView *treeview; treeview = gtk_tree_selection_get_tree_view(treeselection); repbalance_compute (GTK_WIDGET(treeview), NULL); } 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_KEY, &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_chart), 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_chart), GLOBALS->minor); gtk_chart_queue_redraw(GTK_CHART(data->RE_chart)); } static void repbalance_compute(GtkWidget *widget, gpointer user_data) { struct repbalance_data *data; gint tmpintvl; gboolean showempty; GList *lst_acc, *lnk_acc; GList *lnk_txn; guint32 i, jmindate, jmaxdate, maxkacc; gdouble trn_amount; GtkTreeModel *model; GtkTreeIter iter; //Account *acc; gint usrnbacc, usrrange; DB( g_print(" \n[repbalance] compute\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); //get kacc array maxkacc = da_acc_get_max_key(); data->tmp_acckeys = g_malloc0((maxkacc+2) * sizeof(guint32)); //reset our data data->nbope = 0; data->nbovrdraft = 0; data->firstbalance = 0.0; //TODO: use a Queue here g_list_free(data->ope_list); data->ope_list = NULL; jmindate = 0; jmaxdate = 0; //grab user selection tmpintvl = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_intvl)); usrrange = 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)); usrnbacc = ui_acc_listview_fill_keys(GTK_TREE_VIEW(data->LV_acc), data->tmp_acckeys, &data->usrkcur); DB( g_print(" usr: nbacc:%d, kcur:%d, empty:%d\n\n", usrnbacc, data->usrkcur, showempty) ); // clear everything model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_report)); gtk_list_store_clear (GTK_LIST_STORE(model)); gtk_chart_set_datas_none(GTK_CHART(data->RE_chart)); if( (usrnbacc == 0) ) goto end; //grab data from user selected account 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; // avoid unselected and noreport (maybe already filtered into list) if( (acc->flags & (AF_NOREPORT)) || (data->tmp_acckeys[acc->key] == 0) ) goto next_acc; // set minimum (only used when 1 account is selected) data->minimum = acc->minimum; // if more than 1 cur get amount as base currency trn_amount = 0.0; if( (data->usrkcur != acc->kcur) ) trn_amount = hb_amount_base(acc->initial, acc->kcur); else trn_amount = acc->initial; data->firstbalance += trn_amount; DB( g_print(" - stored initial %.2f for account %d:%s\n", trn_amount, acc->key, acc->name) ); // get mindate lnk_txn = g_queue_peek_head_link(acc->txn_queue); if(lnk_txn) { Transaction *txn = lnk_txn->data; if(jmindate == 0) jmindate = txn->date; else jmindate = MIN(jmindate, txn->date); } // get maxdate lnk_txn = g_queue_peek_tail_link(acc->txn_queue); if(lnk_txn) { Transaction *txn = lnk_txn->data; if(jmaxdate == 0) jmaxdate = txn->date; else jmaxdate = MAX(jmaxdate, txn->date); } DB( g_print(" mindate: %d maxdate: %d\n", jmindate, jmaxdate) ); //collect every txn for account lnk_txn = g_queue_peek_head_link(acc->txn_queue); while (lnk_txn != NULL) { Transaction *txn = lnk_txn->data; //5.5 forgot to filter... if( !((txn->status == TXN_STATUS_REMIND) || (txn->status == TXN_STATUS_VOID)) ) { //5.3 append is damn slow //list = g_list_append(list, txn); data->ope_list = g_list_prepend(data->ope_list, txn); } lnk_txn = g_list_next(lnk_txn); } next_acc: lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); if(g_list_length(data->ope_list) == 0) goto end; // grab nb result and allocate memory data->jbasedate = jmindate; data->n_result = report_interval_count(tmpintvl, jmindate, jmaxdate); data->tmp_income = g_malloc0((data->n_result+2) * sizeof(gdouble)); data->tmp_expense = g_malloc0((data->n_result+2) * sizeof(gdouble)); DB( g_print(" %d days in selection, %d results", jmaxdate - jmindate, data->n_result) ); if(data->tmp_income && data->tmp_expense) { GList *list; gdouble trn_amount; /* sort by date & compute the balance */ data->ope_list = da_transaction_sort (data->ope_list); list = g_list_first(data->ope_list); while (list != NULL) { Transaction *ope = list->data; //if(selkey == ope->kacc || selectall == TRUE) if( (data->tmp_acckeys[ope->kacc] == TRUE) ) { // if more than 1 cur get amount as base currency if( (data->usrkcur != ope->kcur) ) trn_amount = hb_amount_base(ope->amount, ope->kcur); else trn_amount = ope->amount; // cumulate pre-date range balance if( (ope->date < data->filter->mindate) ) data->firstbalance += trn_amount; if( (ope->date >= data->filter->mindate) && (ope->date <= data->filter->maxdate) ) { gint pos = report_interval_get_pos(tmpintvl, data->jbasedate, ope); //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); } } // update the date range if alldate is selected if( (usrrange == FLT_RANGE_ALLDATE) ) { data->filter->mindate = jmindate; data->filter->maxdate = jmaxdate; repbalance_update_quickdate(widget, NULL); } // set currency lst_repbal_set_cur(GTK_TREE_VIEW(data->LV_report), data->usrkcur); gtk_chart_set_currency(GTK_CHART(data->RE_chart), data->usrkcur); // ref and detach model for speed g_object_ref(model); gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_report), NULL); DB( g_print(" inserting %d results\n", data->n_result) ); gdouble balance = data->firstbalance; for(i=0;i<=data->n_result;i++) { gboolean is_ovrdraft = FALSE; gchar intvlname[64]; balance += data->tmp_expense[i]; balance += data->tmp_income[i]; if(!showempty && data->tmp_expense[i] == 0 && data->tmp_income[i] == 0) continue; if(usrnbacc == 1) is_ovrdraft = (balance < data->minimum) ? TRUE : FALSE; //#1907699 date is wrong //report_interval_snprint_name(intvlname, sizeof(intvlname)-1, tmpintvl, data->filter->mindate, i); report_interval_snprint_name(intvlname, sizeof(intvlname)-1, tmpintvl, jmindate, i); /* column 0: pos (gint) */ /* not used: column 1: key (gint) */ /* column 2: name (gchar) */ /* column x: values (double) */ gtk_list_store_insert_with_values (GTK_LIST_STORE(model), &iter, -1, LST_OVER_OVER, is_ovrdraft, //LST_OVER_DATE, posdate, LST_OVER_KEY, i, LST_OVER_DATESTR, intvlname, LST_OVER_EXPENSE, data->tmp_expense[i], LST_OVER_INCOME , data->tmp_income[i], LST_OVER_BALANCE, balance, -1); data->nbope++; if(is_ovrdraft == TRUE) data->nbovrdraft++; } gboolean visible = (usrnbacc > 1) ? FALSE : TRUE; gtk_widget_set_visible (GTK_WIDGET(data->TX_info), visible); gtk_chart_show_overdrawn(GTK_CHART(data->RE_chart), visible); if( visible == TRUE ) { repbalance_update_info(widget, NULL); gtk_chart_set_overdrawn(GTK_CHART(data->RE_chart), data->minimum); } /* Re-attach model to view */ gtk_tree_view_set_model(GTK_TREE_VIEW(data->LV_report), model); g_object_unref(model); /* update bar chart */ gtk_chart_set_datas(GTK_CHART(data->RE_chart), model, LST_OVER_BALANCE, NULL, NULL); //gtk_chart_set_line_datas(GTK_CHART(data->RE_chart), model, LST_OVER_BALANCE, LST_OVER_DATE); end: g_free(data->tmp_expense); g_free(data->tmp_income); g_free(data->tmp_acckeys); data->tmp_expense = NULL; data->tmp_income = NULL; data->tmp_acckeys = NULL; } static GtkWidget * repbalance_toolbar_create(struct repbalance_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 = 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; button = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_PRINT, _("Print"), _("Print")); data->BT_print = button; return toolbar; } //reset the filter static void repbalance_filter_setup(struct repbalance_data *data) { DB( g_print("\n[repbalance] reset filter\n") ); filter_reset(data->filter); filter_preset_daterange_set(data->filter, PREFS->date_range_rep, 0); } static void repbalance_window_setup(struct repbalance_data *data, guint32 accnum) { DB( g_print(" \n[repbalance] setup\n") ); repbalance_filter_setup(data); repbalance_update_quickdate(data->window, NULL); ui_acc_listview_populate(data->LV_acc, ACC_LST_INSERT_REPORT); ui_acc_listview_set_active(GTK_TREE_VIEW(data->LV_acc), accnum ? accnum : 1); gtk_chart_show_legend(GTK_CHART(data->RE_chart), FALSE, FALSE); gtk_chart_show_xval(GTK_CHART(data->RE_chart), TRUE); gtk_chart_set_smallfont (GTK_CHART(data->RE_chart), PREFS->rep_smallfont); } 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)); //unref window to our open window list GLOBALS->openwindows = g_slist_remove(GLOBALS->openwindows, widget); return FALSE; } //allocate our object/memory static void repbalance_window_acquire(struct repbalance_data *data) { DB( g_print("\n[repbalance] acquire\n") ); data->ope_list = NULL; data->filter = da_flt_malloc(); } // the window creation GtkWidget *repbalance_window_new(gint accnum) { struct repbalance_data *data; struct WinGeometry *wg; GtkWidget *window, *mainvbox, *hbox, *vbox, *notebook, *sw; GtkWidget *label, *widget, *table, *treebox, *treeview; gint row; DB( g_print(" \n[repbalance] new\n") ); data = g_malloc0(sizeof(struct repbalance_data)); if(!data) return NULL; repbalance_window_acquire (data); //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; //ref window to our open window list GLOBALS->openwindows = g_slist_prepend(GLOBALS->openwindows, 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); //5.5 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); row++; widget = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL); gtk_grid_attach (GTK_GRID (table), widget, 0, row, 3, 1); row++; label = make_label_group(_("Account filter")); gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1); row++; treebox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL); gtk_grid_attach (GTK_GRID (table), treebox, 1, row, 2, 1); 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 (treebox), label, FALSE, FALSE, 0); label = make_clicklabel("all", _("All")); data->BT_all = label; gtk_box_pack_start (GTK_BOX (treebox), label, FALSE, FALSE, 0); label = make_clicklabel("non", _("None")); data->BT_non = label; gtk_box_pack_start (GTK_BOX (treebox), label, FALSE, FALSE, 0); row++; sw = gtk_scrolled_window_new(NULL,NULL); data->SW_acc = sw; gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_ETCHED_IN); gtk_widget_set_margin_bottom (sw, SPACING_LARGE); widget = ui_acc_listview_new(TRUE); data->LV_acc = widget; gtk_widget_set_vexpand (widget, TRUE); gtk_widget_set_size_request(data->LV_acc, HB_MINWIDTH_LIST, -1); gtk_container_add(GTK_CONTAINER(sw), data->LV_acc); gtk_grid_attach (GTK_GRID (table), sw, 1, row, 2, 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 = repbalance_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_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 = lst_repbal_create(); 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_chart = 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); g_signal_connect (data->CY_intvl, "changed", G_CALLBACK (repbalance_compute), (gpointer)data); 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); //setup, init and show window repbalance_window_setup(data, accnum); // acc treeview g_signal_connect (data->BT_all, "activate-link", G_CALLBACK (repbalance_cb_acc_activate_link), NULL); g_signal_connect (data->BT_non, "activate-link", G_CALLBACK (repbalance_cb_acc_activate_link), NULL); g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_acc)), "changed", G_CALLBACK (repbalance_cb_acc_changed), NULL); g_signal_connect (data->CM_showempty, "toggled", G_CALLBACK (repbalance_compute), NULL); g_signal_connect (data->RG_zoomx, "value-changed", G_CALLBACK (repbalance_zoomx_callback), NULL); g_signal_connect (G_OBJECT (data->BT_list), "clicked", G_CALLBACK (repbalance_action_viewlist), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_line), "clicked", G_CALLBACK (repbalance_action_viewline), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_detail), "clicked", G_CALLBACK (repbalance_toggle_detail), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_refresh), "clicked", G_CALLBACK (repbalance_compute), (gpointer)data); g_signal_connect (G_OBJECT (data->BT_print), "clicked", G_CALLBACK (repbalance_action_print), (gpointer)data); g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_report)), "changed", G_CALLBACK (repbalance_selection), 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 lst_repbal_cell_data_function_date (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gchar *datestr; gboolean is_ovrdraft; gchar *color; gint weight; gtk_tree_model_get(model, iter, LST_OVER_DATESTR, &datestr, LST_OVER_OVER, &is_ovrdraft, -1); color = NULL; weight = PANGO_WEIGHT_NORMAL; if(is_ovrdraft==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 lst_repbal_cell_cell_data_function_amount (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gdouble value; gchar buf[G_ASCII_DTOSTR_BUF_SIZE]; gboolean is_ovrdraft; 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_ovrdraft, 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_ovrdraft==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 *lst_repbal_column_amount_create(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, lst_repbal_cell_cell_data_function_amount, 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 lst_repbal_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 *lst_repbal_create(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, lst_repbal_cell_data_function_date, NULL, NULL); /* column: Expense */ column = lst_repbal_column_amount_create(_("Expense"), LST_OVER_EXPENSE); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Income */ column = lst_repbal_column_amount_create(_("Income"), LST_OVER_INCOME); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Balance */ column = lst_repbal_column_amount_create(_("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.5.2/src/ui-currency.c0000644000175000017500000014270214007276243013443 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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); // 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); if( select_mode != CUR_SELECT_MODE_CUSTOM ) { hb_widget_visible (data->CM_custom, FALSE); } 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_CUSTOM, &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, dw, dh; 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); dh = (h*1.33/PHI); //ratio 1:1 dw = (dh * 1) / 1; DB( g_print(" main w=%d h=%d => diag w=%d h=%d\n", w, h, dw, dh) ); gtk_window_set_default_size (GTK_WINDOW(dialog), dw, dh); //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.5.2/src/hb-account.c0000644000175000017500000003116214010337365013213 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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_delete(guint32 key) { DB( g_print("da_acc_remove %d\n", key) ); return g_hash_table_remove(GLOBALS->h_acc, &key); } //#1889659: ensure name != null/empty static gboolean da_acc_ensure_name(Account *item) { // (no account) do not exists if( item->key > 0 ) { if( item->name == NULL || strlen(item->name) == 0 ) { g_free(item->name); item->name = g_strdup_printf("no name %d", item->key); return TRUE; } } return FALSE; } static void da_acc_rename(Account *item, gchar *newname) { DB( g_print("- renaming '%s' => '%s'\n", item->name, newname) ); g_free(item->name); item->name = g_strdup(newname); //#1889659: ensure name != null/empty da_acc_ensure_name(item); } /** * 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; //#1889659: ensure name != null/empty da_acc_ensure_name(item); 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); //#1889659: ensure name != null/empty da_acc_ensure_name(item); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ #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; } gboolean account_exists(gchar *name) { Account *existitem; gchar *stripname; stripname = g_strdup(name); g_strstrip(stripname); 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; gboolean retval = FALSE; stripname = g_strdup(newname); g_strstrip(stripname); if( strlen(stripname) > 0 ) { existitem = da_acc_get_by_name(stripname); if( existitem != NULL ) { DB( g_print("- error, same name already exist with other key %d <> %d\n", existitem->key, item->key) ); } else { DB( g_print("- renaming\n") ); da_acc_rename (item, stripname); retval = TRUE; } } g_free(stripname); return retval; } /* * 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_CLEARED) acc->bal_clear -= trn->amount; if(trn->status == TXN_STATUS_RECONCILED) { acc->bal_recon -= trn->amount; acc->bal_clear -= 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_CLEARED) acc->bal_clear += trn->amount; if(trn->status == TXN_STATUS_RECONCILED) { acc->bal_recon += trn->amount; acc->bal_clear += 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_clear = acc->initial; acc->bal_recon = 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); acc->maximum = hb_amount_to_euro(acc->maximum); } homebank-5.5.2/src/hb-transaction.c0000644000175000017500000010075614021123327014103 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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) { guint32 date; DB( g_print("da_transaction_init_from_template\n") ); //#5.4.2 date must remains when we set a template, as template has no date date = txn->date; da_transaction_clean(txn); txn->date = date; 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_set_flag(Transaction *item) { //DB( g_print("\n[transaction] set flag\n") ); item->flags &= ~(OF_INCOME); if( item->amount > 0) item->flags |= (OF_INCOME); } 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 da_transaction_set_flag(item); //#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); } } } static gint transaction_xfer_child_match_rate(Transaction *stxn, Transaction *ptxn) { gint rate = 0; DB( g_print("\n[transaction] xfer_child_match_rate\n") ); //default rate is based on exact match field: cur+amount rate = 2; if( stxn->kpay == ptxn->kpay) rate++; if( stxn->kcat == ptxn->kcat) rate++; if( hb_string_compare(stxn->memo, ptxn->memo) == 0 ) rate++; //TODO: maybe add info & tag here rate = (rate *100) / 5; DB( g_print(" return %d\n", rate) ); return rate; } //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(" src: %d %d %d %f %d\n", stxn->kcur, stxn->date, stxn->kacc, ABS(stxn->amount), stxn->kxfer ) ); DB( g_print(" dst: %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; 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 - PREFS->txn_xfer_daygap)) break; if( transaction_xfer_child_might(ope, item, PREFS->txn_xfer_daygap) == TRUE ) { item->matchrate = transaction_xfer_child_match_rate(ope, item); DB( g_print(" - match %3d: %d %s %f %d=>%d\n", item->matchrate, 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; //fixed 5.5 when cancel xfer remains ope->flags &= ~(OF_INTXFER); da_transaction_set_flag(ope); } } } 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, gboolean saverecondate) { Account *acc; if( txn == NULL ) return; acc = da_acc_get(txn->kacc); if(acc == NULL) return; acc->flags |= AF_CHANGED; //#1581863 store reconciled date if( saverecondate == TRUE ) acc->rdate = GLOBALS->today; } 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); } //#1581863 store reconciled date if( newope->status == TXN_STATUS_RECONCILED ) acc->rdate = GLOBALS->today; } 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); //#1865083 src acc also changed (balance) oacc->flags |= AF_CHANGED; 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.5.2/src/hb-xml.h0000644000175000017500000000226214007276247012372 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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.5.2/src/gtk-chart-progress.c0000644000175000017500000013302714021206355014715 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define DB(x); //#define DB(x) (x); //calculation #define DBC(x); //#define DBC(x) (x); //DB dynamics #define DBD(x); //#define DBD(x) (x); #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 void drawarea_style_changed_callback(GtkWidget *widget, 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 --- */ static void ui_chart_progress_set_font_size(ChartProgress *chart, PangoLayout *layout, gint font_size) { PangoAttrList *attrs; PangoAttribute *attr; double scale = PANGO_SCALE_MEDIUM; //PANGO_SCALE_MEDIUM = normal size //DB( g_print("\n[chartprogress] set font size\n") ); switch(font_size) { case CHART_FONT_SIZE_TITLE: //size = chart->pfd_size + 3; scale = PANGO_SCALE_X_LARGE; break; case CHART_FONT_SIZE_SUBTITLE: //size = chart->pfd_size + 1; scale = PANGO_SCALE_LARGE; break; //case CHART_FONT_SIZE_NORMAL: //size = chart->pfd_size - 1; // break; case CHART_FONT_SIZE_SMALL: //size = chart->pfd_size - 2; scale = PANGO_SCALE_SMALL; break; } //DB( g_print(" size=%d\n", size) ); attrs = pango_attr_list_new (); attr = pango_attr_scale_new(scale); pango_attr_list_insert (attrs, attr); pango_layout_set_attributes (layout, attrs); pango_layout_set_font_description (layout, chart->pfd); //pango_attribute_destroy(attr); pango_attr_list_unref (attrs); } /* ** 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; } /* ** get the bar under the mouse pointer */ static gint ui_chart_progress_get_hover(GtkWidget *widget, gint x, gint y, gpointer user_data) { ChartProgress *chart = GTK_CHARTPROGRESS(user_data); HbtkDrawProgContext *context = &chart->context; gint retval, first, index, py; gint blkw = context->blkw; double oy; DB( g_print("\n[chartprogress] get hover\n") ); retval = -1; oy = context->t + context->title_zh + context->header_zh + context->subtitle_zh; //DB( g_print(" y=%d, oy=%f, cb=%f\n", y, oy, chart->b) ); if( (y <= context->b && y >= oy) && (x >= context->l && x <= context->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[chartprogress] 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; HbtkDrawProgContext *context = &chart->context; gint first; g_return_if_fail (GTK_IS_ADJUSTMENT (adj)); DB( g_print("\n[chartprogress] 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, context->visible) ); DB( g_print(" first=%d, upper=%d, pagesize=%d\n", first, chart->nb_items, context->visible) ); gtk_adjustment_set_upper(adj, (gdouble)chart->nb_items); gtk_adjustment_set_page_size(adj, (gdouble)context->visible); gtk_adjustment_set_page_increment(adj, (gdouble)context->visible); if(first+context->visible > chart->nb_items) { gtk_adjustment_set_value(adj, (gdouble)chart->nb_items - context->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_clear(ChartProgress *chart, gboolean store) { gint i; DB( g_print("\n[chartprogress] 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[chartprogress] 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 chart_progress_layout_area(cairo_t *cr, ChartProgress *chart, HbtkDrawProgContext *context) { PangoLayout *layout; gchar *valstr; int tw, th; gint blkw; gint i; DB( g_print("\n[chartprogress] layout area\n") ); DB( g_print(" print %d ctx:%p\n", context->isprint, context) ); /* Create a PangoLayout, set the font and text */ layout = pango_cairo_create_layout (cr); // compute title context->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, layout, 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); context->title_zh = (th / PANGO_SCALE) + CHART_SPACING; DBC( g_print(" - title: %s w=%d h=%d\n", chart->title, tw, th) ); } // compute period context->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, layout, 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); context->subtitle_zh = (th / PANGO_SCALE) + CHART_SPACING; DBC( 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, layout, CHART_FONT_SIZE_NORMAL); pango_layout_set_font_description (layout, chart->pfd); double title_w = 0; context->bud_col_w = 0; context->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)); } DBC( 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); DBC( 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); context->rel_col_w = MAX(context->rel_col_w, (tw / PANGO_SCALE)); } } context->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); context->bud_col_w = (tw / PANGO_SCALE); pango_layout_set_text (layout, chart->budget_title, -1); pango_layout_get_size (layout, &tw, &th); context->bud_col_w = MAX(context->bud_col_w, (tw / PANGO_SCALE)); DB( g_print(" budget-col: w=%f, %.2f, '%s'\n", context->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); context->res_col_w = (tw / PANGO_SCALE); pango_layout_set_text (layout, chart->result_title, -1); pango_layout_get_size (layout, &tw, &th); context->res_col_w = MAX(context->res_col_w, (tw / PANGO_SCALE)); DB( g_print(" result-col: w=%f, %.2f, '%s'\n", context->res_col_w, maxresult, valstr) ); // collect other width, add margins context->header_zh = (th / PANGO_SCALE) + CHART_SPACING; context->cat_col_w = title_w + CHART_SPACING; //chart->title_y = chart->t; context->subtitle_y = context->t + context->title_zh; context->header_y = context->subtitle_y + context->subtitle_zh; context->graph_width = context->w - context->cat_col_w - context->bud_col_w - context->res_col_w - context->rel_col_w - (double)(CHART_SPACING*4); context->graph_height = context->h - context->title_zh - context->subtitle_zh - context->header_zh; DB( g_print(" gfx_w = %.2f - %.2f - %.2f - %.2f - %.2f \n", context->w , context->cat_col_w , context->bud_col_w , context->res_col_w , (double)(CHART_SPACING*4)) ); DB( g_print(" gfx_w = %.2f\n", context->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 = context->barw + floor(context->barw * 0.2); context->blkw = blkw; context->visible = (context->graph_height - context->t) / blkw; context->visible = MIN(context->visible, chart->nb_items); g_object_unref (layout); } static void ui_chart_progress_recompute(ChartProgress *chart) { GtkWidget *drawarea = chart->drawarea; HbtkDrawProgContext *context = &chart->context; GtkAllocation allocation; cairo_surface_t *surf; cairo_t *cr; DB( g_print("\n[chartprogress] recompute \n") ); if( !gtk_widget_get_realized(chart->drawarea) || chart->surface == NULL ) return; gtk_widget_get_allocation(drawarea, &allocation); context->l = CHART_MARGIN; context->t = CHART_MARGIN; context->r = allocation.width - CHART_MARGIN; context->b = allocation.height - CHART_MARGIN; context->w = allocation.width - (CHART_MARGIN*2); context->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); chart_progress_layout_area(cr, chart, context); cairo_destroy(cr); cairo_surface_destroy(surf); gtk_adjustment_set_value(chart->adjustment, 0); ui_chart_progress_scrollbar_setvalues(chart); gtk_widget_show(chart->scrollbar); //gtk_widget_queue_draw( chart->drawarea ); } #if (DBGDRAW_RECT + DBGDRAW_TEXT + DBGDRAW_ITEM) > 0 static void ui_chart_progress_draw_help(cairo_t *cr, ChartProgress *chart, HbtkDrawProgContext *context) { double x, y, y2; gint first = 0; gint i; DB( g_print("\n[chartprogress] draw help\n") ); DB( g_print(" rect is: %f %f %f %f, barw=%f, ctx=%p\n", context->l, context->t, context->w, context->h, context->barw, context) ); 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, context->l+0.5, context->t+0.5, context->w, context->h); cairo_stroke(cr); //graph area y = context->header_y + context->header_zh; cairo_set_source_rgb(cr, 1.0, 0.5, 0.0); //orange cairo_rectangle(cr, context->l+context->cat_col_w+0.5, y+0.5, context->graph_width+0.5, context->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, context->l+0.5, context->t+0.5, context->w, context->title_zh); cairo_stroke(cr); //period rect cairo_set_source_rgb(cr, .0, 0, 1.0); cairo_rectangle(cr, context->l+0.5, context->subtitle_y+0.5, context->w, context->subtitle_zh); cairo_stroke(cr); //header rect cairo_set_source_rgb(cr, .0, 1.0, 1.0); cairo_rectangle(cr, context->l+0.5, context->header_y+0.5, context->w, context->header_zh); cairo_stroke(cr); //category column y = context->t + context->title_zh + context->header_zh + context->subtitle_zh; cairo_set_source_rgb(cr, 0.0, 0.0, 1.0); //blue cairo_rectangle(cr, context->l+0.5, y+0.5, context->cat_col_w, context->h - y); cairo_stroke(cr); //budget column x = context->l + context->cat_col_w + context->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, context->bud_col_w, context->h - y); cairo_stroke(cr); //result column x = context->l + context->cat_col_w + context->graph_width + context->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, context->res_col_w, context->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+context->visible) ;i++) { cairo_move_to(cr, context->l, y2); cairo_line_to(cr, context->r, y2); y2 += context->blkw; } cairo_stroke(cr); #endif } #endif /* ** draw all visible bars */ static void ui_chart_progress_draw_bars(cairo_t *cr, ChartProgress *chart, HbtkDrawProgContext *context) { double x, y, x2, y2, h; gint first; gint i, idx; gchar *valstr; PangoLayout *layout; int tw, th; DB( g_print("\n[chartprogress] draw bars\n") ); DB( g_print(" print %d ctx:%p\n", context->isprint, context) ); DB( g_print(" rect is: %f %f %f %f, barw=%f, ctx=%p\n", context->l, context->t, context->w, context->h, context->barw, context) ); layout = pango_cairo_create_layout (cr); x = context->l + context->cat_col_w; y = context->t + context->title_zh + context->header_zh + context->subtitle_zh; first = context->first; if(!context->isprint) cairo_user_set_rgbcol(cr, &global_colors[THTEXT]); else cairo_user_set_rgbcol(cr, &global_colors[BLACK]); // 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, layout, 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_move_to(cr, context->l, context->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, layout, 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_move_to(cr, context->l, context->subtitle_y); pango_cairo_show_layout (cr, layout); } // draw column title if(!context->isprint) cairo_user_set_rgbacol (cr, &global_colors[THTEXT], 0.78); else cairo_user_set_rgbacol (cr, &global_colors[BLACK], 0.78); //pango_font_description_set_size(chart->pfd, CHART_FONT_SIZE_NORMAL * PANGO_SCALE); ui_chart_progress_set_font_size(chart, layout, 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, context->l + context->cat_col_w + context->graph_width + context->bud_col_w + CHART_SPACING - (tw /PANGO_SCALE), context->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, context->l + context->cat_col_w + context->graph_width + context->bud_col_w + context->res_col_w - (tw /PANGO_SCALE) + (CHART_SPACING*3), context->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, layout, CHART_FONT_SIZE_NORMAL); pango_layout_set_font_description (layout, chart->pfd); for(i=0; ivisible ;i++) { StackItem *item; gint barw = context->barw; gint blkw = context->blkw; idx = i + first; if( (guint)idx > (chart->items->len - 1) ) break; DB( g_print(" draw i:%d idx=%d", i, idx) ); 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); if(!context->isprint) cairo_user_set_rgbacol (cr, &global_colors[THTEXT], 0.78); else cairo_user_set_rgbacol (cr, &global_colors[BLACK], 0.78); cairo_move_to(cr, context->l + context->cat_col_w - (tw / PANGO_SCALE) - CHART_SPACING, ytext); pango_cairo_show_layout (cr, layout); // bar background if(!context->isprint) cairo_user_set_rgbacol(cr, &global_colors[THTEXT], 0.15); else cairo_user_set_rgbacol(cr, &global_colors[BLACK], 0.15); cairo_rectangle(cr, x2, y2, context->graph_width, barw); cairo_fill(cr); //bar with color :: todo migrate this h = floor(item->rate * context->graph_width); if(item->warn) { cairo_user_set_rgbcol_over(cr, &chart->color_scheme.colors[chart->color_scheme.cs_red], idx == chart->hover); } 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->hover); else cairo_user_set_rgbcol_over(cr, &chart->color_scheme.colors[chart->color_scheme.cs_green], idx == chart->hover); } 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_move_to(cr, x2 + h - (tw / PANGO_SCALE) - CHART_SPACING, ytext); } else { // draw outside //cairo_user_set_rgbacol(cr, &global_colors[THTEXT], 0.78); //#1897696 draw out of budget text in red if( item->warn ) cairo_user_set_rgbcol (cr, &chart->color_scheme.colors[chart->color_scheme.cs_red]); else { if(!context->isprint) cairo_user_set_rgbacol (cr, &global_colors[THTEXT], 0.78); else cairo_user_set_rgbacol (cr, &global_colors[BLACK], 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); if(!context->isprint) cairo_user_set_rgbacol (cr, &global_colors[THTEXT], 0.78); else cairo_user_set_rgbacol (cr, &global_colors[BLACK], 0.78); cairo_move_to(cr, context->l + context->cat_col_w + context->graph_width + context->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 { if(!context->isprint) cairo_user_set_rgbacol (cr, &global_colors[THTEXT], 0.78); else cairo_user_set_rgbacol (cr, &global_colors[BLACK], 0.78); } pango_layout_set_text (layout, valstr, -1); pango_layout_get_size (layout, &tw, &th); cairo_move_to(cr, context->l + context->cat_col_w + context->graph_width + context->bud_col_w + context->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, context->l + context->cat_col_w + context->graph_width + context->bud_col_w + context->res_col_w + (CHART_SPACING*4), ytext); pango_cairo_show_layout (cr, layout); } } //y += blkw; } g_object_unref (layout); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static gboolean drawarea_full_redraw(GtkWidget *widget, gpointer user_data) { ChartProgress *chart = GTK_CHARTPROGRESS(user_data); HbtkDrawProgContext *context = &chart->context; cairo_t *cr; DB( g_print("\n[chartprogress] drawarea full redraw\n") ); cr = cairo_create (chart->surface); /* fillin the back in white */ if(!context->isprint) cairo_user_set_rgbcol(cr, &global_colors[THBASE]); else cairo_user_set_rgbcol(cr, &global_colors[WHITE]); cairo_paint(cr); if(chart->nb_items == 0) { cairo_destroy(cr); return FALSE; } cairo_rectangle(cr, context->l, context->t, context->w, context->h); cairo_clip(cr); #if (DBGDRAW_RECT + DBGDRAW_TEXT + DBGDRAW_ITEM) > 0 ui_chart_progress_draw_help(cr, chart, context); #endif context->first = (gint)gtk_adjustment_get_value(GTK_ADJUSTMENT(chart->adjustment)); ui_chart_progress_draw_bars(cr, chart, context); cairo_destroy(cr); return TRUE; } //static void drawarea_get_style(GtkWidget *widget, gpointer user_data) static gboolean drawarea_configure_event_callback (GtkWidget *widget, GdkEventConfigure *event, gpointer user_data) { ChartProgress *chart = GTK_CHARTPROGRESS(user_data); HbtkDrawProgContext *context = &chart->context; GtkAllocation allocation; GtkStyleContext *stylctx; PangoFontDescription *desc; gboolean colfound; GdkRGBA color; DB( g_print("\n[chartprogress] 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); stylctx = gtk_widget_get_style_context (widget); chart_color_global_default(); // get base color colfound = gtk_style_context_lookup_color(stylctx, "theme_base_color", &color); if(!colfound) colfound = gtk_style_context_lookup_color(stylctx, "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(stylctx, "theme_text_color", &color); if(!colfound) //#1916932 colfound was not assigned colfound = gtk_style_context_lookup_color(stylctx, "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(stylctx, 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; context->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; } //state static void drawarea_style_changed_callback(GtkWidget *widget, gpointer user_data) { ChartProgress *chart = GTK_CHARTPROGRESS(user_data); DB( g_print("\n[chartprogress] drawarea style changed\n") ); if( gtk_widget_get_realized(widget)) { drawarea_full_redraw(widget, chart); } } static gboolean drawarea_draw_callback(GtkWidget *widget, cairo_t *cr, gpointer user_data) { ChartProgress *chart = GTK_CHARTPROGRESS(user_data); HbtkDrawProgContext *context = &chart->context; if( !gtk_widget_get_realized(widget) || chart->surface == NULL ) return FALSE; DB( g_print("\n[chartprogress] drawarea draw cb\n") ); cairo_set_source_surface (cr, chart->surface, 0, 0); cairo_paint (cr); /* always redraw directly the hover block */ gint first; double ox, oy; first = (gint)gtk_adjustment_get_value(GTK_ADJUSTMENT(chart->adjustment)); ox = context->l + context->cat_col_w; oy = context->t + context->title_zh + context->header_zh + context->subtitle_zh; if(chart->hover != -1) { DB( g_print(" draw hover\n") ); cairo_rectangle(cr, context->l, context->t, context->w, context->h); cairo_clip(cr); oy += CHART_SPACING/2 + (chart->hover - first) * context->blkw; cairo_user_set_rgbacol(cr, &global_colors[WHITE], OVER_ALPHA); cairo_rectangle(cr, ox, oy, context->graph_width, context->barw); cairo_fill(cr); } return FALSE; } static gboolean drawarea_motionnotifyevent_callback(GtkWidget *widget, GdkEventMotion *event, gpointer user_data) { ChartProgress *chart = GTK_CHARTPROGRESS(user_data); HbtkDrawProgContext *context = &chart->context; gint x, y; if(chart->surface == NULL || chart->nb_items == 0) return FALSE; DBD( g_print("\n[chartprogress] 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->hover = ui_chart_progress_get_hover(widget, x, y, chart); // rollover redraw ? DBD( g_print(" %d, %d :: hover: last=%d, curr=%d\n", x, y, chart->lasthover, chart->hover) ); if(chart->lasthover != chart->hover) { GdkRectangle update_rect; gint first; double oy; DBD( g_print(" motion rollover redraw :: hover=%d\n", chart->hover) ); first = (gint)gtk_adjustment_get_value(GTK_ADJUSTMENT(chart->adjustment)); oy = context->t + context->title_zh + context->header_zh + context->subtitle_zh; if(chart->lasthover != -1) { update_rect.x = context->l; update_rect.y = oy + (chart->lasthover - first) * context->blkw; update_rect.width = context->r; update_rect.height = context->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 = context->l; update_rect.y = oy + (chart->hover - first) * context->blkw; update_rect.width = context->r; update_rect.height = context->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->lasthover = chart->hover; 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[chartprogress] 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 gtk_chart_progress_begin_print (GtkPrintOperation *operation, GtkPrintContext *context, gpointer user_data) { GtkChartProgPrintData *data = user_data; HbtkDrawProgContext *drawctx; gdouble t, l, w, h; cairo_t *cr; DB( g_print("\n[chartprogress] begin print\n") ); //gtk_print_context_get_hard_margins(context, &t, &b, &l, &r); t = 0; l = 0; w = gtk_print_context_get_width(context); h = gtk_print_context_get_height(context); //TODO: test keeping a ratio and handle orientation myself /* settings = gtk_print_operation_get_print_settings(operation); ratio = (height < width) ? width/height : height/width; DB( g_print(" orientation: %d\n", gtk_print_settings_get_orientation(settings)) ); DB( g_print(" w=%g h=%g // ratio %g\n", width, height, ratio) ); if( height < width ) height = width * ratio; */ //setup our context drawctx = &data->drawctx; drawctx->isprint = TRUE; drawctx->l = l; drawctx->t = t; drawctx->w = w; drawctx->h = h; //hack PangoContext *pctx = gtk_print_context_create_pango_context(context); PangoFontDescription *pfd = pango_context_get_font_description(pctx); drawctx->barw = (6 + (pango_font_description_get_size(pfd) / PANGO_SCALE )) * PHI; g_object_unref(pctx); cr = gtk_print_context_get_cairo_context (context); DB( g_print(" rect is: %f %f %f %f, barw=%f, ctx=%p\n", l, t, w, h, drawctx->barw, drawctx) ); chart_progress_layout_area(cr, data->chart, drawctx); data->num_pages = ceil((gdouble)data->chart->nb_items / (gdouble)drawctx->visible); g_print(" nb pages: %d, nbitems %d / visi %d = %.2f\n", data->num_pages, data->chart->nb_items, drawctx->visible, (gdouble)data->chart->nb_items / (gdouble)drawctx->visible); gtk_print_operation_set_n_pages (operation, data->num_pages); } static void gtk_chart_progress_draw_page (GtkPrintOperation *operation, GtkPrintContext *context, gint page_nr, gpointer user_data) { GtkChartProgPrintData *data = user_data; HbtkDrawProgContext *drawctx; cairo_t *cr; DB( g_print("\n[chartprogress] draw page\n") ); cr = gtk_print_context_get_cairo_context (context); drawctx = &data->drawctx; //cairo_rectangle (cr, drawctx->l, drawctx->t, drawctx->w - drawctx->r, drawctx->h - drawctx->b); //cairo_clip(cr); cairo_set_line_width (cr, 1); //draw debug rectangle /* cairo_set_source_rgb(cr, 1.0, 0.0, 0.0); //red cairo_rectangle(cr, 0, 0, drawctx->w-drawctx->r, drawctx->h-drawctx->b); cairo_stroke(cr); */ drawctx->first = page_nr * drawctx->visible; g_print(" draw page %d, with first=%d\n", page_nr, drawctx->first); #if (DBGDRAW_RECT + DBGDRAW_TEXT + DBGDRAW_ITEM) > 0 ui_chart_progress_draw_help(cr, data->chart, drawctx); #endif ui_chart_progress_draw_bars(cr, data->chart, drawctx); } void gtk_chart_progress_print(ChartProgress *chart, GtkWindow *parent, gchar *dirname, gchar *filename) { GtkChartProgPrintData *data; GtkPrintOperation *operation; GtkPrintSettings *settings; gchar *ext, *uri = NULL; GError *error = NULL; g_return_if_fail (GTK_IS_CHARTPROGRESS (chart)); g_print("\n[chartprogress] print\n"); data = g_new0 (GtkChartProgPrintData, 1); data->chart = chart; settings = gtk_print_settings_new (); //TODO: this doesn't work for unknown reason... gtk_print_settings_set_orientation(settings, GTK_PAGE_ORIENTATION_PORTRAIT); if( dirname != NULL && filename != NULL ) { if (g_strcmp0 (gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT), "ps") == 0) ext = ".ps"; else if (g_strcmp0 (gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT), "svg") == 0) ext = ".svg"; else ext = ".pdf"; uri = g_strconcat ("file://", dirname, "/", filename, ext, NULL); gtk_print_settings_set (settings, GTK_PRINT_SETTINGS_OUTPUT_URI, uri); } operation = gtk_print_operation_new (); g_signal_connect (G_OBJECT (operation), "begin-print", G_CALLBACK (gtk_chart_progress_begin_print), data); g_signal_connect (G_OBJECT (operation), "draw-page", G_CALLBACK (gtk_chart_progress_draw_page), data); //g_signal_connect (G_OBJECT (operation), "end-print", G_CALLBACK (end_print), data); gtk_print_operation_set_use_full_page (operation, FALSE); gtk_print_operation_set_unit (operation, GTK_UNIT_POINTS); gtk_print_operation_set_embed_page_setup (operation, TRUE); gtk_print_operation_set_print_settings (operation, settings); //test forec pagfe //GtkPageSetup *ps = gtk_print_operation_get_default_page_setup(operation); GtkPageSetup *ps = gtk_page_setup_new(); if( ps ) gtk_page_setup_set_orientation(ps, GTK_PAGE_ORIENTATION_LANDSCAPE); else g_print("pagesetup fail\n"); gtk_print_operation_set_default_page_setup(operation, ps); gtk_print_operation_run (operation, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, GTK_WINDOW (parent), &error); //to use with GTK_PRINT_OPERATION_ACTION_EXPORT //gtk_print_operation_set_export_filename(operation, "/home/max/Desktop/testpdffile.pdf"); //gtk_print_operation_run (operation, GTK_PRINT_OPERATION_ACTION_EXPORT, GTK_WINDOW (window), &error); g_object_unref (operation); g_object_unref (settings); g_free (uri); if (error) { GtkWidget *dialog; dialog = gtk_message_dialog_new (GTK_WINDOW (parent), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "%s", error->message); g_error_free (error); g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL); gtk_widget_show (dialog); } g_free(data); } static void ui_chart_progress_queue_redraw(ChartProgress *chart) { DB( g_print("\n[chartprogress] queue redraw\n") ); 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)); DB( g_print("\n[chartprogress] set dual datas\n") ); 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[chartprogress] 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[chartprogress] 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; } /* = = = = = = = = = = = = = = = = */ static void ui_chart_progress_init (ChartProgress * chart) { GtkWidget *widget, *hbox, *frame; HbtkDrawProgContext *context = &chart->context; DB( g_print("\n[chartprogress] init\n") ); chart->surface = NULL; chart->nb_items = 0; chart->hover = -1; chart->title = NULL; chart->subtitle = NULL; chart->pfd = NULL; chart->budget_title = "Budget"; chart->result_title = "Result"; context->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 ); //TODO check this to redraw when gtk theme chnage g_signal_connect( G_OBJECT(chart->drawarea), "style-updated", G_CALLBACK(drawarea_style_changed_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 ); */ } void ui_chart_progress_destroy (GtkWidget * object) { ChartProgress *chart = GTK_CHARTPROGRESS(object); g_return_if_fail (GTK_IS_CHARTPROGRESS (object)); DB( g_print("\n[chartprogress] destroy\n") ); 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); } static void ui_chart_progress_class_init (ChartProgressClass * class) { //GObjectClass *gobject_class; GtkWidgetClass *widget_class; DB( g_print("\n[chartprogress] 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; } //gtk_chart_class_intern_init 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; } GtkWidget * ui_chart_progress_new (void) { GtkWidget *chart; DB( g_print("\n======================================================\n") ); DB( g_print("\n[chartprogress] new\n") ); chart = (GtkWidget *)g_object_new (GTK_TYPE_CHARTPROGRESS, NULL); return chart; } homebank-5.5.2/src/homebank.c0000644000175000017500000005667214007276243012774 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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(); homebank_pref_apply(); 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; 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) { gchar *rawfilepath; //todo: pause on splash if( PREFS->showsplash == TRUE ) { //g_usleep( G_USEC_PER_SEC * 1 ); gtk_widget_hide(splash); gtk_widget_destroy(splash); /* make sure splash is gone */ while (gtk_events_pending ()) gtk_main_iteration (); } rawfilepath = NULL; //priority here: // - command line file // - welcome dialog // - last opened file, if welcome dialog was not opened if( files != NULL ) { DB( g_print(" command line open '%s'\n", files[0] ) ); rawfilepath = g_strdup(files[0]); g_strfreev (files); } else if( PREFS->showwelcome ) { ui_mainwindow_action_help_welcome(); } else if( PREFS->loadlast ) { rawfilepath = homebank_lastopenedfiles_load(); } ui_mainwindow_open_check(mainwin, rawfilepath); /* update the mainwin display */ //TODO: not sure this is usefull here ui_mainwindow_update(mainwin, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE+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.5.2/src/ui-budget.h0000644000175000017500000000275214007276247013074 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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.5.2/src/gtk-chart.c0000644000175000017500000020364614032101277013057 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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" /****************************************************************************/ /* Debug macros */ /****************************************************************************/ #define MYDEBUG 0 #define DB(x); //#define DB(x) (x); //calculation #define DBC(x); //#define DBC(x) (x); //DB dynamics #define DBD(x); //#define DBD(x) (x); //TODO: ugly hack for total line #define LST_REPDIST_POS_TOTAL G_MAXINT #define DYNAMICS TRUE #define DBGDRAW_RECT FALSE #define DBGDRAW_TEXT FALSE #define DBGDRAW_ITEM FALSE static GtkBoxClass *gtk_chart_parent_class = NULL; const double dashed3[] = {3.0}; static void chart_set_font_size(GtkChart *chart, PangoLayout *layout, gint font_size); static gchar *chart_print_int(GtkChart *chart, gint value); static gboolean drawarea_full_redraw(GtkWidget *widget, gpointer user_data); /* = = = = = = = = = = = = = = = = */ static void chart_set_font_size(GtkChart *chart, PangoLayout *layout, gint font_size) { PangoAttrList *attrs; PangoAttribute *attr; double scale = PANGO_SCALE_MEDIUM; //PANGO_SCALE_MEDIUM = normal size //DB( g_print("\n[chart] set font size\n") ); switch(font_size) { case CHART_FONT_SIZE_TITLE: //size = chart->pfd_size + 3; scale = PANGO_SCALE_X_LARGE; break; case CHART_FONT_SIZE_SUBTITLE: //size = chart->pfd_size + 1; scale = PANGO_SCALE_LARGE; break; //case CHART_FONT_SIZE_NORMAL: //size = chart->pfd_size - 1; // break; case CHART_FONT_SIZE_SMALL: if(chart->smallfont == TRUE) //size = chart->pfd_size - 2; scale = PANGO_SCALE_SMALL; else //size = chart->pfd_size - 1; scale = PANGO_SCALE_MEDIUM; break; } //DB( g_print(" size=%d\n", size) ); attrs = pango_attr_list_new (); attr = pango_attr_scale_new(scale); pango_attr_list_insert (attrs, attr); pango_layout_set_attributes (layout, attrs); pango_layout_set_font_description (layout, chart->pfd); //pango_attribute_destroy(attr); pango_attr_list_unref (attrs); } /* bar section */ //https://stackoverflow.com/questions/326679/choosing-an-attractive-linear-scale-for-a-graphs-y-axis 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, HbtkDrawContext *drawctx) { double lobound, hibound; DBC( g_print("\n[column] compute range\n") ); lobound=chart->rawmin; hibound=chart->rawmax; /* comptute max ticks */ drawctx->range = chart->rawmax - chart->rawmin; gint maxticks = MIN(10,floor(drawctx->graph.height / (drawctx->font_h * 2))); DBC( g_print(" raw :: [%.2f - %.2f] range=%.2f\n", chart->rawmin, chart->rawmax, drawctx->range) ); DBC( g_print(" raw :: maxticks=%d (%g / (%g*2))\n", maxticks, drawctx->graph.height, drawctx->font_h) ); DBC( g_print("\n") ); drawctx->unit = CalculateStepSize((hibound-lobound), maxticks); drawctx->min = -drawctx->unit * ceil(-lobound/drawctx->unit); drawctx->max = drawctx->unit * ceil(hibound/drawctx->unit); drawctx->range = drawctx->max - drawctx->min; drawctx->div = drawctx->range / drawctx->unit; DBC( g_print(" end :: interval=%.2f, ticks=%d\n", drawctx->unit, drawctx->div) ); DBC( g_print(" end :: [%.2f - %.2f], range=%.2f\n", drawctx->min, drawctx->max, drawctx->range) ); } static void colchart_calculation(GtkChart *chart, HbtkDrawContext *drawctx) { gint blkw, maxvisi; DBC( g_print("\n[colchart] 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; drawctx->barw = blkw - 3; } else { //minvisi = floor(chart->graph.width / (GTK_CHART_MINBARW+3) ); maxvisi = floor(drawctx->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 ) { drawctx->barw = GTK_CHART_MAXBARW; blkw = GTK_CHART_MAXBARW + ( drawctx->graph.width - (chart->nb_items*GTK_CHART_MAXBARW) ) / chart->nb_items; } else { blkw = MAX(GTK_CHART_MINBARW, floor(drawctx->graph.width / chart->nb_items)); drawctx->barw = blkw - 3; } } if(chart->dual) drawctx->barw = drawctx->barw / 2; DBC( g_print(" blkw=%d, barw=%2.f\n", blkw, drawctx->barw) ); drawctx->blkw = blkw; drawctx->visible = drawctx->graph.width / blkw; drawctx->visible = MIN(drawctx->visible, chart->nb_items); DBC( g_print(" blkw=%.2f, barw=%.2f, visible=%d\n", drawctx->blkw, drawctx->barw, drawctx->visible) ); drawctx->ox = drawctx->l; drawctx->oy = drawctx->t + drawctx->h; if(drawctx->range > 0) drawctx->oy = floor(drawctx->graph.y + (drawctx->max/drawctx->range) * drawctx->graph.height); DBC( g_print(" + ox=%.2f oy=%.2f\n", drawctx->ox, drawctx->oy) ); } /* ** draw the scale */ static void colchart_draw_scale(cairo_t *cr, GtkChart *chart, HbtkDrawContext *drawctx) { double x, y, y2; gdouble curxval; gint i, first; PangoLayout *layout; gchar *valstr; int tw, th; DB( g_print("\n[column] draw scale\n") ); first = gtk_adjustment_get_value(GTK_ADJUSTMENT(chart->adjustment)); /* clip */ //cairo_rectangle(cr, CHART_MARGIN, 0, chart->w, chart->h + CHART_MARGIN); //cairo_clip(cr); layout = pango_cairo_create_layout (cr); chart_set_font_size(chart, layout, CHART_FONT_SIZE_SMALL); cairo_set_line_width(cr, 1.0); // Y-scale element (horiz lines + labels (amounts)) curxval = drawctx->max; cairo_set_dash(cr, 0, 0, 0); for(i=0 ; i <= drawctx->div ; i++) { y = 0.5 + floor (drawctx->graph.y + ((i * drawctx->unit) / drawctx->range) * drawctx->graph.height); //DB( g_print(" + i=%d :: y=%f (%f / %f) * %f\n", i, y, i*chart->unit, chart->range, chart->graph.height) ); //y-horiz line if(!drawctx->isprint) cairo_user_set_rgbacol (cr, &global_colors[THTEXT], ( curxval == 0.0 ) ? 0.8 : 0.1); else cairo_user_set_rgbacol (cr, &global_colors[BLACK], ( curxval == 0.0 ) ? 0.8 : 0.1); cairo_move_to (cr, drawctx->graph.x, y); cairo_line_to (cr, drawctx->graph.x + drawctx->graph.width, y); cairo_stroke (cr); //y-axis label valstr = chart_print_int(chart, (gint)curxval); pango_layout_set_text (layout, valstr, -1); pango_layout_get_size (layout, &tw, &th); if(!drawctx->isprint) cairo_user_set_rgbacol (cr, &global_colors[THTEXT], 0.78); else cairo_user_set_rgbacol (cr, &global_colors[BLACK], 0.78); cairo_move_to (cr, drawctx->graph.x - (tw / PANGO_SCALE) - 2, y - ((th / PANGO_SCALE)*0.8) ); pango_cairo_show_layout (cr, layout); curxval -= drawctx->unit; } // X-scale element (vert line + label (item name) if( chart->dual == TRUE || chart->show_xval == TRUE ) { gint lstr = drawctx->l; gint tx; x = drawctx->graph.x + (drawctx->blkw/2); y = drawctx->t + drawctx->h - drawctx->font_h; for(i=first ; i<(first+drawctx->visible) ; i++) { ChartItem *item = &g_array_index(chart->items, ChartItem, i); /*if( chart->dual == TRUE ) { tx = 0.5 + x + (drawctx->blkw/2); cairo_user_set_rgbacol(cr, &global_colors[THTEXT], 0.8); cairo_move_to(cr, tx, y0+2); cairo_line_to(cr, tx, y0-2); cairo_stroke(cr); }*/ if( chart->show_xval == TRUE ) { //TODO: we miss a vertical line here valstr = item->label; pango_layout_set_text (layout, valstr, -1); pango_layout_get_size (layout, &tw, &th); tx = x - ((tw / PANGO_SCALE)/2); if( tx >= lstr ) { if(!drawctx->isprint) cairo_user_set_rgbacol(cr, &global_colors[THTEXT], 0.78); else cairo_user_set_rgbacol(cr, &global_colors[BLACK], 0.78); cairo_move_to(cr, tx, y); pango_cairo_show_layout (cr, layout); lstr = x + ((tw / PANGO_SCALE)/2) + CHART_SPACING; } } x += drawctx->blkw; } } /* average */ if( chart->show_average ) { if( chart->average < 0 ) { y = 0.5 + drawctx->oy + (ABS(chart->average)/drawctx->range) * drawctx->graph.height; } else { y = 0.5 + drawctx->oy - (ABS(chart->average)/drawctx->range) * drawctx->graph.height; } DB( g_print(" draw average: x%d, y%f, w%d\n", drawctx->l, y, drawctx->w) ); if(!drawctx->isprint) cairo_user_set_rgbacol(cr, &global_colors[THTEXT], 1.0); else cairo_user_set_rgbacol(cr, &global_colors[BLACK], 1.0); cairo_set_dash (cr, dashed3, 1, 0); cairo_move_to(cr, drawctx->graph.x, y); cairo_line_to(cr, drawctx->graph.x + drawctx->graph.width, y); cairo_stroke(cr); } /* overdrawn */ DB( g_print(" min=%.2f range=%.2f\n", drawctx->min, drawctx->range) ); if( chart->show_over ) { //if(chart->minimum != 0 && chart->minimum >= chart->min) if(chart->minimum >= drawctx->min) { if( chart->minimum < 0 ) { y = 0.5 + drawctx->oy + (ABS(chart->minimum)/drawctx->range) * drawctx->graph.height; } else { y = 0.5 + drawctx->oy - (ABS(chart->minimum)/drawctx->range) * drawctx->graph.height; } y2 = (ABS(drawctx->min)/drawctx->range) * drawctx->graph.height - (y - drawctx->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", drawctx->l, y, drawctx->w, y2) ); cairo_rectangle(cr, drawctx->graph.x, y, drawctx->graph.width, y2 ); cairo_fill(cr); cairo_set_source_rgb(cr, COLTOCAIRO(255), COLTOCAIRO(0), COLTOCAIRO(0)); cairo_set_dash (cr, dashed3, 1, 0); cairo_move_to(cr, drawctx->graph.x, y); cairo_line_to(cr, drawctx->graph.x + drawctx->graph.width, y); cairo_stroke(cr); } } g_object_unref (layout); } /* = = = = = = = = = = = = = = = = */ /* line section */ /* ** draw all visible lines */ static void linechart_draw_plot(cairo_t *cr, double x, double y, double r, GtkChart *chart, gboolean isprint) { cairo_set_line_width(cr, r / 2); if(!isprint) cairo_user_set_rgbcol(cr, &global_colors[THBASE]); else cairo_user_set_rgbcol(cr, &global_colors[WHITE]); 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(cairo_t *cr, GtkChart *chart, HbtkDrawContext *drawctx) { double x, y, x2, y2, firstx, lastx, linew; gint first, i; DB( g_print("\n[line] draw lines\n") ); x = drawctx->graph.x; y = drawctx->oy; first = (gint)gtk_adjustment_get_value(GTK_ADJUSTMENT(chart->adjustment)); /* 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+drawctx->visible) ;i++) { cairo_move_to(cr, x2, drawctx->graph.y); cairo_line_to(cr, x2, drawctx->graph.x + drawctx->graph.height); x2 += drawctx->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(drawctx->barw < 24) { linew = 1 + (drawctx->barw / 8.0); } cairo_set_line_join(cr, CAIRO_LINE_JOIN_BEVEL); cairo_set_line_width(cr, linew); cairo_set_dash(cr, 0, 0, 0); for(i=first; i<(first+drawctx->visible) ;i++) { ChartItem *item = &g_array_index(chart->items, ChartItem, i); x2 = x + (drawctx->blkw)/2; y2 = drawctx->oy - (item->serie1 / drawctx->range) * drawctx->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 - drawctx->barw; } x += drawctx->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 = drawctx->graph.x; y = drawctx->oy; first = (gint)gtk_adjustment_get_value(GTK_ADJUSTMENT(chart->adjustment)); // draw plots for(i=first; i<(first+drawctx->visible) ;i++) { ChartItem *item = &g_array_index(chart->items, ChartItem, i); x2 = x + (drawctx->blkw)/2; y2 = drawctx->oy - (item->serie1 / drawctx->range) * drawctx->graph.height; //test draw vertical selection line if( i == chart->hover ) { if(!drawctx->isprint) cairo_user_set_rgbacol(cr, &global_colors[THTEXT], 0.1); else cairo_user_set_rgbacol(cr, &global_colors[BLACK], 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, drawctx->graph.y); cairo_line_to(cr, x2, drawctx->t + drawctx->h - drawctx->font_h); cairo_stroke(cr); } linechart_draw_plot(cr, x2, y2, i == chart->hover ? linew+1 : linew, chart, drawctx->isprint); x += drawctx->blkw; } } /* ** draw all visible bars */ static void colchart_draw_bars(cairo_t *cr, GtkChart *chart, HbtkDrawContext *drawctx) { double x, x2, y2, h; gint i, first; DB( g_print("\n[column] draw bars\n") ); x = drawctx->graph.x; first = (gint)gtk_adjustment_get_value(GTK_ADJUSTMENT(chart->adjustment)); DB( g_print(" x=%.2f first=%d, blkw=%.2f, barw=%.2f\n", x, first, drawctx->blkw, drawctx->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+drawctx->visible) ;i++) { cairo_move_to(cr, x2, drawctx->graph.y); cairo_line_to(cr, x2, drawctx->graph.x + drawctx->graph.height); x2 += drawctx->blkw; } cairo_stroke(cr); cairo_set_dash (cr, &dashlength, 0, 0); #endif for(i=first; i<(first+drawctx->visible) ;i++) { ChartItem *item = &g_array_index(chart->items, ChartItem, i); gint color; gint barw = drawctx->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->hover); x2 = x + (drawctx->blkw/2) - 1; x2 = !chart->dual ? x2 - (barw/2) : x2 - barw - 1; //exp/inc/bal if(item->serie1) { h = floor((item->serie1 / drawctx->range) * drawctx->graph.height); y2 = drawctx->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->hover); } } //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 / drawctx->range) * drawctx->graph.height); y2 = drawctx->oy - h; cairo_rectangle(cr, x2+2, y2, barw, h); cairo_fill(cr); } x += drawctx->blkw; } } /* ** get the bar under the mouse pointer */ static gint colchart_get_hover(GtkWidget *widget, gint x, gint y, gpointer user_data) { GtkChart *chart = GTK_CHART(user_data); HbtkDrawContext *drawctx = &chart->context; gint retval; gint index, first, px; retval = -1; if( x <= (drawctx->l+drawctx->w) && x >= drawctx->graph.x && y >= drawctx->graph.y && y <= (drawctx->t+drawctx->h) ) { px = (x - drawctx->graph.x); //py = (y - chart->oy); first = gtk_adjustment_get_value(GTK_ADJUSTMENT(chart->adjustment)); index = first + (px / drawctx->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) { HbtkDrawContext *drawctx = &chart->context; 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, drawctx->visible) ); DB( g_print(" first=%d, upper=%d, pagesize=%d\n", first, chart->nb_items, drawctx->visible) ); gtk_adjustment_set_upper(adj, (gdouble)chart->nb_items); gtk_adjustment_set_page_size(adj, (gdouble)drawctx->visible); gtk_adjustment_set_page_increment(adj, (gdouble)drawctx->visible); if(first+drawctx->visible > chart->nb_items) { gtk_adjustment_set_value(adj, (gdouble)chart->nb_items - drawctx->visible); } #if( (GTK_MAJOR_VERSION == 3) && (GTK_MINOR_VERSION < 18) ) gtk_adjustment_changed (adj); #endif if( drawctx->visible < chart->nb_items ) gtk_widget_hide(GTK_WIDGET(chart->scrollbar)); else gtk_widget_show(GTK_WIDGET(chart->scrollbar)); } /* = = = = = = = = = = = = = = = = */ /* pie section */ static void piechart_draw_slices(cairo_t *cr, GtkChart *chart, HbtkDrawContext *drawctx) { 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 = drawctx->ox; double cy = drawctx->oy; double radius = drawctx->rayon/2; gint i; double dx, dy; double sum = 0.0; gint color; DB( g_print("rayon=%d\n", drawctx->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->hover); 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)(drawctx->rayon/2) * CHART_PARAM_PIE_HOLEVALUE; if(!drawctx->isprint) cairo_user_set_rgbcol(cr, &global_colors[THBASE]); else cairo_user_set_rgbcol(cr, &global_colors[WHITE]); cairo_arc(cr, cx, cy, radius, a1, a2); cairo_fill(cr); #endif } static gint piechart_get_hover(GtkWidget *widget, gint x, gint y, gpointer user_data) { GtkChart *chart = GTK_CHART(user_data); HbtkDrawContext *drawctx = &chart->context; gint retval, px, py; gint index; double radius, h; DB( g_print("\n[pie] get hover\n") ); retval = -1; px = x - drawctx->ox; py = y - drawctx->oy; h = sqrt( pow(px,2) + pow(py,2) ); radius = drawctx->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 void piechart_calculation(GtkChart *chart, HbtkDrawContext *drawctx) { //GtkWidget *drawarea = chart->drawarea; gint w, h; DBC( g_print("\n[pie] calculation\n") ); w = drawctx->graph.width; h = drawctx->graph.height; drawctx->rayon = MIN(w, h); drawctx->mark = 0; #if CHART_PARAM_PIE_MARK == TRUE gint m = floor(drawctx->rayon / 100); m = MAX(2, m); drawctx->rayon -= (m * 2); drawctx->mark = m; #endif drawctx->ox = drawctx->graph.x + (w / 2); drawctx->oy = drawctx->graph.y + (drawctx->rayon / 2); DBC( g_print(" center: %g, %g - R=%d, mark=%d\n", drawctx->ox, drawctx->oy, drawctx->rayon, drawctx->mark) ); } /* = = = = = = = = = = = = = = = = */ /* ** 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) { HbtkDrawContext *drawctx = &chart->context; 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; drawctx->range = 0; chart->rawmin = 0; chart->rawmax = 0; chart->hover = -1; chart->lasthover = -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 rowid, i; gboolean valid; GtkTreeIter iter; DB( g_print("\n[chart] setup with model\n") ); chart_clear(chart); //#1870390 add total into listview & exclude from charts //chart->nb_items = gtk_tree_model_iter_n_children(GTK_TREE_MODEL(list_store), NULL); 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); rowid = 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, //useless now 2, &label, column1, &value1, column2, &value2, -1); //#1870390 add total into listview & exclude from charts if( id == LST_REPDIST_POS_TOTAL ) { //subtract the LST_REPDIST_POS_TOTAL line not to be drawed chart->nb_items--; goto next; } 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 next: valid = gtk_tree_model_iter_next (list_store, &iter); rowid++; } // 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_layout_area(cairo_t *cr, GtkChart *chart, HbtkDrawContext *drawctx) { PangoLayout *layout; gchar *valstr; int tw, th; gint i; DBC( g_print("\n[gtkchart] layout area\n") ); DBC( g_print(" drawctx: %p\n", drawctx) ); DBC( g_print(" area : %d %d %d %d\n", drawctx->l, drawctx->t, drawctx->w, drawctx->h ) ); /* Create a PangoLayout, set the font and text */ layout = pango_cairo_create_layout (cr); DBC( g_print(" is print: %d\n", drawctx->isprint) ); // compute title drawctx->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); drawctx->title_zh = (th / PANGO_SCALE); DBC( g_print(" - title: %s w=%d h=%d\n", chart->title, tw, th) ); } // compute subtitle drawctx->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); drawctx->subtitle_zh = (th / PANGO_SCALE); DBC( g_print(" - title: %s w=%d h=%d\n", chart->subtitle, tw, th) ); } drawctx->subtitle_y = drawctx->t + drawctx->title_zh; drawctx->graph.y = drawctx->t + drawctx->title_zh + drawctx->subtitle_zh; drawctx->graph.height = drawctx->h - drawctx->title_zh - drawctx->subtitle_zh; if(drawctx->title_zh > 0 || drawctx->subtitle_zh > 0) { drawctx->graph.y += CHART_MARGIN; drawctx->graph.height -= CHART_MARGIN; } // compute other text chart_set_font_size(chart, layout, CHART_FONT_SIZE_NORMAL); // y-axis labels (amounts) drawctx->scale_w = 0; colchart_compute_range(chart, drawctx); valstr = chart_print_int(chart, (gint)drawctx->min); pango_layout_set_text (layout, valstr, -1); pango_layout_get_size (layout, &tw, &th); drawctx->scale_w = (tw / PANGO_SCALE); valstr = chart_print_int(chart, (gint)drawctx->max); pango_layout_set_text (layout, valstr, -1); pango_layout_get_size (layout, &tw, &th); drawctx->scale_w = MAX(drawctx->scale_w, (tw / PANGO_SCALE)); DBC( g_print(" scale : %d,%d %g,%g\n", drawctx->l, 0, drawctx->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); DBC( g_print(" legend width for %d '%s'\n", i, item->label) ); // 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)); } drawctx->label_w = label_w; // compute font height drawctx->font_h = (th / PANGO_SCALE); // compute graph region switch(chart->type) { case CHART_TYPE_LINE: case CHART_TYPE_COL: drawctx->graph.x = drawctx->l + drawctx->scale_w + 2; drawctx->graph.width = drawctx->w - drawctx->scale_w - 2; break; case CHART_TYPE_PIE: drawctx->graph.x = drawctx->l; drawctx->graph.width = drawctx->w; break; } DBC( g_print(" - graph : %g,%g %g,%g\n", drawctx->graph.x, drawctx->graph.y, drawctx->graph.width, drawctx->graph.height) ); if( chart->type != CHART_TYPE_PIE ) { drawctx->graph.y += drawctx->font_h; drawctx->graph.height -= drawctx->font_h; if( chart->show_xval ) drawctx->graph.height -= (drawctx->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); drawctx->legend_font_h = (th / PANGO_SCALE); // labels not much than 1/4 of graph gdouble lw = floor(drawctx->graph.width / 4); drawctx->legend_label_w = MIN(drawctx->label_w, lw); drawctx->legend.width = drawctx->legend_font_h + CHART_SPACING + drawctx->legend_label_w; drawctx->legend.height = MIN(floor(chart->nb_items * drawctx->legend_font_h * CHART_LINE_SPACING), drawctx->graph.height); if(chart->show_legend_wide ) { //get rate width drawctx->legend_rate_w = (tw / PANGO_SCALE); //#1921741 text overlap //get value width drawctx->legend_value_w = 0; valstr = chart_print_double(chart, chart->buffer1, drawctx->min); pango_layout_set_text (layout, valstr, -1); pango_layout_get_size (layout, &tw, &th); drawctx->legend_value_w = (tw / PANGO_SCALE); valstr = chart_print_double(chart, chart->buffer1, drawctx->max); pango_layout_set_text (layout, valstr, -1); pango_layout_get_size (layout, &tw, &th); drawctx->legend_value_w = MAX(drawctx->legend_value_w, (tw / PANGO_SCALE)); drawctx->legend.width += CHART_SPACING + drawctx->legend_value_w + CHART_SPACING + drawctx->legend_rate_w; } //if legend visible, substract drawctx->graph.width -= (drawctx->legend.width + CHART_MARGIN); drawctx->legend.x = drawctx->graph.x + drawctx->graph.width + CHART_MARGIN; drawctx->legend.y = drawctx->graph.y; } DBC( g_print(" graph : %g %g %g %g\n", drawctx->graph.x, drawctx->graph.y, drawctx->graph.width, drawctx->graph.height ) ); DBC( g_print(" legend : %g %g %g %g\n", drawctx->legend.x, drawctx->legend.y, drawctx->legend.width, drawctx->legend.height ) ); // compute graph region switch(chart->type) { case CHART_TYPE_LINE: case CHART_TYPE_COL: colchart_calculation(chart, drawctx); break; case CHART_TYPE_PIE: piechart_calculation(chart, drawctx); break; } g_object_unref (layout); } static void chart_recompute(GtkChart *chart) { HbtkDrawContext *drawctx = &chart->context; GdkWindow *gdkwindow; cairo_surface_t *surf = NULL; cairo_t *cr; GtkAllocation allocation; DB( g_print("\n[gtkchart] recompute layout\n") ); if( !gtk_widget_get_realized(chart->drawarea) || chart->surface == NULL ) return; gtk_widget_get_allocation(chart->drawarea, &allocation); 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); drawctx->l = CHART_MARGIN; drawctx->t = CHART_MARGIN; drawctx->w = allocation.width - (CHART_MARGIN*2); drawctx->h = allocation.height - (CHART_MARGIN*2); chart_layout_area(cr, chart, drawctx); cairo_destroy(cr); cairo_surface_destroy(surf); //TODO: simplify this switch(chart->type) { case CHART_TYPE_LINE: case CHART_TYPE_COL: gtk_adjustment_set_value(chart->adjustment, 0); colchart_scrollbar_setvalues(chart); gtk_widget_show(chart->scrollbar); break; case CHART_TYPE_PIE: gtk_widget_hide(chart->scrollbar); break; } } /* = = = = = = = = = = = = = = = = */ static void chart_draw_part_static(cairo_t *cr, GtkChart *chart, HbtkDrawContext *drawctx) { PangoLayout *layout; int tw, th; /*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, drawctx->l+0.5, drawctx->t+0.5, drawctx->w, drawctx->h); cairo_stroke(cr); //graph area cairo_set_source_rgb(cr, 1.0, 0.5, 0.0); //orange cairo_rectangle(cr, drawctx->graph.x+0.5, drawctx->graph.y+0.5, drawctx->graph.width, drawctx->graph.height); cairo_stroke(cr); #endif layout = pango_cairo_create_layout (cr); if(!drawctx->isprint) cairo_user_set_rgbcol(cr, &global_colors[THTEXT]); else cairo_user_set_rgbcol(cr, &global_colors[BLACK]); // draw title if(chart->title) { 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_move_to(cr, drawctx->l, drawctx->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, drawctx->l+0.5, drawctx->t+0.5, (tw / PANGO_SCALE), (th / PANGO_SCALE)); cairo_stroke(cr); #endif } // draw period g_object_unref (layout); //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 = drawctx->legend.x; y = drawctx->legend.y; radius = drawctx->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, drawctx->legend.x+0.5, drawctx->legend.y+0.5, drawctx->legend.width, drawctx->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 of (%d) '%s' y=%d\n", i, chart->nb_items, 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, drawctx->legend_font_h, drawctx->legend_font_h); cairo_stroke(cr); cairo_rectangle(cr, x+drawctx->legend_font_h + CHART_SPACING+0.5, y+0.5, drawctx->legend_label_w, drawctx->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)) > (drawctx->t + drawctx->h) ) { 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); if(!drawctx->isprint) cairo_user_set_rgbacol(cr, &global_colors[THTEXT], 0.78); else cairo_user_set_rgbacol(cr, &global_colors[BLACK], 0.78); // 2: label valstr = item->label; pango_layout_set_text (layout, valstr, -1); pango_layout_set_width(layout, drawctx->legend_label_w * PANGO_SCALE); cairo_move_to(cr, x + drawctx->legend_font_h + CHART_SPACING, y); pango_cairo_show_layout (cr, layout); if( chart->show_legend_wide ) { pango_layout_set_width(layout, -1); #if DBGDRAW_TEXT == 1 // 3: value 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 + drawctx->legend_font_h + drawctx->legend_label_w + (CHART_SPACING*2), y+0.5, drawctx->legend_value_w, drawctx->legend_font_h); cairo_stroke(cr); // 4: rate cairo_set_dash (cr, &dashlength, 1, 0); //cairo_move_to(cr, x, y); cairo_rectangle(cr, x + drawctx->legend_font_h + drawctx->legend_label_w + drawctx->legend_value_w + (CHART_SPACING*3), y+0.5, drawctx->legend_rate_w, drawctx->legend_font_h); cairo_stroke(cr); #endif if(!drawctx->isprint) cairo_user_set_rgbacol(cr, &global_colors[THTEXT], 0.78); else cairo_user_set_rgbacol(cr, &global_colors[BLACK], 0.78); // 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 + drawctx->legend_font_h + drawctx->legend_label_w + (CHART_SPACING*2) + drawctx->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 + drawctx->legend_font_h + drawctx->legend_label_w + drawctx->legend_value_w + drawctx->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); } } static gboolean drawarea_full_redraw(GtkWidget *widget, gpointer user_data) { GtkChart *chart = GTK_CHART(user_data); HbtkDrawContext *drawctx = &chart->context; GtkAllocation allocation; cairo_t *cr; 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 gtk_widget_get_allocation (GTK_WIDGET (widget), &allocation); GtkStyleContext *context = gtk_widget_get_style_context (GTK_WIDGET (widget)); gtk_style_context_save (context); gtk_style_context_add_class (context, GTK_STYLE_CLASS_VIEW); gtk_render_background (context, cr, 0.0, 0.0, allocation.width, allocation.height); gtk_style_context_restore (context); if( (chart->type == CHART_TYPE_NONE) || (chart->nb_items == 0) ) goto end; chart_draw_part_static(cr, chart, drawctx); switch(chart->type) { case CHART_TYPE_COL: case CHART_TYPE_LINE: { cairo_t *crs; crs = cairo_create (chart->surface); colchart_draw_scale(crs, chart, drawctx); cairo_destroy(crs); } break; } end: cairo_destroy(cr); return TRUE; } //TODO: we should not rely on this, but get the color in realtime // based on the widget state (to support backdrop & disable state) static void drawarea_get_style(GtkWidget *widget, gpointer user_data) { GtkChart *chart = GTK_CHART(user_data); GtkStyleContext *context; PangoFontDescription *desc; gboolean colfound; GdkRGBA color; DB( g_print("\n[gtkchart] drawarea get style \n") ); 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) //#1916932 colfound was not assigned 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) ) ); } static gboolean drawarea_configure_event_callback (GtkWidget *widget, GdkEventConfigure *event, gpointer user_data) { GtkChart *chart = GTK_CHART(user_data); GtkAllocation allocation; 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); 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") ); DB( g_print(" user_data=%p\n", user_data) ); //chart_recompute(chart); } static void drawarea_state_changed_callback(GtkWidget *widget, GtkStateFlags flags, gpointer user_data) { GtkChart *chart = GTK_CHART(user_data); DB( g_print("\n[gtkchart] drawarea state_changed\n") ); DB( g_print(" user_data=%p\n", user_data) ); drawarea_get_style(widget, chart); drawarea_full_redraw(widget, chart); gtk_widget_queue_draw( widget ); } static void drawarea_style_updated_callback(GtkWidget *widget, gpointer user_data) { GtkChart *chart = GTK_CHART(user_data); DB( g_print("\n[gtkchart] drawarea style updated\n") ); DB( g_print(" user_data=%p\n", user_data) ); drawarea_get_style(widget, chart); drawarea_full_redraw(widget, chart); gtk_widget_queue_draw( widget ); } 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") ); DB( g_print(" state flags: %d\n", gtk_widget_get_state_flags(chart->drawarea)) ); cairo_set_source_surface (cr, chart->surface, 0, 0); cairo_paint (cr); switch(chart->type) { case CHART_TYPE_COL: colchart_draw_bars(cr, chart, &chart->context); break; case CHART_TYPE_LINE: linechart_draw_lines(cr, chart, &chart->context); break; case CHART_TYPE_PIE: piechart_draw_slices(cr, chart, &chart->context); break; } // event handled return TRUE; } 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; DBD( g_print("\n[gtkchart] drawarea querytooltip\n") ); DBD( g_print(" x=%d, y=%d kbm=%d\n", x, y, keyboard_mode) ); if(chart->lasthover != chart->hover) { goto end; } if(chart->hover >= 0) { ChartItem *item = &g_array_index(chart->items, ChartItem, chart->hover); 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->lasthover = chart->hover; return retval; } static gboolean drawarea_motionnotifyevent_callback(GtkWidget *widget, GdkEventMotion *event, gpointer user_data) { GtkChart *chart = GTK_CHART(user_data); HbtkDrawContext *drawctx = &chart->context; gboolean retval = TRUE; gint x, y; if(chart->surface == NULL || chart->nb_items == 0) return FALSE; DBD( g_print("\n[gtkchart] drawarea motion\n") ); x = event->x; y = event->y; //DBD( g_print(" x=%d, y=%d\n", x, y) ); chart->hover = -1; //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: case CHART_TYPE_LINE: chart->hover = colchart_get_hover(widget, x, y, chart); break; case CHART_TYPE_PIE: chart->hover = piechart_get_hover(widget, x, y, chart); break; } //test: eval legend if( chart->show_legend && chart->hover == - 1) { DBD( g_print(" hover legend\n") ); if( x >= drawctx->legend.x && (x <= (drawctx->legend.x+drawctx->legend.width )) && y >= drawctx->legend.y && (y <= (drawctx->legend.y+drawctx->legend.height )) ) { //use the radius a font height here chart->hover = (y - drawctx->legend.y) / floor(drawctx->legend_font_h * CHART_LINE_SPACING); } if( chart->hover > chart->nb_items - 1) { chart->hover = -1; } } // rollover redraw ? DBD( g_print(" hover: last=%d, curr=%d\n", chart->lasthover, chart->hover) ); if(chart->lasthover != chart->hover) { GdkRectangle update_rect; gint first; DBD( g_print(" motion rollover redraw :: hover=%d\n", chart->hover) ); 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 = drawctx->graph.x; update_rect.y = drawctx->graph.y; update_rect.width = drawctx->graph.width; update_rect.height = drawctx->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->lasthover != -1) { // column/line : invalidate rollover if( chart->type == CHART_TYPE_COL || chart->type == CHART_TYPE_LINE ) { update_rect.x = drawctx->graph.x + (chart->lasthover - first) * drawctx->blkw; update_rect.y = drawctx->graph.y - 6; update_rect.width = drawctx->blkw; update_rect.height = drawctx->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 = drawctx->graph.x + (chart->hover - first) * drawctx->blkw; update_rect.y = drawctx->graph.y - 6; update_rect.width = drawctx->blkw; update_rect.height = drawctx->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; } DBD( 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 */ /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void draw_page (GtkPrintOperation *operation, GtkPrintContext *context, gint page_nr, gpointer user_data) { GtkChartPrintData *data = user_data; HbtkDrawContext *drawctx; cairo_t *cr; gdouble t, b, l, r, w, h; if(data->chart->type == CHART_TYPE_NONE ) return; gtk_print_context_get_hard_margins(context, &t, &b, &l, &r); w = gtk_print_context_get_width(context); h = gtk_print_context_get_height(context); //TODO: test keeping a ratio and handle orientation myself /* settings = gtk_print_operation_get_print_settings(operation); ratio = (height < width) ? width/height : height/width; DB( g_print(" orientation: %d\n", gtk_print_settings_get_orientation(settings)) ); DB( g_print(" w=%g h=%g // ratio %g\n", width, height, ratio) ); if( height < width ) height = width * ratio; */ //setup our context drawctx = &data->drawctx; drawctx->isprint = TRUE; drawctx->l = l; drawctx->t = t; drawctx->w = w; drawctx->h = h; cr = gtk_print_context_get_cairo_context (context); cairo_rectangle (cr, l, t, w - r, h - b); cairo_clip(cr); cairo_set_line_width (cr, 1); //draw debug rectangle /* cairo_set_source_rgb(cr, 1.0, 0.0, 0.0); //red cairo_rectangle(cr, 0, 0, width-r, height-b); cairo_stroke(cr); */ //save usrbarw gint tmpusrbar = data->chart->usrbarw; //hack it to -1 data->chart->usrbarw = 0.0; // to span chart_layout_area(cr, data->chart, drawctx); chart_draw_part_static(cr, data->chart, drawctx); if(data->chart->type != CHART_TYPE_PIE) colchart_draw_scale(cr, data->chart, drawctx); switch(data->chart->type) { case CHART_TYPE_COL: colchart_draw_bars(cr, data->chart, drawctx); break; case CHART_TYPE_PIE: piechart_draw_slices(cr, data->chart, drawctx); break; case CHART_TYPE_LINE: linechart_draw_lines(cr, data->chart, drawctx); break; } //restore usrbarw data->chart->usrbarw = tmpusrbar; } void gtk_chart_print(GtkChart *chart, GtkWindow *parent, gchar *dirname, gchar *filename) { GtkChartPrintData *data; GtkPrintOperation *operation; GtkPrintSettings *settings; gchar *ext, *uri = NULL; GError *error = NULL; g_return_if_fail (GTK_IS_CHART (chart)); data = g_new0 (GtkChartPrintData, 1); data->chart = chart; settings = gtk_print_settings_new (); //TODO: this doesn't work for unknown reason... gtk_print_settings_set_orientation(settings, GTK_PAGE_ORIENTATION_LANDSCAPE); if( dirname != NULL && filename != NULL ) { if (g_strcmp0 (gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT), "ps") == 0) ext = ".ps"; else if (g_strcmp0 (gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT), "svg") == 0) ext = ".svg"; else ext = ".pdf"; uri = g_strconcat ("file://", dirname, "/", filename, ext, NULL); gtk_print_settings_set (settings, GTK_PRINT_SETTINGS_OUTPUT_URI, uri); } operation = gtk_print_operation_new (); gtk_print_operation_set_n_pages (operation, 1); gtk_print_operation_set_use_full_page (operation, FALSE); gtk_print_operation_set_unit (operation, GTK_UNIT_POINTS); gtk_print_operation_set_embed_page_setup (operation, TRUE); gtk_print_operation_set_print_settings (operation, settings); GtkPageSetup *ps = gtk_page_setup_new(); if( ps ) gtk_page_setup_set_orientation(ps, GTK_PAGE_ORIENTATION_LANDSCAPE); else g_print("pagesetup fail\n"); gtk_print_operation_set_default_page_setup(operation, ps); //g_signal_connect (G_OBJECT (operation), "begin-print", G_CALLBACK (begin_print), data); g_signal_connect (G_OBJECT (operation), "draw-page", G_CALLBACK (draw_page), data); //g_signal_connect (G_OBJECT (operation), "end-print", G_CALLBACK (end_print), data); gtk_print_operation_run (operation, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, GTK_WINDOW (parent), &error); //to use with GTK_PRINT_OPERATION_ACTION_EXPORT //gtk_print_operation_set_export_filename(operation, "/home/max/Desktop/testpdffile.pdf"); //gtk_print_operation_run (operation, GTK_PRINT_OPERATION_ACTION_EXPORT, GTK_WINDOW (window), &error); g_object_unref (operation); g_object_unref (settings); g_free (uri); if (error) { GtkWidget *dialog; dialog = gtk_message_dialog_new (GTK_WINDOW (parent), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "%s", error->message); g_error_free (error); g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL); gtk_widget_show (dialog); } g_free(data); } 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 ); } } /* ** empty the chart */ void gtk_chart_set_datas_none(GtkChart *chart) { g_return_if_fail (GTK_IS_CHART (chart)); DB( g_print("\n[gtkchart] set no datas\n") ); chart_clear(chart); gtk_chart_queue_redraw(chart); } /* ** 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); } } /* ** 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); } } /* ** 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); } /* ** 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); } void gtk_chart_set_smallfont(GtkChart * chart, gboolean small) { g_return_if_fail (GTK_IS_CHART (chart)); chart->smallfont = small; //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) // gtk_chart_queue_redraw(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); } /* = = = = = = = = = = = = = = = = */ 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_init (GtkChart * chart) { GtkWidget *widget, *vbox, *frame; DB( g_print("\n[gtkchart] init\n") ); chart->surface = NULL; chart->items = NULL; chart->title = NULL; chart->pfd = NULL; chart->abs = FALSE; chart->dual = FALSE; chart->usrbarw = 0.0; chart->show_legend = TRUE; chart->show_legend_wide = FALSE; chart->show_mono = FALSE; chart->hover = -1; chart->lasthover = -1; chart->minor_rate = 1.0; chart->nb_items = 0; //TODO //chart->barw = GTK_CHART_BARW; 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 ) ; g_signal_connect( G_OBJECT(chart->drawarea), "state-flags-changed", G_CALLBACK(drawarea_state_changed_callback), chart ) ; g_signal_connect( G_OBJECT(chart->drawarea), "style-updated", G_CALLBACK(drawarea_style_updated_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 ); } 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); } 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_class_intern_init (gpointer klass) { gtk_chart_parent_class = g_type_class_peek_parent (klass); gtk_chart_class_init ((GtkChartClass *) klass); } 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; } 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); } homebank-5.5.2/src/hb-export.c0000644000175000017500000004413414014474551013106 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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, gboolean allxfer) { 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; //#1915609 qif export of multiple account double xfer line if( (allxfer == FALSE) && (txn->flags & OF_INTXFER) && txn->amount > 0 ) goto nexttxn; 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"); nexttxn: 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, TRUE); 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 { //5.5.1 save accounts in order //lacc = list = g_hash_table_get_values(GLOBALS->h_acc); lacc = list = account_glist_sorted(0); while (list != NULL) { Account *item = list->data; hb_export_qif_elt_acc(io, item); hb_export_qif_elt_txn(io, item, FALSE); 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_strfmon(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_strfmon(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_strfmon(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_strfmon(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.5.2/src/gtk-chart-colors.c0000664000175000017500000002057714007276243014370 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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" #define MYDEBUG 0 #if MYDEBUG #define DB(x) (x); #else #define DB(x); #endif 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) { DB( g_print("\n[chart] scheme init\n") ); 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_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_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_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_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_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_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_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.5.2/src/hb-hbfile.c0000644000175000017500000003111714021201550012774 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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++; } 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); g_slist_free(GLOBALS->openwindows); 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; //5.5.1 list of opened windows GLOBALS->openwindows = 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.5.2/src/ui-pref.h0000644000175000017500000001002714007276247012550 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 *ST_maxspenditems; GtkWidget *NB_fiscyearday; GtkWidget *CY_fiscyearmonth; GtkWidget *CY_language; GtkWidget *CY_toolbar; GtkWidget *CM_gtk_override; GtkWidget *LB_gtk_fontsize, *NB_gtk_fontsize; GtkWidget *CM_gtk_darktheme; 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_xfer_daygap; 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_rep_smallfont; 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.5.2/src/hb-tag.c0000644000175000017500000002401514014517563012335 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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; #if MYDEBUG static void da_tag_debug_array(guint32 *tags); #endif /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ 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; DB( g_print("\n[tags] clone %p\n", tags) ); if( tags == NULL ) return NULL; 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; if( tags == NULL ) return FALSE; while(*tags != 0 && count < 32) { if( *tags == key ) return TRUE; tags++; count++; } return FALSE; } static void tags_deduplicate(guint32 *tags) { guint32 *tmp, *s, *d; guint count = 0; DB( g_print("\n[tags] deduplicate\n") ); if( tags == NULL ) return; DB( g_print(" tags %p\n", tags) ); tmp = s = tags_clone(tags); d = tags; DB( g_print(" tmp %p\n", tmp) ); DB( g_print(" s %p\n", s) ); *d = 0; while(*s != 0 && count < 32) { DB( g_print(" - tst %d\n", *s) ); if( tags_key_exists(tags, *s) == FALSE ) { *d = *s; d++; *d = 0; DB( g_print(" - add %d\n", *s) ); } else { DB( g_print(" - skip %d\n", *s) ); } s++; count++; } g_free(tmp); } static void tags_move(guint32 *tags, guint32 key1, guint32 key2) { guint count = 0; guint countdup = 0; guint32 *p; if( tags == NULL ) return; DB( g_print("\n[tags] move\n") ); p = tags; while(*p != 0 && count < 32) { if( *p == key1 ) { DB( g_print(" change %d to %d\n", key1, key2) ); *p = key2; } //count potential duplicate if( *p == key2 ) countdup++; p++; count++; } //TODO: ensure no duplicate on key2 if( countdup ) tags_deduplicate(tags); } 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_array(guint32 *tags) { guint32 count = 0; if( tags == NULL ) { DB( g_print(" dbg: no tags\n") ); return; } while(*tags != 0 && count < 32) { DB( g_print(" [%d]=%d\n", count, *tags) ); tags++; count++; } DB( g_print(" [%d]=%d\n", count, *tags) ); return; } 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 /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ void tag_move(guint32 key1, guint32 key2) { GList *lst_acc, *lnk_acc; GList *lnk_txn; DB( g_print("\n[tag] move %d => %d\n", key1, key2) ); 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; tags_move(txn->tags, key1, key2); lnk_txn = g_list_next(lnk_txn); } lnk_acc = g_list_next(lnk_acc); } g_list_free(lst_acc); } gboolean tag_rename(Tag *item, const gchar *newname) { Tag *existitem; gchar *stripname; gboolean retval = FALSE; DB( g_print("\n[tag] rename\n") ); 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.5.2/src/ui-payee.h0000644000175000017500000000505614007276247012725 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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_USETXN 4 #define LST_DEFPAY_SORT_USECFG 5 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.5.2/src/rep-stats.h0000644000175000017500000000415614036076226013126 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 }; struct repstats_data { DataTable *trend; GQueue *txn_queue; Filter *filter; gboolean detail; gboolean legend; gboolean rate; gdouble total_expense; gdouble total_income; gint charttype; 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_print; 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 *SW_total, *SW_trend; GtkWidget *LV_report; GtkWidget *LV_report2; GtkWidget *CM_byamount; GtkWidget *CM_compare; 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 *repstats_window_new(void); #endif homebank-5.5.2/src/hb-preferences.c0000644000175000017500000011470414023106003014047 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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_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_dist0 = "%d km"; PREFS->vehicle_unit_dist1 = "%.1f km"; PREFS->vehicle_unit_100 = "100 km"; } // unit is miles else { PREFS->vehicle_unit_dist0 = "%d mi."; PREFS->vehicle_unit_dist1 = "%.1f 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)); } gint homebank_pref_list_column_get(gint *cols_id, gint uid, gint maxcol) { gint i; for(i=0; i < maxcol ; i++ ) { if( uid == ABS(cols_id[i]) ) return cols_id[i]; /* secure point */ if( i > 50) break; } return uid; } 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->showwelcome = 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; //#1918334 no reason to show void by default PREFS->showvoid = FALSE; PREFS->includeremind = FALSE; //#1673048 PREFS->txn_memoacp = TRUE; PREFS->txn_memoacp_days = 365; //#1887212 PREFS->txn_xfer_daygap = 2; PREFS->toolbar_style = 4; //text beside icons PREFS->grid_lines = GTK_TREE_VIEW_GRID_LINES_NONE; PREFS->gtk_override = FALSE; PREFS->gtk_fontsize = 10; 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); /* 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); currency_get_system_iso(); 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; i = 0; PREFS->lst_acc_columns[i++] = COL_DSPACC_STATUS; PREFS->lst_acc_columns[i++] = COL_DSPACC_ACCOUNTS; PREFS->lst_acc_columns[i++] = COL_DSPACC_CLEAR; PREFS->lst_acc_columns[i++] = COL_DSPACC_RECON; PREFS->lst_acc_columns[i++] = COL_DSPACC_TODAY; PREFS->lst_acc_columns[i++] = COL_DSPACC_FUTURE; PREFS->pnl_upc_col_pay_width = -1; PREFS->pnl_upc_col_mem_width = -1; PREFS->pnl_upc_range = FLT_SCHEDULED_ALLDATE; 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; PREFS->rep_maxspenditems = 10; //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; } } void homebank_pref_apply(void) { GtkSettings *settings = gtk_settings_get_default(); DB( g_print("\n[preferences] pref apply\n") ); if( PREFS->gtk_override == TRUE ) { PangoFontDescription *pfd; gchar *oldfn, *newfn; g_object_get(settings, "gtk-font-name", &oldfn, NULL); pfd = pango_font_description_from_string(oldfn); DB( g_print(" font-name '%s' == '%s' %d\n", oldfn, pango_font_description_get_family(pfd), pango_font_description_get_size(pfd)/PANGO_SCALE) ); g_free(oldfn); pango_font_description_set_size(pfd, PREFS->gtk_fontsize*PANGO_SCALE); newfn = pango_font_description_to_string(pfd); DB( g_print(" font-name '%s' == '%s' %d\n", newfn, pango_font_description_get_family(fd), pango_font_description_get_size(fd)/PANGO_SCALE) ); g_object_set(settings, "gtk-font-name", newfn, NULL); g_free(newfn); pango_font_description_free(pfd); } else { gtk_settings_reset_property(settings, "gtk-font-name"); } g_object_set(settings, "gtk-application-prefer-dark-theme", PREFS->gtk_darktheme, NULL); //gtk_settings_reset_property(settings, "gtk-application-prefer-dark-theme"); } gboolean homebank_pref_load(void) { GKeyFile *keyfile; gboolean retval = FALSE; gchar *group, *filename; guint32 version = 0; 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; } //5.4.3 homebank_pref_get_boolean(keyfile, group, "GtkOverride", &PREFS->gtk_override); homebank_pref_get_short(keyfile, group, "GtkFontSize" , &PREFS->gtk_fontsize); homebank_pref_get_boolean(keyfile, group, "GtkDarkTheme", &PREFS->gtk_darktheme); if(version <= 2) // retrieve old settings { guint32 color = 0; 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 = FALSE; 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); //we disable showwelcome for old users if( version < 540 ) PREFS->showwelcome = FALSE; } 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); //#1870433 default backup path folder not initialized with wallet folder if( version < 530 ) { homebank_pref_get_string(keyfile, group, "WalletPath", &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, "ShowWelcome", &PREFS->showwelcome); 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); homebank_pref_get_short (keyfile, group, "TxnXferDayGap", &PREFS->txn_xfer_daygap); 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); { gint *src; gsize length; src = g_key_file_get_integer_list(keyfile, group, "AccColumns", &length, NULL); DB( g_print(" - length %d (max=%d)\n", length, NUM_LST_DSPOPE) ); if( length == NUM_LST_COL_DSPACC ) { DB( g_print(" - copying column order from pref file\n") ); memcpy(PREFS->lst_acc_columns, src, length*sizeof(gint)); } g_free(src); } 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_integer(keyfile, group, "UpcRange", &PREFS->pnl_upc_range); 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 = FALSE; 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); homebank_pref_get_boolean(keyfile, group, "SmallFont", &PREFS->rep_smallfont); homebank_pref_get_integer(keyfile, group, "MaxSpendItems", &PREFS->rep_maxspenditems); 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, "DayGap", &PREFS->dtex_daygap); 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, "GtkOverride", PREFS->gtk_override); g_key_file_set_integer (keyfile, group, "GtkFontSize", PREFS->gtk_fontsize); g_key_file_set_boolean (keyfile, group, "GtkDarkTheme", PREFS->gtk_darktheme); 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, "ShowWelcome", PREFS->showwelcome); 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 (keyfile, group, "TxnXferDayGap" , PREFS->txn_xfer_daygap); 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_list(keyfile, group, "AccColumns", PREFS->lst_acc_columns, NUM_LST_COL_DSPACC); 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); g_key_file_set_integer(keyfile, group, "UpcRange", PREFS->pnl_upc_range); 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); g_key_file_set_boolean (keyfile, group, "SmallFont" , PREFS->rep_smallfont); g_key_file_set_integer (keyfile, group, "MaxSpendItems", PREFS->rep_maxspenditems); 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, "DayGap", PREFS->dtex_daygap); 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.5.2/src/hub-account.h0000664000175000017500000000225314007276247013415 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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.5.2/src/ui-budget-tabview.c0000644000175000017500000026033414007276243014524 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 w, h, dw, dh; gint gridrow; 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); //set a nice dialog size gtk_window_get_size(GTK_WINDOW(GLOBALS->mainwindow), &w, &h); dh = (h*1.33/PHI); //ratio 3:2 dw = (dh * 3) / 2; DB( g_print(" main w=%d h=%d => diag w=%d h=%d\n", w, h, dw, dh) ); gtk_window_set_default_size (GTK_WINDOW(dialog), dw, dh); // 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) ); //window contents content_area = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); // return a vbox // 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(GTK_ORIENTATION_HORIZONTAL, 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.5.2/src/Makefile.in0000664000175000017500000010364714045454461013110 00000000000000# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2020 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-report.$(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-report.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-report.c \ list-report.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-report.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-report.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-report.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.5.2/src/ui-pref.c0000644000175000017500000026001014007276243012536 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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_memotoggle(GtkWidget *widget, gpointer user_data) { struct defpref_data *data; gboolean sensitive; DB( g_print("\n[ui-pref] memo acp 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_memoacp)); gtk_widget_set_sensitive(data->ST_memoacp_days, sensitive); } static void defpref_gtkoverridetoggle(GtkWidget *widget, gpointer user_data) { struct defpref_data *data; gboolean sensitive; DB( g_print("\n[ui-pref] gtk override 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_gtk_override)); gtk_widget_set_sensitive(data->LB_gtk_fontsize, sensitive); gtk_widget_set_sensitive(data->NB_gtk_fontsize, 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->ST_maxspenditems), PREFS->rep_maxspenditems); 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_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_gtk_override), PREFS->gtk_override); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->NB_gtk_fontsize), PREFS->gtk_fontsize); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_gtk_darktheme), PREFS->gtk_darktheme); //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); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_xfer_daygap), PREFS->txn_xfer_daygap); // 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_rep_smallfont), PREFS->rep_smallfont); 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; const gchar *datfmt; 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->rep_maxspenditems = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_maxspenditems)); 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->gtk_override = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_gtk_override)); PREFS->gtk_fontsize = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->NB_gtk_fontsize)); PREFS->gtk_darktheme = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_gtk_darktheme)); 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)); PREFS->txn_xfer_daygap = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_xfer_daygap)); // display format //1903437 don't allow empty/invalid entry datfmt = gtk_entry_get_text(GTK_ENTRY(data->ST_datefmt)); if( strlen(datfmt) == 0 ) datfmt = "%x"; g_free(PREFS->date_format); PREFS->date_format = g_strdup(datfmt); 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->rep_smallfont = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_rep_smallfont)); 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), 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), 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), 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), 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), 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); row++; widget = gtk_check_button_new_with_mnemonic (_("Smaller legend _font")); data->CM_rep_smallfont = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); // 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), 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), 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), 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), 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")); label = make_label_group(_("Transaction list")); 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); // group :: Add/Edit 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 dialog")); 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 when multiple add")); data->CM_herit_date = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); row++; label = make_label(_("Transfer target date tolerance:"), 0, 0.5); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_numeric(NULL, 2, 7); data->ST_xfer_daygap = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); label = make_label(_("days"), 0, 0.5); gtk_grid_attach (GTK_GRID (group_grid), label, 3, row, 1, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Enable _memo autocomplete with")); data->CM_memoacp = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 1, 1); 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); row++; widget = gtk_check_button_new_with_mnemonic (_("Show add confirmation text for 5s")); data->CM_show_confirm = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 3, 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 :: GTK override 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(_("Gtk settings")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 3, 1); row = 1; widget = gtk_check_button_new_with_mnemonic (_("Override")); data->CM_gtk_override = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 1); row++; label = make_label(_("Font _size:"), 0, 0.5); data->LB_gtk_fontsize = label; gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_numeric(label, 8, 16); data->NB_gtk_fontsize = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; widget = gtk_check_button_new_with_mnemonic (_("Dark theme")); data->CM_gtk_darktheme = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, row, 2, 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), 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); row++; label = make_label(_("Max _items:"), 0, 0.5); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_numeric(label, 5, 20); data->ST_maxspenditems = 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_gtk_override, "toggled", G_CALLBACK (defpref_gtkoverridetoggle), NULL); g_signal_connect (data->CM_bak_is_automatic, "toggled", G_CALLBACK (defpref_backuptoggle), NULL); g_signal_connect (data->CM_memoacp, "toggled", G_CALLBACK (defpref_memotoggle), 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_gtkoverridetoggle(window, NULL); defpref_memotoggle(window, NULL); defpref_backuptoggle (window, NULL); 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_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.5.2/src/ui-dialogs.h0000644000175000017500000000404114007276247013235 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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_csv(GtkWindow *parent, gchar **storage_ptr, gboolean *split, gboolean showall); 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.5.2/src/hb-hbfile.h0000644000175000017500000000304514021123127013003 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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__ 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.5.2/src/list-scheduled.c0000644000175000017500000003447314007276243014114 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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_MULTIPLE); /* 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.5.2/src/rep-time.h0000644000175000017500000000454514007276247012733 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 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_print; 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_chart; GtkWidget *GR_detail; GtkWidget *LV_detail; gulong handler_id[MAX_REPTIME_HID]; gdouble average; }; GtkWidget *reptime_window_new(guint32 accnum); #endif homebank-5.5.2/src/ui-archive.h0000644000175000017500000000313614007276247013240 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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__ #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 *BT_typsch, *BT_typtpl; GtkWidget *ST_search; GtkWidget *LV_arc; 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.5.2/src/ui-assign.c0000644000175000017500000010371014007276243013071 00000000000000/* HomeBank -- Free, easy, personal ruleing for everyone. * Copyright (C) 1995-2021 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 ("k[%d] p[%d] %s", entry->key, entry->pos, 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: k%d p%d '%s'\n", item->key, item->pos, item->notes) ); 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); } static gboolean ui_asg_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; Assign *item; //gtk_tree_model_get_value (model, iter, column, &value); gtk_tree_model_get(model, iter, LST_DEFASG_DATAS, &item, -1); if(item != NULL) { normalized_string = g_utf8_normalize (item->search, -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_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); //#1897810 add quicksearch gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(treeview), ui_asg_listview_search_equal_func, NULL, NULL); return treeview; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ //todo move this static Assign * 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 NULL; } return existitem; } 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) ); gtk_style_context_remove_class (gtk_widget_get_style_context (GTK_WIDGET(data->ST_search)), GTK_STYLE_CLASS_ERROR); //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=%p)\n", 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=%p)\n", 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; GString *errstr; 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=%p)\n", data) ); errstr = g_string_new(NULL); error = FALSE; gtk_label_set_text(GTK_LABEL(data->LB_wrntxt), ""); gtk_style_context_remove_class (gtk_widget_get_style_context (GTK_WIDGET(data->ST_search)), GTK_STYLE_CLASS_ERROR); 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) ) { Assign *existitem = assign_rename(item, txt); if( existitem == NULL ) { //todo: review this count data->change++; gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_rul)); } else { g_string_append_printf(errstr, _("This search text already exists at position %d"), existitem->pos); error = TRUE; } } //#1842897 lead/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); if( errstr->len > 0 ) g_string_append(errstr, "\n"); g_string_append(errstr, wrntxt); g_free(wrntxt); g_strfreev(split); } } gtk_label_set_text(GTK_LABEL(data->LB_wrntxt), errstr->str); if( errstr->len > 0 ) gtk_widget_show(data->GR_wrntxt); else gtk_widget_hide(data->GR_wrntxt); g_string_free(errstr, TRUE); end: if( error == TRUE ) { gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET(data->ST_search)), GTK_STYLE_CLASS_ERROR); } } 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) %p\n", 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, dw, dh, 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); dh = (h*1.33/PHI); //ratio 3:2 dw = (dh * 3) / 2; DB( g_print(" main w=%d h=%d => diag w=%d h=%d\n", w, h, dw, dh) ); gtk_window_set_default_size (GTK_WINDOW(dialog), dw, dh); //store our window private data g_object_set_data(G_OBJECT(dialog), "inst_data", (gpointer)data); DB( g_print("(ui_asg_manage_) window=%p, inst_data=%p\n", dialog, 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, SPACING_MEDIUM); 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(GTK_ORIENTATION_HORIZONTAL, 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(GTK_ORIENTATION_HORIZONTAL, 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(GTK_ORIENTATION_HORIZONTAL, 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 (GTK_ORIENTATION_HORIZONTAL, 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.5.2/src/hub-scheduled.h0000664000175000017500000000211314007276247013714 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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); #endif homebank-5.5.2/src/hb-category.h0000644000175000017500000000521114016655771013407 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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; guint16 nb_use_txn; guint16 nb_use_txncat; //cat usage only guint16 nb_use_all; guint16 nb_use_allcat; //cat usage only }; #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); gint category_delete_unused(void); void category_fill_usage(void); void category_move(guint32 srckey, guint32 newkey, gboolean dosubcat); 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.5.2/src/hb-export.h0000644000175000017500000000246514007276247013120 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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.5.2/src/list-report.c0000664000175000017500000004445614036076204013470 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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-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; GString *lst_rep_total_to_string(GtkTreeView *treeview, gchar *title, 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, (title == NULL) ? _("Result") : title, _("Expense"), _("Income"), _("Total")); 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_TOTAL, &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 lst_rep_total_name_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gint pos; gchar *text = NULL; gint weight = PANGO_WEIGHT_NORMAL; gtk_tree_model_get(model, iter, LST_REPDIST_POS, &pos, LST_REPDIST_NAME, &text, -1); if( pos == LST_REPDIST_POS_TOTAL ) { weight = PANGO_WEIGHT_BOLD; } g_object_set(renderer, "weight", weight, "text", text, NULL); g_free(text); } static void lst_rep_total_rate_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { 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 lst_rep_total_amount_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gdouble value; gchar *color; gint pos; gint weight = PANGO_WEIGHT_NORMAL; gchar buf[G_ASCII_DTOSTR_BUF_SIZE]; gtk_tree_model_get(model, iter, LST_REPDIST_POS, &pos, 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); if( pos == LST_REPDIST_POS_TOTAL ) { weight = PANGO_WEIGHT_BOLD; } g_object_set(renderer, "foreground", color, "weight", weight, "text", buf, NULL); } else { g_object_set(renderer, "text", "", NULL); } } static GtkTreeViewColumn *lst_rep_total_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, lst_rep_total_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 *lst_rep_total_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, lst_rep_total_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; } static gint lst_rep_total_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); //total always at bottom if( pos1 == LST_REPDIST_POS_TOTAL ) { retval = -1; } else { if( pos2 == LST_REPDIST_POS_TOTAL ) { retval = 1; } else { switch(sortcol) { case LST_REPDIST_POS: retval = pos2 - pos1; //DB( g_print(" sort %3d = %3d :: %d\n", pos1, pos2, retval) ); break; default: retval = (ABS(val1) - ABS(val2)) > 0 ? 1 : -1; //DB( g_print(" sort %.2f = %.2f :: %d\n", val1, val2, retval) ); break; } } } return retval; } static gboolean lst_rep_total_selectionfunc(GtkTreeSelection *selection, GtkTreeModel *model, GtkTreePath *path, gboolean path_currently_selected, gpointer data) { GtkTreeIter iter; gint pos; if(gtk_tree_model_get_iter(model, &iter, path)) { gtk_tree_model_get(model, &iter, LST_REPDIST_POS, &pos, -1); if( pos == LST_REPDIST_POS_TOTAL ) return FALSE; } return TRUE; } /* ** create our statistic list */ GtkWidget *lst_rep_total_create(void) { GtkListStore *store; GtkWidget *view; GtkCellRenderer *renderer; GtkTreeViewColumn *column; /* create list store */ store = gtk_list_store_new( NUM_LST_REPDIST, G_TYPE_INT, //POS keep for compatibility with chart G_TYPE_INT, //KEY G_TYPE_STRING, //ROWLABEL G_TYPE_DOUBLE, //EXP G_TYPE_DOUBLE, //EXPRATE G_TYPE_DOUBLE, //INC G_TYPE_DOUBLE, //INCRATE G_TYPE_DOUBLE, //TOT G_TYPE_DOUBLE ///TOTRATE ); //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, lst_rep_total_name_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 = lst_rep_total_amount_column(_("Expense"), LST_REPDIST_EXPENSE); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); column = lst_rep_total_rate_column(LST_REPDIST_EXPRATE); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Income */ column = lst_rep_total_amount_column(_("Income"), LST_REPDIST_INCOME); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); column = lst_rep_total_rate_column(LST_REPDIST_INCRATE); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Total */ column = lst_rep_total_amount_column(_("Total"), LST_REPDIST_TOTAL); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); column = lst_rep_total_rate_column(LST_REPDIST_TOTRATE); 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); /* prevent selection of total */ gtk_tree_selection_set_select_function(gtk_tree_view_get_selection(GTK_TREE_VIEW(view)), lst_rep_total_selectionfunc, NULL, NULL); /* sort */ gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_REPDIST_POS , lst_rep_total_compare_func, GINT_TO_POINTER(LST_REPDIST_POS), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_REPDIST_EXPENSE, lst_rep_total_compare_func, GINT_TO_POINTER(LST_REPDIST_EXPENSE), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_REPDIST_INCOME , lst_rep_total_compare_func, GINT_TO_POINTER(LST_REPDIST_INCOME), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_REPDIST_TOTAL , lst_rep_total_compare_func, GINT_TO_POINTER(LST_REPDIST_TOTAL), NULL); return(view); } /* ** ============================================================================ */ GString *lst_rep_time_to_string(GtkTreeView *treeview, gchar *title, gboolean clipboard) { GString *node; GtkTreeModel *model; GtkTreeIter iter; gboolean valid; guint32 nbcols, r, i; gchar sep; node = g_string_new(NULL); sep = (clipboard == TRUE) ? '\t' : ';'; // header nbcols = gtk_tree_view_get_n_columns (treeview); for( i=0 ; i < nbcols ; i++ ) { GtkTreeViewColumn *column = gtk_tree_view_get_column (treeview, i); if( GTK_IS_TREE_VIEW_COLUMN(column) ) { g_string_append(node, gtk_tree_view_column_get_title (column)); if( i < nbcols-1 ) g_string_append_c(node, sep); } } g_string_append_c(node, '\n'); // data rows r = 0; nbcols -= 2; // because -label -1 (as we start a 0) model = gtk_tree_view_get_model(treeview); valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { gchar *name; DataRow *dr; gtk_tree_model_get (model, &iter, LST_REPDIST2_LABEL, &name, LST_REPDIST2_ROW, &dr, -1); g_string_append(node, name); g_string_append_c(node, sep); DB( g_print(" %2d '%s' %p\n", r, name, dr) ); // iterate row cells for( i=0 ; i < nbcols ; i++ ) { gdouble value = da_datarow_get_cell_sum(dr, i); DB( g_print(" %2d %.2f\n", i, value) ); g_string_append_printf(node, "%.2f", value); if( i < nbcols ) g_string_append_c(node, sep); } g_string_append_c(node, '\n'); //leak g_free(name); valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); r++; } //DB( g_print("text is:\n%s", node->str) ); return node; } static gboolean lst_rep_time_cb_tooltip_query (GtkWidget *widget, gint x, gint y, gboolean keyboard_tip, GtkTooltip *tooltip, gpointer data) { GtkTreeIter iter; GtkTreePath *path; GtkTreeModel *model; GtkTreeView *tree_view = GTK_TREE_VIEW (widget); gchar *label = NULL; if (!gtk_tree_view_get_tooltip_context (GTK_TREE_VIEW (widget), &x, &y, keyboard_tip, &model, &path, &iter)) return FALSE; gtk_tree_model_get(model, &iter, LST_REPDIST2_LABEL, &label, -1); gtk_tooltip_set_markup (tooltip, label); gtk_tree_view_set_tooltip_row (tree_view, tooltip, path); gtk_tree_path_free (path); return TRUE; } static gint lst_rep_time_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); //total always at bottom if( dr1->pos == LST_REPDIST_POS_TOTAL ) { retval = -1; } else { if( dr2->pos == LST_REPDIST_POS_TOTAL ) { retval = 1; } else { 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 lst_rep_time_name_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gint pos; gchar *text = NULL; gint weight = PANGO_WEIGHT_NORMAL; gtk_tree_model_get(model, iter, LST_REPDIST2_POS, &pos, LST_REPDIST2_LABEL, &text, -1); if( pos == LST_REPDIST_POS_TOTAL ) { weight = PANGO_WEIGHT_BOLD; } g_object_set(renderer, "weight", weight, "text", text, NULL); g_free(text); } static void lst_rep_time_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); gint weight = PANGO_WEIGHT_NORMAL; gint pos; gtk_tree_model_get(model, iter, LST_REPDIST2_POS, &pos, 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); if( pos == LST_REPDIST_POS_TOTAL ) { weight = PANGO_WEIGHT_BOLD; } g_object_set(renderer, "foreground", color, "weight", weight, "text", buf, NULL); return; } } g_object_set(renderer, "text", "", NULL); } static GtkTreeViewColumn *lst_rep_time_column_create_amount(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, lst_rep_time_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 gboolean lst_rep_time_selectionfunc(GtkTreeSelection *selection, GtkTreeModel *model, GtkTreePath *path, gboolean path_currently_selected, gpointer data) { GtkTreeIter iter; gint pos; if(gtk_tree_model_get_iter(model, &iter, path)) { gtk_tree_model_get(model, &iter, LST_REPDIST2_POS, &pos, -1); if( pos == LST_REPDIST_POS_TOTAL ) return FALSE; } return TRUE; } /* test new listview */ void lst_rep_time_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, lst_rep_time_name_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); /* prevent selection of total */ gtk_tree_selection_set_select_function(gtk_tree_view_get_selection(GTK_TREE_VIEW(view)), lst_rep_time_selectionfunc, NULL, NULL); /* sort */ gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_REPDIST2_POS , lst_rep_time_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); gtk_widget_set_has_tooltip (GTK_WIDGET (view), TRUE); g_signal_connect (view, "query-tooltip", G_CALLBACK (lst_rep_time_cb_tooltip_query), NULL); return(view); } homebank-5.5.2/src/hb-import-qif.c0000644000175000017500000002754614007276243013664 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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.5.2/src/rep-budget.c0000644000175000017500000014050714036245517013237 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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; /* prototypes */ static void repbudget_compute(GtkWidget *widget, gpointer user_data); static void repbudget_sensitive(GtkWidget *widget, gpointer user_data); static void repbudget_update_daterange(GtkWidget *widget, gpointer user_data); static void repbudget_update_chart(GtkWidget *widget, gpointer user_data); static void repbudget_update_detail(GtkWidget *widget, gpointer user_data); static void repbudget_detail(GtkWidget *widget, gpointer user_data); static GtkWidget *lst_repbud_create(void); static GString *lst_repbud_to_string(GtkTreeView *treeview, gchar *title, 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; //#1860905 we redraw chart in case a sort changed repbudget_update_chart(data->window, NULL); gtk_notebook_set_current_page(GTK_NOTEBOOK(data->GR_result), 1); repbudget_sensitive(data->window, NULL); } static void repbudget_action_print(GtkToolButton *toolbutton, gpointer user_data) { struct repbudget_data *data = user_data; gint tmpfor; gchar *name; tmpfor = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_for)); name = g_strdup_printf("hb-repbudget_%s", CYA_CATSUBCAT[tmpfor]); gtk_chart_progress_print(GTK_CHARTPROGRESS(data->RE_progress), GTK_WINDOW(data->window), PREFS->path_export, name); g_free(name); } /* ======================== */ 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; gint tmpfor; gchar *title; 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"); tmpfor = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_for)); title = _(CYA_CATSUBCAT[tmpfor]); node = lst_repbud_to_string(GTK_TREE_VIEW(data->LV_report), title, 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; gchar *title; 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) { title = _(CYA_CATSUBCAT[tmpfor]); node = lst_repbud_to_string(GTK_TREE_VIEW(data->LV_report), title, 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, FALSE, FALSE); 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-repbudget-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, FALSE, 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_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); } static void repbudget_update_chart(GtkWidget *widget, gpointer user_data) { struct repbudget_data *data; GtkTreeModel *model; gint tmpfor; gchar *title; DB( g_print("\n[repbudget] update chart\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)); model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_report)); /* update stack chart */ title = g_strdup_printf(_("Budget for %s"), _(CYA_CATSUBCAT[tmpfor]) ); ui_chart_progress_set_currency(GTK_CHARTPROGRESS(data->RE_progress), GLOBALS->kcur); /* set chart color scheme */ ui_chart_progress_set_color_scheme(GTK_CHARTPROGRESS(data->RE_progress), PREFS->report_color_scheme); ui_chart_progress_set_dualdatas(GTK_CHARTPROGRESS(data->RE_progress), model, _("Budget"), _("Result"), title, NULL); g_free(title); } 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; 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); repbudget_update_chart(widget, NULL); } //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); } /* ** 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); hb_widget_visible (data->BT_print, !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_progress), minor); } 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_progress = button; g_object_set (button, "icon-name", ICONNAME_HB_VIEW_PROGRESS, "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); button = hbtk_toolbar_add_toolbutton(GTK_TOOLBAR(toolbar), ICONNAME_HB_PRINT, _("Print"), _("Print")); data->BT_print = button; return toolbar; } //reset the filter static void repbudget_filter_setup(struct repbudget_data *data) { DB( g_print("\n[repbudget] reset filter\n") ); filter_reset(data->filter); /* 3.4 : make int transfer out of stats */ data->filter->option[FLT_GRP_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]); } // setup default for our object/memory static void repbudget_window_setup(struct repbudget_data *data) { DB( g_print("\n[repbudget] setup\n") ); repbudget_filter_setup(data); data->detail = PREFS->budg_showdetail; data->legend = 1; } 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)); //unref window to our open window list GLOBALS->openwindows = g_slist_remove(GLOBALS->openwindows, widget); DB( g_print("\n[repbudget] end dispose\n") ); return FALSE; } //allocate our object/memory static void repbudget_window_acquire(struct repbudget_data *data) { DB( g_print("\n[repbudget] acquire\n") ); data->txn_queue = g_queue_new (); data->filter = da_flt_malloc(); } // 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; DB( g_print("\n[repbudget] new\n") ); data = g_malloc0(sizeof(struct repbudget_data)); if(!data) return NULL; repbudget_window_acquire(data); //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; //ref window to our open window list GLOBALS->openwindows = g_slist_prepend(GLOBALS->openwindows, 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 = lst_repbud_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_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_progress = 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_progress), "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); g_signal_connect (G_OBJECT (data->BT_print), "clicked", G_CALLBACK (repbudget_action_print), (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_window_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 *lst_repbud_to_string(GtkTreeView *treeview, gchar *title, 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, (title == NULL) ? _("Category") : title, _("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 lst_repbud_cell_data_function_amount (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 lst_repbud_cell_data_function_result (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 *lst_repbud_column_create_amount(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, lst_repbud_cell_data_function_amount, 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 *lst_repbud_create(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_BUDGET_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 = lst_repbud_column_create_amount(_("Spent"), LST_BUDGET_SPENT); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Income */ column = lst_repbud_column_create_amount(_("Budget"), LST_BUDGET_BUDGET); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Result */ column = lst_repbud_column_create_amount(_("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, lst_repbud_cell_data_function_result, 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_column_id(GTK_TREE_SORTABLE(store), LST_BUDGET_NAME, GTK_SORT_ASCENDING); /* gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_BUDGET_NAME , 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.5.2/src/list-account.h0000644000175000017500000000274514007276247013616 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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_RECON, COL_DSPACC_CLEAR, COL_DSPACC_TODAY, COL_DSPACC_FUTURE, NUM_LST_COL_DSPACC }; struct lst_accview_data { GtkWidget *treeview; GtkWidget *menu; }; gboolean list_account_level1_expanded(GtkTreeView *treeview, gchar *name); GtkWidget *lst_accview_new(void); #endif homebank-5.5.2/src/hb-account.h0000644000175000017500000000715314010337375013224 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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; gdouble maximum; guint32 cheque1; guint32 cheque2; gchar *notes; guint32 karc; guint16 cccday; //creditcard close day guint32 rdate; //last reconciled date /* unsaved datas */ GQueue *txn_queue; GtkWindow *window; //dsp_account window opened gdouble bal_recon; //bank balance (reconciled transaction) gdouble bal_clear; //cleared 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_delete(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.5.2/src/ui-category.h0000644000175000017500000000645714007276247013445 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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_USETXN 2 #define LST_DEFCAT_SORT_USECFG 3 //liststore enum { STO_CAT_DATA, STO_CAT_FULLNAME, NUM_STO_CAT }; 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); void ui_cat_entry_popover_sort_type(GtkBox *box, guint type); 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); void ui_cat_combobox_entry_clear(GtkComboBox *entry_box); 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.5.2/src/Makefile.am0000644000175000017500000000451214045454116013061 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-report.c \ list-report.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.5.2/src/ui-group.h0000664000175000017500000000302414007276247012751 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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.5.2/src/hb-currency.c0000644000175000017500000007003214007276243013413 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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("\n[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("\n[da_cur] malloc\n") ); return g_malloc0(sizeof(Currency)); } void da_cur_destroy(void) { DB( g_print("\n[da_cur] destroy\n") ); g_hash_table_destroy(GLOBALS->h_cur); } void da_cur_new(void) { Currency4217 *curfmt; DB( g_print("\n[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("\n[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("\n[da_cur] init format\n") ); DB( g_print(" k:%d iso:'%s' symbol:'%s' digit:%d\n", item->key, item->iso_code, 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(" numfmt '%s'\n", item->format) ); DB( g_print(" monfmt '%s'\n", item->monfmt) ); } gboolean da_cur_insert(Currency *item) { guint32 *new_key; DB( g_print("\n[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("\n[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("\n[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("\n[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) { //only use when needed //DB( g_print("\n[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; DB( g_printf("\n[currency] is used\n") ); 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; DB( g_printf("\n[currency] iso4217 format get\n") ); for (i = 0; i< n_iso4217cur; i++) { cur = &iso4217cur[i]; if(g_strcmp0(cur->curr_iso_code, code) == 0) { return cur; } } return NULL; } //https://msdn.microsoft.com/en-us/library/windows/desktop/dd464799%28v=vs.85%29.aspx //https://github.com/Samsung/icu/blob/master/source/i18n/winnmfmt.cpp #ifdef G_OS_WIN32 #define NEW_ARRAY(type,count) (type *) g_malloc((count) * sizeof(type)) #define DELETE_ARRAY(array) g_free((void *) (array)) static void win_getCurrencyFormat(CURRENCYFMTW *fmt, const wchar_t *windowsLocaleName) { //wchar_t buf[10]; DB( g_printf("\n[currency] win get system format\n") ); GetLocaleInfoEx(windowsLocaleName, LOCALE_RETURN_NUMBER|LOCALE_ICURRDIGITS, (LPWSTR) &fmt->NumDigits, sizeof(UINT)); //GetLocaleInfoEx(windowsLocaleName, LOCALE_RETURN_NUMBER|LOCALE_ILZERO, (LPWSTR) &fmt->LeadingZero, sizeof(UINT)); //GetLocaleInfoEx(windowsLocaleName, LOCALE_SMONGROUPING, (LPWSTR)buf, sizeof(buf)); //fmt->Grouping = getGrouping(buf); fmt->lpDecimalSep = NEW_ARRAY(wchar_t, 6); GetLocaleInfoEx(windowsLocaleName, LOCALE_SMONDECIMALSEP, fmt->lpDecimalSep, 6); fmt->lpThousandSep = NEW_ARRAY(wchar_t, 6); GetLocaleInfoEx(windowsLocaleName, LOCALE_SMONTHOUSANDSEP, fmt->lpThousandSep, 6); //GetLocaleInfoEx(windowsLocaleName, LOCALE_RETURN_NUMBER|LOCALE_INEGCURR, (LPWSTR) &fmt->NegativeOrder, sizeof(UINT)); GetLocaleInfoEx(windowsLocaleName, LOCALE_RETURN_NUMBER|LOCALE_ICURRENCY, (LPWSTR) &fmt->PositiveOrder, sizeof(UINT)); fmt->lpCurrencySymbol = NEW_ARRAY(wchar_t, 8); GetLocaleInfoEx(windowsLocaleName, LOCALE_SCURRENCY, (LPWSTR) fmt->lpCurrencySymbol, 8); } static void win_freeCurrencyFormat(CURRENCYFMTW *fmt) { DB( g_printf("\n[currency] win free system format\n") ); if (fmt != NULL) { DELETE_ARRAY(fmt->lpCurrencySymbol); DELETE_ARRAY(fmt->lpThousandSep); DELETE_ARRAY(fmt->lpDecimalSep); } } static void win_currency_get_system_iso(void) { LPWSTR lpIntlSymbol; DB( g_printf("\n[currency] get system ISO\n") ); lpIntlSymbol = NEW_ARRAY(wchar_t, 9); GetLocaleInfoEx(LOCALE_NAME_USER_DEFAULT, LOCALE_SINTLSYMBOL, lpIntlSymbol, 9); DB( wprintf(L"raw lpIntlSymbol: '%hs'\n", lpIntlSymbol) ); gchar *tmpstr = g_utf16_to_utf8(lpIntlSymbol, -1, NULL, NULL, NULL); g_stpcpy (PREFS->IntCurrSymbol, tmpstr); g_free(tmpstr); DELETE_ARRAY(lpIntlSymbol); } static void win_currency_format_system_fill(Currency *item) { CURRENCYFMTW currency; DB( g_printf("\n[currency] windows format system fill '%s'\n", item->iso_code) ); win_getCurrencyFormat(¤cy, LOCALE_NAME_USER_DEFAULT); #if MYDEBUG == 1 printf("raw ptr = %p\n", ¤cy); printf("raw NumDigits: '%d'\n", currency.NumDigits); //note this will not print well on windows console which is not unicode compliant wprintf(L"raw lpDecimalSep: '%hs'\n", currency.lpDecimalSep); wprintf(L"raw lpThousandSep: '%hs'\n", currency.lpThousandSep); wprintf(L"raw lpCurrencySymbol: '%hs'\n", currency.lpCurrencySymbol); #endif item->symbol = g_utf16_to_utf8(currency.lpCurrencySymbol, -1, NULL, NULL, NULL); item->sym_prefix = (currency.PositiveOrder & 1) ? FALSE : TRUE; item->decimal_char = g_utf16_to_utf8(currency.lpDecimalSep, -1, NULL, NULL, NULL); item->grouping_char = g_utf16_to_utf8(currency.lpThousandSep, -1, NULL, NULL, NULL); item->frac_digits = currency.NumDigits; win_freeCurrencyFormat(¤cy); } #endif #ifdef G_OS_UNIX static void unix_currency_get_system_iso(void) { struct lconv *lc = localeconv(); DB( g_printf("\n[currency] get system ISO\n") ); g_stpcpy (PREFS->IntCurrSymbol, lc->int_curr_symbol); } static void unix_currency_format_system_fill(Currency *item) { struct lconv *lc = localeconv(); DB( g_printf("\n[currency] linux format system fill '%s'\n", item->iso_code) ); #if MYDEBUG == 1 g_print("raw ptr = %p\n", lc); g_print("raw int_curr_symbol = '%s'\n", lc->int_curr_symbol); g_print("raw ?_cs_precedes = '%d' '%d'\n", lc->p_cs_precedes, lc->n_cs_precedes); g_print("raw mon_decimal_point = '%s'\n", lc->mon_decimal_point); g_print("raw mon_thousands_sep = '%s'\n", lc->mon_thousands_sep); g_print("raw frac_digits = '%d'\n", lc->frac_digits); #endif item->symbol = g_strdup(lc->currency_symbol); item->sym_prefix = ( lc->p_cs_precedes || lc->n_cs_precedes ) ? TRUE : FALSE; item->decimal_char = g_strdup(lc->mon_decimal_point); item->grouping_char = g_strdup(lc->mon_thousands_sep); 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("."); } } #endif void currency_get_system_iso(void) { DB( g_print("\n[currency] get system ISO code\n") ); #ifdef G_OS_UNIX unix_currency_get_system_iso(); #else #ifdef G_OS_WIN32 win_currency_get_system_iso(); #else g_stpcpy (PREFS->IntCurrSymbol, "USD"); #endif #endif g_strstrip(PREFS->IntCurrSymbol); DB( g_print("- stored '%s' as default\n", PREFS->IntCurrSymbol) ); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ 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)) { #ifdef G_OS_UNIX unix_currency_format_system_fill(item); #else #ifdef G_OS_WIN32 win_currency_format_system_fill(item); #endif #endif } else { //init from our internal iso 4217 preset 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->sym_prefix = FALSE; } //#1862540 if symbol/decimal/grouping char are null = crash on hb_str_formatd() if( !item->symbol ) item->symbol = g_strdup("XXX"); if( !item->decimal_char ) item->decimal_char = g_strdup("."); if( !item->grouping_char ) item->grouping_char = g_strdup(""); #if MEDEBUG == 1 g_printf(" symbol ='%s'\n", item->symbol); g_printf(" sym_prefix ='%d'\n", item->sym_prefix); g_printf(" decimal_char ='%s'\n", item->decimal_char); g_printf(" grouping_char ='%s'\n", item->grouping_char); g_printf(" frac_digits ='%d'\n", item->frac_digits); #endif da_cur_append(item); return item; } static gboolean currency_rate_update(gchar *isocode, gdouble rate, guint32 date) { gboolean retval = FALSE; Currency *cur; DB( g_print("\n[currency] rate update\n") ); 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; DB( g_print("\n[currency] api fixerio parse\n") ); 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; DB( g_print("\n[currency] api fixerio query build\n") ); 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); } }*/ //https://en.wikipedia.org/wiki/ISO_4217 Currency4217 iso4217cur[] = { { "AED", 2, ".", ",", TRUE, "د.إ.‏", "UAE Dirham" }, { "AFN", 2, ",", ",", TRUE, "؋", "Afghani" }, { "ALL", 2, ",", " ", 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", 4, ".", "", FALSE, "CLF", "Unidades de fomento" }, { "CLP", 0, ",", ".", TRUE, "$", "Chilean Peso" }, { "CNY", 2, ".", ",", TRUE, "¥", "Yuan Renminbi" }, { "COP", 2, ",", ".", 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", 2, ".", ",", 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", 2, ",", ".", TRUE, "Rp", "Rupiah" }, { "ILS", 2, ".", ",", TRUE, "₪", "New Israeli Sheqel" }, { "INR", 2, ".", ",", TRUE, "₹", "Indian Rupee" }, { "IQD", 3, ".", ",", 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", 2, ",", ".", 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", 2, ",", " ", TRUE, "Ar", "Malagasy Ariary" }, { "MKD", 2, ",", " ", TRUE, "den", "Denar" }, { "MMK", 2, ".", ",", TRUE, "K", "Kyat" }, { "MNT", 2, ".", ",", TRUE, "₮", "Tugrik" }, { "MOP", 2, ",", " ", TRUE, "MOP", "Pataca" }, { "MRO", 0, ",", " ", TRUE, "UM", "Ouguiya" }, { "MTL", 2, ".", "", FALSE, "MTL", "Maltese Lira" }, { "MUR", 2, ",", " ", 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", 2, ".", ",", 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", 2, ",", ".", 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", 2, ".", ",", TRUE, "Le", "Leone" }, { "SOS", 2, ".", ",", TRUE, "S", "Somali Shilling" }, { "SRD", 2, ",", ".", TRUE, "$", "Surinam Dollar" }, { "STD", 0, ",", " ", FALSE, "Db", "Dobra" }, { "SVC", 2, ".", "", FALSE, "SVC", "El Salvador Colon" }, { "SYP", 2, ",", " ", 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", 2, ".", ",", 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", 0, ".", "", FALSE, "UYI", "Uruguay Peso en Unidades Indexadas" }, { "UYU", 2, ",", ".", TRUE, "$", "Peso Uruguayo" }, { "UZS", 2, ",", " ", TRUE, "soʻm", "Uzbekistan Sum" }, { "VEF", 2, ",", ".", TRUE, "Bs.", "Bolivar Fuerte" }, { "VND", 0, ",", ".", 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", 0, ".", "", 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.5.2/src/hb-split.h0000664000175000017500000000321714007276247012730 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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.5.2/src/ui-account.c0000644000175000017500000017034514021203277013242 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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_popover_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_popover_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 popover 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; DB( g_print ("[acc entry popover] open\n") ); 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); //popover 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) { GtkTreeView *treeview = (GtkTreeView *)data; GtkTreeModel *model = gtk_tree_view_get_model (GTK_TREE_VIEW(treeview)); 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); g_signal_emit_by_name(gtk_tree_view_get_selection(treeview), "changed", NULL); } 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 } /* = = = = = = = = = = = = = = = = */ guint ui_acc_listview_fill_keys(GtkTreeView *treeview, guint32 *keys, guint32 *kcur) { GtkTreeModel *model; GtkTreeIter iter; gboolean valid, ismulti; guint count, lastcurr = GLOBALS->kcur; count = 0; ismulti = FALSE; model = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview)); 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); keys[accitem->key] = toggled; DB( g_print(" store acc:%d, curr:%d, sel:%d multi:%d @%p\n", accitem->key, accitem->kcur, toggled, ismulti, &keys[accitem->key]) ); //check if multiple currencies if( toggled == TRUE ) { if( count > 0 ) { if( lastcurr != accitem->kcur ) ismulti = TRUE; } lastcurr = accitem->kcur; count++; } /* Make iter point to the next row in the list store */ valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } *kcur = (ismulti == TRUE) ? GLOBALS->kcur : lastcurr; return count; } void ui_acc_listview_set_active(GtkTreeView *treeview, guint32 key) { GtkTreeModel *model; GtkTreeIter iter; gboolean valid; model = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview)); valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter); while (valid) { Account *accitem; gtk_tree_model_get (model, &iter, LST_DEFACC_DATAS, &accitem, -1); if( accitem->key == key ) { gtk_list_store_set (GTK_LIST_STORE (model), &iter, LST_DEFACC_TOGGLE, TRUE, -1); break; } /* Make iter point to the next row in the list store */ valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } } /** * 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); } static gboolean ui_acc_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; Account *item; DB( g_print(" search '%s'\n", key) ); gtk_tree_model_get(model, iter, LST_DEFACC_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_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); gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)), GTK_SELECTION_NONE); g_signal_connect (renderer, "toggled", G_CALLBACK (ui_acc_listview_toggled_cb), treeview); } // 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); if( withtoggle == FALSE ) { 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); gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(treeview), ui_acc_listview_search_equal_func, NULL, NULL); // 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_minimum)); value = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_minimum)); item->minimum = value; gtk_spin_button_update(GTK_SPIN_BUTTON(data->ST_maximum)); value = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_maximum)); item->maximum = 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_minimum), cur->frac_digits); gtk_spin_button_set_digits (GTK_SPIN_BUTTON(data->ST_maximum), 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_minimum), item->minimum); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_maximum), item->maximum); 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_delete(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, dw, dh, 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); dh = (h*1.33/PHI); //ratio 1:1 dw = (dh * 1) / 1; DB( g_print(" main w=%d h=%d => diag w=%d h=%d\n", w, h, dw, dh) ); gtk_window_set_default_size (GTK_WINDOW(dialog), dw, dh); //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_minimum = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 2, row, 1, 1); row++; label = make_label_widget(_("Max_imum:")); gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1); widget = make_amount(label); data->ST_maximum = 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.5.2/src/ui-budget.c0000644000175000017500000011361414023104057013052 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 *fullname, 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->fullname && g_ascii_strcasecmp(fullname, entry->fullname) == 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->fullname && g_ascii_strcasecmp(fullname, entry->fullname) == 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->fullname, 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->fullname, 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; //#1918479 set chnage data->change++; 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, dw, dh; 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); dh = (h*1.33/PHI); //ratio 3:2 dw = (dh * 3) / 2; DB( g_print(" main w=%d h=%d => diag w=%d h=%d\n", w, h, dw, dh) ); gtk_window_set_default_size (GTK_WINDOW(dialog), dw, dh); //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(GTK_ORIENTATION_HORIZONTAL, 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.5.2/src/hub-spending.h0000664000175000017500000000242314007276247013567 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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; }; /* 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); #endif homebank-5.5.2/src/homebank.h0000644000175000017500000002707414036245627012777 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 HOMEBANK_MAJOR 5 #define HOMEBANK_MINOR 5 #define HOMEBANK_MICRO 2 #define HB_VERSION "5.5.2" #define HB_VERSION_NUM (HOMEBANK_MAJOR*10000) + (HOMEBANK_MINOR*100) + HOMEBANK_MICRO #define FILE_VERSION 1.4 #define PREF_VERSION 552 #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_VISUAL = 1 << 2, //4 UF_REFRESHALL = 1 << 3, //8 // = 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_BUTTON_DELETE "edit-delete-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_PROGRESS "hb-view-progress" //"view-chart-progress" #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_VIEW_STACK "hb-view-stack" //"view-chart-stack" #define ICONNAME_HB_VIEW_STACK100 "hb-view-stack100" //"view-chart-stack100" #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_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_PRINT "hb-document-print" #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_rul; //assign rules GHashTable *h_tag; //tags GHashTable *h_memo; //memo/description GList *arc_list; //scheduled/template //#1419304 we keep the deleted txn to a stack trash //GTrashStack *txn_stk; GSList *openwindows; //added 5.5.1 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.5.2/src/dsp-account.h0000644000175000017500000000701214007276247013421 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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_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 { FLG_REG_TITLE = 1 << 0, //1 FLG_REG_SENSITIVE = 1 << 1, //2 FLG_REG_BALANCE = 1 << 2, //4 FLG_REG_VISUAL = 1 << 3, //8 FLG_REG_REFRESHALL = 1 << 4 //16 }; 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_print, *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_assign, *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 *LB_recon, *LB_clear, *LB_today, *LB_futur; GtkWidget *TX_balance[4]; GtkWidget *LV_ope; GtkWidget *ME_popmenu, *ME_popmenustatus; GtkWidget *MI_popadd, *MI_popherit, *MI_popedit; GtkWidget *MI_popstatnone, *MI_popstatclear, *MI_popstatrecon; GtkWidget *MI_popmultiedit, *MI_poptemplate, *MI_popassign, *MI_popdelete; GtkWidget *MI_popviewsplit, *MI_poptxnup, *MI_poptxndown; 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.5.2/src/hb-import.c0000644000175000017500000010172114030112136013055 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 */ //#1895478 5.4.4 25 => 48 for(i=0;i<48;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); // 5.5.1 add OFX fitid if(gentxn->fitid != NULL) g_free(gentxn->fitid); 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; gboolean isimpsimilar = FALSE; 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; isimpsimilar = FALSE; DB( g_print(" 1eval %d %dd %.2f '%s'\n", gentxn1->kacc, gentxn1->julian, gentxn1->amount, gentxn1->fitid) ); 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) || (isimpsimilar == TRUE) ) break; DB( g_print(" 2eval %d %d %.2f '%s'in=%d dup=%d\n", gentxn2->kacc, gentxn2->julian, gentxn2->amount, gentxn2->fitid, gentxn1->to_import, gentxn1->is_imp_similar) ); // 5.5.1 add OFX fitid if( (genacc->filetype == FILETYPE_OFX) ) { GenAcc *gacc1, *gacc2; //#1919080 check also account gacc1 = da_gen_acc_get_by_key(ictx->gen_lst_acc, gentxn1->kacc); gacc2 = da_gen_acc_get_by_key(ictx->gen_lst_acc, gentxn2->kacc); if( gacc1 != NULL && gacc2 != NULL ) { gint resacc, resfitid; DB( g_print(" acc1='%s' <> acc2='%s'\n", gacc1->number, gacc2->number) ); resacc = hb_string_ascii_compare(gacc1->number, gacc2->number); resfitid = hb_string_ascii_compare(gentxn2->fitid, gentxn1->fitid); DB( g_print(" eval with fitid\n") ); if( !resacc && !resfitid ) { isimpsimilar = TRUE; DB( g_print(" found dup fitid\n") ); } } } else { //DB( g_print(" eval with data\n") ); //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) ) { isimpsimilar = TRUE; DB( g_print(" found dup data\n") ); } } list2 = g_list_next(list2); } if( isimpsimilar == TRUE ) { gentxn1->to_import = FALSE; gentxn1->is_imp_similar = TRUE; count++; } } 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; gdouble amount; 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) { //#5.5.1, commented and reported below //as it override the state made with a call to hb_import_gen_txn_check_duplicate //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; } //#1866456 amount = (gentxn->togamount == TRUE) ? -gentxn->amount : gentxn->amount; // 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( ( genacc->kacc == txn->kacc ) && ( gentxn->julian <= (txn->date + ictx->opt_daygap) ) && ( gentxn->julian >= (txn->date - ictx->opt_daygap) ) && ( amount == txn->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, amount, gentxn->memo, gentxn->to_import, gentxn->is_dst_similar) ); } list2 = g_list_previous(list2); } } } //#5.5.1 added check here if( (gentxn->is_dst_similar == TRUE) || (gentxn->is_imp_similar == TRUE) ) { gentxn->to_import = FALSE; } } list1 = g_list_next(list1); } return count; } /** * try to identify 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: //#1909323 no need to free here //g_free(gentxn->info); gentxn->info = _string_concat(gentxn->info, 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 ? } //1866456 and toggle amount gentxn->togamount = ictx->opt_togamount; } 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; //#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; //#1866456 manual toggle amount if( gentxn->togamount == TRUE ) { newope->amount = -gentxn->amount; } // 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; //#1866456 manual toggle amount if( gentxn->togamount == TRUE ) { hbs->amount = -s->amount; } da_splits_append(newope->splits, hbs); hbs = NULL; } } } newope->flags |= OF_ADDED; da_transaction_set_flag(newope); if( gentxn->reconciled ) { Account *acc = da_acc_get(newope->kacc); newope->status = TXN_STATUS_RECONCILED; //#1581863 store reconciled date if( acc != NULL ) acc->rdate = GLOBALS->today; } 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.5.2/src/ui-archive.c0000644000175000017500000011116414007276243013230 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 //#1898294 not translated 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, typsch, typtpl; DB( g_print("\n[ui_scheduled] populate listview\n") ); typsch = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->BT_typsch)); typtpl = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->BT_typtpl)); 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(" - typsch=%d / typtpl=%d\n", typsch, typtpl) ); 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 = FALSE; if( (typsch) && (item->flags & OF_AUTO) ) insert = TRUE; if( (typtpl) && !(item->flags & OF_AUTO) ) insert = TRUE; if( insert ) { gboolean qinsert = TRUE; if(hastext) { qinsert = filter_tpl_search_match(needle, item); } if( qinsert ) { 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 typsch, typtpl; 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, FALSE); typsch = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->BT_typsch)); typtpl = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->BT_typtpl)); if( typsch && !typtpl ) 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, FALSE); //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); //#1863484: reset flag to enable remove auto and limit :) item->flags &= ~(OF_AUTO|OF_LIMIT); 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") ); da_archive_glist_sorted(1); 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, dw, dh; 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); dh = (h*1.33/PHI); //ratio 3:2 dw = (dh * 3) / 2; DB( g_print(" main w=%d h=%d => diag w=%d h=%d\n", w, h, dw, dh) ); gtk_window_set_default_size (GTK_WINDOW(dialog), dw, dh); //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); box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (hbox), box, TRUE, TRUE, 0); 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); gtk_widget_set_halign(box, GTK_ALIGN_CENTER); widget = gtk_toggle_button_new_with_label(_("Scheduled")); data->BT_typsch = widget; gtk_box_pack_start (GTK_BOX (box), widget, FALSE, FALSE, 0); widget = gtk_toggle_button_new_with_label(_("Template")); data->BT_typtpl = widget; gtk_box_pack_start (GTK_BOX (box), widget, FALSE, FALSE, 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_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->BT_typsch), TRUE); gtk_widget_show_all(content); //connect all our signals g_signal_connect (dialog, "destroy", G_CALLBACK (gtk_widget_destroyed), &dialog); g_signal_connect (data->BT_typsch, "toggled", G_CALLBACK (ui_arc_manage_cb_flttype_changed), data); g_signal_connect (data->BT_typtpl, "toggled", G_CALLBACK (ui_arc_manage_cb_flttype_changed), data); 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); 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.5.2/src/hb-group.c0000664000175000017500000001157514007276243012726 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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.5.2/src/list-operation.h0000644000175000017500000000410114007276247014146 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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, LIST_TXN_TYPE_XFERTARGET }; 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, gboolean incsplit, gboolean incacc); 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.5.2/src/ui-tag.h0000664000175000017500000000354014007276247012373 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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_merge; GtkWidget *BT_delete; gint change; }; struct ui_tag_dialog_data { GtkWidget *dialog; }; /* = = = = = = = = = = */ guint32 ui_tag_combobox_get_key(GtkComboBoxText *combobox); void ui_tag_combobox_populate_except(GtkComboBoxText *combobox, guint except_key); 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.5.2/src/hb-split.c0000664000175000017500000001363614007747355012734 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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; for(i=0;ilen;i++) { split = g_ptr_array_index(splits, i); //#1340142 check split category if(da_cat_get(split->kcat) == NULL) { g_warning("split consistency: fixed invalid split cat %d", split->kcat); split->kcat = 0; } //TODO #1910819 must round frac digit, should have beed done > 5.5 //split->amount = hb_amount_round(split->amount, cur->frac_digits); } return splits->len; } homebank-5.5.2/src/ui-widgets-data.c0000664000175000017500000001177714007276243014177 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 *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_("Checking") }, { 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_FLT_SCHEDULED[] = { { FLT_SCHEDULED_THISMONTH, N_("This month") }, { FLT_SCHEDULED_NEXTMONTH, N_("Next month") }, { HBTK_IS_SEPARATOR, "" }, { FLT_SCHEDULED_NEXT30DAYS, N_("Next 30 days") }, { FLT_SCHEDULED_NEXT60DAYS, N_("Next 60 days") }, { FLT_SCHEDULED_NEXT90DAYS, N_("Next 90 days") }, { HBTK_IS_SEPARATOR, "" }, { FLT_SCHEDULED_ALLDATE, N_("All") }, { 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 } };*/ //this is a test HbKivData CYA_TXN_STATUSIMG[] = { { TXN_STATUS_NONE, NULL, N_("None") }, { TXN_STATUS_CLEARED, ICONNAME_HB_OPE_CLEARED, N_("Cleared") }, { TXN_STATUS_RECONCILED, ICONNAME_HB_OPE_RECONCILED, N_("Reconciled") }, { TXN_STATUS_REMIND, ICONNAME_HB_OPE_REMIND, N_("Remind") }, { TXN_STATUS_VOID, ICONNAME_HB_OPE_VOID, N_("Void") }, { 0, NULL, 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.5.2/src/hb-import.h0000644000175000017500000001326514015503761013102 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 *fitid; // 5.5.1 add OFX fitid 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 togamount; 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 opt_togamount; 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.5.2/src/ui-split.c0000664000175000017500000010465514007747316012757 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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, *format; gtk_tree_model_get(model, iter, 0, &split, -1); //hb_strfmon(buf, G_ASCII_DTOSTR_BUF_SIZE-1, amount, ope->kcur, GLOBALS->minor); format = g_object_get_data(G_OBJECT(col), "format"); amount = split->amount; g_snprintf(buf, G_ASCII_DTOSTR_BUF_SIZE-1, format, 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(GtkWidget *treeview, GPtrArray *splits) { GtkTreeModel *model; GtkTreeIter iter; Split *split; gint count, i; DB( g_print("\n[list_split] populate\n") ); count = da_splits_length (splits); if( count <= 0 ) return; model = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview)); 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(treeview), NULL); /* Detach model from view */ /* populate */ for(i=0 ; i < count ; i++) { split = da_splits_get(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(treeview), model); /* Re-attach model to view */ g_object_unref(model); } static GtkWidget * list_split_new(gchar *format) { 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, //taken from nemo, not exactly a resize to content, but good compromise "width-chars", 40, 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, //taken from nemo, not exactly a resize to content, but good compromise "width-chars", 40, 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); g_object_set_data(G_OBJECT(column), "format", format); 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 sensitive; gdouble amount; const gchar *txt; guint 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); sensitive = hb_amount_round(amount, data->cur->frac_digits) != 0.0 ? TRUE : FALSE; gtk_widget_set_sensitive (data->BT_apply, sensitive); count = da_splits_length (data->tmp_splits); sensitive = ( count >= TXN_MAX_SPLIT ) ? FALSE : TRUE; gtk_widget_set_sensitive (data->BT_add, sensitive); //#5.4.3 get a sign -/+ txt = gtk_entry_get_text(GTK_ENTRY(data->ST_amount)); data->amtsigned = (*txt == '-' || *txt == '+') ? TRUE : FALSE; DB( g_print(" - txt='%s' amt=%.2f, signed=%d, nbsplit=%d\n", txt, amount, data->amtsigned, count) ); } 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); ui_cat_entry_popover_set_active(GTK_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); ui_cat_entry_popover_set_active(GTK_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)); split->kcat = ui_cat_entry_popover_get_key_add_new(GTK_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; //#1910819 must round frac digit split->amount = hb_amount_round(amount, data->cur->frac_digits); } } 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 ) { gboolean amtsigned; split = da_split_malloc (); //preserve amtsigned, resetted with gtk_spin_button_update amtsigned = data->amtsigned; gtk_spin_button_update (GTK_SPIN_BUTTON(data->ST_amount)); amount = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_amount)); if(amount) { //#5.4.3 force sign only if the input has no sign //#1880386 wish: revert ease to combine expense/income in splits dialog if( amtsigned == FALSE ) { //#1848604 force sign according txn type if( hb_amount_type_match(amount, data->txntype) == FALSE) amount *= -1; } //split->amount = amount; //#1910819 must round frac digit split->amount = hb_amount_round(amount, data->cur->frac_digits); //split->kcat = ui_cat_comboboxentry_get_key_add_new(GTK_COMBO_BOX(data->PO_cat)); split->kcat = ui_cat_entry_popover_get_key_add_new(GTK_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); } // 0 amount not allowed into splits else { da_split_free(split); } } //todo: msg max number reached 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, data->cur->frac_digits) != 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, data->cur->frac_digits) == 0.0 ) { g_sprintf(buf, "----"); gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_amount), 0); } else { g_snprintf(buf, 48, data->cur->format, 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, data->cur->format, data->amount); gtk_label_set_label(GTK_LABEL(data->LB_txnamount), buf); } g_snprintf(buf, 48, data->cur->format, 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 ) { //#1885413 enable sign invert from split dialog //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->LV_split, data->tmp_splits); data->isedited = FALSE; gtk_spin_button_set_digits (GTK_SPIN_BUTTON(data->ST_amount), data->cur->frac_digits); //5.5 done in popover //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_view_dialog (GtkWidget *parent, Transaction *ope) { GtkWidget *dialog, *content, *table, *scrollwin, *treeview; gint w, h, dw, dh, row; Currency *cur; DB( g_print("\n[ui_split_dialog] new view only\n") ); if( ope->splits == NULL ) return NULL; cur = da_cur_get(ope->kcur); dialog = gtk_dialog_new_with_buttons (_("Transaction splits"), GTK_WINDOW(parent), 0, _("_Close"), GTK_RESPONSE_ACCEPT, NULL); //store our dialog private data DB( g_print(" - window=%p\n", dialog) ); g_signal_connect (dialog, "destroy", G_CALLBACK (gtk_widget_destroyed), &dialog); //set a nice dialog size gtk_window_get_size(GTK_WINDOW(parent), &w, &h); dh = (h/PHI); //ratio 3:2 dw = (dh * 3) / 2; DB( g_print(" parent w=%d h=%d => diag w=%d h=%d\n", w, h, dw, dh) ); gtk_window_set_default_size (GTK_WINDOW(dialog), dw, dh); //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); treeview = list_split_new(cur->format); gtk_container_add(GTK_CONTAINER(scrollwin), treeview); gtk_grid_attach (GTK_GRID (table), scrollwin, 0, row, 4, 1); //setup list_split_populate(treeview, ope->splits); gtk_widget_show_all (dialog); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); return NULL; } GtkWidget *ui_split_dialog (GtkWidget *parent, GPtrArray **src_splits, gint txntype, gdouble amount, guint32 kcur, 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); data->cur = da_cur_get (kcur); DB( g_print(" kcur: %d %d %s\n", data->cur->key, data->cur->frac_digits, data->cur->format) ); //todo: init should move //clone splits or create new data->src_splits = *src_splits; data->txntype = txntype; data->mode = (hb_amount_round(amount, data->cur->frac_digits) != 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(data->cur->format); 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); widget = ui_cat_entry_popover_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_cat = g_signal_connect (ui_cat_entry_popover_get_entry(GTK_BOX(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.5.2/src/ui-filter.c0000644000175000017500000014055714007276243013104 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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[FLT_GRP_STATUS])); sensitive = active == 0 ? FALSE : TRUE; gtk_widget_set_sensitive(data->GR_page[FLT_GRP_STATUS], sensitive); // type active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FLT_GRP_TYPE])); sensitive = active == 0 ? FALSE : TRUE; gtk_widget_set_sensitive(data->GR_page[FLT_GRP_TYPE], sensitive); // date active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FLT_GRP_DATE])); sensitive = active == 0 ? FALSE : TRUE; gtk_widget_set_sensitive(data->GR_page[FLT_GRP_DATE], sensitive); // amount active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FLT_GRP_AMOUNT])); sensitive = active == 0 ? FALSE : TRUE; gtk_widget_set_sensitive(data->GR_page[FLT_GRP_AMOUNT], sensitive); // text active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FLT_GRP_TEXT])); sensitive = active == 0 ? FALSE : TRUE; gtk_widget_set_sensitive(data->GR_page[FLT_GRP_TEXT], sensitive); // paymode active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FLT_GRP_PAYMODE])); sensitive = active == 0 ? FALSE : TRUE; gtk_widget_set_sensitive(data->GR_page[FLT_GRP_PAYMODE], sensitive); // account if(data->show_account == TRUE) { active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FLT_GRP_ACCOUNT])); sensitive = active == 0 ? FALSE : TRUE; gtk_widget_set_sensitive(data->GR_page[FLT_GRP_ACCOUNT], sensitive); } // payee active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FLT_GRP_PAYEE])); sensitive = active == 0 ? FALSE : TRUE; gtk_widget_set_sensitive(data->GR_page[FLT_GRP_PAYEE], sensitive); // category active = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_option[FLT_GRP_CATEGORY])); sensitive = active == 0 ? FALSE : TRUE; gtk_widget_set_sensitive(data->GR_page[FLT_GRP_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 == FLT_GRP_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 == FLT_GRP_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_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, FLT_GRP_CATEGORY); panel = ui_flt_hub_category_new(data); data->GR_page[FLT_GRP_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, FLT_GRP_PAYEE); panel = ui_flt_hub_payee_new(data); data->GR_page[FLT_GRP_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, FLT_GRP_ACCOUNT); panel = ui_flt_hub_account_new(&data->pnl_acc_data); data->GR_page[FLT_GRP_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, FLT_GRP_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[FLT_GRP_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, FLT_GRP_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[FLT_GRP_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, FLT_GRP_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[FLT_GRP_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, FLT_GRP_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[FLT_GRP_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, FLT_GRP_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[FLT_GRP_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, FLT_GRP_PAYMODE); vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING_SMALL); data->GR_page[FLT_GRP_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 *dialog, *content, *mainbox, *sidebar, *stack, *page, *widget; gint w, h, dw, dh; data = g_malloc0(sizeof(struct ui_flt_manage_data)); data->filter = filter; dialog = gtk_dialog_new_with_buttons (_("Edit filter"), GTK_WINDOW (parentwindow), 0, //no flags NULL, //no buttons NULL); if(!txnmode) { widget = gtk_dialog_add_button(GTK_DIALOG(dialog), _("_Reset"), 55); gtk_widget_set_margin_right(widget, SPACING_MEDIUM); } gtk_dialog_add_button(GTK_DIALOG(dialog), _("_Cancel"), GTK_RESPONSE_REJECT); gtk_dialog_add_button(GTK_DIALOG(dialog), _("_OK"), GTK_RESPONSE_ACCEPT); //TODO: gtk_window_set_icon_name(GTK_WINDOW (dialog), ICONNAME_HB_FILTER); //set a nice dialog size gtk_window_get_size(GTK_WINDOW(GLOBALS->mainwindow), &w, &h); dh = (h*1.33/PHI); //ratio 2:3 dw = (dh * 2) / 3; DB( g_print(" main w=%d h=%d => diag w=%d h=%d\n", w, h, dw, dh) ); gtk_window_set_default_size (GTK_WINDOW(dialog), dw, dh); //store our window private data g_object_set_data(G_OBJECT(dialog), "inst_data", (gpointer)data); DB( g_print("(ui_flt_manage) window=%p, inst_data=%p\n", dialog, data) ); g_signal_connect (dialog, "destroy", G_CALLBACK (gtk_widget_destroyed), &dialog); content = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); mainbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (content), mainbox, TRUE, TRUE, 0); 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_set_transition_type (GTK_STACK (stack), GTK_STACK_TRANSITION_TYPE_CROSSFADE); gtk_stack_sidebar_set_stack (GTK_STACK_SIDEBAR (sidebar), GTK_STACK (stack)); gtk_container_set_border_width(GTK_CONTAINER(stack), SPACING_MEDIUM); 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 dialog ui_flt_manage_setup(data); ui_flt_manage_set(data); ui_flt_manage_option_update(dialog, NULL); /* signal connect */ g_signal_connect (data->CY_option[FLT_GRP_STATUS] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL); g_signal_connect (data->CY_option[FLT_GRP_TYPE] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL); g_signal_connect (data->CY_option[FLT_GRP_DATE] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL); g_signal_connect (data->CY_option[FLT_GRP_AMOUNT] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL); g_signal_connect (data->CY_option[FLT_GRP_PAYMODE] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL); g_signal_connect (data->CY_option[FLT_GRP_PAYEE] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL); g_signal_connect (data->CY_option[FLT_GRP_CATEGORY], "changed", G_CALLBACK (ui_flt_manage_option_update), NULL); g_signal_connect (data->CY_option[FLT_GRP_TEXT] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL); if(show_account == TRUE) { g_signal_connect (data->CY_option[FLT_GRP_ACCOUNT] , "changed", G_CALLBACK (ui_flt_manage_option_update), NULL); } gtk_widget_show_all (dialog); 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 (dialog)); switch (retval) { case GTK_RESPONSE_ACCEPT: //do_application_specific_something (); ui_flt_manage_get(data); break; //case 55: reset will be treated in calling dialog } //} // 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 (dialog); g_free(data); DB( g_print(" all ok\n") ); return retval; } homebank-5.5.2/src/ui-assist-import.h0000644000175000017500000000532514007276247014437 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 // other are dynamic 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 *CM_txn_togamount; 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.5.2/src/hb-assign.c0000644000175000017500000002635314010337406013045 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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); } //#1889659: ensure name != null/empty static gboolean da_asg_ensure_name(Assign *item) { // (no assign) does not exists if( item->key > 0 ) { if( item->search == NULL || strlen(item->search) == 0 ) { g_free(item->search); item->search = g_strdup_printf("no name %d", item->key); return TRUE; } } return FALSE; } /** * 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; //#1889659: ensure name != null/empty da_asg_ensure_name(item); 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; //added 5.3.3 item->pos = da_asg_length() + 1; 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; } /* = = = = = = = = = = = = = = = = = = = = */ Assign *da_asg_init_from_transaction(Assign *asg, Transaction *txn) { DB( g_print("\n[scheduled] init from txn\n") ); asg->search = g_strdup_printf("%s %s", _("**PREFILLED**"), txn->memo ); asg->flags |= (ASGF_DOPAY|ASGF_DOCAT|ASGF_DOMOD); asg->kcat = txn->kcat; if(!(txn->flags & OF_INTXFER)) { asg->kpay = txn->kpay; asg->paymode = txn->paymode; } return asg; } 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.5.2/src/ui-assist-start.c0000644000175000017500000005643214007276243014256 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 "hub-account.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 GtkWidget * ui_newfile_page_intro_create (GtkWidget *assistant, struct assist_start_data *data) { GtkWidget *mainbox, *label; 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); //assistant box is 12, so add 6 hb_widget_set_margin(mainbox, SPACING_SMALL); label = make_label( _("This assistant will help you setup a minimum configuration\n" \ "for a new HomeBank file."), 0, 0); gtk_box_pack_start (GTK_BOX (mainbox), label, FALSE, FALSE, SPACING_SMALL); label = make_label( _("All the elements you setup here can be changed later if required."), 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\"\n" \ "at the end of this assistant."), 0., 0.0); gtk_box_pack_start (GTK_BOX (mainbox), label, FALSE, FALSE, SPACING_SMALL); gtk_widget_show_all (mainbox); return mainbox; } /* = = = = = = = = = = = = = = = = */ static void ui_newfile_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_newfile_page_general_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_cur_base), label); } static GtkWidget * ui_newfile_page_general_create (GtkWidget *assistant, struct assist_start_data *data) { GtkWidget *mainbox, *hbox, *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); //assistant box is 12, so add 6 hb_widget_set_margin(mainbox, SPACING_SMALL); // 123456789012345678901234567890123456789012345678901234567890 label = make_label(_("HomeBank will display a title for the main window,\n" \ "it can be a free label or your name."), 0, 0.5); gtk_widget_set_margin_bottom(label, SPACING_LARGE); gtk_box_pack_start (GTK_BOX (mainbox), label, FALSE, FALSE, 0); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_MEDIUM); //gtk_widget_set_halign(hbox, GTK_ALIGN_CENTER); gtk_box_pack_start (GTK_BOX (mainbox), hbox, FALSE, FALSE, 0); label = make_label_widget(_("_Title:")); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); widget = make_string(label); data->ST_owner = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); //TODO: later we will let the user choose to use: //budget //cleared/validated ... //life energy g_signal_connect (G_OBJECT (data->ST_owner), "changed", G_CALLBACK (ui_newfile_entry_changed), assistant); gtk_widget_show_all (mainbox); return mainbox; } /* = = = = = = = = = = = = = = = = */ static void ui_newfile_page_currency_add_action(GtkWidget *widget, gpointer user_data) { struct assist_start_data *data; struct curSelectContext selectCtx; gint result; DB( g_print("\n[ui-start] property_add_action\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_NOCUSTOM, &selectCtx); if( result == GTK_RESPONSE_ACCEPT ) { if( selectCtx.cur_4217 != NULL ) { Currency4217 *curfmt = selectCtx.cur_4217; DB( g_print(" adding '%s' (%s)\n", curfmt->curr_iso_code, curfmt->name) ); g_ptr_array_add(data->cur_arr, curfmt); //TODO: refresh the label GString *strcur = g_string_new(NULL); for(guint i=0;icur_arr->len;i++) { Currency4217 *elt = g_ptr_array_index(data->cur_arr, i); g_string_append_printf(strcur, "%s (%s)\r\n", elt->curr_iso_code, elt->name); } gtk_label_set_text (GTK_LABEL(data->LB_cur_others), strcur->str); g_string_free(strcur, TRUE); } } } static void ui_newfile_page_currency_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->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_cur_base), label); } } static void ui_newfile_page_currency_cb_toggle(GtkWidget *widget, gpointer user_data) { struct assist_start_data *data; gboolean sensitive; DB( g_print("\n[ui-start] property_cb_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_cur_add)); gtk_widget_set_sensitive(data->LB_cur_others, sensitive); gtk_widget_set_sensitive(data->BT_cur_add, sensitive); } static GtkWidget * ui_newfile_page_currency_create (GtkWidget *assistant, struct assist_start_data *data) { GtkWidget *mainbox, *hbox, *label, *widget; GtkWidget *scrollwin; mainbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, SPACING_SMALL); //assistant box is 12, so add 6 hb_widget_set_margin(mainbox, SPACING_SMALL); // 123456789012345678901234567890123456789012345678901234567890 label = make_label(_("HomeBank support multiple currencies. The base currency is\n" \ "the default for new accounts and reports."), 0, 0.5); gtk_widget_set_margin_bottom(label, SPACING_LARGE); gtk_box_pack_start (GTK_BOX (mainbox), label, FALSE, FALSE, 0); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_MEDIUM); gtk_box_pack_start (GTK_BOX (mainbox), hbox, FALSE, FALSE, 0); label = make_label_widget(_("Base:")); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); widget = make_label (NULL, 0, 0.5); data->LB_cur_base = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); widget = gtk_button_new_with_mnemonic (_("_Change")); data->BT_cur_change = widget; gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); widget = gtk_check_button_new_with_mnemonic (_("Setup additional currencies")); data->CM_cur_add = widget; gtk_widget_set_margin_top(widget, SPACING_LARGE); gtk_box_pack_start (GTK_BOX (mainbox), widget, FALSE, FALSE, 0); scrollwin = gtk_scrolled_window_new(NULL,NULL); gtk_box_pack_start (GTK_BOX (mainbox), 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), 0.75*HB_MINHEIGHT_LIST); widget = make_label(NULL, 0.0, 0.0); data->LB_cur_others = widget; gtk_container_add(GTK_CONTAINER(scrollwin), widget); widget = gtk_button_new_with_mnemonic (_("_Add")); gtk_widget_set_halign(widget, GTK_ALIGN_START); data->BT_cur_add = widget; gtk_box_pack_start (GTK_BOX (mainbox), widget, FALSE, FALSE, 0); gtk_widget_set_sensitive(data->LB_cur_others, FALSE); gtk_widget_set_sensitive(data->BT_cur_add, FALSE); g_signal_connect (G_OBJECT (data->BT_cur_change), "clicked", G_CALLBACK (ui_newfile_page_currency_change_action), data); g_signal_connect (G_OBJECT (data->CM_cur_add), "toggled", G_CALLBACK (ui_newfile_page_currency_cb_toggle), data); g_signal_connect (G_OBJECT (data->BT_cur_add), "clicked", G_CALLBACK (ui_newfile_page_currency_add_action), data); gtk_widget_show_all (mainbox); return mainbox; } /* = = = = = = = = = = = = = = = = */ static void hb_string_clean_csv_category(gchar *str) { gchar *s = str; gchar *d = str; if(str) { while( *s ) { if( !(*s==';' || *s=='1' || *s=='-' || *s=='+' || *s=='2') ) { *d++ = *s; } if( *s=='2' ) { *d++ = ' '; *d++ = '-'; *d++ = ' '; } s++; } *d = 0; } } static void ui_newfile_page_categories_cb_toggle(GtkWidget *widget, gpointer user_data) { struct assist_start_data *data; gboolean sensitive; DB( g_print("\n[ui-start] categories_cb_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_load)); gtk_widget_set_sensitive(data->GR_file, sensitive); gtk_widget_set_sensitive(data->TX_preview, sensitive); } static void ui_newfile_page_categories_fill (GtkWidget *assistant, struct assist_start_data *data) { gchar *lang; gchar *content; data->pathfilename = category_find_preset(&lang); //test no file //data->pathfilename = NULL; 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); /* preview */ if( g_file_get_contents(data->pathfilename, &content, NULL, NULL) ) { hb_string_clean_csv_category(content); gtk_label_set_label(GTK_LABEL(data->TX_preview), content); g_free(content); } } 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); } } static GtkWidget * ui_newfile_page_categories_create (GtkWidget *assistant, struct assist_start_data *data) { GtkWidget *mainbox, *hbox, *label, *widget; GtkWidget *scrollwin; mainbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, SPACING_SMALL); //assistant box is 12, so add 6 hb_widget_set_margin(mainbox, SPACING_SMALL); // 123456789012345678901234567890123456789012345678901234567890 label = make_label(_("HomeBank can prefill the categories for your language\n" \ "if a CSV file is available and provided by the community."), 0, 0.5); gtk_widget_set_margin_bottom(label, SPACING_LARGE); gtk_box_pack_start (GTK_BOX (mainbox), label, FALSE, FALSE, 0); widget = gtk_check_button_new_with_mnemonic (_("Setup categories for my language")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), TRUE); //gtk_widget_set_margin_bottom(widget, SPACING_LARGE); data->CM_load = widget; gtk_box_pack_start (GTK_BOX (mainbox), widget, FALSE, FALSE, 0); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_MEDIUM); data->GR_file = hbox; gtk_box_pack_start (GTK_BOX (mainbox), hbox, FALSE, FALSE, 0); label = make_label_widget(_("Preset file:")); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); 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); 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), 0.75*HB_MINHEIGHT_LIST); gtk_box_pack_start (GTK_BOX (mainbox), scrollwin, TRUE, TRUE, 0); widget = make_label(NULL, 0.0, 0.5); data->TX_preview = widget; gtk_container_add(GTK_CONTAINER(scrollwin), widget); g_signal_connect (G_OBJECT (data->CM_load), "toggled", G_CALLBACK (ui_newfile_page_categories_cb_toggle), data); gtk_widget_show_all (mainbox); gtk_widget_hide(data->ok_image); gtk_widget_hide(data->ko_image); return mainbox; } /* = = = = = = = = = = = = = = = = */ static void ui_newfile_page_account_cb_eval(GtkWidget *widget, gpointer user_data) { struct assist_start_data *data; GtkWidget *current_page; gint page_number; gchar *text; gboolean sensitive, valid; DB( g_print("\n[ui-start] account_cb_eval\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data"); page_number = gtk_assistant_get_current_page (GTK_ASSISTANT(data->dialog)); //#1837838: complete space or leading/trailing space is possible text = g_strdup(gtk_entry_get_text (GTK_ENTRY (data->ST_name))); g_strstrip(text); valid = (strlen(text) > 0) ? TRUE : FALSE; g_free(text); sensitive = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_acc_add)); gtk_widget_set_sensitive(data->GR_acc, sensitive); if(!sensitive) valid = TRUE; current_page = gtk_assistant_get_nth_page (GTK_ASSISTANT(data->dialog), page_number); gtk_assistant_set_page_complete (GTK_ASSISTANT(data->dialog), current_page, valid); } static GtkWidget * ui_newfile_page_account_create (GtkWidget *assistant, struct assist_start_data *data) { GtkWidget *mainbox, *group_grid, *label, *widget; mainbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, SPACING_SMALL); //assistant box is 12, so add 6 hb_widget_set_margin(mainbox, SPACING_SMALL); // 123456789012345678901234567890123456789012345678901234567890 label = make_label(_("HomeBank enables to import your accounts from downloaded\n" \ "financial institution files, or you can create your account manually."), 0, 0.5); gtk_widget_set_margin_bottom(label, SPACING_LARGE); gtk_box_pack_start (GTK_BOX (mainbox), label, FALSE, FALSE, 0); widget = gtk_check_button_new_with_mnemonic (_("Create my first account")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), TRUE); //gtk_widget_set_margin_bottom(widget, SPACING_LARGE); data->CM_acc_add = widget; gtk_box_pack_start (GTK_BOX (mainbox), widget, FALSE, FALSE, 0); group_grid = gtk_grid_new (); data->GR_acc = 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_box_pack_start (GTK_BOX (mainbox), group_grid, TRUE, TRUE, 0); label = make_label_widget(_("_Name:")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 0, 1, 1); widget = make_string(label); gtk_widget_set_hexpand(widget, TRUE); data->ST_name = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, 0, 1, 1); label = make_label_widget(_("_Type:")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, 1, 1, 1); widget = hbtk_combo_box_new_with_data(label, CYA_ACC_TYPE); gtk_widget_set_hexpand(widget, TRUE); data->CY_type = widget; gtk_grid_attach (GTK_GRID (group_grid), widget, 1, 1, 1, 1); gtk_widget_show_all (mainbox); g_signal_connect (G_OBJECT (data->ST_name), "changed", G_CALLBACK (ui_newfile_page_account_cb_eval), data); g_signal_connect (G_OBJECT (data->CM_acc_add), "toggled", G_CALLBACK (ui_newfile_page_account_cb_eval), data); return mainbox; } /* = = = = = = = = = = = = = = = = */ static GtkWidget * ui_newfile_page_confirmation_create (GtkWidget *assistant, struct assist_start_data *data) { GtkWidget *label; label = gtk_label_new (_("This is a confirmation page,\n\npress 'Apply' to apply changes")); gtk_widget_show (label); return label; } /* = = = = = = = = = = = = = = = = */ static void ui_newfile_assistant_prepare (GtkWidget *assistant, GtkWidget *page, gpointer user_data) { struct assist_start_data *data = user_data; gint current_page; //gint n_pages; DB( g_print("\n[ui-start] prepare\n") ); current_page = gtk_assistant_get_current_page (GTK_ASSISTANT (assistant)); //n_pages = gtk_assistant_get_n_pages (GTK_ASSISTANT (assistant)); switch( current_page ) { case PAGE_GENERAL: ui_newfile_page_general_fill(assistant, data); break; case PAGE_CATEGORIES: ui_newfile_page_categories_fill(assistant, data); break; } } static void ui_newfile_assistant_apply (GtkWidget *widget, gpointer user_data) { struct assist_start_data *data = user_data; Account *item; 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); } // init other currencies if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_cur_add))) { Currency *item = NULL; guint i; for(i=0;icur_arr->len;i++) { Currency4217 *curfmt = g_ptr_array_index(data->cur_arr, i); DB( g_printf("- curr creating: '%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); } } } /* 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 */ // init other currencies if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_acc_add))) { 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)); da_acc_append(item); GLOBALS->changes_count++; } //our global list has changed, so update the treeview ui_hub_account_populate(GLOBALS->mainwindow, NULL); ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE+UF_REFRESHALL)); } static void ui_newfile_assitant_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->dialog); g_free(data->pathfilename); g_ptr_array_free(data->cur_arr, TRUE); g_free(data); } GtkWidget* ui_newfile_assitant_new (void) { struct assist_start_data *data; GtkWidget *assistant, *page; //gint w, h, dw, dh; DB( g_print("\n[ui-start] new\n") ); data = g_malloc0(sizeof(struct assist_start_data)); if(!data) return NULL; data->cur_arr = g_ptr_array_new(); assistant = gtk_assistant_new (); data->dialog = assistant; //set a nice dialog size /* gtk_window_get_size(GTK_WINDOW(GLOBALS->mainwindow), &w, &h); dh = (h*1.33/PHI); //ratio 2:3 dw = (dh * 2) / 3; DB( g_print(" main w=%d h=%d => diag w=%d h=%d\n", w, h, dw, dh) ); gtk_window_set_default_size (GTK_WINDOW(assistant), dw, dh); */ //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_modal(GTK_WINDOW (assistant), TRUE); gtk_window_set_transient_for(GTK_WINDOW(assistant), GTK_WINDOW(GLOBALS->mainwindow)); page = ui_newfile_page_intro_create (assistant, data); gtk_assistant_append_page (GTK_ASSISTANT (assistant), page); gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), page, _("Start File Setup")); gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_INTRO); gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), page, TRUE); page = ui_newfile_page_general_create (assistant, data); gtk_assistant_append_page (GTK_ASSISTANT (assistant), page); gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), page, _("File Options")); gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_INTRO); page = ui_newfile_page_currency_create (assistant, data); gtk_assistant_append_page (GTK_ASSISTANT (assistant), page); gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), page, _("Choose Currencies")); gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), page, TRUE); page = ui_newfile_page_categories_create (assistant, data); gtk_assistant_append_page (GTK_ASSISTANT (assistant), page); gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), page, _("Choose Categories")); gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), page, TRUE); page = ui_newfile_page_account_create (assistant, data); gtk_assistant_append_page (GTK_ASSISTANT (assistant), page); gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), page, _("Create Account")); page = ui_newfile_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_complete (GTK_ASSISTANT (assistant), page, TRUE); gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), page, _("Finish File Setup")); g_signal_connect (G_OBJECT (assistant), "cancel", G_CALLBACK (ui_newfile_assitant_close_cancel), data); g_signal_connect (G_OBJECT (assistant), "close", G_CALLBACK (ui_newfile_assitant_close_cancel), data); g_signal_connect (G_OBJECT (assistant), "apply", G_CALLBACK (ui_newfile_assistant_apply), data); g_signal_connect (G_OBJECT (assistant), "prepare", G_CALLBACK (ui_newfile_assistant_prepare), data); gtk_widget_show (assistant); return assistant; } homebank-5.5.2/src/gtk-chart-progress.h0000644000175000017500000001222314007276247014727 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 struct _HbtkDrawProgContext HbtkDrawProgContext; 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; }; struct _HbtkDrawProgContext { gboolean isprint; gboolean darktheme; gint first, visible; double barw, blkw; /* drawing datas */ double l, t, b, r, w, h; double graph_width, graph_height; //graph dimension /* 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; }; /* 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; /* buffer surface */ cairo_surface_t *surface; gint hover, lasthover; struct _HbtkDrawProgContext context; PangoFontDescription *pfd; gint pfd_size; gchar buffer[CHART_BUFFER_LENGTH]; }; typedef struct { ChartProgress *chart; HbtkDrawProgContext drawctx; gint num_pages; } GtkChartProgPrintData; 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 gtk_chart_progress_print(ChartProgress *chart, GtkWindow *parent, gchar *dirname, gchar *filename); 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.5.2/src/hub-account.c0000664000175000017500000004045414007276243013411 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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_recon = 0; gt->bal_clear = 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_recon = 0; g->bal_clear = 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_recon += hb_amount_base(acc->bal_recon, acc->kcur); g->bal_clear += hb_amount_base(acc->bal_clear, 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 %.2f\n", g->bal_recon, g->bal_clear, g->bal_today, g->bal_future) ); gt->bal_recon += g->bal_recon; gt->bal_clear += g->bal_clear; 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 %.2f\n", acc->name, acc->bal_recon, acc->bal_clear, 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 *)lst_accview_new(); 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.5.2/src/ui-tag.c0000664000175000017500000006727114020375537012376 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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: ui_tag_combobox still used in rep_time guint32 ui_tag_combobox_get_key(GtkComboBoxText *combobox) { return hbtk_combo_box_get_active_id(combobox); } void ui_tag_combobox_populate_except(GtkComboBoxText *combobox, guint except_key) { 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; if( item->key != except_key ) { 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); } void ui_tag_combobox_populate(GtkComboBoxText *combobox) { ui_tag_combobox_populate_except(combobox, -1); } GtkWidget * ui_tag_combobox_new(GtkWidget *label) { GtkWidget *combobox; combobox = hbtk_combo_box_new(label); return combobox; } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ static void ui_tag_popover_cb_toggled (GtkToggleButton *togglebutton, gpointer user_data) { GtkWidget *entry = user_data; GtkAllocation allocation; GtkPopover *popover; DB( g_print ("[tag popover] open\n") ); 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 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_LEFT ); //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_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); ui_tag_listview_populate(treeview, 0); g_signal_connect (menubutton, "toggled", G_CALLBACK (ui_tag_popover_cb_toggled), entry); 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); } } static void ui_tag_manage_dialog_merge(GtkWidget *widget, gpointer user_data) { struct ui_tag_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("(ui_tag_manage_dialog) merge %p\n", data) ); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_tag)); //if true there is a selected node if (gtk_tree_selection_get_selected(selection, &model, &iter)) { Tag *srctag; gchar *title; gchar *secondtext; gtk_tree_model_get(model, &iter, LST_DEFTAG_DATAS, &srctag, -1); title = g_strdup_printf ( _("Merge tag '%s'"), srctag->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 tag,\n" "will be moved to the tag selected below."); g_object_set(GTK_MESSAGE_DIALOG (dialog), "secondary-text", secondtext, NULL); g_free(title); getwidget = ui_tag_combobox_new(NULL); gtk_box_pack_start (GTK_BOX (mainvbox), getwidget, FALSE, FALSE, 0); secondtext = g_strdup_printf ( _("_Delete the tag '%s'"), srctag->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 ui_tag_combobox_populate_except(GTK_COMBO_BOX_TEXT(getwidget), srctag->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; Tag *newtag; guint dsttagkey; model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_tag)); gtk_list_store_clear (GTK_LIST_STORE(model)); dsttagkey = ui_tag_combobox_get_key(GTK_COMBO_BOX_TEXT(getwidget)); tag_move(srctag->key, dsttagkey); newtag = da_tag_get(dsttagkey); //#1771720: update count newtag->usage_count += srctag->usage_count; srctag->usage_count = 0; // add the new tagee to listview if(newtag) ui_tag_listview_add(GTK_TREE_VIEW(data->LV_tag), newtag); // delete the old tagee if( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(togglebutton)) ) { DB( g_print(" -> delete %d '%s'\n", srctag->key, srctag->name ) ); ui_tag_listview_remove_selected(GTK_TREE_VIEW(data->LV_tag)); da_tag_delete(srctag->key); } data->change++; ui_tag_listview_populate(data->LV_tag, 0); } // cleanup and destroy gtk_widget_destroy (dialog); } } /* ** delete the selected tag 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 tag is used.\n" "That tag will be deleted from any transaction using it."); } result = ui_dialog_msg_confirm_alert( GTK_WINDOW(data->dialog), title, secondtext, _("_Delete") ); g_free(title); if( result == GTK_RESPONSE_OK ) { //#1915729 no need to move to 0 (crash), just delete is safe //tag_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_merge, 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, dw, dh, 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); dh = (h*1.33/PHI); //ratio 3:2 dw = (dh * 2) / 3; DB( g_print(" main w=%d h=%d => diag w=%d h=%d\n", w, h, dw, dh) ); gtk_window_set_default_size (GTK_WINDOW(dialog), dw, dh); //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_merge = make_image_button(ICONNAME_HB_LIST_MERGE, _("Move/Merge")); gtk_container_add (GTK_CONTAINER (bbox), data->BT_merge); 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_merge), "clicked", G_CALLBACK (ui_tag_manage_dialog_merge), 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.5.2/src/ui-payee.c0000644000175000017500000015351114021205256012704 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 gboolean ui_pay_entry_popover_completion_func (GtkEntryCompletion *completion, const gchar *key, GtkTreeIter *iter, gpointer user_data) { gchar *name = 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, 0, &name, -1); if (name != NULL) { normalized_string = g_utf8_normalize (name, -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_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)); gtk_entry_completion_set_match_func(completion, ui_pay_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_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_USETXN: retval = entry1->nb_use_all - entry2->nb_use_all; break; case LST_DEFPAY_SORT_USECFG: retval = (entry1->nb_use_all - entry1->nb_use_txn) - (entry2->nb_use_all - entry2->nb_use_txn); 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_txn_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->nb_use_txn > 0) { g_snprintf(buffer, 256-1, "%d", entry->nb_use_txn); g_object_set(renderer, "text", buffer, NULL); } else g_object_set(renderer, "text", "", NULL); } static void ui_pay_listview_count_cfg_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Payee *entry; gchar buffer[256]; guint use; gtk_tree_model_get(model, iter, LST_DEFPAY_DATAS, &entry, -1); use = entry->nb_use_all - entry->nb_use_txn; if(use > 0) { g_snprintf(buffer, 256-1, "%d", use); 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); 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 } /* = = = = = = = = = = = = = = = = */ 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(); //TRANSLATORS: 'txn' is abbrevation for transaction gtk_tree_view_column_set_title(column, _("# txn")); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_pay_listview_count_txn_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_USETXN); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "xalign", 0.5, NULL); column = gtk_tree_view_column_new(); //TRANSLATORS: 'txn' is abbrevation for configuration gtk_tree_view_column_set_title(column, _("# cfg")); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func(column, renderer, ui_pay_listview_count_cfg_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_USECFG); 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_USETXN, ui_pay_listview_compare_func, GINT_TO_POINTER(LST_DEFPAY_SORT_USETXN), NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_DEFPAY_SORT_USECFG, ui_pay_listview_compare_func, GINT_TO_POINTER(LST_DEFPAY_SORT_USECFG), 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)); //#1917075 data->change += 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->nb_use_all += srcpay->nb_use_all; newpay->nb_use_txn += srcpay->nb_use_txn; srcpay->nb_use_all = 0; srcpay->nb_use_txn = 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->nb_use_all > 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, dw, dh, 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); dh = (h*1.33/PHI); //ratio 2:3 dw = (dh * 2) / 3; DB( g_print(" main w=%d h=%d => diag w=%d h=%d\n", w, h, dw, dh) ); gtk_window_set_default_size (GTK_WINDOW(dialog), dw, dh); //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.5.2/src/hb-currency.h0000644000175000017500000000460514007276247013427 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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); void currency_get_system_iso(void); 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.5.2/src/ui-split.h0000664000175000017500000000445514007276247012761 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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; Currency *cur; gdouble amount; gboolean amtsigned; 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, guint32 kcur, void (update_callbackFunction(GtkWidget*, gdouble))); GtkWidget *ui_split_view_dialog (GtkWidget *parent, Transaction *ope); #endif homebank-5.5.2/src/hub-transaction.c0000664000175000017500000001212114007276243014270 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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)); } 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.5.2/src/ui-filter.h0000644000175000017500000000367314007276247013112 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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[FLT_GRP_MAX]; GtkWidget *GR_page[FLT_GRP_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.5.2/src/ui-transaction.h0000644000175000017500000000520314007276247014141 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 *RA_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.5.2/src/hb-preferences.h0000644000175000017500000001154314007276247014075 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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" #include "list-account.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 showwelcome; gboolean loadlast; gboolean appendscheduled; gboolean do_update_currency; //top spending gint date_range_wal; gint rep_maxspenditems; //interface gshort toolbar_style; gshort grid_lines; gboolean gtk_override; gshort gtk_fontsize; gboolean gtk_darktheme; gboolean icon_symbolic; 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 heritdate; gboolean txn_memoacp; gshort txn_xfer_daygap; gshort txn_memoacp_days; gboolean txn_showconfirm; //import/export gint dtex_datefmt; gint dtex_daygap; 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 rep_smallfont; 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; gint lst_acc_columns[NUM_LST_COL_DSPACC+1]; gshort pnl_acc_show_by; gshort pnl_upc_col_pay_width; gshort pnl_upc_col_mem_width; gint pnl_upc_range; gchar *pnl_list_tab; //vehiclecost units (mile/gal or km/liters) gchar *vehicle_unit_dist0; gchar *vehicle_unit_dist1; gchar *vehicle_unit_vol; gchar *vehicle_unit_100; gchar *vehicle_unit_distbyvol; }; gint homebank_pref_list_column_get(gint *cols_id, gint uid, gint maxcol); void homebank_prefs_set_default(void); void homebank_pref_free(void); void homebank_pref_createformat(void); void homebank_pref_init_measurement_units(void); void homebank_pref_apply(void); gboolean homebank_pref_load(void); gboolean homebank_pref_save(void); void homebank_pref_setdefault(void); #endif homebank-5.5.2/src/language.c0000644000175000017500000005175314007276243012766 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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.5.2/src/hb-tag.h0000644000175000017500000000320214007276247012340 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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); void tag_move(guint32 key1, guint32 key2); gboolean tag_rename(Tag *item, const gchar *newname); GList *tag_glist_sorted(gint column); #endif homebank-5.5.2/src/ui-transaction.c0000644000175000017500000014732414017463774014153 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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[]; extern HbKivData CYA_TXN_STATUSIMG[]; // 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) ) { DB( g_print("set cat to %d\n", pay->kcat) ); g_signal_handlers_block_by_func (G_OBJECT (ui_cat_entry_popover_get_entry(GTK_BOX(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 (ui_cat_entry_popover_get_entry(GTK_BOX(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) ) { DB( g_print("set paymode to %d\n", pay->paymode) ); 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; Account *acc; guint cheque; gint type, paymode; 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"); if( data->action != TXN_DLG_ACTION_EDIT ) { paymode = paymode_combo_box_get_active(GTK_COMBO_BOX(data->NU_mode)); if(paymode == PAYMODE_CHECK) { type = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_type)); if( type == TXN_TYPE_EXPENSE ) { //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) { cheque = ( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_cheque))==TRUE ? acc->cheque2 : acc->cheque1 ); //#1915660 only when cheque number is set if( cheque > 0 ) { cheque_str = g_strdup_printf("%d", cheque + 1); DB( g_print(" - should fill for acc %d '%s' chequenr='%s'\n", acc->key, acc->name, cheque_str) ); gtk_entry_set_text(GTK_ENTRY(data->ST_info), cheque_str); g_free(cheque_str); } } } else if( type == TXN_TYPE_INCOME ) { 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); //#1910857 don't trigger autofill when set payee g_signal_handlers_block_by_func(G_OBJECT(ui_pay_entry_popover_get_entry(GTK_BOX(data->PO_pay))), G_CALLBACK(deftransaction_cb_payee_changed), NULL); //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); g_signal_handlers_unblock_by_func(G_OBJECT(ui_pay_entry_popover_get_entry(GTK_BOX(data->PO_pay))), G_CALLBACK(deftransaction_cb_payee_changed), NULL); 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 ); hbtk_radio_button_set_active(GTK_CONTAINER(data->RA_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); } //#1872329 fill-in cheque if condition match deftransaction_set_cheque(widget, 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; Account *srcacc; gint type, nbsplit; guint32 kcur; 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)); srcacc = ui_acc_entry_popover_get(GTK_BOX(data->PO_acc)); kcur = (srcacc != NULL) ? srcacc->kcur : GLOBALS->kcur; ui_split_dialog(data->dialog, &ope->splits, type, amount, kcur, &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 ? */ 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); } //#1882456 ui_cat_entry_popover_sort_type(GTK_BOX(data->PO_cat), type); 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; gint type; 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) ); //#1885413 enable sign invert from split dialog type = (amount < 0.0) ? TXN_TYPE_EXPENSE : 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); 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)); entry->status = hbtk_radio_button_get_active(GTK_CONTAINER(data->RA_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)); //we keep this in cas the user want to force the type da_transaction_set_flag(entry); } 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); } //#1581863 store reconciled date if( (old_txn->status != new_txn->status) && (new_txn->status == TXN_STATUS_RECONCILED) ) { if(acc) acc->rdate = GLOBALS->today; } } //#1883403 we may have changed the split amount but if we cancel it must be restored else { if( old_txn->flags & OF_SPLIT ) new_txn->amount = old_txn->amount; } 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 gint ui_popover_tpl_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) { gint retval = 0; Archive *entry1, *entry2; gtk_tree_model_get(model, a, LST_DSPTPL_DATAS, &entry1, -1); gtk_tree_model_get(model, b, LST_DSPTPL_DATAS, &entry2, -1); retval = hb_string_utf8_compare(entry1->memo, entry2->memo); return retval; } 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); //#1865361 txn dialog template list switch sort order on each save gtk_tree_sortable_set_default_sort_func(GTK_TREE_SORTABLE(store), ui_popover_tpl_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); 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(GTK_ORIENTATION_HORIZONTAL, 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); */ //#1847622 transaction editor: "Status drop" down menu row++; label = make_label_widget(_("_Status:")); gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1); widget = hbtk_radio_button_new_with_data (CYA_TXN_STATUSIMG, TRUE); gtk_widget_set_halign(widget, GTK_ALIGN_START); data->RA_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.5.2/src/language.h0000644000175000017500000000162714007276247012772 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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.5.2/src/gtk-chart.h0000644000175000017500000001542514021123044013052 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 struct _HbtkDrawContext HbtkDrawContext; 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 // 5.5 //#define CHART_PARAM_PIE_HOLEVALUE 0.5 #define CHART_PARAM_PIE_HOLEVALUE 0.61803399 /* 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 _HbtkDrawContext { gboolean isprint; gint visible; double range, max; double min; double unit; gint div; double barw, blkw; // double posbarh, negbarh; /* drawing datas */ double font_h; int l, t, w, h; // int b, r; cairo_rectangle_t graph; cairo_rectangle_t legend; double scale_w; // double scale_x, scale_y, scale_h; // double item_x, item_y, item_w; /* 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, ; // gint lastpress_x, lastpress_y; // guint timer_tag; gint rayon, mark; // gint left, top; }; struct _GtkChart { //own widget here /*< private >*/ //GtkChartPrivate *priv; /* all below should be in priv normally */ GtkBox hbox; GtkWidget *drawarea; GtkAdjustment *adjustment; GtkWidget *scrollbar; /* data storage */ gint nb_items; GArray *items; double rawmin, rawmax; gdouble total; gchar *title; gchar *subtitle; /* chart properties */ gint type; // column/pie/line gboolean dual; gboolean abs; gboolean show_legend; gboolean show_legend_wide; gboolean smallfont; gboolean show_over; gboolean show_average; gboolean show_xval; gboolean show_mono; guint32 kcur; gboolean minor; gdouble minor_rate; gdouble minimum, average; gint usrbarw; gchar *minor_symbol; /* color datas */ GtkColorScheme color_scheme; cairo_surface_t *surface; //dynamics gint hover, lasthover; struct _HbtkDrawContext context; PangoFontDescription *pfd; // gint pfd_size; gchar buffer1[CHART_BUFFER_LENGTH]; gchar buffer2[CHART_BUFFER_LENGTH]; //beta: pienew // gint leg_nb_l, leg_width_l, leg_vspace_l; // gint leg_nb_r, leg_width_r, leg_vspace_r; }; 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); }; typedef struct { GtkChart *chart; HbtkDrawContext drawctx; } GtkChartPrintData; GType gtk_chart_get_type (void) G_GNUC_CONST; void gtk_chart_print(GtkChart *chart, GtkWindow *parent, gchar *dirname, gchar *filename); /* 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_none(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_show_xval(GtkChart * chart, gboolean visible); void gtk_chart_set_barw(GtkChart * chart, gdouble barw); void gtk_chart_set_showmono(GtkChart * chart, gboolean mono); void gtk_chart_set_smallfont(GtkChart * chart, gboolean small); void gtk_chart_show_legend(GtkChart * chart, gboolean visible, gboolean showextracol); void gtk_chart_show_overdrawn(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.5.2/src/ui-hbfile.c0000644000175000017500000002243414007276243013041 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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.5.2/src/rep-vehicle.c0000644000175000017500000011565514021201575013400 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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_compute(GtkWidget *widget, gpointer user_data); static void repvehicle_update(GtkWidget *widget, gpointer user_data); static void repvehicle_setup_categories(struct repvehicle_data *data, GArray *array); static GtkWidget *list_vehicle_create(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; } 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 ); } } //#1277622 static gboolean repvehicle_eval_memofield(CarCost *item, gchar *text) { gboolean retval = FALSE; gchar *d, *v1, *v2; gint len; if(item != NULL) { item->meter = 0; item->fuel = 0.0; item->partial = FALSE; } if( text != NULL) { //TODO: optim here 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)) { retval = TRUE; if(item != NULL) { item->meter = atol(d+2); if(v1) { item->fuel = g_strtod(v1+2, NULL); } else { item->fuel = g_strtod(v2+2, NULL); item->partial = TRUE; } } } } return retval; } static guint32 my_g_array_compare_guint32_func (gconstpointer a, gconstpointer b) { const guint32 *_a = a; const guint32 *_b = b; return *_a - *_b; } static gboolean my_g_array_exists(GArray *array, guint32 kcat) { gboolean retval = FALSE; #if( (GLIB_MAJOR_VERSION == 2) && (GLIB_MINOR_VERSION >= 62) ) retval = g_array_binary_search(array, &kcat, (GCompareFunc)my_g_array_compare_guint32_func, NULL); #else Category *cat; guint32 *key, i; for(i=0;ilen;i++) { key = &g_array_index(array, guint32, i); cat = da_cat_get(*key); if( (cat != NULL) && (cat->key == kcat) ) { retval = TRUE; break; } } #endif return retval; } static void my_garray_add(GArray *array, guint32 key) { Category *cat; cat = da_cat_get(key); if(!cat) return; //#1873660 add parent as well if( cat->parent > 0 ) { if( my_g_array_exists(array, cat->parent) == FALSE ) { DB( g_print(" mark kcat=%d (parent)\n", cat->parent) ); g_array_append_vals(array, &cat->parent, 1); } } //add category if( my_g_array_exists(array, cat->key) == FALSE ) { DB( g_print(" mark kcat=%d\n", cat->key) ); g_array_append_vals(array, &cat->key, 1); } } static void repvehicle_compute(GtkWidget *widget, gpointer user_data) { struct repvehicle_data *data; GArray *ga_cat; GList *list; 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; g_queue_free (data->txn_queue); data->txn_queue = hbfile_transaction_get_partial(data->filter->mindate, data->filter->maxdate); // pass1 to collect categories ga_cat = g_array_new(FALSE, FALSE, sizeof(guint32)); list = g_queue_peek_head_link(data->txn_queue); while (list != NULL) { Transaction *ope = list->data; // eval normal transaction if(!(ope->flags & OF_SPLIT)) { if( repvehicle_eval_memofield(NULL, ope->memo) == TRUE ) { my_garray_add(ga_cat, ope->kcat); } } else { guint i, nbsplit = da_splits_length(ope->splits); Split *split; for(i=0;isplits, i); if( repvehicle_eval_memofield(NULL, split->memo) == TRUE ) { my_garray_add(ga_cat, split->kcat); } } } list = g_list_next(list); } //here ga_cat contains cat+subcat of txn where there is vehicle cost data d= v= // pass2: collect transactions + fill carcost items list = g_queue_peek_head_link(data->txn_queue); while (list != NULL) { Transaction *ope = list->data; Category *cat; CarCost tmp, *item; //TODO: rely on a persistent flag // attribution ? // eval normal transaction if(!(ope->flags & OF_SPLIT)) { cat = da_cat_get(ope->kcat); if( (cat != NULL) ) { if( (my_g_array_exists(ga_cat, cat->key) || my_g_array_exists(ga_cat, cat->parent) ) ) { if( repvehicle_eval_memofield(&tmp, ope->memo) == TRUE ) { item = da_vehiclecost_malloc(); item->kcat = ope->kcat; item->date = ope->date; item->memo = ope->memo; item->amount = hb_amount_base(ope->amount, ope->kcur); item->meter = tmp.meter; item->fuel = tmp.fuel; item->partial = tmp.partial; data->vehicle_list = g_list_prepend(data->vehicle_list, item); DB( g_print(" store txn kcat=%d acc=%d %4.2f '%s' \n", ope->kcat, ope->kacc, ope->amount, ope->memo) ); } else { item = da_vehiclecost_malloc(); item->kcat = ope->kcat; item->date = ope->date; item->amount = hb_amount_base(ope->amount, ope->kcur); item->meter = 0; data->vehicle_list = g_list_prepend(data->vehicle_list, item); DB( g_print(" store txn kcat=%d acc=%d %4.2f '%s' (other)\n", ope->kcat, ope->kacc, ope->amount, ope->memo) ); } } } } // eval split transaction else { guint i, nbsplit = da_splits_length(ope->splits); Split *split; for(i=0;isplits, i); cat = da_cat_get(split->kcat); if( (cat != NULL) ) { if( (my_g_array_exists(ga_cat, cat->key) || my_g_array_exists(ga_cat, cat->parent) ) ) { if( repvehicle_eval_memofield(&tmp, split->memo) == TRUE ) { item = da_vehiclecost_malloc(); item->kcat = split->kcat; item->date = ope->date; item->memo = split->memo; item->amount = hb_amount_base(split->amount, ope->kcur); item->meter = tmp.meter; item->fuel = tmp.fuel; item->partial = tmp.partial; data->vehicle_list = g_list_prepend(data->vehicle_list, item); DB( g_print(" store txn kcat=%d acc=%d %4.2f '%s' (split)\n", split->kcat, ope->kacc, split->amount, split->memo) ); } else { item = da_vehiclecost_malloc(); item->kcat = split->kcat; item->date = ope->date; item->amount = hb_amount_base(split->amount, ope->kcur); item->meter = tmp.meter; data->vehicle_list = g_list_prepend(data->vehicle_list, item); DB( g_print("- store txn kcat=%d acc=%d %4.2f '%s' (other plit)\n", ope->kcat, ope->kacc, ope->amount, ope->memo) ); } } } } } list = g_list_next(list); } repvehicle_setup_categories(data, ga_cat); g_array_free(ga_cat, TRUE); // sort by meter #399170 data->vehicle_list = g_list_sort(data->vehicle_list, (GCompareFunc)repvehicle_transaction_compare_func); 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; guint32 selkey; 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"); // get the category key selkey = ui_cat_comboboxentry_get_key(GTK_COMBO_BOX(data->PO_cat)); DB( g_print(" selkey=%d\n\n", selkey) ); // 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; if( selkey == 0 ) goto noselkey; list = g_list_first(data->vehicle_list); while (list != NULL) { CarCost *item = list->data; Category *itemcat; gint dist; gdouble centkm; gdouble distbyvol; gdouble trn_amount; itemcat = da_cat_get(item->kcat); if(! itemcat ) continue; if( (itemcat->key == selkey || itemcat->parent == selkey) ) { DB( g_print(" add treeview kcat=%d %s\n", item->kcat, item->memo) ); 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); } noselkey: 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_dist0, 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_categories(struct repvehicle_data *data, GArray *array) { Category *cat; guint32 kcat, *key, i; DB( g_print("\n[vehiclecost] setup categories\n") ); kcat = GLOBALS->vehicle_category; g_signal_handler_block(data->PO_cat, data->handler_id[HID_REPVEHICLE_VEHICLE]); if( array != NULL ) { //get previous category kcat = ui_cat_comboboxentry_get_key(GTK_COMBO_BOX(data->PO_cat)); //populate with the array ui_cat_combobox_entry_clear(GTK_COMBO_BOX(data->PO_cat)); cat = da_cat_get(0); if(cat) { DB( g_print(" add %d '%s'\n", cat->key, cat->fullname) ); ui_cat_comboboxentry_add(GTK_COMBO_BOX(data->PO_cat), cat); } for(i=0;ilen;i++) { key = &g_array_index(array, guint32, i); cat = da_cat_get(*key); if(cat) { DB( g_print(" add %d %s\n", cat->key, cat->fullname) ); ui_cat_comboboxentry_add(GTK_COMBO_BOX(data->PO_cat), cat); } } } ui_cat_comboboxentry_set_active(GTK_COMBO_BOX(data->PO_cat), kcat); 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; } //reset the filter static void repvehicle_filter_setup(struct repvehicle_data *data) { DB( g_print("\n[vehiclecost] reset filter\n") ); filter_reset(data->filter); /* 3.4 : make int transfer out of stats */ data->filter->option[FLT_GRP_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]); } static void repvehicle_window_setup(struct repvehicle_data *data) { DB( g_print("\n[vehiclecost] setup\n") ); repvehicle_filter_setup(data); repvehicle_setup_categories(data, NULL); } 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)); //unref window to our open window list GLOBALS->openwindows = g_slist_remove(GLOBALS->openwindows, widget); return FALSE; } //allocate our object/memory static void repvehicle_window_acquire(struct repvehicle_data *data) { DB( g_print("\n[vehiclecost] acquire\n") ); data->txn_queue = g_queue_new (); data->filter = da_flt_malloc(); data->vehicle_list = NULL; } // the window creation GtkWidget *repvehicle_window_new(void) { struct repvehicle_data *data; struct WinGeometry *wg; GtkWidget *window, *mainvbox, *hbox, *vbox, *treeview; GtkWidget *label, *widget, *table; gint row, col; DB( g_print("\n[vehiclecost] new\n") ); data = g_malloc0(sizeof(struct repvehicle_data)); if(!data) return NULL; repvehicle_window_acquire(data); //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; //ref window to our open window list GLOBALS->openwindows = g_slist_prepend(GLOBALS->openwindows, 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 = list_vehicle_create(); 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_update), 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_window_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 list_vehicle_cell_data_func_date (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 list_vehicle_cell_data_func_distbyvol (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gdouble distance; gchar *text; gtk_tree_model_get(model, iter, user_data, &distance, -1); if(distance != 0) { text = g_strdup_printf(PREFS->vehicle_unit_dist1, distance); g_object_set(renderer, "text", text, NULL); g_free(text); } else g_object_set(renderer, "text", "-", NULL); } static void list_vehicle_cell_data_func_distance (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_dist0, distance); g_object_set(renderer, "text", text, NULL); g_free(text); } else g_object_set(renderer, "text", "-", NULL); } static void list_vehicle_cell_data_func_volume (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 list_vehicle_cell_data_func_amount (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 *list_vehicle_column_volume(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, list_vehicle_cell_data_func_volume, 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 *list_vehicle_column_distbyvol(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, list_vehicle_cell_data_func_distbyvol, 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 *list_vehicle_column_distance(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, list_vehicle_cell_data_func_distance, 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 *list_vehicle_column_amount(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, list_vehicle_cell_data_func_amount, 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 *list_vehicle_create(void) { GtkListStore *store; GtkWidget *view; GtkCellRenderer *renderer; GtkTreeViewColumn *column; /* create list store */ store = gtk_list_store_new( NUM_LST_CAR, G_TYPE_UINT, //date G_TYPE_STRING, //memo G_TYPE_UINT, //meter G_TYPE_DOUBLE, //fuel G_TYPE_DOUBLE, //price G_TYPE_DOUBLE, //amount G_TYPE_UINT, //dist G_TYPE_DOUBLE, //100km G_TYPE_DOUBLE, //distbyvol G_TYPE_BOOLEAN //ispartial ); //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, list_vehicle_cell_data_func_date, 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 = list_vehicle_column_distance(_("Meter"), LST_CAR_METER); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Fuel load */ column = list_vehicle_column_volume(_("Fuel"), LST_CAR_FUEL); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Price by unit */ column = list_vehicle_column_amount(_("Price"), LST_CAR_PRICE); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Amount */ column = list_vehicle_column_amount(_("Amount"), LST_CAR_AMOUNT); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: Distance done */ column = list_vehicle_column_distance(_("Dist."), LST_CAR_DIST); gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); /* column: consumption for 100Km */ column = list_vehicle_column_volume(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 = list_vehicle_column_distbyvol(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.5.2/src/hb-transaction.h0000644000175000017500000001053614007276247014122 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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; gushort matchrate; gdouble balance; //GList *same; //used for import todo: change this }; #include "hb-archive.h" // display flags (not related to below real 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); void da_transaction_set_flag(Transaction *item); void da_transaction_consistency(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 saverecondate); 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); gint transaction_similar_mark(Account *acc, guint32 daygap); void transaction_similar_unmark(Account *acc); #endif homebank-5.5.2/src/hb-archive.c0000644000175000017500000003717614017416072013213 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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) { g_free(item->memo); item->memo = NULL; g_free(item->info); item->info = NULL; //5.3 added as it was a leak 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); } /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ guint da_archive_length(void) { return g_list_length(GLOBALS->arc_list); } 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; } //delete //insert /* 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; } 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 } } } /* = = = = = = = = = = = = = = = = = = = = */ static gint da_archive_glist_name_compare_func(Archive *a, Archive *b) { return hb_string_utf8_compare(a->memo, b->memo); } static gint da_archive_glist_key_compare_func(Archive *a, Archive *b) { return hb_string_utf8_compare(a->memo, b->memo); } GList *da_archive_glist_sorted(gint column) { if(column == 0) GLOBALS->arc_list = g_list_sort(GLOBALS->arc_list, (GCompareFunc)da_archive_glist_key_compare_func); else GLOBALS->arc_list = g_list_sort(GLOBALS->arc_list, (GCompareFunc)da_archive_glist_name_compare_func); return GLOBALS->arc_list; } void da_archive_stats(gint *nbtpl, gint *nbsch) { GList *tmplist = g_list_first(GLOBALS->arc_list); gint nbt, nbs; nbt = nbs = 0; while (tmplist != NULL) { Archive *item = tmplist->data; if(item->flags & OF_AUTO) nbs++; else nbt++; tmplist = g_list_next(tmplist); } if( nbtpl != NULL) *nbtpl = nbt; if( nbsch != NULL) *nbsch = nbs; } //#1872140 don't prefix if not from register Archive *da_archive_init_from_transaction(Archive *arc, Transaction *txn, gboolean fromregister) { 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; //5.3.3 prefixed with prefilled //#1883063 **PREFILLED** only when fromregister==TRUE, test order was wrogn here if( fromregister == FALSE ) { if(txn->memo != NULL) arc->memo = g_strdup(txn->memo); } else { if(txn->memo != NULL) arc->memo = g_strdup_printf("%s %s", _("**PREFILLED**"), txn->memo ); else arc->memo = g_strdup(_("**PREFILLED**")); } 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; } void scheduled_date_get_show_minmax(gint select, guint32 *mindate, guint32 *maxdate) { GDate *tmpdate = g_date_new_julian(GLOBALS->today); guint16 month, year; if( (mindate == NULL) || (maxdate == NULL) ) return; switch( select ) { case FLT_SCHEDULED_THISMONTH: case FLT_SCHEDULED_NEXTMONTH: g_date_set_day(tmpdate, 1); if( select == FLT_SCHEDULED_NEXTMONTH) g_date_add_months(tmpdate, 1); *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)); *maxdate = g_date_get_julian(tmpdate) - 1; break; case FLT_SCHEDULED_NEXT30DAYS: *mindate = GLOBALS->today; *maxdate = GLOBALS->today + 30; break; case FLT_SCHEDULED_NEXT60DAYS: *mindate = GLOBALS->today; *maxdate = GLOBALS->today + 60; break; case FLT_SCHEDULED_NEXT90DAYS: *mindate = GLOBALS->today; *maxdate = GLOBALS->today + 90; break; default: *mindate = HB_MINDATE; *maxdate = HB_MAXDATE; break; } g_date_free(tmpdate); } /* * 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 each 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); } //add xx days in advance the current date 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.5.2/src/hb-misc.h0000644000175000017500000000644614007276247012535 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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.5.2/src/ui-assist-import.c0000644000175000017500000022405214007276243014426 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 "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]; gdouble amount; gchar *color; gtk_tree_model_get(model, iter, LST_GENTXN_POINTER, &item, -1); //#1866456 amount = (item->togamount == TRUE) ? -item->amount : item->amount; //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", amount); color = get_normal_color_amount(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_togamount = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(txndata->CM_txn_togamount)); 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); //set target acc id 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); //#1866456 check also target similar if( txndata->CM_txn_togamount == widget ) { DB( g_print(" should check target similar\n") ); hb_import_gen_txn_check_duplicate(ictx, genacc); hb_import_gen_txn_check_target_similar(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); g_signal_handlers_block_by_func(txndata->NB_txn_daygap, G_CALLBACK(ui_import_page_transaction_cb_account_changed), NULL); ictx->opt_daygap = PREFS->dtex_daygap; DB( g_print(" init %d to dategap\n", ictx->opt_daygap) ); gtk_spin_button_set_value(GTK_SPIN_BUTTON(txndata->NB_txn_daygap), ictx->opt_daygap); g_signal_handlers_unblock_by_func(txndata->NB_txn_daygap, 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 choose,\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); widget = gtk_check_button_new_with_mnemonic (_("_Toggle amount")); txndata->CM_txn_togamount = 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 (txndata->CM_txn_togamount, "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; PREFS->dtex_daygap = ictx->opt_daygap; DB( g_print(" store %d to daygap\n", PREFS->dtex_daygap) ); 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 account_compute_balances (); ui_hub_account_populate(GLOBALS->mainwindow, NULL); ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE+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.5.2/src/rep-balance.h0000644000175000017500000000400314021203104013321 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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_KEY, LST_OVER_DATESTR, LST_OVER_EXPENSE, LST_OVER_INCOME, LST_OVER_BALANCE, NUM_LST_OVER }; struct repbalance_data { GList *ope_list; Filter *filter; guint32 jbasedate; gdouble minimum; gboolean detail; guint32 *tmp_acckeys; gdouble *tmp_income; gdouble *tmp_expense; gdouble firstbalance; guint n_result; guint nbovrdraft, nbope; guint32 usrkcur; GtkWidget *window; GtkWidget *TB_bar; GtkWidget *BT_list; GtkWidget *BT_line; GtkWidget *BT_detail; GtkWidget *BT_refresh; GtkWidget *BT_print; GtkWidget *TX_info; GtkWidget *TX_daterange; GtkWidget *CM_minor; GtkWidget *LV_report; GtkWidget *BT_all, *BT_non; GtkWidget *SW_acc, *LV_acc; GtkWidget *CY_intvl; GtkWidget *CM_showempty; GtkWidget *RG_zoomx, *LB_zoomx; GtkWidget *PO_mindate, *PO_maxdate; GtkWidget *CY_range; GtkWidget *GR_result; GtkWidget *RE_chart; GtkWidget *GR_detail; GtkWidget *LV_detail; gulong handler_id[MAX_REPBALANCE_HID]; }; GtkWidget *repbalance_window_new(gint32 accnum); #endif homebank-5.5.2/src/hb-report.c0000644000175000017500000005410614036077120013073 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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->nbcols = nbcol+2; 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); } da_datarow_free(dt->totrow); 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; } dt->totrow = da_datarow_malloc(dt->nbcols+2); DB( g_print("- @%p, r=%d, c=%d\n", dt, nbrows, nbcols) ); return dt; } gdouble da_datarow_get_cell_sum(DataRow *dr, guint32 index) { if( index <= dr->nbcols ) { return (dr->expense[index] + dr->income[index]); } g_warning("invalid datarow column"); return 0; } /* = = = = = = = = = = = = = = = = = = = = */ //#1915643 week iso 8601 /* ** return the week list position correponding to the passed date */ static guint DateInWeek(guint32 from, guint32 opedate) { GDate *date1, *date2; gint pos; GDateWeekday wday; date1 = g_date_new_julian(from); date2 = g_date_new_julian(opedate); //ISO 8601 from must be monday, to slice in correct week wday = g_date_get_weekday(date1); g_date_subtract_days (date1, wday-G_DATE_MONDAY); pos = (opedate - g_date_get_julian(date1)) / 7; DB( g_print(" from=%d %02d-%02d-%04d (shift %d) => %d\n", g_date_get_weekday(date1), g_date_get_day(date1), g_date_get_month(date1), g_date_get_year(date1), (wday-1), pos) ); g_date_free(date2); g_date_free(date1); return(pos); } /* ** 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); 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); } //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; DB( 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 this 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[FLT_GRP_CATEGORY] == 2) sinsert ^= 1; DB( g_print(" split insert=%d, kcat=%d\n", sinsert, split->kcat) ); if( (flt->option[FLT_GRP_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; } static void datatable_trend_add(DataTable *dt, guint32 row, guint32 col, gdouble amount, gboolean addtotal) { 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] += (amount/dt->nbcols); dr->income[dt->nbcols+1] += amount; //dt->totinc += amount; if( addtotal == TRUE ) { dt->totrow->income[col] += amount; dt->totrow->income[dt->nbcols] += (amount/dt->nbcols); dt->totrow->income[dt->nbcols+1] += amount; } } else { dr->expense[col] += amount; dr->expense[dt->nbcols] += (amount/dt->nbcols); dr->expense[dt->nbcols+1] += amount; //dt->totexp += amount; if( addtotal == TRUE ) { dt->totrow->expense[col] += amount; dt->totrow->expense[dt->nbcols] += (amount/dt->nbcols); dt->totrow->expense[dt->nbcols+1] += 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[FLT_GRP_CATEGORY] == 2) sinsert ^= 1; if( (flt->option[FLT_GRP_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, TRUE); //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, FALSE); } } } } } else { pos = category_report_id(ope->kcat, (tmpsrc == REPORT_SRC_CATEGORY) ? FALSE : TRUE); datatable_trend_add(dt, pos, col, trn_amount, TRUE); //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, FALSE); } } } 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, TRUE); tptr++; } } break; default: pos = report_items_get_pos(tmpsrc, flt->mindate, ope); datatable_trend_add(dt, pos, col, trn_amount, TRUE); 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: //#1915643 week iso 8601 //pos = (ope->date - jfrom)/7; pos = DateInWeek(jfrom, ope->date); 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); GDateWeekday wday; 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); //#1915643 week iso 8601 //ISO 8601 from must be monday, to slice in correct week wday = g_date_get_weekday(date); g_date_subtract_days (date, wday-G_DATE_MONDAY); g_date_add_days (date, G_DATE_WEDNESDAY); //g_snprintf(s, slen, _("%d-w%d"), g_date_get_year(date), g_date_get_monday_week_of_year(date)); //TRANSLATORS: printf string for year of week W, ex. 2019-W52 for week 52 of 2019 g_snprintf(s, slen, _("%d-w%02d"), g_date_get_year(date), g_date_get_iso8601_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[FLT_GRP_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[FLT_GRP_CATEGORY] == 2) sinsert ^= 1; DB( g_print(" split insert=%d, kcat=%d\n", sinsert, split->kcat) ); if( (flt->option[FLT_GRP_CATEGORY] == 0) || sinsert) { amount += split->amount; } } } } return amount; } homebank-5.5.2/src/dsp-mainwindow.h0000644000175000017500000000747614007276247014157 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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_clear; gdouble bal_recon; gdouble bal_today; gdouble bal_future; GPtrArray *acclist; }; struct hbfile_data { GtkWidget *window; GtkWidget *dbgchange; 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 *CY_sched_range; 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]; */ }; enum { HB_WELCOME_OPENLAST = 2, HB_WELCOME_CREATENEW, HB_WELCOME_OPENEXISTING, HB_WELCOME_OPENSAMPLE, HB_WELCOME_READMANUAL, HB_WELCOME_CONFIGPREF, }; //temporary ? void ui_mainwindow_defarchive(Archive *arc); GtkWidget *create_hbfile_window(GtkWidget *do_widget); void ui_mainwindow_populate_accounts(GtkWidget *widget, gpointer user_data); void ui_mainwindow_open_check(GtkWidget *widget, gchar *filepath); void ui_mainwindow_open_internal(GtkWidget *widget, gpointer user_data); void ui_mainwindow_update(GtkWidget *widget, gpointer user_data); gint ui_mainwindow_action_help_welcome(void); #endif /* __HB_MANWINDOW_GTK_H__ */ homebank-5.5.2/src/ui-widgets.c0000644000175000017500000010451114007276243013253 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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_set_margin(GtkWidget *widget, gint margin) { gtk_widget_set_margin_start (widget, margin); gtk_widget_set_margin_end (widget, margin); gtk_widget_set_margin_top (widget, margin); gtk_widget_set_margin_bottom (widget, margin); } 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; //5.4.3 + sign now authorized if( (text[i]=='-' || text[i]=='+') && *position==0 ) /* -/+ 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; //#1871383 wish: increase exchange rate size //adj = (GtkAdjustment *) gtk_adjustment_new (0.0, 0.0, 99999, 0.01, 1.0, 0.0); adj = (GtkAdjustment *) gtk_adjustment_new (0.0, 0.0, 999999, 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); hb_widget_set_margin(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 (GtkOrientation orientation, gchar **items, gboolean buttonstyle) { GtkWidget *box, *button, *newbutton; guint i; box = gtk_box_new (orientation, 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; } GtkWidget *hbtk_radio_button_new_with_data (HbKivData *kivdata, gboolean buttonstyle) { GtkWidget *box, *button, *image, *newbutton; HbKivData *tmp = &kivdata[0]; guint i; box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); //button = gtk_radio_button_new_with_label (NULL, _(items[0])); button = gtk_radio_button_new(NULL); image = gtk_image_new_from_icon_name (tmp->iconname, GTK_ICON_SIZE_BUTTON); g_object_set (button, "image", image, "tooltip-text", tmp->name, NULL); gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (button), !buttonstyle); gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); for (i = 1; ; i++) { tmp = &kivdata[i]; if( tmp->name == NULL ) break; //newbutton = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), _(items[i])); newbutton = gtk_radio_button_new_from_widget (GTK_RADIO_BUTTON (button)); image = gtk_image_new_from_icon_name (tmp->iconname, GTK_ICON_SIZE_BUTTON); g_object_set (newbutton, "image", image, "tooltip-text", tmp->name, NULL); 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_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; guint16 nb_use_txn; guint16 nb_use_all; }; 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); gint 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.5.2/src/hb-group.h0000664000175000017500000000304614007276247012731 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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.5.2/src/hb-assign.h0000644000175000017500000000366214007276247013063 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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); Assign *da_asg_init_from_transaction(Assign *asg, Transaction *txn); GList *assign_glist_sorted(gint column); guint transaction_auto_assign(GList *ope_list, guint32 key); #endif homebank-5.5.2/src/ui-widgets.h0000644000175000017500000001170314007276247013264 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 (GtkOrientation orientation, gchar **items, gboolean buttonstyle); GtkWidget *hbtk_radio_button_new_with_data (HbKivData *kivdata, gboolean buttonstyle); void gimp_label_set_attributes (GtkLabel *label, ...); void hb_widget_set_margin(GtkWidget *widget, gint margin); 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.5.2/src/hb-category.c0000644000175000017500000005723114016656010013376 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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) ); } //#1889659: ensure name != null/empty static gboolean da_cat_ensure_name(Category *item) { // (no category) have name="" if( item->key > 0 ) { if( item->name == NULL || strlen(item->name) == 0 ) { g_free(item->name); item->name = g_strdup_printf("no name %d", item->key); return TRUE; } } return FALSE; } 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); //#1889659: ensure name != null/empty da_cat_ensure_name(item); 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; //#1889659: ensure name != null/empty da_cat_ensure_name(item); da_cat_build_fullname(item); g_hash_table_insert(GLOBALS->h_cat, new_key, 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 { if( da_cat_ensure_name(item) ) { 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; } gint category_delete_unused(void) { GList *lcat, *list; gint count = 0; lcat = list = g_hash_table_get_values(GLOBALS->h_cat); while (list != NULL) { Category *entry = list->data; if(entry->nb_use_all <= 0 && entry->key > 0) { da_cat_delete (entry->key); count++; } list = g_list_next(list); } g_list_free(lcat); return count; } static void category_fill_usage_count(guint32 kcat, gboolean txn) { Category *parent, *cat = da_cat_get (kcat); if(cat) { if(txn == TRUE) { cat->nb_use_txn++; cat->nb_use_txncat++; } cat->nb_use_all++; cat->nb_use_allcat++; if( cat->parent > 0 ) { parent = da_cat_get(cat->parent); if( parent ) { if(txn == TRUE) parent->nb_use_txn++; parent->nb_use_all++; } } } } 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->nb_use_all = 0; entry->nb_use_allcat = 0; entry->nb_use_txn = 0; entry->nb_use_txncat = 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, TRUE); } } else category_fill_usage_count(txn->kcat, TRUE); 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, FALSE); 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, FALSE); } } else category_fill_usage_count(entry->kcat, FALSE); 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, FALSE); list = g_list_next(list); } g_list_free(lrul); } //#1875070 if srckey is a cat: any subcat should match as well static gboolean category_move_match(guint32 eltkey, guint32 srckey, gboolean dosubcat) { Category *cat = da_cat_get(eltkey); if(cat) { if(!dosubcat) { if(cat->key == srckey) return TRUE; } else { if(cat->key == srckey || cat->parent == srckey) return TRUE; } } return FALSE; } void category_move(guint32 srckey, guint32 newkey, gboolean dosubcat) { GList *lst_acc, *lnk_acc; GList *lnk_txn, *lpay; 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; //#1875070 //if(txn->kcat == srckey) if( category_move_match(txn->kcat, srckey, dosubcat) ) { txn->kcat = newkey; txn->flags |= OF_CHANGED; } // move split category #1340142 nbsplit = da_splits_length(txn->splits); for(i=0;isplits, i); //#1875070 //if( split->kcat == srckey ) if( category_move_match(split->kcat, srckey, dosubcat) ) { split->kcat = newkey; 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; //#1875070 //if(entry->kcat == srckey) if( category_move_match(entry->kcat, srckey, dosubcat) ) { entry->kcat = newkey; } list = g_list_next(list); } //fix 5.4.2 missed payee here lpay = list = g_hash_table_get_values(GLOBALS->h_pay); while (list != NULL) { Payee *entry = list->data; if( category_move_match(entry->kcat, srckey, dosubcat) ) { entry->kcat = newkey; } list = g_list_next(list); } g_list_free(lpay); lrul = list = g_hash_table_get_values(GLOBALS->h_rul); while (list != NULL) { Assign *entry = list->data; //#1875070 //if(entry->kcat == srckey) if( category_move_match(entry->kcat, srckey, dosubcat) ) { entry->kcat = newkey; } 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 = FALSE; 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) ); } 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.5.2/src/hb-payee.c0000644000175000017500000003111314016656024012660 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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); } //#1889659: ensure name != null/empty static gboolean da_pay_ensure_name(Payee *item) { // (no payee) have name="" if( item->key > 0 ) { if( item->name == NULL || strlen(item->name) == 0 ) { g_free(item->name); item->name = g_strdup_printf("no name %d", item->key); return TRUE; } } return FALSE; } static void da_pay_rename(Payee *item, gchar *newname) { DB( g_print("- renaming '%s' => '%s'\n", item->name, newname) ); g_free(item->name); item->name = g_strdup(newname); //#1889659: ensure name != null/empty da_pay_ensure_name(item); } /** * 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; //#1889659: ensure name != null/empty da_pay_ensure_name(item); 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 a 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); } //gchar *da_pay_get_name(Payee *item) 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 /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ gint payee_delete_unused(void) { GList *lpay, *list; gint count = 0; lpay = list = g_hash_table_get_values(GLOBALS->h_pay); while (list != NULL) { Payee *entry = list->data; if(entry->nb_use_all <= 0 && entry->key > 0) { da_pay_delete (entry->key); count++; } list = g_list_next(list); } g_list_free(lpay); return count; } 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->nb_use_all = 0; entry->nb_use_txn = 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->nb_use_all++; pay->nb_use_txn++; } 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->nb_use_all++; 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->nb_use_all++; 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) ); } else { DB( g_print("- renaming\n") ); da_pay_rename (item, stripname); retval = TRUE; } g_free(stripname); 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.5.2/src/gtk-dateentry.h0000644000175000017500000000547714007276247014000 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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; GtkWidget *BT_today; 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.5.2/src/hub-transaction.h0000664000175000017500000000215614007276247014310 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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.5.2/src/list-operation.c0000644000175000017500000012677014021123540014141 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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, //5.4.3 scale disabled // "scale", 0.8, // "style-set", TRUE, "style", PANGO_STYLE_OBLIQUE, NULL); } else { //5.4.3 scale disabled g_object_set(renderer, "style-set", FALSE, //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); } /* ** match rate cell function */ static void list_txn_match_rate_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Transaction *ope; gchar buffer[8]; gtk_tree_model_get(model, iter, MODEL_TXN_POINTER, &ope, -1); g_snprintf(buffer, 8-1, "%d %%", ope->matchrate); g_object_set(renderer, "text", buffer, 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); } /* = = = = = = = = = = = = = = = = */ static void list_txn_to_string_line(GString *node, gchar sep, Transaction *ope, guint32 kcat, gchar *memo, gdouble amount, gboolean incacc) { Payee *payee; Category *category; gchar *tags; char strbuf[G_ASCII_DTOSTR_BUF_SIZE]; //account if( incacc ) { Account *acc = da_acc_get(ope->kacc); g_string_append (node, (acc != NULL) ? acc->name : ""); g_string_append_c (node, sep ); } //date hb_sprint_date(strbuf, ope->date); g_string_append (node, strbuf ); g_string_append_c (node, sep ); //paymode g_snprintf(strbuf, sizeof (strbuf), "%d", ope->paymode); g_string_append (node, strbuf ); g_string_append_c (node, sep ); //info g_string_append (node, (ope->info != NULL) ? ope->info : "" ); g_string_append_c (node, sep ); //payee payee = da_pay_get(ope->kpay); g_string_append (node, (payee->name != NULL) ? payee->name : ""); g_string_append_c (node, sep ); //memo g_string_append (node, (memo != NULL) ? memo : "" ); g_string_append_c (node, sep ); //amount //#793719 //g_ascii_dtostr (amountbuf, sizeof (amountbuf), ope->amount); //#1750257 use locale numdigit //g_ascii_formatd (amountbuf, sizeof (amountbuf), "%.2f", ope->amount); //TODO: or not we should use the currency fmt here g_snprintf(strbuf, sizeof (strbuf), "%.2f", amount); DB( g_print("amount = %f '%s'\n", amount, strbuf) ); g_string_append (node, strbuf ); g_string_append_c (node, sep ); //#1847907 v 5.3.2 add reconcile as c column like in pdf export //status g_string_append (node, transaction_get_status_string(ope) ); g_string_append_c (node, sep ); //category category = da_cat_get(kcat); g_string_append (node, (category->fullname != NULL) ? category->fullname : "" ); g_string_append_c (node, sep ); //tags tags = tags_tostring(ope->tags); g_string_append (node, tags != NULL ? tags : ""); g_free(tags); //eol g_string_append (node, "\n" ); } GString *list_txn_to_string(GtkTreeView *treeview, gboolean clipboard, gboolean incsplit, gboolean incacc) { struct list_txn_data *data = NULL; GtkTreeModel *model; GtkTreeIter iter; gboolean valid; GString *node; Transaction *ope; gdouble amount, samount; gchar sep; data = g_object_get_data(G_OBJECT(treeview), "inst_data"); node = g_string_new(NULL); sep = (clipboard == TRUE) ? '\t' : ';'; // header line if( incacc ) { g_string_append (node, "account" ); g_string_append_c (node, sep ); } g_string_append (node, "date" ); g_string_append_c (node, sep ); g_string_append (node, "paymode" ); g_string_append_c (node, sep ); g_string_append (node, "info" ); g_string_append_c (node, sep ); g_string_append (node, "payee" ); g_string_append_c (node, sep ); g_string_append (node, "memo" ); g_string_append_c (node, sep ); g_string_append (node, "amount" ); g_string_append_c (node, sep ); //#1847907 v 5.3.2 add reconcile as c column like in pdf export g_string_append (node, "c" ); g_string_append_c (node, sep ); g_string_append (node, "category" ); g_string_append_c (node, sep ); g_string_append (node, "tags"); g_string_append (node, "\n" ); // each txn 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); //normal export: if we don't want split or the txn has no split if( (incsplit == FALSE) ) { amount = ope->amount; //for detail display the split part (if any) if( data && (data->list_type == LIST_TXN_TYPE_DETAIL) ) amount = samount; list_txn_to_string_line(node, sep, ope, ope->kcat, ope->memo, amount, incacc); } else { if( (ope->splits == NULL) ) { list_txn_to_string_line(node, sep, ope, ope->kcat, ope->memo, ope->amount, incacc); } else { guint i, nbsplit = da_splits_length(ope->splits); for(i=0;isplits, i); list_txn_to_string_line(node, sep, ope, split->kcat, split->memo, split->amount, incacc); } } } 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->type == GDK_BUTTON_PRESS && 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, *col_match = 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); //add system icon to 1st column GtkWidget *img = gtk_image_new_from_icon_name (ICONNAME_EMBLEM_SYSTEM, GTK_ICON_SIZE_BUTTON); gtk_widget_show(img); gtk_tree_view_column_set_widget(column, img); if(list_type == LIST_TXN_TYPE_BOOK) g_signal_connect ( G_OBJECT (gtk_tree_view_column_get_button (column)), "button-press-event", G_CALLBACK ( list_txn_column_popup_callback ), data ); //5.2 Account is always created but not visible for BOOK 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; //5.5 Match Rate if(list_type == LIST_TXN_TYPE_XFERTARGET) { column = list_txn_column_amount_create(list_type, _("Match"), LST_DSPOPE_MATCH, list_txn_match_rate_cell_data_function); col_match = column; gtk_tree_view_column_set_clickable(column, FALSE); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); } /* 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); column = list_txn_column_info_create(list_type); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); 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); 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); /* 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); 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); 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); 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); 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); 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); 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); } /* 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); /* move match column */ if(list_type == LIST_TXN_TYPE_XFERTARGET) { gtk_tree_view_move_column_after(GTK_TREE_VIEW(treeview), col_match, col_status); } /* by default book don't display acc column, except showall */ //#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.5.2/src/list-report.h0000664000175000017500000000321714036076057013471 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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_REPORT__H__ #define __LIST_REPORT__H__ 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_TOTAL, LST_REPDIST_TOTRATE, NUM_LST_REPDIST }; #define LST_REPDIST_POS_TOTAL G_MAXINT //test enum { LST_REPDIST2_POS, LST_REPDIST2_KEY, LST_REPDIST2_LABEL, LST_REPDIST2_ROW, NUM_LST_REPDIST2 }; GtkWidget *lst_rep_total_create(void); GString *lst_rep_total_to_string(GtkTreeView *treeview, gchar *title, gboolean clipboard); GString *lst_rep_time_to_string(GtkTreeView *treeview, gchar *title, gboolean clipboard); GtkWidget *lst_rep_time_createtype(GtkListStore *store); GtkWidget *lst_rep_time_create(void); void lst_rep_time_renewcol(GtkTreeView *treeview, guint32 nbintvl, guint32 jfrom, gint intvl); #endif homebank-5.5.2/src/ui-hbfile.h0000644000175000017500000000207614007276247013052 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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.5.2/src/list-account.c0000644000175000017500000004602514007276243013604 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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 lst_accview_cell_data_func_status (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 lst_accview_cell_data_func_text (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 lst_accview_cell_data_func_amount (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_CLEAR: amount = acc->bal_clear; break; case COL_DSPACC_RECON: amount = acc->bal_recon; 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_CLEAR: amount = g->bal_clear; break; case COL_DSPACC_RECON: amount = g->bal_recon; 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 gint lst_accview_func_compare (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 lst_accview_func_selection(GtkTreeSelection *selection, GtkTreeModel *model, GtkTreePath *path, gboolean path_currently_selected, gpointer data) { GtkTreeIter iter; DB( g_print ("\n[lst_accview] selection\n") ); 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 void lst_accview_columns_prefs_get(GtkTreeView *treeview) { GtkTreeViewColumn *column; gint i, uid; DB( g_print ("\n[lst_accview] columns prefs get\n") ); DB( g_print(" nbcol=%d, nbsortid=%d\n", NUM_LST_COL_DSPACC, gtk_tree_view_get_n_columns (treeview)) ); for(i=0 ; i < NUM_LST_COL_DSPACC ; i++ ) { column = gtk_tree_view_get_column(treeview, i); if(column != NULL) { uid = GPOINTER_TO_UINT(g_object_get_data(G_OBJECT(column), "uid")); if( uid >= 0 ) { gboolean visible; visible = gtk_tree_view_column_get_visible (column); PREFS->lst_acc_columns[i] = (visible == TRUE) ? uid : -uid; DB( g_print(" col-%2d => %2d '%s' w=%d\n", i, uid, gtk_tree_view_column_get_title(column), PREFS->lst_ope_col_width[uid-1] ) ); /* save width for accounts */ if( uid == COL_DSPACC_ACCOUNTS ) { PREFS->pnl_acc_col_acc_width = gtk_tree_view_column_get_width(column); } } else //should not occurs PREFS->lst_ope_columns[i] = 0; } } } static void lst_accview_columns_prefs_set(GtkTreeView *treeview, gint *cols_id) { GtkTreeViewColumn *column; gboolean visible; gint uid, i = 0; gint tmpval; DB( g_print ("\n[lst_accview] columns prefs set\n") ); for(i=0; i < NUM_LST_COL_DSPACC ; i++ ) { column = gtk_tree_view_get_column(treeview, i); if( column != NULL ) { uid = GPOINTER_TO_UINT(g_object_get_data(G_OBJECT(column), "uid")); tmpval = homebank_pref_list_column_get(cols_id, uid, NUM_LST_COL_DSPACC); DB( g_print(" - pos:%2d uid:%d sortid:%2d (%s)\n", i, uid, tmpval, gtk_tree_view_column_get_title(column)) ); visible = tmpval < 0 ? FALSE : TRUE; gtk_tree_view_column_set_visible (column, visible); } } } static GtkTreeViewColumn * lst_accview_column_amount_new(gchar *name, gint id) { GtkTreeViewColumn *column; GtkCellRenderer *renderer; column = gtk_tree_view_column_new(); g_object_set_data(G_OBJECT(column), "uid", GUINT_TO_POINTER(id)); 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, lst_accview_cell_data_func_amount, 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 void lst_accview_popmenu_cb_activate (GtkCheckMenuItem *checkmenuitem, gpointer user_data) { GtkTreeViewColumn *column = user_data; //GtkWidget *treeview; DB( g_print ("\n[lst_accview] menuitem activated\n") ); if( !GTK_IS_TREE_VIEW_COLUMN(column) ) return; //TDOO: useless until we link dsp_accoutn balance to this list //treeview = gtk_tree_view_column_get_tree_view(GTK_TREE_VIEW_COLUMN(column)); gtk_tree_view_column_set_visible(column, gtk_check_menu_item_get_active(checkmenuitem) ); //lst_accview_columns_prefs_get(GTK_TREE_VIEW(treeview)); } static gint lst_accview_cb_button_pressed_event (GtkWidget *widget, GdkEventButton *event, GtkWidget *menu) { DB( g_print ("\n[lst_accview] popmenu\n") ); if (event->type == GDK_BUTTON_PRESS && event->button == 3) { // check we ARE in the header but in bin window if (event->window != gtk_tree_view_get_bin_window (GTK_TREE_VIEW (widget))) { #if( (GTK_MAJOR_VERSION == 3) && (GTK_MINOR_VERSION >= 22) ) gtk_menu_popup_at_pointer(GTK_MENU(menu), (GdkEvent *)event); #else gtk_menu_popup (GTK_MENU(menu), NULL, NULL, NULL, NULL, event->button, event->time); #endif // 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; } static void lst_accview_popmenu_destroy(GtkTreeView *treeview, gpointer user_data) { DB( g_print ("\n[lst_accview] menu destroy\n") ); } static GtkWidget * lst_accview_popmenu_new(GtkTreeView *treeview) { GtkTreeViewColumn *column; GtkWidget *menu; GtkWidget *menuitem; gint i, uid; //GtkAccelGroup *accel_group = NULL; //accel_group = gtk_accel_group_new(); //gtk_window_add_accel_group(GTK_WINDOW(data->window), accel_group); DB( g_print ("\n[lst_accview] create popmenu\n") ); menu = gtk_menu_new(); //data->ME_popmenu = menu; for(i=0 ; i < NUM_LST_COL_DSPACC ; i++ ) { column = gtk_tree_view_get_column(GTK_TREE_VIEW(treeview), i); if( column != NULL ) { //uid = gtk_tree_view_column_get_sort_column_id (column); uid = GPOINTER_TO_UINT(g_object_get_data(G_OBJECT(column), "uid")); DB( g_print (" col %d\n", uid) ); if( (uid == -1) || (uid == COL_DSPACC_STATUS) || (uid == COL_DSPACC_ACCOUNTS) ) 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) ); g_signal_connect (menuitem, "activate", G_CALLBACK (lst_accview_popmenu_cb_activate), column); } } g_signal_connect (menu, "destroy", G_CALLBACK (lst_accview_popmenu_destroy), NULL); gtk_widget_show_all(menu); return menu; } static gboolean gtk_tree_view_set_tooltip_query_cb (GtkWidget *widget, gint x, gint y, gboolean keyboard_tip, GtkTooltip *tooltip, gpointer data) { GtkTreeIter iter; GtkTreePath *path; GtkTreeModel *model; GtkTreeView *tree_view = GTK_TREE_VIEW (widget); GString *node; gint dt; Account *acc; gboolean hastext = FALSE; if (!gtk_tree_view_get_tooltip_context (GTK_TREE_VIEW (widget), &x, &y, keyboard_tip, &model, &path, &iter)) return FALSE; gtk_tree_model_get(model, &iter, LST_DSPACC_DATATYPE, &dt, LST_DSPACC_DATAS, &acc, -1); // no tooltip is not an account if( (dt != DSPACC_TYPE_NORMAL) ) { gtk_tree_path_free (path); return FALSE; } node = g_string_sized_new(255); g_string_append(node, ""); g_string_append(node, acc->name); g_string_append(node, "\n\n"); if( acc->rdate > 0 ) { gchar buffer[256]; GDate *date; //format date date = g_date_new_julian (acc->rdate); g_date_strftime (buffer, 256-1, PREFS->date_format, date); g_date_free(date); g_string_append(node, buffer); g_string_append(node, ", "); g_string_append(node, _("last reconciled")); g_string_append(node, "\n"); hastext = TRUE; } if( (acc->minimum < 0) && (acc->bal_today >= acc->minimum) ) { gchar formatd_buf[G_ASCII_DTOSTR_BUF_SIZE]; hb_strfmon(formatd_buf, G_ASCII_DTOSTR_BUF_SIZE-1, acc->bal_today - acc->minimum, acc->kcur, FALSE); g_string_append(node, formatd_buf); g_string_append(node, ", "); g_string_append(node, _("until")); g_string_append(node, " "); hb_strfmon(formatd_buf, G_ASCII_DTOSTR_BUF_SIZE-1, acc->minimum, acc->kcur, FALSE); g_string_append(node, formatd_buf); g_string_append(node, "\n"); hastext = TRUE; } if( (acc->maximum > 0) && (acc->maximum >= acc->bal_today) ) { gchar formatd_buf[G_ASCII_DTOSTR_BUF_SIZE]; hb_strfmon(formatd_buf, G_ASCII_DTOSTR_BUF_SIZE-1, acc->maximum - acc->bal_today, acc->kcur, FALSE); g_string_append(node, formatd_buf); g_string_append(node, ", "); g_string_append(node, _("before")); g_string_append(node, " "); hb_strfmon(formatd_buf, G_ASCII_DTOSTR_BUF_SIZE-1, acc->maximum, acc->kcur, FALSE); g_string_append(node, formatd_buf); g_string_append(node, "\n"); hastext = TRUE; } if( hastext == FALSE ) { gtk_tree_path_free (path); g_string_free(node, TRUE); return FALSE; } gtk_tooltip_set_markup (tooltip, node->str); gtk_tree_view_set_tooltip_row (tree_view, tooltip, path); gtk_tree_path_free (path); g_string_free(node, TRUE); return TRUE; } static void lst_accview_destroy(GtkWidget *widget, gpointer user_data) { struct lst_accview_data *data; data = g_object_get_data(G_OBJECT(widget), "inst_data"); DB( g_print ("\n[lst_accview] destroy\n") ); lst_accview_columns_prefs_get(GTK_TREE_VIEW(data->treeview)); gtk_widget_destroy (data->menu); } GtkWidget *lst_accview_new(void) { struct lst_accview_data *data; GtkTreeStore *store; GtkWidget *treeview; GtkCellRenderer *renderer; GtkTreeViewColumn *column; DB( g_print ("\n[lst_accview] create\n") ); data = g_malloc0(sizeof(struct lst_accview_data)); if(!data) return NULL; /* create list store */ store = gtk_tree_store_new( NUM_LST_DSPACC, G_TYPE_INT, /* datatype */ G_TYPE_INT, /* pos */ G_TYPE_POINTER /* datas*/ ); //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) ); g_signal_connect (treeview, "destroy", G_CALLBACK (lst_accview_destroy), NULL); 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); //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(treeview)), 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, lst_accview_cell_data_func_status, 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, lst_accview_cell_data_func_status, GINT_TO_POINTER(2), NULL); gtk_tree_view_column_set_alignment (column, 0.5); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); //add system icon to 1st column gtk_tree_view_column_set_clickable(column, TRUE); GtkWidget *img = gtk_image_new_from_icon_name (ICONNAME_EMBLEM_SYSTEM, GTK_ICON_SIZE_BUTTON); gtk_widget_show(img); gtk_tree_view_column_set_widget(column, img); /* 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, lst_accview_cell_data_func_text, 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(treeview), column); gtk_tree_view_column_set_fixed_width(column, PREFS->pnl_acc_col_acc_width); gtk_tree_view_set_expander_column(GTK_TREE_VIEW (treeview), column); /* Reconciled */ column = lst_accview_column_amount_new(_("Reconciled"), COL_DSPACC_RECON); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); /* Cleared */ column = lst_accview_column_amount_new(_("Cleared"), COL_DSPACC_CLEAR); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); /* Today */ column = lst_accview_column_amount_new(_("Today"), COL_DSPACC_TODAY); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); /* Future */ column = lst_accview_column_amount_new(_("Future"), COL_DSPACC_FUTURE); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); /* column 7: empty */ column = gtk_tree_view_column_new(); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); /* disable selection for level 1 of the tree */ gtk_tree_selection_set_select_function(gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)), lst_accview_func_selection, NULL, NULL); //sort etc gtk_tree_sortable_set_default_sort_func(GTK_TREE_SORTABLE(store), lst_accview_func_compare, NULL, NULL); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING); lst_accview_columns_prefs_set(GTK_TREE_VIEW(treeview), PREFS->lst_acc_columns); GtkWidget *popmenu = lst_accview_popmenu_new(GTK_TREE_VIEW(treeview)); data->menu = popmenu; //add tooltip gtk_widget_set_has_tooltip (GTK_WIDGET (treeview), TRUE); g_signal_connect (treeview, "button-press-event", G_CALLBACK (lst_accview_cb_button_pressed_event), popmenu); g_signal_connect (treeview, "query-tooltip", G_CALLBACK (gtk_tree_view_set_tooltip_query_cb), NULL); return(treeview); } homebank-5.5.2/src/ui-txn-multi.c0000664000175000017500000005366214007276243013562 00000000000000/* HomeBank -- Free, easy, personal accounting for everyone. * Copyright (C) 1995-2021 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); ui_pay_entry_popover_set_active(GTK_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); ui_cat_entry_popover_set_active(GTK_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); ui_acc_entry_popover_set_active(GTK_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)) ) { //#1874548 update the balances as well account_balances_sub(txn); txn->amount = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_amount)); account_balances_add(txn); //5.4.2 income flag fix da_transaction_set_flag(txn); 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)); guint32 nkacc = ui_acc_entry_popover_get_key(GTK_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)); txn->kpay = ui_pay_entry_popover_get_key_add_new(GTK_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)); txn->kcat = ui_cat_entry_popover_get_key_add_new(GTK_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)); guint32 dstkey = ui_acc_entry_popover_get_key(GTK_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); widget = ui_acc_entry_popover_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); widget = ui_pay_entry_popover_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); widget = ui_cat_entry_popover_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); widget = ui_acc_entry_popover_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); ui_acc_entry_popover_populate_except(GTK_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_acc_entry_popover_populate(GTK_BOX(data->PO_acc), GLOBALS->h_acc, ACC_LST_INSERT_NORMAL); //5.5 done in popover //ui_pay_comboboxentry_populate(GTK_COMBO_BOX(data->PO_pay), GLOBALS->h_pay); //5.5 done in popover //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.5.2/images/0000775000175000017500000000000014045525102011555 500000000000000homebank-5.5.2/images/homebank-icon.svg0000644000175000017500000007224612407562510014745 00000000000000 image/svg+xml Home Bank 16JUL06 Nathan M. Willard EN homebank-5.5.2/images/Makefile.in0000664000175000017500000003457514036076652013573 00000000000000# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2020 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 = \ homebank-icon.svg \ 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.5.2/images/Makefile.am0000644000175000017500000000024213640137156013535 00000000000000## Makefile.am for homebank/data/images imagedatadir = $(pkgdatadir)/images imagedata_DATA = \ homebank-icon.svg \ splash.png EXTRA_DIST = $(imagedata_DATA) homebank-5.5.2/images/splash.png0000644000175000017500000022304311023413026013471 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.5.2/COPYING0000644000175000017500000004325412166575517011312 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.5.2/themes/0000775000175000017500000000000014045525102011575 500000000000000homebank-5.5.2/themes/Makefile.in0000664000175000017500000004446214036076652013607 00000000000000# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2020 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 = 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.5.2/themes/Makefile.am0000644000175000017500000000013112407564322013551 00000000000000## Process this file with automake to produce Makefile.in SUBDIRS = hicolor #line gtk2 homebank-5.5.2/themes/hicolor/0000775000175000017500000000000014045525102013234 500000000000000homebank-5.5.2/themes/hicolor/hicolor_status_16x16_pm-epayment.png0000644000175000017500000000074312505431134022107 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.5.2/themes/hicolor/hicolor_status_48x48_prf-general.png0000644000175000017500000000357312505431134022073 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:)FhDy柦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.5.2/themes/hicolor/hicolor_actions_24x24_hb-view-stack100.png0000664000175000017500000000146014036244663022664 00000000000000PNG  IHDRw=iCCPICC profile(}=H@_JE* vqP,:jP! :\MGbYWWAqssRtZxp܏ww^b4b&11YALcHf1'I x{zYjbO$eY! ڬì ģ&]o <3lab1JOGTM|!yV= CY}e4" A*((:)8~\ `X@drnR(t05> \f>Iг \\4e ٔOS3 w t5q pp){ݝ{rCbKGDC pHYs  tIME'rYtEXtCommentCreated with GIMPWIDATHc`1`1LRǦFrXsQM^vb9 pGmY>j1!s~gsrP,?V6%rhʦDn)#\9+qd|使h^%7{ VÐw!aek&P7~FWq%rC/ވPX_X:w ~`g[%Xz10|p 2߶X m+G4(qp~f ɕ9&}bRIENDB`homebank-5.5.2/themes/hicolor/hicolor_actions_24x24_hb-rep-balance.png0000644000175000017500000000063212577237700022537 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.5.2/themes/hicolor/hicolor_status_16x16_hb-ope-cleared.png0000644000175000017500000000062712505431134022423 00000000000000PNG  IHDR(-SPLTELiqvvvêvvvqqq}}}hhhzzzooowwwpppjjjqqq~~~ۚuuu?1tRNS}~36yu}d_|)}_R#jS;y$IZ~[n{s~IDAT05d3C2v7 $HRCЮyS@~nfПjVmo; CSvӲPYi0hhBmȦ`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&`GckjdAqr{{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_qB4 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.5.2/themes/hicolor/hicolor_actions_24x24_hb-assign.png0000644000175000017500000000070212505431134021634 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.5.2/themes/hicolor/hicolor_actions_24x24_hb-view-progress.png0000644000175000017500000000051512505431134023166 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.5.2/themes/hicolor/hicolor_status_16x16_hb-ope-new.png0000664000175000017500000000114413251014734021614 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.5.2/themes/hicolor/hicolor_status_48x48_prf-columns.png0000644000175000017500000000121612505431134022126 00000000000000PNG  IHDR00` PLTELiqkmm+,,.44Ž((()55dffIOOZ\]yzz~kmo뛛~~~gggxxx---Ⱥ̐ÁtRNSX +'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.5.2/themes/hicolor/hicolor_actions_24x24_hb-ope-herit.png0000644000175000017500000000171413251174466022263 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.5.2/themes/hicolor/hicolor_actions_24x24_hb-view-bar.png0000644000175000017500000000042512505431134022066 00000000000000PNG  IHDRשZPLTELiqfI7r\MN44eXIDATxc` 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.5.2/themes/hicolor/hicolor_actions_24x24_hb-budget.png0000644000175000017500000000113512505431134021623 00000000000000PNG  IHDRשPLTELiq؍–^ZՖſ兹Ḥ̌Ӳ۬jf»ԜȽḺĶa]eaƌեĞѭ筍Ȇڽʉӳv43MtRNS߇1J (ZaqdkIDATxڵr@h^.Rj'4;D9̜SWr~V7 8;Mɝ%A>(g|#f.Z7s,EiBk image/svg+xml homebank-5.5.2/themes/hicolor/hicolor_actions_24x24_hb-document-save-as.png0000664000175000017500000000146213237031621023531 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"(cR image/svg+xml HomeBank Symbolic Icon Theme HomeBank Symbolic Icon Theme homebank-5.5.2/themes/hicolor/hicolor_status_48x48_prf-interface.png0000644000175000017500000000123512505431134022407 00000000000000PNG  IHDR00` PLTELiq  JX\X/V %Ie&OVXT"3͎$M*O)P@@;fidvxr}4Wqא҈mdFl\ߒyxk:`nsi"tRNS X =CY0f^]1IDATx[S@qV*RC)P+*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 >g3&;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.5.2/themes/hicolor/hicolor_actions_24x24_hb-document-print.png0000644000175000017500000000202313661233614023325 00000000000000PNG  IHDRw=IDATx Gg۶oֶmm kǶm۶͗* L7^( *)<&%]q>f)J*-^nGMMSg7G(kjo. pR&V .E8z0lFEW_V67'7 pt]fq]IsOrpFpH}`ae_?╡ 3#a c8sw>^gW1+8*;q|GKFrZ2S۠>|;XELJ#%#HHx07g7zlm ? ::;PƷmR24DyZOppG=57n_ǯcy '! 12@,عw @߯|,+[~L`hf]C}68g88 z>x"P\\M9l.tO 6s̨NVi8195]|玟Dni jyRRa`b )y++CQU[)|dҥK11q8 h`/GUc SR44 |wvvV-IL w'I|3w,X4صw+)-mhjC|+bQT} &8uXY-$"r (s&Q[fM= 5DE QXr)pBcDlhqa&[bݣr\|';mbjj ,XW@DDDXPČY{ex2 Am-᧣1̛f+/""4`)SZ&NISbs,WLY9u5!ܤg N#h>?FTIENDB`homebank-5.5.2/themes/hicolor/hicolor_actions_24x24_hb-document-new.png0000664000175000017500000000100113237031621022750 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.5.2/themes/hicolor/hicolor_status_16x16_pm-transfer.png0000644000175000017500000000076512505431134022115 00000000000000PNG  IHDR(-SPLTELiqQ[^&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_24x24_hb-document-new.png \ hicolor_actions_24x24_hb-document-open.png \ hicolor_actions_24x24_hb-document-print.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-progress.png \ hicolor_actions_24x24_hb-view-refresh.png \ hicolor_actions_24x24_hb-view-stack.png \ hicolor_actions_24x24_hb-view-stack100.png \ hicolor_status_16x16_hb-ope-auto.png \ hicolor_status_16x16_hb-ope-budget.png \ hicolor_status_16x16_hb-ope-cleared.png \ hicolor_status_16x16_hb-ope-edit.png \ hicolor_status_16x16_hb-ope-forced.png \ hicolor_status_16x16_hb-ope-future.png \ hicolor_status_16x16_hb-ope-new.png \ hicolor_status_16x16_hb-ope-reconciled.png \ hicolor_status_16x16_hb-ope-remind.png \ hicolor_status_16x16_hb-ope-similar.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_list-collapse-all-symbolic.svg \ hicolor_actions_scalable_list-expand-all-symbolic.svg \ hicolor_actions_scalable_list-merge-symbolic.svg \ hicolor_actions_scalable_text-casesensitive-symbolic.svg \ hicolor_actions_scalable_text-regularexpression-symbolic.svg \ hicolor_actions_scalable_toggle-sign-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.5.2/themes/hicolor/hicolor_status_16x16_pm-standingorder.png0000644000175000017500000000125712505431134023131 00000000000000PNG  IHDR(-SSPLTELiqe q9s7l=q8hkn@hkl uֽ˹%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.5.2/themes/hicolor/hicolor_actions_24x24_hb-file-export.png0000644000175000017500000000201513526524225022615 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 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.pd? 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ñV2WXiʈ݋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.5.2/themes/hicolor/Makefile.am0000644000175000017500000001354114036245557015227 00000000000000## Process this file with automake to produce Makefile.in NULL = public_icons_themes = \ hicolor \ $(NULL) public_icons = \ $(NULL) private_icons = \ hicolor_actions_24x24_hb-document-new.png \ hicolor_actions_24x24_hb-document-open.png \ hicolor_actions_24x24_hb-document-print.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-progress.png \ hicolor_actions_24x24_hb-view-refresh.png \ hicolor_actions_24x24_hb-view-stack.png \ hicolor_actions_24x24_hb-view-stack100.png \ hicolor_status_16x16_hb-ope-auto.png \ hicolor_status_16x16_hb-ope-budget.png \ hicolor_status_16x16_hb-ope-cleared.png \ hicolor_status_16x16_hb-ope-edit.png \ hicolor_status_16x16_hb-ope-forced.png \ hicolor_status_16x16_hb-ope-future.png \ hicolor_status_16x16_hb-ope-new.png \ hicolor_status_16x16_hb-ope-reconciled.png \ hicolor_status_16x16_hb-ope-remind.png \ hicolor_status_16x16_hb-ope-similar.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_list-collapse-all-symbolic.svg \ hicolor_actions_scalable_list-expand-all-symbolic.svg \ hicolor_actions_scalable_list-merge-symbolic.svg \ hicolor_actions_scalable_text-casesensitive-symbolic.svg \ hicolor_actions_scalable_text-regularexpression-symbolic.svg \ hicolor_actions_scalable_toggle-sign-symbolic.svg \ $(NULL) EXTRA_DIST = \ $(public_icons) \ $(private_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; \ 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 homebank-5.5.2/themes/hicolor/hicolor_actions_24x24_hb-rep-budget.png0000644000175000017500000000051512505431134022410 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.5.2/themes/hicolor/hicolor_actions_24x24_hb-view-stack.png0000664000175000017500000000146114036244630022436 00000000000000PNG  IHDRw=iCCPICC profile(}=H@_JE* vqP,:jP! :\MGbYWWAqssRtZxp܏ww^b4b&11YALcHf1'I x{zYjbO$eY! ڬì ģ&]o <3lab1JOGTM|!yV= CY}e4" A*((:)8~\ `X@drnR(t05> \f>Iг \\4e ٔOS3 w t5q pp){ݝ{rCbKGDC pHYs  tIME4UtEXtCommentCreated with GIMPW IDATHc`1`%B WFY'/; gSł3\yA[E?-?V6-R>`!65PBH,Ħ|`8X K\`F-aHۻAaek& wlt o9CVq@o rp!t;4BXW mJLZWh %^9-@7THF՚IENDB`homebank-5.5.2/themes/hicolor/hicolor_status_16x16_hb-ope-forced.png0000664000175000017500000000102213506144027022262 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.5.2/themes/hicolor/hicolor_actions_24x24_hb-ope-convert.png0000644000175000017500000000166313251174570022627 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.5.2/themes/hicolor/hicolor_actions_24x24_hb-help.png0000664000175000017500000000314413526523237021317 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.5.2/themes/hicolor/hicolor_actions_24x24_hb-file-import.png0000644000175000017500000000175713526524250022620 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,GW image/svg+xml HomeBank Symbolic Icon Theme HomeBank Symbolic Icon Theme homebank-5.5.2/themes/hicolor/hicolor_actions_scalable_list-expand-all-symbolic.svg0000664000175000017500000001025013030754157025604 00000000000000 image/svg+xml HomeBank Symbolic Icon Theme HomeBank Symbolic Icon Theme homebank-5.5.2/themes/hicolor/hicolor_status_16x16_hb-ope-void.png0000664000175000017500000000064013477652225022001 00000000000000PNG  IHDRabKGD pHYs  tIME  q%tEXtCommentCreated with GIMPWIDAT8˭N01XXXRbkt{0Vf9nFB .E0`c9VNIENDB`homebank-5.5.2/themes/hicolor/hicolor_actions_scalable_toggle-sign-symbolic.svg0000644000175000017500000000406312571401470025024 00000000000000 image/svg+xml homebank-5.5.2/themes/hicolor/hicolor_actions_24x24_hb-archive.png0000644000175000017500000000107512505431134021775 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.5.2/themes/hicolor/hicolor_status_16x16_hb-ope-edit.png0000644000175000017500000000127713251014763021757 00000000000000PNG  IHDRabKGD))&r pHYs  tIME .#ÃiTXtCommentCreated with GIMPd.e#IDAT8˥OHq?KQѿQu*L=E]VA.!Cu)OD$ nei*9dVњm};ԪJ<_019֧u%$(!l۴3Ȉ$ yRl&}}͑cø(r֢Iyy۞z15"ۛm.ZJ)28A>.^$ǩ(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\ image/svg+xml HomeBank Symbolic Icon Theme HomeBank Symbolic Icon Theme homebank-5.5.2/themes/hicolor/hicolor_actions_24x24_hb-view-line.png0000644000175000017500000000054112577237700022264 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.5.2/themes/hicolor/hicolor_actions_24x24_hb-view-column.png0000644000175000017500000000047712505431134022626 00000000000000PNG  IHDRשZPLTELiq_7m˅D"]!2wl6F1lv;ž}y v!Oub6S]KIENDB`homebank-5.5.2/themes/hicolor/hicolor_actions_24x24_hb-currency.png0000644000175000017500000000213413250774163022215 00000000000000PNG  IHDRw=bKGD pHYs  tIME x5p}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.5.2/themes/hicolor/hicolor_status_16x16_pm-none.png0000644000175000017500000000014012505431134021213 00000000000000PNG  IHDR%=m"PLTELiqM:tRNS@f IDATc 0 HIENDB`homebank-5.5.2/themes/hicolor/hicolor_actions_24x24_hb-view-refresh.png0000644000175000017500000000167112505431134022764 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.5.2/themes/hicolor/hicolor_status_16x16_hb-ope-remind.png0000664000175000017500000000045713526524506022317 00000000000000PNG  IHDRabKGD pHYs  tIME 3mЎئA@ *nxpS/47"D2"RB?(z WIENDB`homebank-5.5.2/themes/hicolor/hicolor_actions_24x24_hb-ope-edit.png0000644000175000017500000000202413251174514022062 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.5.2/themes/hicolor/hicolor_actions_24x24_hb-rep-vehicle.png0000644000175000017500000000166612505431134022565 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.5.2/themes/hicolor/hicolor_status_48x48_prf-import.png0000644000175000017500000000271112505431134021761 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.5.2/themes/hicolor/hicolor_status_16x16_pm-dcard.png0000644000175000017500000000112212533125642021337 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|ж449Դ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.5.2/themes/hicolor/hicolor_status_48x48_prf-locale.png0000664000175000017500000000542013237031621021710 00000000000000PNG  IHDR00W IDATxՙtf˗Uu9F~c۶ͅm{fyl۶ﶻ'.uFHr>޳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.5.2/themes/hicolor/hicolor_status_16x16_hb-ope-budget.png0000644000175000017500000000061512505431134022273 00000000000000PNG  IHDR(-SPLTELiq{^Z譝Ֆ쇻ݿû䌍ʞ՗ŸqmԴ{ȣ؟ϪtRNS(]mTAIDATxU a$P@Bz:w֘?Hą[6t/߭s-OkblJԕG,'G݋ pJK 8p}T(P%4RhSp (xoJ@,!7`!Kk10-(ş 4 =IENDB`homebank-5.5.2/themes/hicolor/hicolor_actions_24x24_hb-legend.png0000644000175000017500000000024612505431134021611 00000000000000PNG  IHDRY PLTELiqN4e\4rM:btRNS@f4j}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 image/svg+xml homebank-5.5.2/themes/hicolor/hicolor_actions_24x24_hb-filter.png0000644000175000017500000000072612505431134021643 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.5.2/themes/hicolor/hicolor_actions_24x24_hb-donate.png0000644000175000017500000000243313526523261021634 00000000000000PNG  IHDRw=bKGD pHYs  tIME ( Z}StEXtCommentCreated with GIMPWIDATHՔKTEuv~̌0԰Q7ƕ EV ]4n\1n4BbhLݠA0=UUE 2UNׁ{!PA)ExJP"ʈ dȦW(<lid'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.5.2/themes/hicolor/hicolor_status_48x48_prf-backup.png0000664000175000017500000001115213246353043021722 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/vYgUXH8YC?~5VsLDHXw{_ ?c'IENDB`homebank-5.5.2/themes/hicolor/hicolor_status_48x48_prf-euro.png0000644000175000017500000000432112505431134021420 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.5.2/themes/hicolor/hicolor_actions_24x24_hb-ope-add.png0000644000175000017500000000171313251174434021672 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.5.2/themes/hicolor/hicolor_actions_24x24_hb-category.png0000644000175000017500000000071712505431134022173 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.5.2/themes/hicolor/hicolor_actions_24x24_hb-account.png0000644000175000017500000000163712505431134022014 00000000000000PNG  IHDRשPLTELiq¹N#Lb|8^M\zVVT@Ff¹v6_a^  IwL JN_žXǁ)§4LˑNơ*t)ݟ$;-˦KH8.w*uK yD Ͳxx bnJ$a7JI!&E8JQ2\D b"{ʄx,`V)r#~ZQ2IENDB`homebank-5.5.2/themes/hicolor/hicolor_status_16x16_pm-check.png0000644000175000017500000000055312505431134021341 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.5.2/themes/hicolor/hicolor_status_16x16_pm-intransfer.png0000644000175000017500000000043512505431134022436 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.5.2/themes/hicolor/hicolor_actions_24x24_hb-ope-reconciled.png0000644000175000017500000000140612505431134023242 00000000000000PNG  IHDRשhPLTELiq:I%+~ ?BtEI">5@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.5.2/themes/hicolor/hicolor_actions_24x24_hb-ope-cleared.png0000644000175000017500000000124112505431134022527 00000000000000PNG  IHDRשPLTELiqyyymmmMMM___~~~jjjqqqWWWGGGrrrsssdddxxxpppxxx___...www{{{YYYlll௯lllrrrggg}}}vvvնԟ̎|||䪪ŨܡStRNS < T/-G~kryȢqwQ'Db2fx:e7IDATr@?8KܥFa'_2n:/L#$`h~nEDcxB~WHp!IF࿤s}x: 05)a 0A~_s~`{:c_x2wtٷWlvuGeЅ\3uQ[YDokY0TװMn=\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.5.2/themes/hicolor/hicolor_actions_24x24_hb-document-open.png0000664000175000017500000000114013237031621023124 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`