From 74c0544a8bb32a585f5b2c1f0a8468233b6143e4 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Mon, 30 Jan 2012 20:13:08 -0600 Subject: Part 2 of prior commit --- tde-i18n-fr/docs/tdesdk/kcachegrind/Makefile.am | 4 - tde-i18n-fr/docs/tdesdk/kcachegrind/Makefile.in | 635 ----- .../docs/tdesdk/kcachegrind/index.cache.bz2 | Bin 16523 -> 0 bytes tde-i18n-fr/docs/tdesdk/kcachegrind/index.docbook | 1022 ------- tde-i18n-fr/docs/tdesdk/tdecachegrind/Makefile.am | 4 + tde-i18n-fr/docs/tdesdk/tdecachegrind/Makefile.in | 635 +++++ .../docs/tdesdk/tdecachegrind/index.cache.bz2 | Bin 0 -> 16523 bytes .../docs/tdesdk/tdecachegrind/index.docbook | 1022 +++++++ tde-i18n-fr/messages/tdesdk/kcachegrind.po | 2980 -------------------- tde-i18n-fr/messages/tdesdk/tdecachegrind.po | 2980 ++++++++++++++++++++ 10 files changed, 4641 insertions(+), 4641 deletions(-) delete mode 100644 tde-i18n-fr/docs/tdesdk/kcachegrind/Makefile.am delete mode 100644 tde-i18n-fr/docs/tdesdk/kcachegrind/Makefile.in delete mode 100644 tde-i18n-fr/docs/tdesdk/kcachegrind/index.cache.bz2 delete mode 100644 tde-i18n-fr/docs/tdesdk/kcachegrind/index.docbook create mode 100644 tde-i18n-fr/docs/tdesdk/tdecachegrind/Makefile.am create mode 100644 tde-i18n-fr/docs/tdesdk/tdecachegrind/Makefile.in create mode 100644 tde-i18n-fr/docs/tdesdk/tdecachegrind/index.cache.bz2 create mode 100644 tde-i18n-fr/docs/tdesdk/tdecachegrind/index.docbook delete mode 100644 tde-i18n-fr/messages/tdesdk/kcachegrind.po create mode 100644 tde-i18n-fr/messages/tdesdk/tdecachegrind.po (limited to 'tde-i18n-fr') diff --git a/tde-i18n-fr/docs/tdesdk/kcachegrind/Makefile.am b/tde-i18n-fr/docs/tdesdk/kcachegrind/Makefile.am deleted file mode 100644 index b6361414814..00000000000 --- a/tde-i18n-fr/docs/tdesdk/kcachegrind/Makefile.am +++ /dev/null @@ -1,4 +0,0 @@ -KDE_LANG = fr -SUBDIRS = $(AUTODIRS) -KDE_DOCS = AUTO -KDE_MANS = AUTO diff --git a/tde-i18n-fr/docs/tdesdk/kcachegrind/Makefile.in b/tde-i18n-fr/docs/tdesdk/kcachegrind/Makefile.in deleted file mode 100644 index d703849a907..00000000000 --- a/tde-i18n-fr/docs/tdesdk/kcachegrind/Makefile.in +++ /dev/null @@ -1,635 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# KDE tags expanded automatically by am_edit - $Revision: 483858 $ -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@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 = docs/tdesdk/tdecachegrind -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -#>- RECURSIVE_TARGETS = all-recursive check-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 uninstall-recursive -#>+ 7 -RECURSIVE_TARGETS = all-recursive check-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 uninstall-recursive nmcheck-recursive bcheck-recursive -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -#>+ 1 -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -ARTSCCONFIG = @ARTSCCONFIG@ -AUTOCONF = @AUTOCONF@ -AUTODIRS = @AUTODIRS@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CONF_FILES = @CONF_FILES@ -CYGPATH_W = @CYGPATH_W@ -DCOPIDL = @DCOPIDL@ -DCOPIDL2CPP = @DCOPIDL2CPP@ -DCOPIDLNG = @DCOPIDLNG@ -DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@ -DEFS = @DEFS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -GMSGFMT = @GMSGFMT@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@ -KCONFIG_COMPILER = @KCONFIG_COMPILER@ -KDECONFIG = @KDECONFIG@ -KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@ -KDE_RPATH = @KDE_RPATH@ -KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MAKEKDEWIDGETS = @MAKEKDEWIDGETS@ -MCOPIDL = @MCOPIDL@ -MEINPROC = @MEINPROC@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TOPSUBDIRS = @TOPSUBDIRS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XMLLINT = @XMLLINT@ -X_RPATH = @X_RPATH@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -am__leading_dot = @am__leading_dot@ -am__tar = @am__tar@ -am__untar = @am__untar@ -#>- bindir = @bindir@ -#>+ 2 -DEPDIR = .deps -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@ -kde_appsdir = @kde_appsdir@ -kde_bindir = @kde_bindir@ -kde_confdir = @kde_confdir@ -kde_datadir = @kde_datadir@ -kde_htmldir = @kde_htmldir@ -kde_icondir = @kde_icondir@ -kde_kcfgdir = @kde_kcfgdir@ -kde_libs_htmldir = @kde_libs_htmldir@ -kde_libs_prefix = @kde_libs_prefix@ -kde_locale = @kde_locale@ -kde_mimedir = @kde_mimedir@ -kde_moduledir = @kde_moduledir@ -kde_servicesdir = @kde_servicesdir@ -kde_servicetypesdir = @kde_servicetypesdir@ -kde_sounddir = @kde_sounddir@ -kde_styledir = @kde_styledir@ -kde_templatesdir = @kde_templatesdir@ -kde_wallpaperdir = @kde_wallpaperdir@ -kde_widgetdir = @kde_widgetdir@ -tdeinitdir = @tdeinitdir@ -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@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xdg_appsdir = @xdg_appsdir@ -xdg_directorydir = @xdg_directorydir@ -xdg_menudir = @xdg_menudir@ -KDE_LANG = fr -#>- SUBDIRS = $(AUTODIRS) -#>+ 1 -SUBDIRS =. -KDE_DOCS = AUTO -KDE_MANS = AUTO -#>- all: all-recursive -#>+ 1 -all: docs-am 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 \ -#>- && exit 0; \ -#>- exit 1;; \ -#>- esac; \ -#>- done; \ -#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/tdesdk/tdecachegrind/Makefile'; \ -#>- cd $(top_srcdir) && \ -#>- $(AUTOMAKE) --gnu docs/tdesdk/tdecachegrind/Makefile -#>+ 12 - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/tdesdk/tdecachegrind/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu docs/tdesdk/tdecachegrind/Makefile - cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/tdesdk/tdecachegrind/Makefile.in -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -# 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. -$(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; 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; \ - (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" - -$(RECURSIVE_CLEAN_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - 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 || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -#>- distdir: $(DISTFILES) -#>+ 1 -distdir: distdir-nls $(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 $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$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 \ - test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - 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 -#>+ 1 -uninstall: uninstall-docs uninstall-nls uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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 -#>+ 1 -clean: kde-rpo-clean clean-recursive - -#>- clean-am: clean-generic mostlyclean-am -#>+ 1 -clean-am: clean-docs clean-bcheck 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 - -info: info-recursive - -info-am: - -#>- install-data-am: -#>+ 1 -install-data-am: install-docs install-nls - -install-dvi: install-dvi-recursive - -install-exec-am: - -install-html: install-html-recursive - -install-info: install-info-recursive - -install-man: - -install-pdf: install-pdf-recursive - -install-ps: install-ps-recursive - -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: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ - install-strip - -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am check check-am clean clean-generic ctags \ - ctags-recursive 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-recursive uninstall uninstall-am - -# 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: - -#>+ 2 -KDE_DIST=index.docbook index.cache.bz2 Makefile.in Makefile.am - -#>+ 24 -index.cache.bz2: $(srcdir)/index.docbook $(KDE_XSL_STYLESHEET) index.docbook - @if test -n "$(MEINPROC)"; then echo $(MEINPROC) --check --cache index.cache.bz2 $(srcdir)/index.docbook; $(MEINPROC) --check --cache index.cache.bz2 $(srcdir)/index.docbook; fi - -docs-am: index.cache.bz2 - -install-docs: docs-am install-nls - $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdecachegrind - @if test -f index.cache.bz2; then \ - echo $(INSTALL_DATA) index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdecachegrind/; \ - $(INSTALL_DATA) index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdecachegrind/; \ - elif test -f $(srcdir)/index.cache.bz2; then \ - echo $(INSTALL_DATA) $(srcdir)/index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdecachegrind/; \ - $(INSTALL_DATA) $(srcdir)/index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdecachegrind/; \ - fi - -rm -f $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdecachegrind/common - $(LN_S) $(kde_libs_htmldir)/$(KDE_LANG)/common $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdecachegrind/common - -uninstall-docs: - -rm -rf $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdecachegrind - -clean-docs: - -rm -f index.cache.bz2 - - -#>+ 13 -install-nls: - $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdecachegrind - @for base in index.docbook ; do \ - echo $(INSTALL_DATA) $$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdecachegrind/$$base ;\ - $(INSTALL_DATA) $(srcdir)/$$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdecachegrind/$$base ;\ - done - -uninstall-nls: - for base in index.docbook ; do \ - rm -f $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdecachegrind/$$base ;\ - done - - -#>+ 5 -distdir-nls: - for file in index.docbook ; do \ - cp $(srcdir)/$$file $(distdir); \ - done - -#>+ 15 -force-reedit: - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/tdesdk/tdecachegrind/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu docs/tdesdk/tdecachegrind/Makefile - cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/tdesdk/tdecachegrind/Makefile.in - - -#>+ 21 -clean-bcheck: - rm -f *.bchecktest.cc *.bchecktest.cc.class a.out - -bcheck: bcheck-recursive - -bcheck-am: - @for i in ; do \ - if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \ - echo "int main() {return 0;}" > $$i.bchecktest.cc ; \ - echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \ - echo "$$i"; \ - if ! $(CXX) $(DEFS) -I. -I$(srcdir) -I$(top_builddir) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) --dump-class-hierarchy -c $$i.bchecktest.cc; then \ - rm -f $$i.bchecktest.cc; exit 1; \ - fi ; \ - echo "" >> $$i.bchecktest.cc.class; \ - perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \ - rm -f a.out; \ - fi ; \ - done - - -#>+ 3 -final: - $(MAKE) all-am - -#>+ 3 -final-install: - $(MAKE) install-am - -#>+ 3 -no-final: - $(MAKE) all-am - -#>+ 3 -no-final-install: - $(MAKE) install-am - -#>+ 3 -kde-rpo-clean: - -rm -f *.rpo - -#>+ 3 -nmcheck: -nmcheck-am: nmcheck diff --git a/tde-i18n-fr/docs/tdesdk/kcachegrind/index.cache.bz2 b/tde-i18n-fr/docs/tdesdk/kcachegrind/index.cache.bz2 deleted file mode 100644 index 525879704ff..00000000000 Binary files a/tde-i18n-fr/docs/tdesdk/kcachegrind/index.cache.bz2 and /dev/null differ diff --git a/tde-i18n-fr/docs/tdesdk/kcachegrind/index.docbook b/tde-i18n-fr/docs/tdesdk/kcachegrind/index.docbook deleted file mode 100644 index 3d256504649..00000000000 --- a/tde-i18n-fr/docs/tdesdk/kcachegrind/index.docbook +++ /dev/null @@ -1,1022 +0,0 @@ - -KCachegrind'> - Cachegrind"> - Calltree"> - Callgrind"> - Valgrind"> - OProfile"> - - - - -]> - - - - - - -Manuel de &tdecachegrind; - - -Josef Weidendorfer
Josef.Weidendorfer@gmx.de
-
-
- -&traducteurYannVerley; &traducteurLudovicGrossard; &traducteurDamienRaudeMorvan; - -
- - -2002-2004 -Josef Weidendorfer - -&FDLNotice; - -2004-07-27 -0.4.6 - - -&tdecachegrind; est un outil de visualisation de données de profilage écrit pour l'environnement &kde;. - - - -KDE -tdesdk -Cachegrind -Callgrind -Valgrind -Profilage - - -
- - - -Introduction - -&kappname; est un navigateur pour les données produites par des outils de profilage. Ce chapitre explique à quoi sert le profilage, comment cela fonctionne, et donne quelques exemples d'outils de profilage disponibles. - - -Profilage - -Habituellement, quand on développe un programme, une des dernières étapes est d'optimiser les performances. C'est une perte de temps d'optimiser les fonctions rarement utilisées. Il est donc intéressant de savoir où votre programme passe le plus de temps. - -Pour du code séquentiel, la récupération des données statistiques des caractéristiques de l'exécution des programmes, comme par exemple le temps passé dans les fonctions ou dans les lignes de code est habituellement suffisant. C'est ce que l'on appelle le profilage. Le programme est exécuté sous le contrôle d'un outil de profilage, qui donne les résultats de l'exécution à la fin. Au contraire, pour du code parallèle, les problèmes de performance proviennent généralement de l'attente par un processeur de données d'un autre processeur. Comme ce temps d'attente ne peut habituellement être facilement attribué, il est préférable de générer ici des traces d'évènements horodatées. KCachegrind ne peut pas visualiser ce type de données. - -Après analyse des données de profilage produites, il devrait être plus facile de voir les points chauds et les goulots d'étranglement du code. Par exemple, on peut vérifier les hypothèses par rapport au nombre d'appels, et les régions identifiées du code peuvent être optimisées. Après cela, on doit valider l'optimisation effectuée avec une autre exécution profilée. - - - -Méthodes de profilage - -La mesure exacte du temps passé par des événements se produisant pendant l'exécution d'une région de code (par exemple, une fonction) nécessite que soit effectué un rajout de code de mesure avant et après cette région. Ce code lit le temps ou bien un compteur global d'évènement, et calcule les différences. Le code original doit ainsi être changé avant l'exécution. C'est ce que l'on appelle l'instrumentation. L'instrumentation peut être faite par le programmeur lui-même, le compilateur, ou bien par le système d'exécution. Comme les régions intéressantes sont généralement imbriquées, la surcharge due à la mesure influence toujours la mesure elle-même. Ainsi, l'instrumentation doit être effectuée sélectivement et les résultats doivent être interprétés avec précaution. Bien sûr, ceci fait que l'analyse des performances se basant sur la mesure exacte est un processus très complexe. - -La mesure exacte est possible grâce à des compteurs matériels (ce qui inclut des compteurs s'incrémentant sur un tic de temps) fournis dans les processeurs modernes et qui sont incrémentés quand un évènement se produit. Comme nous voulons attribuer des évènements à des régions de code, sans utiliser de compteurs, nous devons gérer chaque évènement en incrémentant un compteur pour la région de code courante nous-mêmes. Faire ceci au niveau logiciel n'est bien sûr pas possible. Toutefois, si on part de l'hypothèse que la distribution des évènements sur le code source est identique quand on regarde à chaque nième évènement, au lieu de chaque évènement, nous avons construit une méthode de mesure réglable par rapport à la surcharge induite. C'est ce que l'on appelle l'échantillonnage. L'échantillonnage à base de temps (NdT : Time Based Sampling ou TBS) utilise un temporisateur pour regarder régulièrement le compteur de programme, afin de créer un histogramme sur le code du programme. L'échantillonnage à base d'évènements (NdT : Event Based Sampling ou EBS) se sert des compteurs matériels des processeurs modernes et utilise un mode dans lequel le gestionnaire d'interruptions est appelé sur les valeurs basses du compteur, en générant un histogramme de la distribution d'évènements correspondante. Dans le gestionnaire, le compteur d'évènement est toujours réinitialisé au « n » de la méthode d'échantillonnage. L'avantage de l'échantillonnage est que le code n'a pas besoin d'être modifié, mais ceci reste un compromis : la supposition d'au-dessus est correcte si n est petit, mais plus n est petit, plus la surcharge du gestionnaire d'interruptions est importante. - -Il existe une autre méthode de mesure qui est de simuler ce qui arrive au niveau de l'ordinateur quand on exécute un code donné, c'est-à-dire une simulation contrôlée de code. La simulation est toujours dépendante du modèle de la machine qui est plus ou moins précis. Cependant, pour des modèles très détaillés de machine, s'approchant de la réalité, le temps de simulation peut être assez inacceptable pour une utilisation courante. L'avantage est que l'on peut insérer dans un code donné un code de mesure/simulation aussi complexe qu'il soit sans perturber les résultats. Faire ceci directement avant l'exécution (ce que l'on appelle instrumentation dynamique), en utilisant le binaire original, est très confortable pour l'utilisateur : Aucune recompilation n'est nécessaire. Cette méthode devient utilisable quand on ne simule que quelques parties de la machine avec un modèle simple. En outre, les résultats produits par des modèles simples sont souvent plus faciles à comprendre : le problème fréquent avec le vrai matériel est que les résultats incluent des effets de chevauchement de différentes parties de la machine. - - - -Outils de profilage - -Le plus connu des outils de profilage est l'outil de la suite GCC, gprof : On doit compiler le programme avec l'option  ; le lancement du programme génère un fichier gmon.out, que l'utilisateur peut lire avec gprof. L'inconvénient principal de cette méthode est l'obligation de passer par une recompilation pour préparer l'exécutable, qui doit être lié de façon statique. La méthode utilisée ici est l'instrumentation générée par le compilateur. Celle-ci mesure les arcs d'appels se produisant dans les fonctions et en accord avec des compteurs d'appels, en conjonction avec un TBS, qui donne un histogramme de distribution du temps sur le code. En utilisant les deux informations, il est possible de calculer de manière heuristique le temps d'inclusion des fonctions, c'est-à-dire le temps passé dans une fonction ainsi que toutes les fonctions qu'elle a appelées. - -Pour une mesure exacte des évènements, il existe des librairies avec des fonctions capables de lire les compteurs de performance matériels. Les plus connus sont le patch PerfCtr pour Linux et les librairies indépendantes de l'architecture PAPI et PCL. Comme toujours, une mesure exacte nécessite une instrumentation du code, comme indiqué au-dessus. D'autres utilisent les librairies elles-mêmes ou utilisent des systèmes d'instrumentation automatiques comme ADAPTOR (pour l'instrumentation de sources FORTRAN), ou encore DynaProf (injection de code par DynInst). - -&oprofile; est un outil de profilage au niveau système pour Linux utilisant l'échantillonnage. - -Dans beaucoup d'aspects, une manière agréable de profiler est d'utiliser Cachegrind ou Callgrind, qui sont des simulateurs utilisant l'environnement d'instrumentation d'exécution &valgrind;. Comme il n'y a pas besoin d'accéder aux compteurs hardware (souvent difficile avec les installations de Linux actuelles), et comme les binaires devant être profilés n'ont pas besoin d'être modifiés, ceci est une bonne alternative à d'autres outils de profilage. L'inconvénient du ralentissement dû à la simulation peut être réduit en n'effectuant la simulation que sur les parties intéressantes du programme, et peut-être seulement sur quelques itérations d'une boucle. Sans instrumentation de la mesure/simulation, l'usage de Valgrind ne provoque qu'un ralentissement d'un facteur de 3 à 5. Et si on n'est intéressé que par l'arbre d'appels et le nombre d'appels, le simulateur du cache peut être désactivé. - -La simulation du cache est la première étape dans l'approximation des temps réels. En effet, sur les systèmes modernes, l'exécution est très sensible à l'utilisation de ce que l'on appelle des caches (zones de mémoire petites et rapides, et qui permettent d'accélérer les accès répétés aux mêmes emplacements mémoire). &cachegrind; fait cette simulation du cache en interceptant les accès mémoires. Les données produites incluent le nombre d'accès sur la mémoire des instructions / des données, les échecs des caches de niveau L1 / L2, et elle met en relation les lignes du code source avec les fonctions du programme exécuté. En combinant ces compteurs d'échecs et en utilisant des temps de latence de processeurs connus, on peut faire une estimation du temps passé. - -Callgrind est une extension de &cachegrind; qui construit l'arbre d'appels d'un programme à la volée, &cad; comment les fonctions s'appellent entre elles et combien d'évènements se produisent lors de l'exécution d'une fonction. De plus, les données de profilage devant être collectées peuvent être divisées en threads ou en contextes de chaînes d'appels. Il peut aussi fournir des données de profilage au niveau instruction afin de permettre l'annotation d'un code désassemblé. - - - -Visualisation - -Les outils de profilage produisent typiquement un nombre important de données. Le souhait de naviguer facilement dans l'arbre d'appels, ainsi que de passer rapidement d'un mode de tri des fonctions et d'affichage des différents types d'évènements, a motivé la création d'une application graphique pour accomplir cela. - -&kappname; est un outil de visualisation de données de profilage permettant d'accomplir ces souhaits. Il a été programmé en premier lieu pour naviguer dans les données de &cachegrind; et &calltree;. Il existe toutefois des convertisseurs permettant d'afficher les données de profilage produites par d'autres outils. Une description du format des fichiers Cachegrind/Callgrind est donnée dans l'appendice. - -En plus d'une liste de fonctions triées en fonction des métriques des coûts inclusifs ou exclusifs, et optionnellement groupées par fichier source, librairie partagée ou classe C++, &kappname; propose des vues différentes et variées pour une fonction sélectionnée, à savoir -une vue de l'arbre d'appel, qui montre une section de l'arbre d'appel autour de la fonction sélectionnée, - -une vue de la carte de l'arbre, qui permet de visualiser la relation entre appels imbriqués ainsi que la métrique du coût inclusif pour détecter visuellement et rapidement les fonctions à problèmes, - -les vues du code source et de l'annotation assembleur, permettant de voir les détails des coûts associés aux lignes du code source et des instructions assembleur. - - - - - - - - -Utiliser &tdecachegrind; - - -Générer les données à visualiser - -Tout d'abord, il faut générer les données de performance en mesurant les aspects des caractéristiques de l'exécution d'une application. Pour cela, il faut utiliser un outil de profilage. &tdecachegrind; n'inclut pas d'outil de profilage, mais est prévu pour fonctionner avec &callgrind;. En utilisant un convertisseur, il peut aussi être utilisé pour visualiser les données produites par &oprofile;. Même si l'objectif de ce manuel n'est pas de documenter le profilage avec ces outils, la prochaine section fournit des petits tutoriels afin que vous puissiez démarrer. - - -&callgrind; - -&callgrind; est disponible sur http://tdecachegrind.sf.net. Notez qu'il était précédemment nommé &calltree;, mais ce nom était trompeur. - -L'usage le plus courant est de démarrer votre application en préfixant la ligne de commande par callgrind, comme par exemple
callgrind le_programme les_arguments
À la fin du programme, le fichier callgrind.out.pid est généré. Ce fichier peut être chargé avec &tdecachegrind;.
- -Un usage plus avancé est de générer des données de profilage quand une fonction donnée de votre application est appelée. Par exemple, pour konqueror, pour n'avoir les données de profilage que pour le rendu d'une page web, vous pouvez décider de générer les données quand vous sélectionnez l'élément du menu Affichage/Recharger. Ceci correspond à un appel à KonqMainWindow::slotReload. Utilisez la commande
callgrind --dump-before=KonqMainWindow::slotReload konqueror
Ceci va produire plusieurs fichiers de données de profilage avec un numéro additionnel séquentiel à la fin du nom du fichier. Un fichier sans un tel nombre à la fin (se terminant seulement par le PID du processus) sera aussi produit. En chargeant ce fichier dans &tdecachegrind;, tous les autres fichiers seront aussi chargés, et peuvent être visualisés dans la synthèse des parties et dans la liste des parties.
- -
- - -&oprofile; - -&oprofile; est disponible sur http://oprofile.sf.net. Suivez les instructions d'installation du site web. Veuillez vérifier toutefois si votre distribution ne le fournit pas déjà en tant que paquetage (comme dans Suse). - -Le profilage au niveau système n'est autorisé que pour l'administrateur, car toutes les actions sur le système peuvent être observées. C'est pourquoi ce qui va suivre doit être fait en tant qu'administrateur. Tout d'abord, configurez le processus de profilage, en utilisant l'interface graphique oprof_start ou l'outil en ligne de commande opcontrol. Une configuration standard devrait être le mode temps (TBS, voir introduction). Pour démarrer la mesure, lancez opcontrol -s. Ensuite lancez l'application à profiler, et après, lancez opcontrol -d. Ceci va écrire les résultats de la mesure dans des fichiers sous le dossier /var/lib/oprofile/samples/. Pour pouvoir visualiser les données dans &tdecachegrind;, lancez la commande suivante dans un dossier vide :
opreport -gdf | op2callgrind
Ceci va produire un nombre important de fichiers, un pour chaque programme qui s'exécutait sur le système. Chacun peut être chargé indépendamment dans &tdecachegrind;.
- -
-
- - -Bases de l'interface utilisateur - -Quand vous lancez &tdecachegrind; avec un fichier de données de profilage en tant qu'argument, ou après en avoir chargé un avec Fichier/Ouvrir, vous verrez une barre sur le côté contenant la liste des fonctions à gauche et, à droite de la partie principale, une aire de visualisation pour la fonction sélectionnée. L'aire de visualisation peut être configurée pour afficher plusieurs visualisations dans une seule. - -Au premier démarrage, cette aire peut être divisée en deux parties séparées horizontalement, chacune avec des visualisations différentes sélectionnables par des onglets. Pour bouger les vues de visualisation, utilisez le menu contextuel de chaque onglet, et ajustez les séparations entre les visualisations. Pour commuter rapidement entre les différentes dispositions d'une visualisation, utilisez le menu Affichage/Disposition des vues/Dupliquer et changez la disposition. Vous pouvez ensuite commuter les dispositions avec le menu Affichage/Disposition des vues/Aller à la disposition suivante (ou mieux, en utilisant les raccourcis clavier). - -Le type d'évènement actif est important pour la visualisation : pour &callgrind;, c'est par exemple le nombre d'échecs du cache ou l'estimation du cycle ; pour &oprofile;, c'est le « temps » dans le plus simple cas. Vous pouvez changer le type d'évènement par une combobox dans la barre d'outils ou dans la vue du type de l'évènement. Un premier aperçu des caractéristiques de l'exécution devrait être donné quand vous sélectionnez la fonction main dans la liste de gauche, et regardez la visualisation de l'arbre d'appels. Là vous voyez les appels se produisant dans votre programme. Notez que la vue du graphe d'appels ne montre que les fonctions avec un nombre d'évènements élevé. En double-cliquant sur une fonction dans le graphe, celui-ci change pour afficher les fonctions appelées autour de celle sélectionnée. - -Pour explorer plus profondément l'interface graphique, vous pouvez regarder, en plus de ce manuel, la section documentation du site web http://tdecachegrind.sf.net. De plus, chaque composant de &tdecachegrind; est fourni avec l'aide Qu'est-ce que c'est ?. - - -
- - - -Concepts de base - -Ce chapitre explique quelques concepts de &tdecachegrind;, et introduit les termes utilisés dans l'interface. - - -Le modèle de données pour les données de profilage - - -Entités de coût - -Les compteurs de coût des types d'évènement (comme les échecs du cache L2) sont attribués aux entités de coût, qui sont des éléments en relation avec le code source ou des structures de données d'un programme donné. Les entités de coût ne sont pas seulement un code simple ou des positions de données, mais aussi des tuples de position. Par exemple, un appel a une source et une cible, ou bien une adresse de données peut avoir un type de données et une position dans le code où son allocation s'est effectuée. - -Les entités de coût connues de KCachegrind sont données ci-dessous. Les positions simples : instruction. Une instruction assembleur à l'adresse spécifiée. Ligne dans le source d'une fonction. Toutes les instructions que le compilateur (par l'intermédiaire des informations de débogage) associe à une ligne donnée spécifiée par le nom du fichier source et le numéro de la ligne, et qui sont exécutées dans le contexte de quelques fonctions. Le dernier est nécessaire parce qu'une ligne source à l'intérieur d'une fonction inline peut apparaître dans le contexte de fonctions multiples. Les instructions sans association avec une ligne du code source courant sont associées à la ligne numéro 0 du fichier « ??? ». Fonction. Toutes les lignes d'une fonction donnée constituent la fonction elle-même. Une fonction est spécifiée, s'ils sont disponibles, par son nom et sa position dans quelques objets binaires. La dernière est nécessaire parce que les objets binaires d'un seul programme peut avoir des fonctions avec le même nom (on peut y accéder par exemple avec dlopen/dlsym ; l'éditeur de lien dynamique résout les fonctions dans un ordre de recherche donné dans les objets binaires utilisés). Si un outil de profilage ne peut détecter le nom du symbole d'une fonction, par exemple parce que l'information de débogage n'est pas disponible, soit l'adresse de la première instruction exécutée est utilisée, soit « ??? ». Objet binaire. Toutes les fonctions dont le code se situe à l'intérieur d'un objet binaire, ou bien l'exécutable principal (NdT : « main »), ou encore une librairie partagée. Fichier source. Toutes les fonctions dont la première instruction est associée à une ligne d'un fichier source donné. Classe. Les noms des symboles des fonctions sont généralement ordonnés hiérarchiquement dans des espaces de nommage, par exemple les espaces de nommage C++, ou les classes des langages orientés objet. Ainsi une classe peut contenir des fonctions d'une classe ou de classes embarquées. Partie d'un profilage. Quelques sections de temps d'une exécution de profilage, avec un identifiant de thread donné, un identifiant de processus, et la ligne de commande exécutée. Vu en tant que liste, un ensemble d'entités de coût définit souvent une autre entité de coût. Ainsi il y a une hiérarchie d'imbrication des entités de coût qui semble évidente par rapport à la description faite au-dessus. - -Tuples des positions : Appel d'une adresse d'instruction vers une fonction cible. Appel d'une ligne du source vers une fonction cible. Appel d'une fonction du source vers une fonction cible. Saut (in)conditionnel d'une source vers une instruction cible. Saut (in)conditionnel d'une source vers une ligne cible. Les sauts entre les fonctions ne sont pas autorisés, car cela est absurde dans un arbre d'appels. Ainsi, les constructions telles la gestion des exceptions et les sauts longs en C doivent être traduits pour se mettre dans la pile d'appels comme demandé. - - - - - - -Types d'évènement - -Des types d'évènements arbitraires peuvent être spécifiés dans les données de profilage en leur donnant un nom. Leur coût relié à une entité de coût est un entier sur 64 bits. -Les types d'évènement dont les coûts sont spécifiés dans le fichier de données de profilage sont appelés évènement réels. En plus, on peut spécifier des formules pour les types d'évènement calculés à partir d'évènement réels, que l'on appelle évènements hérités. - - - - - -État de la visualisation - -L'état de la visualisation de la fenêtre de KCachegrind inclut : le type d'évènement primaire et secondaire choisi pour l'affichage, le regroupement de fonction (utilisé dans la liste Profilage des fonctions et dans la coloration des entités), les parties du profilage dont les coûts doivent être inclus dans la visualisation, une entité active de coût (par exemple, une fonction sélectionnée de la barre latérale Profilage de la fonction), une entité de coût sélectionnée. Cet état influence les visualisations. -Les visualisations sont toujours affichées pour une entité de coût, celle qui est active. Quand une visualisation donnée n'est pas appropriée pour une entité de coût, elle peut être désactivée (par exemple quand on sélectionne un objet ELF en double-cliquant dans la liste des groupes, l'annotation du code source pour un objet ELF ne veut rien dire). -Par exemple, pour une fonction active, la liste des fonctions appelées montre toutes les fonctions appelées par la fonction active. On peut sélectionner chacune de ces fonctions sans la rendre active. Si le graphe d'appels est montré à côté, il va automatiquement sélectionner la même fonction. - - - - -Parties de l'interface graphique - - -Barres latérales -Les barres latérales sont des fenêtres de côté qui peuvent être placées à chaque bordure de la fenêtre de KCachegrind. Elles contiennent toujours une liste d'entités de coût triées d'une manière quelconque. -Le profil d'une fonction. Le profil d'une fonction est une liste des fonctions avec les coûts inclusifs et exclusifs, le nombre d'appels, le nom et la position des fonctions. -Synthèse des parties -Pile d'appels - - - - - -Aire de visualisation -L'aire de visualisation, se situant généralement dans la partie droite de la fenêtre principale de KCachegrind, est constituée d'une (par défaut) ou de plusieurs vues d'onglets, rangées horizontalement ou verticalement. Chaque vue d'onglet contient plusieurs vues différentes de visualisation pour une seule entité de coût à un instant donné. Le nom de cette entité est indiqué en haut de la vue d'onglets. S'il y a plusieurs vues d'onglets, seulement une est active. Le nom de l'entité dans la vue d'onglets active est affiché en gras et détermine l'entité de coût active de la fenêtre de KCachegrind. - - - -Aires d'une vue d'onglets -Chaque vue d'onglets peut contenir jusqu'à quatre aires d'affichage, nommées Haut, Droite, Gauche, Bas. Chaque aire peut contenir plusieurs vues empilées de visualisation. La vue visible d'une aire est sélectionnée par la barre d'onglets. Les barres d'onglets de l'aire en haut à droite sont en haut, les barres d'onglets de l'aire en bas à gauche sont en bas. Vous pouvez spécifier quel type de visualisation doit aller dans chaque aire en utilisant les menus contextuels des onglets. - - - -Visualisation synchronisée par une entité sélectionnée dans une vue des onglets -En plus d'une entité active, chaque vue d'onglets a une entité sélectionnée. Comme la plupart des types de visualisations montre plusieurs entités avec celle qui est active centrée, vous pouvez changer l'élément sélectionné en naviguant dans une visualisation (en cliquant avec la souris ou en utilisant le clavier). Généralement, les éléments sélectionnés sont affichés en surbrillance. En changeant l'entité sélectionnée dans une des visualisations de la vue d'onglets, toutes les autres visualisations dans la vue d'onglets mettent par conséquent la nouvelle entité sélectionnée en surbrillance. - - - -Synchronisation entre les vues d'onglets -Si il y a plusieurs vues d'onglets, un changement de sélection dans une des vues d'onglets mène à un changement d'activation dans la vue d'onglets suivante (à droite/en bas). Cette sorte de lien doit permettre, par exemple, de naviguer rapidement dans les graphes d'appels. - - - -Dispositions -La disposition de toutes les vues d'onglets d'une fenêtre peut être enregistrée (voir dans le menu Affichage/Disposition des vues). Après avoir dupliqué la disposition courante (Ctrl+Plus ou menu) et changé quelques tailles ou bougé une vue de visualisation vers une autre aire de la vue d'onglets, vous pouvez rapidement commuter entre la nouvelle disposition et l'ancienne par Ctrl+Gauche/Droite. L'ensemble des dispositions sera enregistré entre les sessions de KCachegrind pour une même commande profilée. Vous pouvez faire que l'ensemble courant des dispositions soit celui par défaut pour les nouvelles sessions de KCachegrind, ou bien revenir à l'ensemble des dispositions par défaut. - - - - -Barres latérales - - -Profilage aplati -Le profilage aplati contient une liste de groupes et une liste de fonctions. La liste des groupes contient tous les groupes où le coût a été enregistré, en fonction du type de groupe choisi. La liste des groupes est cachée quand le regroupement est désactivé. -La liste des fonctions contient les fonctions d'un regroupement sélectionné (ou toutes les fonctions si le regroupement est désactivé), triées par colonne, par exemple les coûts propres ou inclusifs enregistrés dedans. Le nombre de fonctions affichées dans la liste est limité, mais configurable par Configuration/Configurer KCachegrind. - - - -Synthèse des parties -Dans une exécution de profilage, plusieurs fichiers de données de profilage peuvent être produits et être chargés ensemble dans KCachegrind. La barre latérale Synthèse des parties les montre, en les triant horizontalement par date de création, les tailles de rectangle étant proportionnelles au coût enregistré dans chaque partie. Vous pouvez sélectionner une ou plusieurs parties pour obliger les coûts affichés dans les autres vues de KCachegrind à s'appliquer uniquement sur ces parties. -Les parties sont sous-divisées autrement : il y a un mode partitionnement et un mode partage des coûts inclusifs : -Partionnement : Vous voyez le partionnement dans des groupes pour une partie des données de profilage, en accord avec le type de groupe sélectionné. Par exemple, si les groupes objet ELF sont sélectionnés, vous verrez des rectangles colorés pour chaque objet ELF utilisé (bibliothèque partagée ou exécutable), qui auront une taille proportionnelle au coût enregistré dedans. -Partage du coût inclusif : Un rectangle montrant le coût inclusif de la fonction active dans la partie est affiché. Celui-ci est partagé pour afficher les coûts inclusifs des fonctions appelées. - - - - - -Pile d'appels -C'est une pile d'appels purement fictive, qui est la « plus probable ». Elle est construite en mettant au début la fonction active courante, puis en ajoutant les fonctions appelantes/appelées avec les plus hauts coûts en haut et en bas. -Les colonnes « coût » et « appels » montrent le coût enregistré pour tous les appels de la fonction dans la ligne au-dessus. - - - - -Visualisations - - -Types d'évènement -La liste montre tous les types de coût disponibles, ceux correspondant, et le coût inclusif de la fonction active courante pour ce type d'évènement. -En choisissant un type d'évènement dans la liste, vous changez le type des coûts montré partout dans KCachegrind par celui sélectionné. - - - -Listes des appels -Ces listes montrent les appels et les fonctions appelées de la fonction active courante. « Toutes » les fonctions appelantes/appelées signifie toutes les fonctions pouvant être accédées dans le sens des appelantes ou des appelées, même si d'autres fonctions se trouvent entre elles. -Les vues de liste des appels inclut : -Les fonctions directement appelantes -Les fonctions directement appelées -Toutes les fonctions appelantes -Toutes les fonctions appelées - - - - - -Cartes -Une visualisation de la carte de l'arbre du type d'évènement primaire, en haut ou en bas de la hiérarchie d'appel. Chaque rectangle coloré représente une fonction, sa taille essaie d'être proportionnelle au coût enregistré à l'intérieur pendant que la fonction active s'exécutait (cependant, il y a des contraintes de dessin). -Pour la carte des fonctions appelantes, le graphique montre la hiérarchie de toutes les fonctions appelant la fonction active courante ; pour la carte des fonctions appelées, il montre la hiérarchie de toutes les fonctions appelées par la fonction active courante. -Les options d'apparence sont disponibles dans le menu contextuel. Pour avoir des proportions exactes, choisissez « Cacher les bordures incorrectes ». Comme ce mode peut être très gourmand au niveau du temps, vous voudrez peut-être limiter avant le niveau maximum de dessin. « Meilleur » détermine la direction de partage pour les enfants à partir du ratio d'aspect de leur parent. « Toujours meilleur » décide de l'espace restant pour chaque enfant du même parent. « Ignorer les proportions » prend l'espace pour dessiner le nom de la fonction avant de dessiner les enfants. Notez que les proportions peuvent être fortement fausses. -La navigation par le clavier est disponible avec les touches gauche/droite pour parcourir les enfants du même parent, et haut/bas pour aller au niveau au-dessus/en dessous le plus proche. La touche Entrée active l'élément courant. - - - -Graphe des appels -Cette vue montre le graphe d'appel autour de la fonction active. Le coût montré est seulement le coût enregistré pendant que la fonction active s'exécutait ; c'est-à-dire le coût montré pour la fonction main() - si elle est visible - doit être le même que le coût de la fonction active, comme c'est la partie du coût inclusif de main() enregistré pendant que la fonction active s'exécutait. -Pour les cycles, les flèches d'appels bleues indiquent que c'est un appel artificiel rajouté pour un affichage correct, même s'il ne s'est jamais produit. -Si le graphe est plus large que l'aire du composant, un panneau d'aperçu est affiché dans un coin. Il y a des options de visualisation identiques à celles de la carte de l'arbre d'appels ; la fonction sélectionnée est mise en surbrillance. - - - -Annotations -Les listes source/assembleur annoté montre les lignes du code source/les instructions désassemblées de la fonction active courante, ainsi que le coût (propre) enregistré lors de l'exécution du code de la ligne du source/l'instruction. S'il y a eu appel, les lignes avec les détails sur l'appel sont insérées dans le code source : le coût (inclusif) enregistré à l'intérieur de l'appel, le nombre d'appels effectués, et la destination de l'appel. -Sélectionnez une telle ligne d'information d'appel pour activer la destination de l'appel. - - - - - - - -Les éléments de menus / barres d'outils - - -La fenêtre principale de &tdecachegrind; - - - -Le menu <guimenu ->Fichier</guimenu -> - - - - - &Ctrl;N Fichier Nouveau -Ouvre une fenêtre de haut niveau vide dans laquelle vous pouvez charger des données de profilage. Cette action n'est pas vraiment nécessaire, car Fichier/Ouvrir vous donnera une nouvelle fenêtre de haut niveau quand la fenêtre courante affiche déjà des données. - - - - &Ctrl;O Fichier Ouvrir -Affiche le dialogue d'ouverture de fichier afin que vous puissiez choisir le fichier de données de profilage à charger. S'il y a déjà des données affichées dans la fenêtre courante de haut niveau, ceci va ouvrir une nouvelle fenêtre. Si vous voulez ouvrir des données additionnelles de profilage dans la fenêtre courante, utilisez Fichier/Ajouter. -Le nom des fichiers de données de profilage se termine habituellement par ..-. En chargeant un fichier se terminant seulement par ., les fichiers de données éventuellement présents pour cette exécution, mais avec des terminaisons additionnelles, seront aussi chargés. -Exemple : s'il existe des fichiers de données de profilage cachegrind.out.123 et cachegrind.out.123.1, en chargeant le premier, le second sera chargé automatiquement. - - - -Fichier Ajouter -Ajoute un fichier de données de profilage dans la fenêtre courante. Vous pouvez ainsi forcer le chargement de multiples fichiers de données dans la même fenêtre de haut niveau, même s'ils ne sont pas de la même exécution, comme donné par la convention de nommage des fichiers de données de profilage. Utilisez cela par exemple pour des comparaisons côte-à-côte. - - - -Fichier Recharger -Recharge les données de profilage. Ceci est surtout intéressant après qu'un autre fichier de données de profilage ait été généré par l'exécution d'une application déjà chargée. - - - - &Ctrl;Q Fichier Quitter -Quitte &kappname; - - - - - - - -Le menu <guimenu ->Affichage</guimenu -> - - - - -Affichage Type d'évènement primaire -(À faire) - - - -Affichage Type d'évènement secondaire -(À faire) - - - -Affichage Regroupement -(À faire) - - - -Affichage Disposition des vues -(À faire) - - - -Affichage Scinder -(À faire) - - - - - - - - - - - - -Questions et Réponses -&reporting.bugs; &updating.documentation; - - - - -À quoi sert &tdecachegrind; ? Je n'en ai aucune idée. - - -&tdecachegrind; est utile dans le stade final du développement d'un logiciel, appelé le profilage. Si vous ne développez pas d'applications, vous n'avez pas besoin de &tdecachegrind;. - - - - - -Quelle est la différence entre « Incl. » et « Propre » ? - - -Ce sont des attributs de coût pour les fonctions en considérant certains types d'évènements. Comme les fonctions peuvent s'appeler entre elles, il paraît logique de distinguer le coût de la fonction elle-même (Coût propre) et le coût incluant toutes les fonctions appelées (Coût inclusif). « Propre » est aussi remplacé certaines fois par « Exclusif ». -Ainsi, par exemple pour main(), vous aurez toujours un coût inclusif de presque 100%, alors que le coût propre est négligeable, le travail réel s'effectuant dans une autre fonction. - - - - - -La barre d'outils/de menus de KCachegrind est spartiate. Est-ce normal ? - - -Manifestement KCachegrind est mal installé sur votre système. Il est recommandé de le compiler avec comme préfixe d'installation votre dossier de base KDE, comme par exemple configure --prefix=/opt/kde3; make install. Si vous choisissez un autre dossier, comme $HOME/kde, vous devez positionner la variable d'environnement TDEDIR sur ce dossier avant de lancer KCachegrind. - - - - - -Si je double-clique sur une fonction en bas de la vue de l'arbre d'appel, il affiche le même coût pour la fonction main() que pour la fonction sélectionnée. N'est-ce pas supposé rester constant à 100% ? - - -Vous avez activé une fonction en dessous de main() avec moins de coût que main(). Pour chaque fonction, on ne montre de la partie du coût total de la fonction, que celle enregistrée alors que la fonction activée s'exécutait. C'est-à-dire que le coût affiché pour toute fonction ne peut jamais être plus élevé que le coût de la fonction activée. - - - - - - - - -Glossaire - -A la suite, vous trouverez une liste de termes divers. -Profilage : C'est le processus de collecte d'informations statistiques sur les caractéristiques d'un programme qui s'exécute. -Traçage : C'est le processus de supervision d'une exécution de programme, et de sauvegarde des évènements triés par date dans un fichier de sortie, la trace. -Trace : C'est une séquence d'évènements horodatés qui se produisent lors du traçage d'un programme qui s'exécute. Sa taille est généralement proportionnelle linéairement au temps d'exécution du programme. -Fichier de données de profilage : C'est un fichier contenant des données mesurées dans une expérience de profilage (ou une partie), ou produite par post-traitement d'une trace. Sa taille est généralement proportionnelle linéairement à la taille du code du programme. -Partie de données de profilage (aussi incorrectement nommé : partie de trace) : Ce sont des données d'un fichier de données de profilage. -Expérience de profilage : C'est une exécution d'un programme, supervisée par un outil de profilage, qui peut produire plusieurs fichiers de données de profilage à partir de parties et/ou de threads de l'exécution. -Projet de profilage : C'est une configuration pour les expériences de profilage utilisée pour un programme qui doit être profilé, peut-être dans plusieurs versions. Comparer des données de profilage n'a généralement de sens qu'entre données de profilage produites dans des expériences sur un seul projet de profilage. -Entité de coût : C'est un élément abstrait relié au code source, auquel on peut attribuer des compteurs d'évènements. Les dimensions des entités de coût sont la localisation dans le code (par exemple, ligne source, fonction), la localisation dans les données (par exemple, type de la donnée accédée, donnée), la localisation dans l'exécution (par exemple, thread, processus), et les couples ou les triplets des positions mentionnées au-dessus (par exemple, appels, accès à un objet à partir d'une instruction, donnée expulsée du cache). -Type d'évènement : C'est la sorte de l'évènement dont les coûts peuvent être attribués à une entité de coût. Il existe des types d'évènements réels et des types d'évènements hérités. -Type d'évènement réel : C'est un type d'évènement qui peut être mesuré par un outil. Cela nécessite l'existence d'un capteur pour le type d'évènement donné. -Type d'évènement hérité : C'est un type d'évènement virtuel, seulement visible dans une visualisation, et qui est défini par une formule basée sur des types d'évènements réels. -Coûts d'évènement : C'est la somme des évènements de quelques types d'évènement se produisant pendant que l'exécution est reliée à quelques entités de coût. Le coût est attribué à l'entité. - - - - - - - -Remerciements et licence - -&kappname; -Merci à Julian Seward pour son excellent outil &valgrind;, et à Nicholas Nethercote pour le module externe &cachegrind;. Sans ces programmes, KCachegrind n'aurait jamais existé. Ils sont par ailleurs à l'origine de beaucoup d'idées pour cette &GUI;. -Et merci pour tous les rapports de bogues et les suggestions des différents utilisateurs. -&underFDL; - - -Installation - - -Comment obtenir &tdecachegrind; - -&tdecachegrind; fait partie du package &package; de &kde;. Pour des versions intermédiaires avec moins de support, &callgrind; et une documentation plus complète, allez voir la homepage sur http://tdecachegrind.sf.net. Vous pourrez aussi y voir des instructions de compilation et d'installation plus complètes. - - - -Pré-requis - -Pour utiliser dans de bonnes conditions &tdecachegrind;, vous avez besoin de &kde; 3.x. Pour générer les données de profilage, vous avez besoin de &cachegrind;, ou bien de &calltree;/&callgrind;. - - - -Compilation et Installation -&install.compile.documentation; - - -Configuration - -Toutes les options de configuration sont soit dans la boîte de dialogue de configuration, soit dans les menus contextuels des visualisations. - - - - - -&documentation.index; -
- - - - - - - - - - - - - - diff --git a/tde-i18n-fr/docs/tdesdk/tdecachegrind/Makefile.am b/tde-i18n-fr/docs/tdesdk/tdecachegrind/Makefile.am new file mode 100644 index 00000000000..b6361414814 --- /dev/null +++ b/tde-i18n-fr/docs/tdesdk/tdecachegrind/Makefile.am @@ -0,0 +1,4 @@ +KDE_LANG = fr +SUBDIRS = $(AUTODIRS) +KDE_DOCS = AUTO +KDE_MANS = AUTO diff --git a/tde-i18n-fr/docs/tdesdk/tdecachegrind/Makefile.in b/tde-i18n-fr/docs/tdesdk/tdecachegrind/Makefile.in new file mode 100644 index 00000000000..d703849a907 --- /dev/null +++ b/tde-i18n-fr/docs/tdesdk/tdecachegrind/Makefile.in @@ -0,0 +1,635 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# KDE tags expanded automatically by am_edit - $Revision: 483858 $ +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 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@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@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 = docs/tdesdk/tdecachegrind +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +#>- RECURSIVE_TARGETS = all-recursive check-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 uninstall-recursive +#>+ 7 +RECURSIVE_TARGETS = all-recursive check-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 uninstall-recursive nmcheck-recursive bcheck-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +#>+ 1 +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +ARTSCCONFIG = @ARTSCCONFIG@ +AUTOCONF = @AUTOCONF@ +AUTODIRS = @AUTODIRS@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CONF_FILES = @CONF_FILES@ +CYGPATH_W = @CYGPATH_W@ +DCOPIDL = @DCOPIDL@ +DCOPIDL2CPP = @DCOPIDL2CPP@ +DCOPIDLNG = @DCOPIDLNG@ +DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@ +DEFS = @DEFS@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +GMSGFMT = @GMSGFMT@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@ +KCONFIG_COMPILER = @KCONFIG_COMPILER@ +KDECONFIG = @KDECONFIG@ +KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@ +KDE_RPATH = @KDE_RPATH@ +KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MAKEKDEWIDGETS = @MAKEKDEWIDGETS@ +MCOPIDL = @MCOPIDL@ +MEINPROC = @MEINPROC@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TOPSUBDIRS = @TOPSUBDIRS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XMLLINT = @XMLLINT@ +X_RPATH = @X_RPATH@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +am__leading_dot = @am__leading_dot@ +am__tar = @am__tar@ +am__untar = @am__untar@ +#>- bindir = @bindir@ +#>+ 2 +DEPDIR = .deps +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@ +kde_appsdir = @kde_appsdir@ +kde_bindir = @kde_bindir@ +kde_confdir = @kde_confdir@ +kde_datadir = @kde_datadir@ +kde_htmldir = @kde_htmldir@ +kde_icondir = @kde_icondir@ +kde_kcfgdir = @kde_kcfgdir@ +kde_libs_htmldir = @kde_libs_htmldir@ +kde_libs_prefix = @kde_libs_prefix@ +kde_locale = @kde_locale@ +kde_mimedir = @kde_mimedir@ +kde_moduledir = @kde_moduledir@ +kde_servicesdir = @kde_servicesdir@ +kde_servicetypesdir = @kde_servicetypesdir@ +kde_sounddir = @kde_sounddir@ +kde_styledir = @kde_styledir@ +kde_templatesdir = @kde_templatesdir@ +kde_wallpaperdir = @kde_wallpaperdir@ +kde_widgetdir = @kde_widgetdir@ +tdeinitdir = @tdeinitdir@ +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@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xdg_appsdir = @xdg_appsdir@ +xdg_directorydir = @xdg_directorydir@ +xdg_menudir = @xdg_menudir@ +KDE_LANG = fr +#>- SUBDIRS = $(AUTODIRS) +#>+ 1 +SUBDIRS =. +KDE_DOCS = AUTO +KDE_MANS = AUTO +#>- all: all-recursive +#>+ 1 +all: docs-am 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 \ +#>- && exit 0; \ +#>- exit 1;; \ +#>- esac; \ +#>- done; \ +#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/tdesdk/tdecachegrind/Makefile'; \ +#>- cd $(top_srcdir) && \ +#>- $(AUTOMAKE) --gnu docs/tdesdk/tdecachegrind/Makefile +#>+ 12 + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/tdesdk/tdecachegrind/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/tdesdk/tdecachegrind/Makefile + cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/tdesdk/tdecachegrind/Makefile.in +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +# 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. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; 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; \ + (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" + +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + 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 || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +#>- distdir: $(DISTFILES) +#>+ 1 +distdir: distdir-nls $(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 $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$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 \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + 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 +#>+ 1 +uninstall: uninstall-docs uninstall-nls uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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 +#>+ 1 +clean: kde-rpo-clean clean-recursive + +#>- clean-am: clean-generic mostlyclean-am +#>+ 1 +clean-am: clean-docs clean-bcheck 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 + +info: info-recursive + +info-am: + +#>- install-data-am: +#>+ 1 +install-data-am: install-docs install-nls + +install-dvi: install-dvi-recursive + +install-exec-am: + +install-html: install-html-recursive + +install-info: install-info-recursive + +install-man: + +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + +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: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic ctags \ + ctags-recursive 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-recursive uninstall uninstall-am + +# 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: + +#>+ 2 +KDE_DIST=index.docbook index.cache.bz2 Makefile.in Makefile.am + +#>+ 24 +index.cache.bz2: $(srcdir)/index.docbook $(KDE_XSL_STYLESHEET) index.docbook + @if test -n "$(MEINPROC)"; then echo $(MEINPROC) --check --cache index.cache.bz2 $(srcdir)/index.docbook; $(MEINPROC) --check --cache index.cache.bz2 $(srcdir)/index.docbook; fi + +docs-am: index.cache.bz2 + +install-docs: docs-am install-nls + $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdecachegrind + @if test -f index.cache.bz2; then \ + echo $(INSTALL_DATA) index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdecachegrind/; \ + $(INSTALL_DATA) index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdecachegrind/; \ + elif test -f $(srcdir)/index.cache.bz2; then \ + echo $(INSTALL_DATA) $(srcdir)/index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdecachegrind/; \ + $(INSTALL_DATA) $(srcdir)/index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdecachegrind/; \ + fi + -rm -f $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdecachegrind/common + $(LN_S) $(kde_libs_htmldir)/$(KDE_LANG)/common $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdecachegrind/common + +uninstall-docs: + -rm -rf $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdecachegrind + +clean-docs: + -rm -f index.cache.bz2 + + +#>+ 13 +install-nls: + $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdecachegrind + @for base in index.docbook ; do \ + echo $(INSTALL_DATA) $$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdecachegrind/$$base ;\ + $(INSTALL_DATA) $(srcdir)/$$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdecachegrind/$$base ;\ + done + +uninstall-nls: + for base in index.docbook ; do \ + rm -f $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdecachegrind/$$base ;\ + done + + +#>+ 5 +distdir-nls: + for file in index.docbook ; do \ + cp $(srcdir)/$$file $(distdir); \ + done + +#>+ 15 +force-reedit: + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/tdesdk/tdecachegrind/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/tdesdk/tdecachegrind/Makefile + cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/tdesdk/tdecachegrind/Makefile.in + + +#>+ 21 +clean-bcheck: + rm -f *.bchecktest.cc *.bchecktest.cc.class a.out + +bcheck: bcheck-recursive + +bcheck-am: + @for i in ; do \ + if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \ + echo "int main() {return 0;}" > $$i.bchecktest.cc ; \ + echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \ + echo "$$i"; \ + if ! $(CXX) $(DEFS) -I. -I$(srcdir) -I$(top_builddir) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) --dump-class-hierarchy -c $$i.bchecktest.cc; then \ + rm -f $$i.bchecktest.cc; exit 1; \ + fi ; \ + echo "" >> $$i.bchecktest.cc.class; \ + perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \ + rm -f a.out; \ + fi ; \ + done + + +#>+ 3 +final: + $(MAKE) all-am + +#>+ 3 +final-install: + $(MAKE) install-am + +#>+ 3 +no-final: + $(MAKE) all-am + +#>+ 3 +no-final-install: + $(MAKE) install-am + +#>+ 3 +kde-rpo-clean: + -rm -f *.rpo + +#>+ 3 +nmcheck: +nmcheck-am: nmcheck diff --git a/tde-i18n-fr/docs/tdesdk/tdecachegrind/index.cache.bz2 b/tde-i18n-fr/docs/tdesdk/tdecachegrind/index.cache.bz2 new file mode 100644 index 00000000000..525879704ff Binary files /dev/null and b/tde-i18n-fr/docs/tdesdk/tdecachegrind/index.cache.bz2 differ diff --git a/tde-i18n-fr/docs/tdesdk/tdecachegrind/index.docbook b/tde-i18n-fr/docs/tdesdk/tdecachegrind/index.docbook new file mode 100644 index 00000000000..3d256504649 --- /dev/null +++ b/tde-i18n-fr/docs/tdesdk/tdecachegrind/index.docbook @@ -0,0 +1,1022 @@ + +KCachegrind'> + Cachegrind"> + Calltree"> + Callgrind"> + Valgrind"> + OProfile"> + + + + +]> + + + + + + +Manuel de &tdecachegrind; + + +Josef Weidendorfer
Josef.Weidendorfer@gmx.de
+
+
+ +&traducteurYannVerley; &traducteurLudovicGrossard; &traducteurDamienRaudeMorvan; + +
+ + +2002-2004 +Josef Weidendorfer + +&FDLNotice; + +2004-07-27 +0.4.6 + + +&tdecachegrind; est un outil de visualisation de données de profilage écrit pour l'environnement &kde;. + + + +KDE +tdesdk +Cachegrind +Callgrind +Valgrind +Profilage + + +
+ + + +Introduction + +&kappname; est un navigateur pour les données produites par des outils de profilage. Ce chapitre explique à quoi sert le profilage, comment cela fonctionne, et donne quelques exemples d'outils de profilage disponibles. + + +Profilage + +Habituellement, quand on développe un programme, une des dernières étapes est d'optimiser les performances. C'est une perte de temps d'optimiser les fonctions rarement utilisées. Il est donc intéressant de savoir où votre programme passe le plus de temps. + +Pour du code séquentiel, la récupération des données statistiques des caractéristiques de l'exécution des programmes, comme par exemple le temps passé dans les fonctions ou dans les lignes de code est habituellement suffisant. C'est ce que l'on appelle le profilage. Le programme est exécuté sous le contrôle d'un outil de profilage, qui donne les résultats de l'exécution à la fin. Au contraire, pour du code parallèle, les problèmes de performance proviennent généralement de l'attente par un processeur de données d'un autre processeur. Comme ce temps d'attente ne peut habituellement être facilement attribué, il est préférable de générer ici des traces d'évènements horodatées. KCachegrind ne peut pas visualiser ce type de données. + +Après analyse des données de profilage produites, il devrait être plus facile de voir les points chauds et les goulots d'étranglement du code. Par exemple, on peut vérifier les hypothèses par rapport au nombre d'appels, et les régions identifiées du code peuvent être optimisées. Après cela, on doit valider l'optimisation effectuée avec une autre exécution profilée. + + + +Méthodes de profilage + +La mesure exacte du temps passé par des événements se produisant pendant l'exécution d'une région de code (par exemple, une fonction) nécessite que soit effectué un rajout de code de mesure avant et après cette région. Ce code lit le temps ou bien un compteur global d'évènement, et calcule les différences. Le code original doit ainsi être changé avant l'exécution. C'est ce que l'on appelle l'instrumentation. L'instrumentation peut être faite par le programmeur lui-même, le compilateur, ou bien par le système d'exécution. Comme les régions intéressantes sont généralement imbriquées, la surcharge due à la mesure influence toujours la mesure elle-même. Ainsi, l'instrumentation doit être effectuée sélectivement et les résultats doivent être interprétés avec précaution. Bien sûr, ceci fait que l'analyse des performances se basant sur la mesure exacte est un processus très complexe. + +La mesure exacte est possible grâce à des compteurs matériels (ce qui inclut des compteurs s'incrémentant sur un tic de temps) fournis dans les processeurs modernes et qui sont incrémentés quand un évènement se produit. Comme nous voulons attribuer des évènements à des régions de code, sans utiliser de compteurs, nous devons gérer chaque évènement en incrémentant un compteur pour la région de code courante nous-mêmes. Faire ceci au niveau logiciel n'est bien sûr pas possible. Toutefois, si on part de l'hypothèse que la distribution des évènements sur le code source est identique quand on regarde à chaque nième évènement, au lieu de chaque évènement, nous avons construit une méthode de mesure réglable par rapport à la surcharge induite. C'est ce que l'on appelle l'échantillonnage. L'échantillonnage à base de temps (NdT : Time Based Sampling ou TBS) utilise un temporisateur pour regarder régulièrement le compteur de programme, afin de créer un histogramme sur le code du programme. L'échantillonnage à base d'évènements (NdT : Event Based Sampling ou EBS) se sert des compteurs matériels des processeurs modernes et utilise un mode dans lequel le gestionnaire d'interruptions est appelé sur les valeurs basses du compteur, en générant un histogramme de la distribution d'évènements correspondante. Dans le gestionnaire, le compteur d'évènement est toujours réinitialisé au « n » de la méthode d'échantillonnage. L'avantage de l'échantillonnage est que le code n'a pas besoin d'être modifié, mais ceci reste un compromis : la supposition d'au-dessus est correcte si n est petit, mais plus n est petit, plus la surcharge du gestionnaire d'interruptions est importante. + +Il existe une autre méthode de mesure qui est de simuler ce qui arrive au niveau de l'ordinateur quand on exécute un code donné, c'est-à-dire une simulation contrôlée de code. La simulation est toujours dépendante du modèle de la machine qui est plus ou moins précis. Cependant, pour des modèles très détaillés de machine, s'approchant de la réalité, le temps de simulation peut être assez inacceptable pour une utilisation courante. L'avantage est que l'on peut insérer dans un code donné un code de mesure/simulation aussi complexe qu'il soit sans perturber les résultats. Faire ceci directement avant l'exécution (ce que l'on appelle instrumentation dynamique), en utilisant le binaire original, est très confortable pour l'utilisateur : Aucune recompilation n'est nécessaire. Cette méthode devient utilisable quand on ne simule que quelques parties de la machine avec un modèle simple. En outre, les résultats produits par des modèles simples sont souvent plus faciles à comprendre : le problème fréquent avec le vrai matériel est que les résultats incluent des effets de chevauchement de différentes parties de la machine. + + + +Outils de profilage + +Le plus connu des outils de profilage est l'outil de la suite GCC, gprof : On doit compiler le programme avec l'option  ; le lancement du programme génère un fichier gmon.out, que l'utilisateur peut lire avec gprof. L'inconvénient principal de cette méthode est l'obligation de passer par une recompilation pour préparer l'exécutable, qui doit être lié de façon statique. La méthode utilisée ici est l'instrumentation générée par le compilateur. Celle-ci mesure les arcs d'appels se produisant dans les fonctions et en accord avec des compteurs d'appels, en conjonction avec un TBS, qui donne un histogramme de distribution du temps sur le code. En utilisant les deux informations, il est possible de calculer de manière heuristique le temps d'inclusion des fonctions, c'est-à-dire le temps passé dans une fonction ainsi que toutes les fonctions qu'elle a appelées. + +Pour une mesure exacte des évènements, il existe des librairies avec des fonctions capables de lire les compteurs de performance matériels. Les plus connus sont le patch PerfCtr pour Linux et les librairies indépendantes de l'architecture PAPI et PCL. Comme toujours, une mesure exacte nécessite une instrumentation du code, comme indiqué au-dessus. D'autres utilisent les librairies elles-mêmes ou utilisent des systèmes d'instrumentation automatiques comme ADAPTOR (pour l'instrumentation de sources FORTRAN), ou encore DynaProf (injection de code par DynInst). + +&oprofile; est un outil de profilage au niveau système pour Linux utilisant l'échantillonnage. + +Dans beaucoup d'aspects, une manière agréable de profiler est d'utiliser Cachegrind ou Callgrind, qui sont des simulateurs utilisant l'environnement d'instrumentation d'exécution &valgrind;. Comme il n'y a pas besoin d'accéder aux compteurs hardware (souvent difficile avec les installations de Linux actuelles), et comme les binaires devant être profilés n'ont pas besoin d'être modifiés, ceci est une bonne alternative à d'autres outils de profilage. L'inconvénient du ralentissement dû à la simulation peut être réduit en n'effectuant la simulation que sur les parties intéressantes du programme, et peut-être seulement sur quelques itérations d'une boucle. Sans instrumentation de la mesure/simulation, l'usage de Valgrind ne provoque qu'un ralentissement d'un facteur de 3 à 5. Et si on n'est intéressé que par l'arbre d'appels et le nombre d'appels, le simulateur du cache peut être désactivé. + +La simulation du cache est la première étape dans l'approximation des temps réels. En effet, sur les systèmes modernes, l'exécution est très sensible à l'utilisation de ce que l'on appelle des caches (zones de mémoire petites et rapides, et qui permettent d'accélérer les accès répétés aux mêmes emplacements mémoire). &cachegrind; fait cette simulation du cache en interceptant les accès mémoires. Les données produites incluent le nombre d'accès sur la mémoire des instructions / des données, les échecs des caches de niveau L1 / L2, et elle met en relation les lignes du code source avec les fonctions du programme exécuté. En combinant ces compteurs d'échecs et en utilisant des temps de latence de processeurs connus, on peut faire une estimation du temps passé. + +Callgrind est une extension de &cachegrind; qui construit l'arbre d'appels d'un programme à la volée, &cad; comment les fonctions s'appellent entre elles et combien d'évènements se produisent lors de l'exécution d'une fonction. De plus, les données de profilage devant être collectées peuvent être divisées en threads ou en contextes de chaînes d'appels. Il peut aussi fournir des données de profilage au niveau instruction afin de permettre l'annotation d'un code désassemblé. + + + +Visualisation + +Les outils de profilage produisent typiquement un nombre important de données. Le souhait de naviguer facilement dans l'arbre d'appels, ainsi que de passer rapidement d'un mode de tri des fonctions et d'affichage des différents types d'évènements, a motivé la création d'une application graphique pour accomplir cela. + +&kappname; est un outil de visualisation de données de profilage permettant d'accomplir ces souhaits. Il a été programmé en premier lieu pour naviguer dans les données de &cachegrind; et &calltree;. Il existe toutefois des convertisseurs permettant d'afficher les données de profilage produites par d'autres outils. Une description du format des fichiers Cachegrind/Callgrind est donnée dans l'appendice. + +En plus d'une liste de fonctions triées en fonction des métriques des coûts inclusifs ou exclusifs, et optionnellement groupées par fichier source, librairie partagée ou classe C++, &kappname; propose des vues différentes et variées pour une fonction sélectionnée, à savoir +une vue de l'arbre d'appel, qui montre une section de l'arbre d'appel autour de la fonction sélectionnée, + +une vue de la carte de l'arbre, qui permet de visualiser la relation entre appels imbriqués ainsi que la métrique du coût inclusif pour détecter visuellement et rapidement les fonctions à problèmes, + +les vues du code source et de l'annotation assembleur, permettant de voir les détails des coûts associés aux lignes du code source et des instructions assembleur. + + + + + + + + +Utiliser &tdecachegrind; + + +Générer les données à visualiser + +Tout d'abord, il faut générer les données de performance en mesurant les aspects des caractéristiques de l'exécution d'une application. Pour cela, il faut utiliser un outil de profilage. &tdecachegrind; n'inclut pas d'outil de profilage, mais est prévu pour fonctionner avec &callgrind;. En utilisant un convertisseur, il peut aussi être utilisé pour visualiser les données produites par &oprofile;. Même si l'objectif de ce manuel n'est pas de documenter le profilage avec ces outils, la prochaine section fournit des petits tutoriels afin que vous puissiez démarrer. + + +&callgrind; + +&callgrind; est disponible sur http://tdecachegrind.sf.net. Notez qu'il était précédemment nommé &calltree;, mais ce nom était trompeur. + +L'usage le plus courant est de démarrer votre application en préfixant la ligne de commande par callgrind, comme par exemple
callgrind le_programme les_arguments
À la fin du programme, le fichier callgrind.out.pid est généré. Ce fichier peut être chargé avec &tdecachegrind;.
+ +Un usage plus avancé est de générer des données de profilage quand une fonction donnée de votre application est appelée. Par exemple, pour konqueror, pour n'avoir les données de profilage que pour le rendu d'une page web, vous pouvez décider de générer les données quand vous sélectionnez l'élément du menu Affichage/Recharger. Ceci correspond à un appel à KonqMainWindow::slotReload. Utilisez la commande
callgrind --dump-before=KonqMainWindow::slotReload konqueror
Ceci va produire plusieurs fichiers de données de profilage avec un numéro additionnel séquentiel à la fin du nom du fichier. Un fichier sans un tel nombre à la fin (se terminant seulement par le PID du processus) sera aussi produit. En chargeant ce fichier dans &tdecachegrind;, tous les autres fichiers seront aussi chargés, et peuvent être visualisés dans la synthèse des parties et dans la liste des parties.
+ +
+ + +&oprofile; + +&oprofile; est disponible sur http://oprofile.sf.net. Suivez les instructions d'installation du site web. Veuillez vérifier toutefois si votre distribution ne le fournit pas déjà en tant que paquetage (comme dans Suse). + +Le profilage au niveau système n'est autorisé que pour l'administrateur, car toutes les actions sur le système peuvent être observées. C'est pourquoi ce qui va suivre doit être fait en tant qu'administrateur. Tout d'abord, configurez le processus de profilage, en utilisant l'interface graphique oprof_start ou l'outil en ligne de commande opcontrol. Une configuration standard devrait être le mode temps (TBS, voir introduction). Pour démarrer la mesure, lancez opcontrol -s. Ensuite lancez l'application à profiler, et après, lancez opcontrol -d. Ceci va écrire les résultats de la mesure dans des fichiers sous le dossier /var/lib/oprofile/samples/. Pour pouvoir visualiser les données dans &tdecachegrind;, lancez la commande suivante dans un dossier vide :
opreport -gdf | op2callgrind
Ceci va produire un nombre important de fichiers, un pour chaque programme qui s'exécutait sur le système. Chacun peut être chargé indépendamment dans &tdecachegrind;.
+ +
+
+ + +Bases de l'interface utilisateur + +Quand vous lancez &tdecachegrind; avec un fichier de données de profilage en tant qu'argument, ou après en avoir chargé un avec Fichier/Ouvrir, vous verrez une barre sur le côté contenant la liste des fonctions à gauche et, à droite de la partie principale, une aire de visualisation pour la fonction sélectionnée. L'aire de visualisation peut être configurée pour afficher plusieurs visualisations dans une seule. + +Au premier démarrage, cette aire peut être divisée en deux parties séparées horizontalement, chacune avec des visualisations différentes sélectionnables par des onglets. Pour bouger les vues de visualisation, utilisez le menu contextuel de chaque onglet, et ajustez les séparations entre les visualisations. Pour commuter rapidement entre les différentes dispositions d'une visualisation, utilisez le menu Affichage/Disposition des vues/Dupliquer et changez la disposition. Vous pouvez ensuite commuter les dispositions avec le menu Affichage/Disposition des vues/Aller à la disposition suivante (ou mieux, en utilisant les raccourcis clavier). + +Le type d'évènement actif est important pour la visualisation : pour &callgrind;, c'est par exemple le nombre d'échecs du cache ou l'estimation du cycle ; pour &oprofile;, c'est le « temps » dans le plus simple cas. Vous pouvez changer le type d'évènement par une combobox dans la barre d'outils ou dans la vue du type de l'évènement. Un premier aperçu des caractéristiques de l'exécution devrait être donné quand vous sélectionnez la fonction main dans la liste de gauche, et regardez la visualisation de l'arbre d'appels. Là vous voyez les appels se produisant dans votre programme. Notez que la vue du graphe d'appels ne montre que les fonctions avec un nombre d'évènements élevé. En double-cliquant sur une fonction dans le graphe, celui-ci change pour afficher les fonctions appelées autour de celle sélectionnée. + +Pour explorer plus profondément l'interface graphique, vous pouvez regarder, en plus de ce manuel, la section documentation du site web http://tdecachegrind.sf.net. De plus, chaque composant de &tdecachegrind; est fourni avec l'aide Qu'est-ce que c'est ?. + + +
+ + + +Concepts de base + +Ce chapitre explique quelques concepts de &tdecachegrind;, et introduit les termes utilisés dans l'interface. + + +Le modèle de données pour les données de profilage + + +Entités de coût + +Les compteurs de coût des types d'évènement (comme les échecs du cache L2) sont attribués aux entités de coût, qui sont des éléments en relation avec le code source ou des structures de données d'un programme donné. Les entités de coût ne sont pas seulement un code simple ou des positions de données, mais aussi des tuples de position. Par exemple, un appel a une source et une cible, ou bien une adresse de données peut avoir un type de données et une position dans le code où son allocation s'est effectuée. + +Les entités de coût connues de KCachegrind sont données ci-dessous. Les positions simples : instruction. Une instruction assembleur à l'adresse spécifiée. Ligne dans le source d'une fonction. Toutes les instructions que le compilateur (par l'intermédiaire des informations de débogage) associe à une ligne donnée spécifiée par le nom du fichier source et le numéro de la ligne, et qui sont exécutées dans le contexte de quelques fonctions. Le dernier est nécessaire parce qu'une ligne source à l'intérieur d'une fonction inline peut apparaître dans le contexte de fonctions multiples. Les instructions sans association avec une ligne du code source courant sont associées à la ligne numéro 0 du fichier « ??? ». Fonction. Toutes les lignes d'une fonction donnée constituent la fonction elle-même. Une fonction est spécifiée, s'ils sont disponibles, par son nom et sa position dans quelques objets binaires. La dernière est nécessaire parce que les objets binaires d'un seul programme peut avoir des fonctions avec le même nom (on peut y accéder par exemple avec dlopen/dlsym ; l'éditeur de lien dynamique résout les fonctions dans un ordre de recherche donné dans les objets binaires utilisés). Si un outil de profilage ne peut détecter le nom du symbole d'une fonction, par exemple parce que l'information de débogage n'est pas disponible, soit l'adresse de la première instruction exécutée est utilisée, soit « ??? ». Objet binaire. Toutes les fonctions dont le code se situe à l'intérieur d'un objet binaire, ou bien l'exécutable principal (NdT : « main »), ou encore une librairie partagée. Fichier source. Toutes les fonctions dont la première instruction est associée à une ligne d'un fichier source donné. Classe. Les noms des symboles des fonctions sont généralement ordonnés hiérarchiquement dans des espaces de nommage, par exemple les espaces de nommage C++, ou les classes des langages orientés objet. Ainsi une classe peut contenir des fonctions d'une classe ou de classes embarquées. Partie d'un profilage. Quelques sections de temps d'une exécution de profilage, avec un identifiant de thread donné, un identifiant de processus, et la ligne de commande exécutée. Vu en tant que liste, un ensemble d'entités de coût définit souvent une autre entité de coût. Ainsi il y a une hiérarchie d'imbrication des entités de coût qui semble évidente par rapport à la description faite au-dessus. + +Tuples des positions : Appel d'une adresse d'instruction vers une fonction cible. Appel d'une ligne du source vers une fonction cible. Appel d'une fonction du source vers une fonction cible. Saut (in)conditionnel d'une source vers une instruction cible. Saut (in)conditionnel d'une source vers une ligne cible. Les sauts entre les fonctions ne sont pas autorisés, car cela est absurde dans un arbre d'appels. Ainsi, les constructions telles la gestion des exceptions et les sauts longs en C doivent être traduits pour se mettre dans la pile d'appels comme demandé. + + + + + + +Types d'évènement + +Des types d'évènements arbitraires peuvent être spécifiés dans les données de profilage en leur donnant un nom. Leur coût relié à une entité de coût est un entier sur 64 bits. +Les types d'évènement dont les coûts sont spécifiés dans le fichier de données de profilage sont appelés évènement réels. En plus, on peut spécifier des formules pour les types d'évènement calculés à partir d'évènement réels, que l'on appelle évènements hérités. + + + + + +État de la visualisation + +L'état de la visualisation de la fenêtre de KCachegrind inclut : le type d'évènement primaire et secondaire choisi pour l'affichage, le regroupement de fonction (utilisé dans la liste Profilage des fonctions et dans la coloration des entités), les parties du profilage dont les coûts doivent être inclus dans la visualisation, une entité active de coût (par exemple, une fonction sélectionnée de la barre latérale Profilage de la fonction), une entité de coût sélectionnée. Cet état influence les visualisations. +Les visualisations sont toujours affichées pour une entité de coût, celle qui est active. Quand une visualisation donnée n'est pas appropriée pour une entité de coût, elle peut être désactivée (par exemple quand on sélectionne un objet ELF en double-cliquant dans la liste des groupes, l'annotation du code source pour un objet ELF ne veut rien dire). +Par exemple, pour une fonction active, la liste des fonctions appelées montre toutes les fonctions appelées par la fonction active. On peut sélectionner chacune de ces fonctions sans la rendre active. Si le graphe d'appels est montré à côté, il va automatiquement sélectionner la même fonction. + + + + +Parties de l'interface graphique + + +Barres latérales +Les barres latérales sont des fenêtres de côté qui peuvent être placées à chaque bordure de la fenêtre de KCachegrind. Elles contiennent toujours une liste d'entités de coût triées d'une manière quelconque. +Le profil d'une fonction. Le profil d'une fonction est une liste des fonctions avec les coûts inclusifs et exclusifs, le nombre d'appels, le nom et la position des fonctions. +Synthèse des parties +Pile d'appels + + + + + +Aire de visualisation +L'aire de visualisation, se situant généralement dans la partie droite de la fenêtre principale de KCachegrind, est constituée d'une (par défaut) ou de plusieurs vues d'onglets, rangées horizontalement ou verticalement. Chaque vue d'onglet contient plusieurs vues différentes de visualisation pour une seule entité de coût à un instant donné. Le nom de cette entité est indiqué en haut de la vue d'onglets. S'il y a plusieurs vues d'onglets, seulement une est active. Le nom de l'entité dans la vue d'onglets active est affiché en gras et détermine l'entité de coût active de la fenêtre de KCachegrind. + + + +Aires d'une vue d'onglets +Chaque vue d'onglets peut contenir jusqu'à quatre aires d'affichage, nommées Haut, Droite, Gauche, Bas. Chaque aire peut contenir plusieurs vues empilées de visualisation. La vue visible d'une aire est sélectionnée par la barre d'onglets. Les barres d'onglets de l'aire en haut à droite sont en haut, les barres d'onglets de l'aire en bas à gauche sont en bas. Vous pouvez spécifier quel type de visualisation doit aller dans chaque aire en utilisant les menus contextuels des onglets. + + + +Visualisation synchronisée par une entité sélectionnée dans une vue des onglets +En plus d'une entité active, chaque vue d'onglets a une entité sélectionnée. Comme la plupart des types de visualisations montre plusieurs entités avec celle qui est active centrée, vous pouvez changer l'élément sélectionné en naviguant dans une visualisation (en cliquant avec la souris ou en utilisant le clavier). Généralement, les éléments sélectionnés sont affichés en surbrillance. En changeant l'entité sélectionnée dans une des visualisations de la vue d'onglets, toutes les autres visualisations dans la vue d'onglets mettent par conséquent la nouvelle entité sélectionnée en surbrillance. + + + +Synchronisation entre les vues d'onglets +Si il y a plusieurs vues d'onglets, un changement de sélection dans une des vues d'onglets mène à un changement d'activation dans la vue d'onglets suivante (à droite/en bas). Cette sorte de lien doit permettre, par exemple, de naviguer rapidement dans les graphes d'appels. + + + +Dispositions +La disposition de toutes les vues d'onglets d'une fenêtre peut être enregistrée (voir dans le menu Affichage/Disposition des vues). Après avoir dupliqué la disposition courante (Ctrl+Plus ou menu) et changé quelques tailles ou bougé une vue de visualisation vers une autre aire de la vue d'onglets, vous pouvez rapidement commuter entre la nouvelle disposition et l'ancienne par Ctrl+Gauche/Droite. L'ensemble des dispositions sera enregistré entre les sessions de KCachegrind pour une même commande profilée. Vous pouvez faire que l'ensemble courant des dispositions soit celui par défaut pour les nouvelles sessions de KCachegrind, ou bien revenir à l'ensemble des dispositions par défaut. + + + + +Barres latérales + + +Profilage aplati +Le profilage aplati contient une liste de groupes et une liste de fonctions. La liste des groupes contient tous les groupes où le coût a été enregistré, en fonction du type de groupe choisi. La liste des groupes est cachée quand le regroupement est désactivé. +La liste des fonctions contient les fonctions d'un regroupement sélectionné (ou toutes les fonctions si le regroupement est désactivé), triées par colonne, par exemple les coûts propres ou inclusifs enregistrés dedans. Le nombre de fonctions affichées dans la liste est limité, mais configurable par Configuration/Configurer KCachegrind. + + + +Synthèse des parties +Dans une exécution de profilage, plusieurs fichiers de données de profilage peuvent être produits et être chargés ensemble dans KCachegrind. La barre latérale Synthèse des parties les montre, en les triant horizontalement par date de création, les tailles de rectangle étant proportionnelles au coût enregistré dans chaque partie. Vous pouvez sélectionner une ou plusieurs parties pour obliger les coûts affichés dans les autres vues de KCachegrind à s'appliquer uniquement sur ces parties. +Les parties sont sous-divisées autrement : il y a un mode partitionnement et un mode partage des coûts inclusifs : +Partionnement : Vous voyez le partionnement dans des groupes pour une partie des données de profilage, en accord avec le type de groupe sélectionné. Par exemple, si les groupes objet ELF sont sélectionnés, vous verrez des rectangles colorés pour chaque objet ELF utilisé (bibliothèque partagée ou exécutable), qui auront une taille proportionnelle au coût enregistré dedans. +Partage du coût inclusif : Un rectangle montrant le coût inclusif de la fonction active dans la partie est affiché. Celui-ci est partagé pour afficher les coûts inclusifs des fonctions appelées. + + + + + +Pile d'appels +C'est une pile d'appels purement fictive, qui est la « plus probable ». Elle est construite en mettant au début la fonction active courante, puis en ajoutant les fonctions appelantes/appelées avec les plus hauts coûts en haut et en bas. +Les colonnes « coût » et « appels » montrent le coût enregistré pour tous les appels de la fonction dans la ligne au-dessus. + + + + +Visualisations + + +Types d'évènement +La liste montre tous les types de coût disponibles, ceux correspondant, et le coût inclusif de la fonction active courante pour ce type d'évènement. +En choisissant un type d'évènement dans la liste, vous changez le type des coûts montré partout dans KCachegrind par celui sélectionné. + + + +Listes des appels +Ces listes montrent les appels et les fonctions appelées de la fonction active courante. « Toutes » les fonctions appelantes/appelées signifie toutes les fonctions pouvant être accédées dans le sens des appelantes ou des appelées, même si d'autres fonctions se trouvent entre elles. +Les vues de liste des appels inclut : +Les fonctions directement appelantes +Les fonctions directement appelées +Toutes les fonctions appelantes +Toutes les fonctions appelées + + + + + +Cartes +Une visualisation de la carte de l'arbre du type d'évènement primaire, en haut ou en bas de la hiérarchie d'appel. Chaque rectangle coloré représente une fonction, sa taille essaie d'être proportionnelle au coût enregistré à l'intérieur pendant que la fonction active s'exécutait (cependant, il y a des contraintes de dessin). +Pour la carte des fonctions appelantes, le graphique montre la hiérarchie de toutes les fonctions appelant la fonction active courante ; pour la carte des fonctions appelées, il montre la hiérarchie de toutes les fonctions appelées par la fonction active courante. +Les options d'apparence sont disponibles dans le menu contextuel. Pour avoir des proportions exactes, choisissez « Cacher les bordures incorrectes ». Comme ce mode peut être très gourmand au niveau du temps, vous voudrez peut-être limiter avant le niveau maximum de dessin. « Meilleur » détermine la direction de partage pour les enfants à partir du ratio d'aspect de leur parent. « Toujours meilleur » décide de l'espace restant pour chaque enfant du même parent. « Ignorer les proportions » prend l'espace pour dessiner le nom de la fonction avant de dessiner les enfants. Notez que les proportions peuvent être fortement fausses. +La navigation par le clavier est disponible avec les touches gauche/droite pour parcourir les enfants du même parent, et haut/bas pour aller au niveau au-dessus/en dessous le plus proche. La touche Entrée active l'élément courant. + + + +Graphe des appels +Cette vue montre le graphe d'appel autour de la fonction active. Le coût montré est seulement le coût enregistré pendant que la fonction active s'exécutait ; c'est-à-dire le coût montré pour la fonction main() - si elle est visible - doit être le même que le coût de la fonction active, comme c'est la partie du coût inclusif de main() enregistré pendant que la fonction active s'exécutait. +Pour les cycles, les flèches d'appels bleues indiquent que c'est un appel artificiel rajouté pour un affichage correct, même s'il ne s'est jamais produit. +Si le graphe est plus large que l'aire du composant, un panneau d'aperçu est affiché dans un coin. Il y a des options de visualisation identiques à celles de la carte de l'arbre d'appels ; la fonction sélectionnée est mise en surbrillance. + + + +Annotations +Les listes source/assembleur annoté montre les lignes du code source/les instructions désassemblées de la fonction active courante, ainsi que le coût (propre) enregistré lors de l'exécution du code de la ligne du source/l'instruction. S'il y a eu appel, les lignes avec les détails sur l'appel sont insérées dans le code source : le coût (inclusif) enregistré à l'intérieur de l'appel, le nombre d'appels effectués, et la destination de l'appel. +Sélectionnez une telle ligne d'information d'appel pour activer la destination de l'appel. + + + + + + + +Les éléments de menus / barres d'outils + + +La fenêtre principale de &tdecachegrind; + + + +Le menu <guimenu +>Fichier</guimenu +> + + + + + &Ctrl;N Fichier Nouveau +Ouvre une fenêtre de haut niveau vide dans laquelle vous pouvez charger des données de profilage. Cette action n'est pas vraiment nécessaire, car Fichier/Ouvrir vous donnera une nouvelle fenêtre de haut niveau quand la fenêtre courante affiche déjà des données. + + + + &Ctrl;O Fichier Ouvrir +Affiche le dialogue d'ouverture de fichier afin que vous puissiez choisir le fichier de données de profilage à charger. S'il y a déjà des données affichées dans la fenêtre courante de haut niveau, ceci va ouvrir une nouvelle fenêtre. Si vous voulez ouvrir des données additionnelles de profilage dans la fenêtre courante, utilisez Fichier/Ajouter. +Le nom des fichiers de données de profilage se termine habituellement par ..-. En chargeant un fichier se terminant seulement par ., les fichiers de données éventuellement présents pour cette exécution, mais avec des terminaisons additionnelles, seront aussi chargés. +Exemple : s'il existe des fichiers de données de profilage cachegrind.out.123 et cachegrind.out.123.1, en chargeant le premier, le second sera chargé automatiquement. + + + +Fichier Ajouter +Ajoute un fichier de données de profilage dans la fenêtre courante. Vous pouvez ainsi forcer le chargement de multiples fichiers de données dans la même fenêtre de haut niveau, même s'ils ne sont pas de la même exécution, comme donné par la convention de nommage des fichiers de données de profilage. Utilisez cela par exemple pour des comparaisons côte-à-côte. + + + +Fichier Recharger +Recharge les données de profilage. Ceci est surtout intéressant après qu'un autre fichier de données de profilage ait été généré par l'exécution d'une application déjà chargée. + + + + &Ctrl;Q Fichier Quitter +Quitte &kappname; + + + + + + + +Le menu <guimenu +>Affichage</guimenu +> + + + + +Affichage Type d'évènement primaire +(À faire) + + + +Affichage Type d'évènement secondaire +(À faire) + + + +Affichage Regroupement +(À faire) + + + +Affichage Disposition des vues +(À faire) + + + +Affichage Scinder +(À faire) + + + + + + + + + + + + +Questions et Réponses +&reporting.bugs; &updating.documentation; + + + + +À quoi sert &tdecachegrind; ? Je n'en ai aucune idée. + + +&tdecachegrind; est utile dans le stade final du développement d'un logiciel, appelé le profilage. Si vous ne développez pas d'applications, vous n'avez pas besoin de &tdecachegrind;. + + + + + +Quelle est la différence entre « Incl. » et « Propre » ? + + +Ce sont des attributs de coût pour les fonctions en considérant certains types d'évènements. Comme les fonctions peuvent s'appeler entre elles, il paraît logique de distinguer le coût de la fonction elle-même (Coût propre) et le coût incluant toutes les fonctions appelées (Coût inclusif). « Propre » est aussi remplacé certaines fois par « Exclusif ». +Ainsi, par exemple pour main(), vous aurez toujours un coût inclusif de presque 100%, alors que le coût propre est négligeable, le travail réel s'effectuant dans une autre fonction. + + + + + +La barre d'outils/de menus de KCachegrind est spartiate. Est-ce normal ? + + +Manifestement KCachegrind est mal installé sur votre système. Il est recommandé de le compiler avec comme préfixe d'installation votre dossier de base KDE, comme par exemple configure --prefix=/opt/kde3; make install. Si vous choisissez un autre dossier, comme $HOME/kde, vous devez positionner la variable d'environnement TDEDIR sur ce dossier avant de lancer KCachegrind. + + + + + +Si je double-clique sur une fonction en bas de la vue de l'arbre d'appel, il affiche le même coût pour la fonction main() que pour la fonction sélectionnée. N'est-ce pas supposé rester constant à 100% ? + + +Vous avez activé une fonction en dessous de main() avec moins de coût que main(). Pour chaque fonction, on ne montre de la partie du coût total de la fonction, que celle enregistrée alors que la fonction activée s'exécutait. C'est-à-dire que le coût affiché pour toute fonction ne peut jamais être plus élevé que le coût de la fonction activée. + + + + + + + + +Glossaire + +A la suite, vous trouverez une liste de termes divers. +Profilage : C'est le processus de collecte d'informations statistiques sur les caractéristiques d'un programme qui s'exécute. +Traçage : C'est le processus de supervision d'une exécution de programme, et de sauvegarde des évènements triés par date dans un fichier de sortie, la trace. +Trace : C'est une séquence d'évènements horodatés qui se produisent lors du traçage d'un programme qui s'exécute. Sa taille est généralement proportionnelle linéairement au temps d'exécution du programme. +Fichier de données de profilage : C'est un fichier contenant des données mesurées dans une expérience de profilage (ou une partie), ou produite par post-traitement d'une trace. Sa taille est généralement proportionnelle linéairement à la taille du code du programme. +Partie de données de profilage (aussi incorrectement nommé : partie de trace) : Ce sont des données d'un fichier de données de profilage. +Expérience de profilage : C'est une exécution d'un programme, supervisée par un outil de profilage, qui peut produire plusieurs fichiers de données de profilage à partir de parties et/ou de threads de l'exécution. +Projet de profilage : C'est une configuration pour les expériences de profilage utilisée pour un programme qui doit être profilé, peut-être dans plusieurs versions. Comparer des données de profilage n'a généralement de sens qu'entre données de profilage produites dans des expériences sur un seul projet de profilage. +Entité de coût : C'est un élément abstrait relié au code source, auquel on peut attribuer des compteurs d'évènements. Les dimensions des entités de coût sont la localisation dans le code (par exemple, ligne source, fonction), la localisation dans les données (par exemple, type de la donnée accédée, donnée), la localisation dans l'exécution (par exemple, thread, processus), et les couples ou les triplets des positions mentionnées au-dessus (par exemple, appels, accès à un objet à partir d'une instruction, donnée expulsée du cache). +Type d'évènement : C'est la sorte de l'évènement dont les coûts peuvent être attribués à une entité de coût. Il existe des types d'évènements réels et des types d'évènements hérités. +Type d'évènement réel : C'est un type d'évènement qui peut être mesuré par un outil. Cela nécessite l'existence d'un capteur pour le type d'évènement donné. +Type d'évènement hérité : C'est un type d'évènement virtuel, seulement visible dans une visualisation, et qui est défini par une formule basée sur des types d'évènements réels. +Coûts d'évènement : C'est la somme des évènements de quelques types d'évènement se produisant pendant que l'exécution est reliée à quelques entités de coût. Le coût est attribué à l'entité. + + + + + + + +Remerciements et licence + +&kappname; +Merci à Julian Seward pour son excellent outil &valgrind;, et à Nicholas Nethercote pour le module externe &cachegrind;. Sans ces programmes, KCachegrind n'aurait jamais existé. Ils sont par ailleurs à l'origine de beaucoup d'idées pour cette &GUI;. +Et merci pour tous les rapports de bogues et les suggestions des différents utilisateurs. +&underFDL; + + +Installation + + +Comment obtenir &tdecachegrind; + +&tdecachegrind; fait partie du package &package; de &kde;. Pour des versions intermédiaires avec moins de support, &callgrind; et une documentation plus complète, allez voir la homepage sur http://tdecachegrind.sf.net. Vous pourrez aussi y voir des instructions de compilation et d'installation plus complètes. + + + +Pré-requis + +Pour utiliser dans de bonnes conditions &tdecachegrind;, vous avez besoin de &kde; 3.x. Pour générer les données de profilage, vous avez besoin de &cachegrind;, ou bien de &calltree;/&callgrind;. + + + +Compilation et Installation +&install.compile.documentation; + + +Configuration + +Toutes les options de configuration sont soit dans la boîte de dialogue de configuration, soit dans les menus contextuels des visualisations. + + + + + +&documentation.index; +
+ + + + + + + + + + + + + + diff --git a/tde-i18n-fr/messages/tdesdk/kcachegrind.po b/tde-i18n-fr/messages/tdesdk/kcachegrind.po deleted file mode 100644 index c6587ab3b96..00000000000 --- a/tde-i18n-fr/messages/tdesdk/kcachegrind.po +++ /dev/null @@ -1,2980 +0,0 @@ -# translation of tdecachegrind.po to French -# traduction de tdecachegrind.po en français -# traduction de tdecachegrind.po en Français -# Copyright (C) 2004, 2005 Free Software Foundation, Inc. -# -# Damien Raude-Morvan , 2004. -# Matthieu Robin , 2004. -# Yann Verley , 2004, 2005. -# Matthieu Robin , 2005. -msgid "" -msgstr "" -"Project-Id-Version: tdecachegrind\n" -"POT-Creation-Date: 2008-07-08 01:21+0200\n" -"PO-Revision-Date: 2005-12-30 02:19+0100\n" -"Last-Translator: Matthieu Robin \n" -"Language-Team: French \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.11\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#: instritem.cpp:106 sourceitem.cpp:86 -msgid "Active call to '%1'" -msgstr "Appel actif vers « %1 »" - -#: instritem.cpp:108 sourceitem.cpp:88 -msgid "" -"_n: %n call to '%1'\n" -"%n calls to '%1'" -msgstr "" -"%n appel à « %1 »\n" -"%n appels à « %1 »" - -#: instritem.cpp:137 -msgid "Jump %1 of %2 times to 0x%3" -msgstr "Saute %1 à %2 fois vers 0x%3" - -#: instritem.cpp:142 -msgid "Jump %1 times to 0x%2" -msgstr "Saute %1 fois vers 0x%2" - -#: instritem.cpp:185 sourceitem.cpp:169 -msgid "(cycle)" -msgstr "(cycle)" - -#: tracedata.cpp:157 -msgid "Abstract Item" -msgstr "Élément abstrait" - -#: tracedata.cpp:158 -msgid "Cost Item" -msgstr "Élément de coût" - -#: tracedata.cpp:159 -msgid "Part Source Line" -msgstr "Ligne source de la partie" - -#: tracedata.cpp:160 -msgid "Source Line" -msgstr "Ligne source" - -#: tracedata.cpp:161 -msgid "Part Line Call" -msgstr "Ligne d'appel de la partie" - -#: tracedata.cpp:162 -msgid "Line Call" -msgstr "Ligne d'appel" - -#: tracedata.cpp:163 -msgid "Part Jump" -msgstr "Saut de la partie" - -#: tracedata.cpp:164 -msgid "Jump" -msgstr "Saut" - -#: tracedata.cpp:165 -msgid "Part Instruction" -msgstr "Instruction de la partie" - -#: tracedata.cpp:166 -msgid "Instruction" -msgstr "Instruction" - -#: tracedata.cpp:167 -msgid "Part Instruction Jump" -msgstr "Instruction de saut de la partie" - -#: tracedata.cpp:168 -msgid "Instruction Jump" -msgstr "Instruction de saut" - -#: tracedata.cpp:169 -msgid "Part Instruction Call" -msgstr "Instruction d'appel de la partie" - -#: tracedata.cpp:170 -msgid "Instruction Call" -msgstr "Instruction d'appel" - -#: tracedata.cpp:171 -msgid "Part Call" -msgstr "Appel de la partie" - -#: tracedata.cpp:172 -msgid "Call" -msgstr "Appel" - -#: tracedata.cpp:173 -msgid "Part Function" -msgstr "Fonction de la partie" - -#: tracedata.cpp:174 -msgid "Function Source File" -msgstr "Fichier source de la fonction" - -#. i18n: file dumpselectionbase.ui line 300 -#: rc.cpp:144 rc.cpp:273 rc.cpp:318 rc.cpp:342 tracedata.cpp:175 -#, no-c-format -msgid "Function" -msgstr "Fonction" - -#: tracedata.cpp:176 -msgid "Function Cycle" -msgstr "Cycle de la fonction" - -#: tracedata.cpp:177 -msgid "Part Class" -msgstr "Classe de la partie" - -#: tracedata.cpp:178 -msgid "Class" -msgstr "Classe" - -#: tracedata.cpp:179 -msgid "Part Source File" -msgstr "Fichier source de la partie" - -#: tracedata.cpp:180 -msgid "Source File" -msgstr "Fichier source" - -#: tracedata.cpp:181 -msgid "Part ELF Object" -msgstr "Objet ELF de la partie" - -#: tracedata.cpp:182 -msgid "ELF Object" -msgstr "Objet ELF" - -#: partview.cpp:46 tracedata.cpp:183 -msgid "Profile Part" -msgstr "Partie du profilage" - -#: tracedata.cpp:184 -msgid "Program Trace" -msgstr "Trace du programme" - -#: tracedata.cpp:245 -msgid "%1 from %2" -msgstr "%1 à %2" - -#: partgraph.cpp:423 tracedata.cpp:253 tracedata.cpp:258 tracedata.cpp:2828 -#: tracedata.cpp:3245 tracedata.cpp:3331 tracedata.cpp:4169 tracedata.cpp:4177 -#: tracedata.cpp:4242 -msgid "(unknown)" -msgstr "(inconnu)" - -#: tracedata.cpp:2587 -msgid "(no caller)" -msgstr "(aucune fonction appelante)" - -#: tracedata.cpp:2594 tracedata.cpp:2613 -msgid "%1 via %2" -msgstr "%1 via %2" - -#: tracedata.cpp:2603 -msgid "(no callee)" -msgstr "(aucune fonction appelée)" - -#: tracedata.cpp:4471 -msgid "(not found)" -msgstr "(non trouvé)" - -#: tracedata.cpp:5021 -msgid "Recalculating Function Cycles..." -msgstr "Recalcul des cycles de la fonction..." - -#. i18n: file dumpselectionbase.ui line 550 -#: callmapview.cpp:59 partselection.cpp:58 rc.cpp:192 -#, no-c-format -msgid "Name" -msgstr "Nom" - -#. i18n: file stackselectionbase.ui line 31 -#: callmapview.cpp:60 callview.cpp:44 instrview.cpp:126 partselection.cpp:59 -#: rc.cpp:333 sourceview.cpp:51 -#, no-c-format -msgid "Cost" -msgstr "Coût" - -#: partselection.cpp:151 -msgid "Profile Part Overview: Current is '%1'" -msgstr "Synthèse de la partie du profilage : la partie courante est « %1 »" - -#: partselection.cpp:287 -msgid "Deselect" -msgstr "Désélectionner" - -#: partselection.cpp:287 partselection.cpp:311 -msgid "Select" -msgstr "Sélectionner" - -#: partselection.cpp:292 -msgid "Select All Parts" -msgstr "Sélectionner toutes les parties" - -#: partselection.cpp:294 -msgid "Visible Parts" -msgstr "Parties visibles" - -#: partselection.cpp:296 -msgid "Hide Selected Parts" -msgstr "Masquer les parties sélectionnées" - -#: partselection.cpp:297 -msgid "Unhide Hidden Parts" -msgstr "Montrer les parties masquées" - -#: partselection.cpp:302 toplevel.cpp:1692 -msgid "Go Back" -msgstr "Retour" - -#: callgraphview.cpp:2571 partselection.cpp:320 -msgid "Visualization" -msgstr "Affichage" - -#: partselection.cpp:322 -msgid "Partitioning Mode" -msgstr "Mode de partitionnement" - -#: partselection.cpp:323 -msgid "Diagram Mode" -msgstr "Mode diagramme" - -#: partselection.cpp:324 -msgid "Zoom Function" -msgstr "Zoomer la fonction" - -#: partselection.cpp:325 -msgid "Show Direct Calls" -msgstr "Montrer les appels directs" - -#: partselection.cpp:326 -msgid "Increment Shown Call Levels" -msgstr "Augmenter le niveau d'appel affiché" - -#: partselection.cpp:340 -msgid "Draw Names" -msgstr "Afficher les noms" - -#: partselection.cpp:341 -msgid "Draw Costs" -msgstr "Afficher les coûts" - -#: callmapview.cpp:303 partselection.cpp:342 -msgid "Ignore Proportions" -msgstr "Ignorer les proportions" - -#: partselection.cpp:343 -msgid "Draw Frames" -msgstr "Afficher les cadres" - -#: callmapview.cpp:304 partselection.cpp:344 treemap.cpp:2887 -msgid "Allow Rotation" -msgstr "Autoriser la rotation" - -#: partselection.cpp:359 -msgid "Hide Info" -msgstr "Masquer info" - -#: partselection.cpp:361 -msgid "Show Info" -msgstr "Afficher info" - -#: partselection.cpp:541 -msgid "(no trace loaded)" -msgstr "(aucune trace chargée)" - -#: costtypeview.cpp:42 -msgid "Event Type" -msgstr "Type d'événement" - -#. i18n: file dumpselectionbase.ui line 917 -#: costtypeview.cpp:43 coverageview.cpp:46 partview.cpp:47 rc.cpp:267 -#: rc.cpp:309 -#, no-c-format -msgid "Incl." -msgstr "Incl." - -#. i18n: file functionselectionbase.ui line 62 -#: costtypeview.cpp:44 coverageview.cpp:53 partview.cpp:48 rc.cpp:303 -#: rc.cpp:312 -#, no-c-format -msgid "Self" -msgstr "Propre" - -#: costtypeview.cpp:45 -msgid "Short" -msgstr "Court" - -#: costtypeview.cpp:47 -msgid "Formula" -msgstr "Formule" - -#: costtypeview.cpp:81 -msgid "" -"Cost Types List" -"

This list shows all cost types available and what the self/inclusive cost of " -"the current selected function is for that cost type.

" -"

By choosing a cost type from the list, you change the cost type of costs " -"shown all over KCachegrind to be the selected one.

" -msgstr "" -"Liste des types de coûts " -"

Cette liste montre tous les types de coûts disponibles et, pour chacun, quel " -"est le coût propre/inclusif de la fonction sélectionnée.

" -"

En choisissant un type de coût dans la liste, vous remplacez l'ensemble des " -"coûts affichés par KCachegrind par celui sélectionné.

" - -#: costtypeview.cpp:98 -msgid "Set Secondary Event Type" -msgstr "Positionner le type d'événement secondaire" - -#: costtypeview.cpp:100 -msgid "Remove Secondary Event Type" -msgstr "Enlever le type d'événement secondaire" - -#: costtypeview.cpp:105 -msgid "Edit Long Name" -msgstr "Éditer le nom long" - -#: costtypeview.cpp:106 -msgid "Edit Short Name" -msgstr "Éditer le nom court" - -#: costtypeview.cpp:107 -msgid "Edit Formula" -msgstr "Éditer la formule" - -#: costtypeview.cpp:115 -msgid "New Cost Type ..." -msgstr "Nouveau type de coût..." - -#: costtypeview.cpp:149 costtypeview.cpp:154 -#, c-format -msgid "New%1" -msgstr "Nouveau%1" - -#: costtypeview.cpp:155 -#, c-format -msgid "New Cost Type %1" -msgstr "Nouveau type de coût %1" - -#: sourceitem.cpp:125 -msgid "Jump %1 of %2 times to %3" -msgstr "Saute %1 à %2 fois vers %3" - -#: sourceitem.cpp:130 -msgid "Jump %1 times to %2" -msgstr "Saute %1 fois vers %2" - -#: costlistitem.cpp:60 -#, c-format -msgid "" -"_n: (%n item skipped)\n" -"(%n items skipped)" -msgstr "" -"(%n élément sauté)\n" -"(%n éléments sautés)" - -#: traceitemview.cpp:53 -msgid "No description available" -msgstr "Aucune description disponible" - -#. i18n: file partselectionbase.ui line 16 -#: rc.cpp:324 toplevel.cpp:281 toplevel.cpp:581 -#, no-c-format -msgid "Parts Overview" -msgstr "Synthèse des parties" - -#: toplevel.cpp:288 -msgid "" -"The Parts Overview" -"

A trace consists of multiple trace parts when there are several profile data " -"files from one profile run. The Trace Part Overview dockable shows these, " -"horizontally ordered in execution time; the rectangle sizes are proportional to " -"the total cost spent in the parts. You can select one or several parts to " -"constrain all costs shown to these parts only.

" -"

The parts are further subdivided: there is a partitioning and an callee " -"split mode: " -"

    " -"
  • Partitioning: You see the partitioning into groups for a trace part, " -"according to the group type selected. E.g. if ELF object groups are selected, " -"you see colored rectangles for each used ELF object (shared library or " -"executable), sized according to the cost spent therein.
  • " -"
  • Callee: A rectangle showing the inclusive cost of the current selected " -"function in the trace part is shown. This is split up into smaller rectangles " -"to show the costs of its callees.

" -msgstr "" -"La synthèse des parties" -"

Une trace consiste en fait en plusieurs parties quand il y a plusieurs " -"fichiers de données de profilage pour un même lancement du profileur. La " -"synthèse des parties affiche ces parties, triées horizontalement par ordre " -"d'exécution ; la taille des rectangles est proportionnelle au coût total " -"enregistré dans la partie. Vous pouvez sélectionner une ou plusieurs parties " -"pour contraindre les coûts affichés à prendre en compte uniquement ces " -"parties.

" -"

Les parties peuvent s'afficher selon deux modes : " -"

    " -"
  • Mode partitionnement : Le partitionnement d'une partie s'effectue par " -"regroupement. Exemple : si le regroupement « Objet ELF » est sélectionné, vous " -"verrez un rectangle coloré pour chaque objet ELF sélectionné (librairie " -"partagée ou exécutable), dimensionné suivant le type de coût sélectionné.
  • " -"
  • Mode fonctions appelées : Un rectangle s'affiche pour refléter le coût " -"inclusif de la fonction sélectionnée dans la partie. Ce rectangle est scindé en " -"rectangles plus petits pour afficher les coûts inclusifs des fonctions " -"appelées.

" - -#: toplevel.cpp:318 -msgid "Top Cost Call Stack" -msgstr "Coûts dans la pile des appels" - -#: toplevel.cpp:320 -msgid "" -"The Top Cost Call Stack" -"

This is a purely fictional 'most probable' call stack. It is built up by " -"starting with the current selected function and adds the callers/callees with " -"highest cost at the top and to bottom.

" -"

The Cost and Calls columns show the cost used for all calls " -"from the function in the line above.

" -msgstr "" -"Coûts dans la pile des appels " -"

Cette pile des appels est une version purement imaginaire de la pile « la " -"plus probable ». Elle est construite en sélectionnant la fonction courante et " -"en ajoutant les fonctions appelantes/appelées avec les plus hauts coûts en " -"haut/en bas.

" -"

Les colonnes coût et appels montrent le coût utilisé pour tous " -"les appels depuis la fonction de la ligne supérieure.

" - -#: toplevel.cpp:333 -msgid "Flat Profile" -msgstr "Profilage aplati" - -#: toplevel.cpp:343 -msgid "" -"The Flat Profile" -"

The flat profile contains a group and a function selection list. The group " -"list contains all groups where costs are spent in, depending on the chosen " -"group type. The group list is hidden when group type 'Function' is selected." -"

" -"

The function list contains the functions of the selected group (or all for " -"'Function' group type), ordered by the costs spent therein. Functions with " -"costs less than 1% are hidden on default.

" -msgstr "" -"Le profilage aplati" -"

Le profilage aplati contient une liste des regroupements et une liste des " -"fonctions. La liste des regroupements contient tous les groupes où les coûts " -"ont été enregistrés, suivant le type de regroupement sélectionné. La liste des " -"regroupements est cachée lorsque le type de regroupement sélectionné est " -"« Fonction ».

" -"

La liste des fonctions contient les fonctions sélectionnées dans le " -"regroupement (ou toutes pour le groupe « Fonction »), classées par coût. Par " -"défaut, les fonctions avec un coût inférieur à 1 % sont masquées.

" - -#. i18n: file dumpselectionbase.ui line 16 -#: rc.cpp:84 toplevel.cpp:357 toplevel.cpp:609 -#, no-c-format -msgid "Profile Dumps" -msgstr "Clichés de profilage" - -#: toplevel.cpp:367 -msgid "" -"Profile Dumps" -"

This dockable shows in the top part the list of loadable profile dumps in " -"all subdirectories of: " -"

    " -"
  • current working directory of KCachegrind, i.e. where it was started from, " -"and " -"
  • the default profile dump directory given in the configuration.
" -"The list is sorted according the the target command profiled in the " -"corresponding dump.

" -"

On selecting a profile dump, information for it is shown in the bottom area " -"of the dockable: " -"

    " -"
  • Options allows you to view the profiled command and profile options " -"of this dump. By changing any item, a new (yet unexisting) profile template is " -"created. Press Run Profile to start aprofile run with these options in " -"the background. " -"
  • Info gives detailed info on the selected dump like event cost " -"summary and properties of the simulated cache. " -"
  • State is only available for current happening profiles runs. Press " -"Update to see different counters of the run, and a stack trace of the " -"current position in the program profiled. Check the Every " -"option to let KCachegrind regularly poll these data. Check the Sync " -"option to let the dockable activate the top function in the current loaded " -"dump.

" -msgstr "" -"Clichés de profilage " -"

Cette vue affiche, dans la partie supérieure, la liste de tous les clichés " -"de profilage des dossiers fils :" -"

    " -"
  • du dossier de travail de KCachegrind, c'est-à-dire son dossier de lancement " -"et
  • " -"
  • du dossier par défaut des clichés de profilage, donné dans la " -"configuration
Cette liste est ordonnée par rapport au nom de la " -"commande profilée de chacun des clichés.

" -"

A la sélection d'un cliché de profilage, l'information est affichée dans la " -"partie inférieure de la vue : " -"

    " -"
  • Options permet de voir la commande profilée et les options de " -"profilage de ce cliché. En changeant l'un des éléments, un nouveau modèle de " -"profilage (pour le moment inexistant) est créé. Appuyez sur " -"Lancer le profilage pour démarrer le lancement en tâche de fond d'un " -"profilage avec ces options.
  • " -"
  • Info. vous donne des informations détaillées sur le cliché " -"sélectionné comme un résumé des coûts et les propriétés du cache simulé.
  • " -"
  • État est disponible uniquement pour les profilages en cours " -"d'exécution. Appuyez sur Mise à jour pour voir les différents compteurs " -"de l'exécution et la pile des appels de la position actuelle dans le programme " -"profilé. En utilisant l'option Toutes les... vous pouvez laisser " -"KCachegrind vérifier régulièrement ces données. En utilisant l'option " -"Synchro vous pouvez activer, dans la vue, le « top » des fonctions
" -"

" - -#: toplevel.cpp:455 -msgid "&Duplicate" -msgstr "&Dupliquer" - -#: toplevel.cpp:459 -msgid "" -"Duplicate Current Layout" -"

Make a copy of the current layout.

" -msgstr "" -"Dupliquer la disposition courante" -"

Faire une copie de la disposition des vues courante.

" - -#: toplevel.cpp:466 -msgid "" -"Remove Current Layout" -"

Delete current layout and make the previous active.

" -msgstr "" -"Enlever la disposition courante" -"

Supprimer la disposition des vues courante et activer la précédente.

" - -#: toplevel.cpp:470 -msgid "&Go to Next" -msgstr "&Aller à la disposition suivante" - -#: toplevel.cpp:474 -msgid "Go to Next Layout" -msgstr "Aller à la disposition des vues suivante" - -#: toplevel.cpp:477 -msgid "&Go to Previous" -msgstr "&Aller à la disposition précédente" - -#: toplevel.cpp:481 -msgid "Go to Previous Layout" -msgstr "Aller à la disposition des vues précédente" - -#: toplevel.cpp:484 -msgid "&Restore to Default" -msgstr "&Restaurer les valeurs par défaut" - -#: toplevel.cpp:487 -msgid "Restore Layouts to Default" -msgstr "Restaurer la disposition des vues aux valeurs par défaut" - -#: toplevel.cpp:490 -msgid "&Save as Default" -msgstr "&Enregistrer comme valeur par défaut" - -#: toplevel.cpp:493 -msgid "Save Layouts as Default" -msgstr "Enregistrer la disposition des vues comme valeur par défaut" - -#: toplevel.cpp:504 -msgid "New

Open new empty KCachegrind window.

" -msgstr "Nouveau

Ouvre une nouvelle fenêtre KCachegrind

" - -#: toplevel.cpp:507 -msgid "&Add..." -msgstr "&Ajouter..." - -#: toplevel.cpp:510 -msgid "" -"Add Profile Data" -"

This opens an additional profile data file in the current window.

" -msgstr "" -"Ajouter des données de profilage" -"

Ceci ouvre un fichier additionnel de données de profilage dans la fenêtre " -"courante.

" - -#: toplevel.cpp:522 -msgid "Reload Profile Data

This loads any new created parts, too.

" -msgstr "" -"Recharger les données de profilage" -"

Cela charge également les nouvelles parties créées.

" - -#: toplevel.cpp:526 -msgid "&Export Graph" -msgstr "&Exporter le graphique" - -#: toplevel.cpp:530 -msgid "" -"Export Call Graph" -"

Generates a file with extension .dot for the tools of the GraphViz " -"package.

" -msgstr "" -"Exporter le graphique des appels" -"

Génère un fichier avec l'extension .dot pour l'utiliser dans un outil comme " -"GraphViz

" - -#: toplevel.cpp:536 -msgid "&Force Dump" -msgstr "&Forcer cliché" - -#: toplevel.cpp:545 -msgid "" -"Force Dump" -"

This forces a dump for a Callgrind profile run in the current directory. " -"This action is checked while KCachegrind looks for the dump. If the dump is " -"finished, it automatically reloads the current trace. If this is the one from " -"the running Callgrind, the new created trace part will be loaded, too.

" -"

Force dump creates a file 'callgrind.cmd', and checks every second for its " -"existence. A running Callgrind will detect this file, dump a trace part, and " -"delete 'callgrind.cmd'. The deletion is detected by KCachegrind, and it does a " -"Reload. If there's no Callgrind running, press 'Force Dump' again to " -"cancel the dump request. This deletes 'callgrind.cmd' itself and stops polling " -"for a new dump.

" -"

Note: A Callgrind run only detects existence of 'callgrind.cmd' " -"when actively running a few milliseconds, i.e. not " -"sleeping. Tip: For a profiled GUI program, you can awake Callgrind e.g. by " -"resizing a window of the program.

" -msgstr "" -"Forcer cliché" -"

Cela force un cliché pour une instance de Callgrind dans le dossier courant. " -"Cette fonction peut-être cochée quand KCachegrind attend la fin du cliché. Si " -"le cliché est terminé, cela recharge automatiquement la trace courante. Si " -"c'est la trace utilisée actuellement par Callgrind, la nouvelle partie créée " -"sera également rechargée.

" -"

Forcer cliché crée un fichier « callgrind.cmd », et vérifie son existence à " -"chaque seconde. Une exécution de Callgrind va détecter ce fichier, prendre un " -"cliché dans une partie de la trace, et supprimer le fichier « callgrind.cmd ». " -"La suppression est détectée par KCachegrind qui effectue alors un rechargement. " -"S'il n'y a pas d'instance de Callgrind, appuyez sur Forcer cliché " -"encore une fois pour annuler la demande. Cela supprime le fichier " -"« callgrind.cmd » et arrête de surveiller la présence d'un nouveau cliché.

" -"

Note : Une instance de Callgrind détecte seulement " -"l'existence du fichier « callgrind.cmd » quand il est en cours d'exécution, " -"et non quand il est en attente. Astuce : Pour un programme graphique en " -"cours de profilage, vous pouvez réveiller Callgrind en redimensionnant la " -"fenêtre du programme.

" - -#: toplevel.cpp:570 -msgid "" -"Open Profile Data" -"

This opens a profile data file, with possible multiple parts

" -msgstr "" -"Ouvrir des données de profilage " -"

Ceci ouvre un fichier de données de profilage. Celui-ci peut contenir " -"plusieurs parties.

" - -#: toplevel.cpp:586 -msgid "Show/Hide the Parts Overview Dockable" -msgstr "Afficher/Masquer la la vue de la synthèse des parties" - -#: toplevel.cpp:590 -msgid "Call Stack" -msgstr "Pile d'appel" - -#: toplevel.cpp:595 -msgid "Show/Hide the Call Stack Dockable" -msgstr "Afficher/Masquer la vue de la pile des appels" - -#. i18n: file functionselectionbase.ui line 16 -#: rc.cpp:297 toplevel.cpp:599 -#, no-c-format -msgid "Function Profile" -msgstr "Profilage de la fonction" - -#: toplevel.cpp:604 -msgid "Show/Hide the Function Profile Dockable" -msgstr "Afficher/Masquer la vue du profilage des fonctions" - -#: toplevel.cpp:614 -msgid "Show/Hide the Profile Dumps Dockable" -msgstr "Afficher/Masquer la vue des clichés du profilage" - -#: toplevel.cpp:619 -msgid "Show Relative Costs" -msgstr "Afficher les coûts relatifs" - -#: toplevel.cpp:626 -msgid "Show Absolute Costs" -msgstr "Afficher les coûts absolus" - -#: toplevel.cpp:629 -msgid "Show relative instead of absolute costs" -msgstr "Afficher les coûts relatifs et non absolus" - -#: toplevel.cpp:633 -msgid "Percentage Relative to Parent" -msgstr "Pourcentage relatif à la fonction parente" - -#: toplevel.cpp:639 -msgid "Show percentage costs relative to parent" -msgstr "Afficher le pourcentage du coût relativement à la fonction parente" - -#: toplevel.cpp:643 -msgid "" -"Show percentage costs relative to parent" -"

If this is switched off, percentage costs are always shown relative to the " -"total cost of the profile part(s) that are currently browsed. By turning on " -"this option, percentage cost of shown cost items will be relative to the parent " -"cost item." -"

    " -"" -"" -"" -"" -"" -"" -"" -"" -"" -"" -"" -"" -"" -"" -"" -"
    Cost TypeParent Cost
    Function CumulativeTotal
    Function SelfFunction Group (*) / Total
    CallFunction Cumulative
    Source LineFunction Cumulative
    " -"

    (*) Only if function grouping is switched on (e.g. ELF object grouping)." -msgstr "" -"Afficher le pourcentage du coût relativement à la fonction parente " -"

    Si cela est désactivé, les coûts en pourcentage sont toujours affichés " -"relativement au coût total des parties du profil. Si cette option est activée, " -"les coûts en pourcentage affichés sont relatifs au coût de l'élément parent.

    " -" " -"" -"" -" " -"" -"" -" " -"" -"" -" " -"" -"" -" " -"" -"" -"
    Type de coûtCoût du parent
    Fonction cumulativeTotal
    Fonction récursiveGroupe de la fonction (*) / Total
    AppelFonction cumulative
    Ligne du sourceFonction cumulative
    " -"

    (*) Seulement si le regroupement des fonctions est activé (c'est-à-dire, " -"regroupement par objet ELF).

    " - -#: toplevel.cpp:658 -msgid "Do Cycle Detection" -msgstr "Faire la détection des cycles" - -#: toplevel.cpp:664 -msgid "Skip Cycle Detection" -msgstr "Ne pas faire la détection des cycles" - -#: toplevel.cpp:667 -msgid "" -"Detect recursive cycles" -"

    If this is switched off, the treemap drawing will show black areas when a " -"recursive call is made instead of drawing the recursion ad infinitum. Note that " -"the size of black areas often will be wrong, as inside recursive cycles the " -"cost of calls cannot be determined; the error is small, however, for false " -"cycles (see documentation)." -"

    The correct handling for cycles is to detect them and collapse all functions " -"of a cycle into a virtual function, which is done when this option is selected. " -"Unfortunately, with GUI applications, this often will lead to huge false " -"cycles, making the analysis impossible; therefore, there is the option to " -"switch this off." -msgstr "" -"Détection des cycles récursifs " -"

    Si cette option est désactivée, le dessin du graphique contiendra des " -"parties noires quand un appel récursif est fait, au lieu de dessiner l'appel " -"récursif à l'infini. Il faut noter que la taille des parties noires risque " -"souvent d'être fausse, car il est difficile de déterminer le coût des appels à " -"l'intérieur des cycles récursifs. Cependant, l'erreur est faible pour les faux " -"cycles (voir documentation).

    " -"

    Pour afficher correctement ces cycles, il est plus correct de les détecter " -"et d'intégrer toutes les fonctions d'un cycle à l'intérieur d'une fonction " -"virtuelle. C'est ce qui est fait quand cette option est activée. Cependant, " -"lors de l'analyse d'applications graphiques, ceci peut souvent mener à des " -"cycles énormes et non justifiés, ce qui rend l'analyse impossible. Il existe " -"donc la possibilité de désactiver cette option.

    " - -#: toplevel.cpp:689 toplevel.cpp:729 -msgid "Go back in function selection history" -msgstr "Aller à la fonction sélectionnée précédente dans l'historique" - -#: toplevel.cpp:695 toplevel.cpp:741 -msgid "Go forward in function selection history" -msgstr "Aller à la fonction sélectionnée suivante dans l'historique" - -#: toplevel.cpp:701 toplevel.cpp:715 -msgid "" -"Go Up" -"

    Go to last selected caller of current function. If no caller was visited, " -"use that with highest cost.

    " -msgstr "" -"Remonter" -"

    Remonte à la dernière fonction appelante sélectionnée de la fonction en " -"cours. Si aucune n'a été sélectionnée, remonte vers celle de plus haut coût.

    " - -#: toplevel.cpp:707 -msgid "&Up" -msgstr "&Remonter" - -#: toplevel.cpp:746 toplevel.cpp:1651 -msgid "Primary Event Type" -msgstr "Type d'événement primaire" - -#: toplevel.cpp:748 -msgid "Select primary event type of costs" -msgstr "Sélectionner le type d'événement primaire des coûts" - -#: toplevel.cpp:758 toplevel.cpp:1654 -msgid "Secondary Event Type" -msgstr "Type d'événement secondaire" - -#: toplevel.cpp:760 -msgid "Select secondary event type for cost e.g. shown in annotations" -msgstr "" -"Sélectionner le type d'événement secondaire des coûts, par exemple affiché dans " -"les annotations" - -#: functionselection.cpp:243 toplevel.cpp:768 -msgid "Grouping" -msgstr "Regroupement" - -#: toplevel.cpp:771 -msgid "Select how functions are grouped into higher level cost items" -msgstr "" -"Sélectionner comment les fonctions sont regroupées en coûts de plus haut niveau" - -#: functionselection.cpp:52 toplevel.cpp:777 -msgid "(No Grouping)" -msgstr "(aucun regroupement)" - -#: toplevel.cpp:787 -msgid "Split" -msgstr "Scinder" - -#: toplevel.cpp:791 -msgid "Show two information panels" -msgstr "Afficher deux panneaux d'information" - -#: toplevel.cpp:795 -msgid "Split Horizontal" -msgstr "Scinder horizontalement" - -#: toplevel.cpp:800 -msgid "Change Split Orientation when main window is split." -msgstr "" -"Changer le sens de la séparation quand la fenêtre principale est scindée." - -#: toplevel.cpp:808 -msgid "Tip of the &Day..." -msgstr "&Astuce du jour..." - -#: toplevel.cpp:809 -msgid "Show \"Tip of the Day\"" -msgstr "Afficher « l'astuce du jour »" - -#: toplevel.cpp:1012 toplevel.cpp:1061 -msgid "" -"cachegrind.out* callgrind.out*|Callgrind Profile Data\n" -"*|All Files" -msgstr "" -"cachegrind.out* callgrind.out*|Données de profilage de Callgrind\n" -"*|Tous les fichiers" - -#: toplevel.cpp:1014 -msgid "Select Callgrind Profile Data" -msgstr "Sélectionner des données de profilage de Callgrind" - -#: toplevel.cpp:1063 -msgid "Add Callgrind Profile Data" -msgstr "Ajouter des données de profilage de Callgrind" - -#: toplevel.cpp:1221 toplevel.cpp:1574 -msgid "(Hidden)" -msgstr "(Caché)" - -#: toplevel.cpp:1626 -msgid "Hide" -msgstr "Cacher" - -#: toplevel.cpp:1659 -msgid "Show Absolute Cost" -msgstr "Afficher les coûts absolus" - -#: toplevel.cpp:1662 -msgid "Show Relative Cost" -msgstr "Afficher les coûts relatifs" - -#: toplevel.cpp:1693 -msgid "Go Forward" -msgstr "Revenir au précédent" - -#: toplevel.cpp:1694 -msgid "Go Up" -msgstr "Remonter" - -#: toplevel.cpp:1926 -#, c-format -msgid "Layout Count: %1" -msgstr "Nombre de dispositions : %1" - -#: toplevel.cpp:1933 -msgid "No profile data file loaded." -msgstr "Aucun fichier de données de profilage chargé." - -#: toplevel.cpp:1942 -msgid "Total %1 Cost: %2" -msgstr "Coût total (%1) : %2" - -#: toplevel.cpp:1954 -msgid "No event type selected" -msgstr "Aucun type d'événement sélectionné" - -#: toplevel.cpp:2199 toplevel.cpp:2235 toplevel.cpp:2271 -msgid "(No Stack)" -msgstr "(Aucune pile)" - -#: toplevel.cpp:2205 -msgid "(No next function)" -msgstr "(Pas de fonction suivante)" - -#: toplevel.cpp:2241 -msgid "(No previous function)" -msgstr "(Pas de fonction précédente)" - -#: toplevel.cpp:2276 -msgid "(No Function Up)" -msgstr "(Pas de fonction parente)" - -#. i18n: file dumpselectionbase.ui line 906 -#: instrview.cpp:125 rc.cpp:264 sourceview.cpp:50 -#, no-c-format -msgid "#" -msgstr "#" - -#: callview.cpp:45 instrview.cpp:127 sourceview.cpp:52 -msgid "Cost 2" -msgstr "Coût 2" - -#: instrview.cpp:129 -msgid "Hex" -msgstr "Hexadécimal" - -#: instrview.cpp:131 tabview.cpp:313 -msgid "Assembler" -msgstr "Assembleur annoté" - -#: instrview.cpp:132 -msgid "Source Position" -msgstr "Position dans le source" - -#: instrview.cpp:163 -msgid "" -"Annotated Assembler" -"

    The annotated assembler list shows the machine code instructions of the " -"current selected function together with (self) cost spent while executing an " -"instruction. If this is a call instruction, lines with details on the call " -"happening are inserted into the source: the cost spent inside of the call, the " -"number of calls happening, and the call destination.

    " -"

    The disassembler output shown is generated with the 'objdump' utility from " -"the 'binutils' package.

    " -"

    Select a line with call information to make the destination function of this " -"call current.

    " -msgstr "" -"Assembleur annoté " -"

    La vue de l'assembleur annoté affiche le code machine de la fonction " -"sélectionnée avec le coût (propre) utilisé pour chacune des instructions. S'il " -"y a un appel vers une autre instruction, des détails sur l'appel sont insérés " -"dans le source : le coût inclusif enregistré dans l'appel, le nombre d'appels " -"et la destination de l'appel.

    " -"

    La sortie désassemblée est générée par l'utilitaire « objdump » du paquetage " -"« binutils ».

    " -"

    Sélectionnez la ligne d'information sur un appel pour que la fonction " -"appelée devienne la fonction courante.

    " - -#: callgraphview.cpp:2397 callgraphview.cpp:2401 callgraphview.cpp:2419 -#: callview.cpp:123 callview.cpp:128 coverageview.cpp:166 instrview.cpp:191 -#: sourceview.cpp:116 -msgid "Go to '%1'" -msgstr "Aller à « %1 »" - -#: instrview.cpp:195 -#, c-format -msgid "Go to Address %1" -msgstr "Aller à l'adresse %1" - -#: instrview.cpp:207 -msgid "Hex Code" -msgstr "Code hexadécimal" - -#: instrview.cpp:426 -msgid "There is no instruction info in the profile data file." -msgstr "Il n'y a aucune instruction dans le fichier de données de profilage." - -#: instrview.cpp:428 -msgid "For the Valgrind Calltree Skin, rerun with option" -msgstr "Pour l'arbre d'appel de Valgrind, relancer avec l'option" - -#: instrview.cpp:429 -msgid " --dump-instr=yes" -msgstr " --dump-instr=yes" - -#: instrview.cpp:430 -msgid "To see (conditional) jumps, additionally specify" -msgstr "Pour avoir les sauts (conditionnels), spécifiez également" - -#: instrview.cpp:431 -msgid " --trace-jump=yes" -msgstr " --trace-jump=yes" - -#: instrview.cpp:629 -msgid "There is an error trying to execute the command" -msgstr "Il y a eu une erreur lors de l'exécution de la commande" - -#: instrview.cpp:634 instrview.cpp:900 -msgid "Check that you have installed 'objdump'." -msgstr "Vérifiez que vous avez installé l'utilitaire « objdump »" - -#: instrview.cpp:636 instrview.cpp:902 -msgid "This utility can be found in the 'binutils' package." -msgstr "Cette utilitaire peut être trouvé dans le paquetage « binutils »." - -#: instrview.cpp:739 -msgid "(No Assembler)" -msgstr "(Pas d'assembleur)" - -#: instrview.cpp:875 -#, c-format -msgid "" -"_n: There is %n cost line without assembler code.\n" -"There are %n cost lines without assembler code." -msgstr "" -"Il y a %n ligne de coûts sans code assembleur.\n" -"Il y a %n lignes de coûts sans code assembleur." - -#: instrview.cpp:877 -msgid "This happens because the code of" -msgstr "Cela se produit car le code de" - -#: instrview.cpp:880 -msgid "does not seem to match the profile data file." -msgstr "ne semble pas correspondre au fichier de données de profilage." - -#: instrview.cpp:883 -msgid "Are you using an old profile data file or is the above mentioned" -msgstr "" -"Utilisez-vous un vieux fichier de données de profilage ou un fichier ELF" - -#: instrview.cpp:885 -msgid "ELF object from an updated installation/another machine?" -msgstr "qui provient d'une machine mise à jour / d'une autre installation ?" - -#: instrview.cpp:893 -msgid "There seems to be an error trying to execute the command" -msgstr "Il semble qu'il y ait eu une erreur à l'exécution de la commande" - -#: instrview.cpp:898 -msgid "Check that the ELF object used in the command exists." -msgstr "Vérifiez que l'objet ELF utilisé dans la commande est présent." - -#: callgraphview.cpp:306 -#, c-format -msgid "Call(s) from %1" -msgstr "Appel(s) depuis %1" - -#: callgraphview.cpp:307 -#, c-format -msgid "Call(s) to %1" -msgstr "Appel(s) à %1" - -#: callgraphview.cpp:308 -msgid "(unknown call)" -msgstr "(appel inconnu)" - -#: callgraphview.cpp:1425 -msgid "" -"Call Graph around active Function" -"

    Depending on configuration, this view shows the call graph environment of " -"the active function. Note: the shown cost is only " -"the cost which is spent while the active function was actually running; i.e. " -"the cost shown for main() - if it's visible - should be the same as the cost of " -"the active function, as that's the part of inclusive cost of main() spent while " -"the active function was running.

    " -"

    For cycles, blue call arrows indicate that this is an artificial call added " -"for correct drawing which actually never happened.

    " -"

    If the graph is larger than the widget area, an overview panner is shown in " -"one edge. There are similar visualization options to the Call Treemap; the " -"selected function is highlighted." -"

    " -msgstr "" -"Graphique des appels autour de la fonction active" -"

    Selon la configuration, cette vue affiche l'environnement du graphique des " -"appels de la fonction active. Note : le coût affiché est uniquement" -"le coût enregistré lorsque la fonction active était réellement exécutée. Le " -"coût affiché pour main(), s'il est visible, devrait être le même que le coût de " -"la fonction active, étant donné qu'il s'agit de la partie du coût inclusif de " -"main() utilisé lorsque la fonction active était exécutée.

    " -"

    Pour les cycles, les flèches d'appel bleues indiquent qu'il s'agit d'un " -"appel artificiel, ajouté pour que l'affichage soit correct, mais qui ne s'est " -"jamais produit.

    " -"

    Si le graphique est plus grand que la zone, une vue d'ensemble est affiché " -"dans un des bords. Les options d'affichage sont les mêmes dans la carte " -"arborescente des appels ; la fonction sélectionnée est colorée.

    " - -#: callgraphview.cpp:1789 -msgid "" -"Warning: a long lasting graph layouting is in progress.\n" -"Reduce node/edge limits for speedup.\n" -msgstr "" -"Attention : le tracé du graphe est en cours et risque de durer.\n" -"Réduisez les limites nœud / arc pour accélérer le tracé.\n" - -#: callgraphview.cpp:1792 -msgid "" -"Layouting stopped.\n" -msgstr "" -"Tracé arrêté.\n" - -#: callgraphview.cpp:1794 -msgid "" -"The call graph has %1 nodes and %2 edges.\n" -msgstr "" -"Le graphe d'appels possède %1 nœuds et %2 arcs.\n" - -#: callgraphview.cpp:1827 -msgid "No item activated for which to draw the call graph." -msgstr "Aucun élément n'est activé pour dessiner le graphe d'appel." - -#: callgraphview.cpp:1838 -msgid "No call graph can be drawn for the active item." -msgstr "Le graphe d'appel ne peut être dessiné pour l'élément actif." - -#: callgraphview.cpp:1867 -msgid "" -"No call graph is available because the following\n" -"command cannot be run:\n" -"'%1'\n" -msgstr "" -"Le graphe d'appel n'est pas disponible car la commande\n" -"suivante ne peut être exécutée :\n" -"« %1 »\n" - -#: callgraphview.cpp:1870 callgraphview.cpp:2200 -msgid "Please check that 'dot' is installed (package GraphViz)." -msgstr "" -"Veuillez vérifier que l'utilitaire « dot » est installé (paquetage GraphViz)." - -#: callgraphview.cpp:2199 -msgid "" -"Error running the graph layouting tool.\n" -msgstr "" -"Erreur lors de l'exécution de l'outil de tracé du graphe.\n" - -#: callgraphview.cpp:2207 -msgid "" -"There is no call graph available for function\n" -"\t'%1'\n" -"because it has no cost of the selected event type." -msgstr "" -"Il n'y a pas d'arbre d'appels disponible pour la fonction\n" -"\t« %1 »\n" -"parce qu'elle n'a pas de coût pour le type d'événement choisi." - -#: callgraphview.cpp:2428 -msgid "Stop Layouting" -msgstr "Arrêter le tracé" - -#: callgraphview.cpp:2436 -msgid "As PostScript" -msgstr "Vers du PostScript" - -#: callgraphview.cpp:2437 -msgid "As Image ..." -msgstr "Vers une image ..." - -#: callgraphview.cpp:2439 -msgid "Export Graph" -msgstr "Exporter le graphique" - -#: callgraphview.cpp:2444 callgraphview.cpp:2467 -msgid "Unlimited" -msgstr "Illimitée" - -#: callgraphview.cpp:2447 callgraphview.cpp:2470 -msgid "None" -msgstr "Aucune" - -#: callgraphview.cpp:2448 callgraphview.cpp:2471 -msgid "max. 2" -msgstr "2 max." - -#: callgraphview.cpp:2449 callgraphview.cpp:2472 -msgid "max. 5" -msgstr "5 max." - -#: callgraphview.cpp:2450 callgraphview.cpp:2473 -msgid "max. 10" -msgstr "10 max." - -#: callgraphview.cpp:2451 callgraphview.cpp:2474 -msgid "max. 15" -msgstr "15 max." - -#: callgraphview.cpp:2461 callgraphview.cpp:2484 -#, c-format -msgid "< %1" -msgstr "< %1" - -#: callgraphview.cpp:2490 -msgid "No Minimum" -msgstr "Pas de minimum" - -#: callgraphview.cpp:2494 -#, c-format -msgid "50 %" -msgstr "50 %" - -#: callgraphview.cpp:2495 -#, c-format -msgid "20 %" -msgstr "20 %" - -#: callgraphview.cpp:2496 -#, c-format -msgid "10 %" -msgstr "10 %" - -#: callgraphview.cpp:2497 -#, c-format -msgid "5 %" -msgstr "5 %" - -#: callgraphview.cpp:2498 -#, c-format -msgid "3 %" -msgstr "3 %" - -#: callgraphview.cpp:2499 -#, c-format -msgid "2 %" -msgstr "2 %" - -#: callgraphview.cpp:2500 -#, c-format -msgid "1.5 %" -msgstr "1,5 %" - -#: callgraphview.cpp:2501 -#, c-format -msgid "1 %" -msgstr "1 %" - -#: callgraphview.cpp:2517 -msgid "Same as Node" -msgstr "Identique au noeud" - -#: callgraphview.cpp:2518 -#, c-format -msgid "50 % of Node" -msgstr "50 % du noeud" - -#: callgraphview.cpp:2519 -#, c-format -msgid "20 % of Node" -msgstr "20 % du noeud" - -#: callgraphview.cpp:2520 -#, c-format -msgid "10 % of Node" -msgstr "10 % du noeud" - -#: callgraphview.cpp:2530 -msgid "Caller Depth" -msgstr "Profondeur (fonctions appelantes)" - -#: callgraphview.cpp:2531 -msgid "Callee Depth" -msgstr "Profondeur (fonctions appelées)" - -#: callgraphview.cpp:2532 -msgid "Min. Node Cost" -msgstr "Coût minimum du noeud" - -#: callgraphview.cpp:2533 -msgid "Min. Call Cost" -msgstr "Coût minimum de l'appel" - -#: callgraphview.cpp:2535 -msgid "Arrows for Skipped Calls" -msgstr "Flèches pour les appels masqués" - -#: callgraphview.cpp:2537 -msgid "Inner-cycle Calls" -msgstr "Appels dans le cycle" - -#: callgraphview.cpp:2539 -msgid "Cluster Groups" -msgstr "Groupes" - -#: callgraphview.cpp:2544 -msgid "Compact" -msgstr "Compact" - -#: callgraphview.cpp:2545 -msgid "Normal" -msgstr "Normal" - -#: callgraphview.cpp:2546 -msgid "Tall" -msgstr "Grand" - -#: callgraphview.cpp:2551 -msgid "Top to Down" -msgstr "De haut en bas" - -#: callgraphview.cpp:2552 -msgid "Left to Right" -msgstr "De gauche à droite" - -#: callgraphview.cpp:2553 -msgid "Circular" -msgstr "Circulaire" - -#: callgraphview.cpp:2559 -msgid "TopLeft" -msgstr "Haut gauche" - -#: callgraphview.cpp:2560 -msgid "TopRight" -msgstr "Haut droite" - -#: callgraphview.cpp:2561 -msgid "BottomLeft" -msgstr "Bas gauche" - -#: callgraphview.cpp:2562 -msgid "BottomRight" -msgstr "Bas droite" - -#. i18n: file configdlgbase.ui line 246 -#: callgraphview.cpp:2563 rc.cpp:42 rc.cpp:51 rc.cpp:54 -#, no-c-format -msgid "Automatic" -msgstr "Automatique" - -#: callgraphview.cpp:2570 -msgid "Graph" -msgstr "Graphique" - -#: callgraphview.cpp:2572 -msgid "Birds-eye View" -msgstr "Vue d'ensemble" - -#: _translatorinfo.cpp:1 -msgid "" -"_: NAME OF TRANSLATORS\n" -"Your names" -msgstr "Damien Raude-Morvan,Yann Verley" - -#: _translatorinfo.cpp:3 -msgid "" -"_: EMAIL OF TRANSLATORS\n" -"Your emails" -msgstr "drazzib@drazzib.com,yann.verley@free.fr" - -#: coverageitem.cpp:65 coverageitem.cpp:205 functionitem.cpp:72 -#, c-format -msgid "" -"_n: (%n function skipped)\n" -"(%n functions skipped)" -msgstr "" -"(%n fonction masquée)\n" -"(%n fonctions masquées)" - -#: main.cpp:38 -msgid "Run under cachegrind" -msgstr "Exécuter avec cachegrind" - -#: main.cpp:39 -msgid "Show information of this trace" -msgstr "Afficher les informations de cette trace" - -#: main.cpp:46 -msgid "KCachegrind" -msgstr "KCachegrind" - -#: main.cpp:48 -msgid "KDE Frontend for Cachegrind" -msgstr "Interface KDE pour Cachegrind" - -#: main.cpp:50 -msgid "(C) 2002, 2003, 2004" -msgstr "(C) 2002, 2003, 2004" - -#: main.cpp:53 -msgid "Author/Maintainer" -msgstr "Auteur/Mainteneur" - -#: tabview.cpp:64 -msgid "Move to Top" -msgstr "Déplacer vers le haut" - -#: tabview.cpp:68 -msgid "Move to Right" -msgstr "Déplacer vers la droite" - -#: tabview.cpp:72 -msgid "Move to Bottom" -msgstr "Déplacer vers le bas" - -#: tabview.cpp:76 -msgid "Move to Bottom Left" -msgstr "Déplacer vers le bas à gauche" - -#: tabview.cpp:77 tabview.cpp:94 treemap.cpp:2908 -msgid "Bottom Left" -msgstr "Bas gauche" - -#: tabview.cpp:79 -msgid "Move Area To" -msgstr "Déplacer zone vers" - -#: tabview.cpp:81 -msgid "Hide This Tab" -msgstr "Masquer cet onglet" - -#: tabview.cpp:82 -msgid "Hide Area" -msgstr "Masquer cette zone" - -#: tabview.cpp:95 -msgid "Show Hidden On" -msgstr "Afficher masqués vers" - -#: tabview.cpp:242 -msgid "(No profile data file loaded)" -msgstr "(aucun fichier de données de profilage chargé)" - -#: tabview.cpp:281 -msgid "Types" -msgstr "Types de coûts" - -#: tabview.cpp:284 -msgid "Callers" -msgstr "Fonctions appelantes" - -#: tabview.cpp:287 -msgid "All Callers" -msgstr "Toutes les fonctions appelantes" - -#: tabview.cpp:290 -msgid "Caller Map" -msgstr "Carte des fonctions appelantes" - -#: tabview.cpp:293 -msgid "Source" -msgstr "Source annoté" - -#: tabview.cpp:297 -msgid "Parts" -msgstr "Parties" - -#: tabview.cpp:300 -msgid "Call Graph" -msgstr "Graphique des appels" - -#: tabview.cpp:303 -msgid "Callees" -msgstr "Fonctions appelées" - -#: tabview.cpp:306 -msgid "All Callees" -msgstr "Toutes les fonctions appelées" - -#: tabview.cpp:310 -msgid "Callee Map" -msgstr "Carte des fonctions appelées" - -#: tabview.cpp:553 -msgid "" -"Information Tabs" -"

    This widget shows information for the current selected function in different " -"tabs: " -"

      " -"
    • The Costs tab shows a list of available event types and the inclusive and " -"self costs regarding to these types.
    • " -"
    • The Parts tab shows a list of trace parts if the trace consists of more " -"than one part (otherwise, this tab is hided). The cost of the selected function " -"spent in the different parts together with the calls happening is shown.
    • " -"
    • The Call Lists tab shows direct callers and callees of the function in more " -"detail.
    • " -"
    • The Coverage tab shows the same is the Call Lists tab, but not only direct " -"callers and callees but also indirect ones.
    • " -"
    • The Call Graph tab shows a graphical visualization of the calls done by " -"this function.
    • " -"
    • The Source tab presents annotated source code if debugging information and " -"the source file is available.
    • " -"
    • The Assembler tab presents annotated assembler code if trace information on " -"instruction level is available.
    For more information, see the " -"What's This? help of the corresponding tab widget

    " -msgstr "" -"Onglets d'informations" -"

    Ces composants affichent dans des onglets les informations disponibles sur " -"la fonction sélectionnée : " -"

      " -"
    • L'onglet Type de coûts affiche une liste des types d'événements disponibles " -"et les coûts inclusifs / propres de chacun.
    • " -"
    • L'onglet Parties affiche une liste des parties de la trace si celle-ci a " -"plus d'une partie (sinon cet onglet est masqué). Le coût de la fonction " -"sélectionnée avec ses appels dans les différentes parties est affiché.
    • " -"
    • Les onglets Fonctions appelantes/appelées affichent les fonctions " -"appelantes et les fonctions appelées en détails.
    • " -"
    • Les onglets Toutes les fonctions appelantes/appelées affichent la même " -"chose que les deux précédents, et en plusdes appels directs, les appels " -"indirects.
    • " -"
    • L'onglet Graphique des appels affiche une vue graphique des appels fait par " -"une fonction.
    • " -"
    • L'onglet Source annoté présente le code source annoté si les informations " -"de débogage et le code source sont disponibles.
    • " -"
    • L'onglet Assembleur annoté présente le code assembleur annoté si des " -"informations de trace au niveau instruction sont disponibles.
    " -"Pour plus d'information, affichez l'aide Qu'est-ce que c'est ? " -"du composant graphique correspondant.

    " - -#: tabview.cpp:630 -msgid "(No Data loaded)" -msgstr "(aucune donnée chargée)" - -#: tabview.cpp:631 -msgid "(No function selected)" -msgstr "(aucune fonction sélectionnée)" - -#: sourceview.cpp:54 sourceview.cpp:554 -msgid "Source (unknown)" -msgstr "Source (inconnue)" - -#: sourceview.cpp:89 -msgid "" -"Annotated Source" -"

    The annotated source list shows the source lines of the current selected " -"function together with (self) cost spent while executing the code of this " -"source line. If there was a call in a source line, lines with details on the " -"call happening are inserted into the source: the cost spent inside of the call, " -"the number of calls happening, and the call destination.

    " -"

    Select a inserted call information line to make the destination function " -"current.

    " -msgstr "" -"Source annoté " -"

    La vue du source annoté affiche les lignes du code source de la fonction " -"sélectionnée avec le coût (propre) utilisé pour chacune des lignes du code " -"source. S'il y a un appel dans une ligne du code source, des détails sur " -"l'appel sont insérés dans le source : le coût enregistré dans l'appel, le " -"nombre d'appels et la destination de l'appel.

    " -"

    Sélectionnez la ligne d'information sur un appel pour que la fonction " -"appelée devienne la fonction courante.

    " - -#: sourceview.cpp:120 -#, c-format -msgid "Go to Line %1" -msgstr "Aller à la ligne %1" - -#: sourceview.cpp:293 -msgid "(No Source)" -msgstr "(Pas de source)" - -#: sourceview.cpp:512 -msgid "There is no cost of current selected type associated" -msgstr "Il n'y a pas de coût pour le type sélectionné associé" - -#: sourceview.cpp:514 -msgid "with any source line of this function in file" -msgstr "avec une des lignes du source de cette fonction dans le fichier" - -#: sourceview.cpp:518 -msgid "Thus, no annotated source can be shown." -msgstr "Donc, il est impossible d'afficher un source annoté." - -#: sourceview.cpp:553 -msgid "Source ('%1')" -msgstr "Source (« %1 »)" - -#: sourceview.cpp:559 -msgid "--- Inlined from '%1' ---" -msgstr "--- Depuis « %1 » ---" - -#: sourceview.cpp:560 -msgid "--- Inlined from unknown source ---" -msgstr "--- Depuis une source inconnue ---" - -#: sourceview.cpp:565 -msgid "There is no source available for the following function:" -msgstr "Il n'y a pas de source disponible pour la fonction suivante :" - -#: sourceview.cpp:570 -msgid "This is because no debug information is present." -msgstr "Ceci provient du manque d'information de débogage." - -#: sourceview.cpp:572 -msgid "Recompile source and redo the profile run." -msgstr "Recompiler les sources et relancer le profilage." - -#: sourceview.cpp:575 -msgid "The function is located in this ELF object:" -msgstr "Cette fonction est présente dans un objet ELF :" - -#: sourceview.cpp:583 -msgid "This is because its source file cannot be found:" -msgstr "" -"Ceci provient du fait que le fichier source associé ne peut être trouvé :" - -#: sourceview.cpp:587 -msgid "Add the folder of this file to the source folder list." -msgstr "" -"Ajoutez le dossier de ce fichier dans la liste des dossiers des sources." - -#: sourceview.cpp:589 -msgid "The list can be found in the configuration dialog." -msgstr "Cette liste se trouve dans le dialogue de configuration." - -#: partlistitem.cpp:49 -msgid " (Thread %1)" -msgstr " (Processus léger %1)" - -#: partlistitem.cpp:56 -msgid "(none)" -msgstr "(aucun)" - -#: callitem.cpp:82 partlistitem.cpp:152 -msgid "(active)" -msgstr "(activée)" - -#: functionselection.cpp:176 -#, c-format -msgid "Go to %1" -msgstr "Aller à %1" - -#: functionselection.cpp:203 -msgid "Show All Items" -msgstr "Afficher tous les éléments" - -#: functionselection.cpp:226 -msgid "No Grouping" -msgstr "Pas de regroupement" - -#: coverageview.cpp:48 coverageview.cpp:54 -msgid "Distance" -msgstr "Distance" - -#. i18n: file dumpselectionbase.ui line 928 -#: coverageview.cpp:49 partview.cpp:49 rc.cpp:270 rc.cpp:315 -#, no-c-format -msgid "Called" -msgstr "Appelée(s)" - -#: callview.cpp:48 coverageview.cpp:50 -msgid "Caller" -msgstr "Fonction appelante" - -#: coverageview.cpp:55 -msgid "Calling" -msgstr "Appel(s)" - -#: callview.cpp:52 coverageview.cpp:56 -msgid "Callee" -msgstr "Fonction appelée" - -#: coverageview.cpp:90 -msgid "" -"List of all Callers" -"

    This list shows all functions calling the current selected one, either " -"directly or with several functions in-between on the stack; the number of " -"functions in-between plus one is called the Distance " -"(e.g. for function A,B,C there exists a call from A to C when A calls B and B " -"calls C, i.e. A => B => C. The distance here is 2).

    " -"

    Absolute cost shown is the cost spent in the selected function while a " -"listed function is active; relative cost is the percentage of all cost spent in " -"the selected function while the listed one is active. The cost graphic shows " -"logarithmic percentage with a different color for each distance.

    " -"

    As there can be many calls from the same function, the distance column " -"sometimes shows the range of distances for all calls happening; then, in " -"parentheses, there is the medium distance, i.e. the distance where most of the " -"call costs happened.

    " -"

    Selecting a function makes it the current selected one of this information " -"panel. If there are two panels (Split mode), the function of the other panel is " -"changed instead.

    " -msgstr "" -"Liste de toutes les fonctions appelantes" -"

    Cette liste affiche toutes les fonctions qui appellent la fonction " -"actuellement sélectionnée, soit directement, soit en passant par d'autres " -"fonctions dans la pile. Le nombre de fonctions entre les deux, incrémenté de " -"un, est appelé la Distance (par exemple, pour les fonctions A, B et C, " -"il existe un appel de A vers C quand A appelle B et que B appelle C, donc A => " -"B => C. La distance est ici de 2).

    " -"

    Le coût absolu affiché est le coût enregistré dans la fonction sélectionnée " -"quand la fonction listée était active. Le coût relatif est le pourcentage de " -"tous les coûts enregistrés dans la fonction sélectionnée quand la fonction " -"listée était active. Le graphique du coût affiche un pourcentage logarithmique " -"avec une couleur différente pour chaque distance.

    " -"

    Comme il peut y avoir beaucoup d'appels en provenance de la même fonction, " -"la colonne distance affiche parfois l'intervalle des distances de tous les " -"appels, avec entre parenthèses la distance moyenne, c'est-à-dire la distance où " -"la plupart des coûts ont été enregistrés.

    " -"

    En sélectionnant une fonction, elle devient la nouvelle fonction courante " -"pour ce panneau d'information. S'il y a deux panneaux (mode scindé), la " -"fonction de l'autre panneau est changée pour celle-ci.

    " - -#: coverageview.cpp:120 -msgid "" -"List of all Callees" -"

    This list shows all functions called by the current selected one, either " -"directly or with several function in-between on the stack; the number of " -"function in-between plus one is called the Distance " -"(e.g. for function A,B,C there exists a call from A to C when A calls B and B " -"calls C, i.e. A => B => C. The distance here is 2).

    " -"

    Absolute cost shown is the cost spent in the listed function while the " -"selected is active; relative cost is the percentage of all cost spent in the " -"listed function while the selected one is active. The cost graphic always shows " -"logarithmic percentage with a different color for each distance.

    " -"

    As there can be many calls to the same function, the distance column " -"sometimes shows the range of distances for all calls happening; then, in " -"parentheses, there is the medium distance, i.e. the distance where most of the " -"call costs happened.

    " -"

    Selecting a function makes it the current selected one of this information " -"panel. If there are two panels (Split mode), the function of the other panel is " -"changed instead.

    " -msgstr "" -"Liste de toutes les fonctions appelées" -"

    Cette liste affiche toutes les fonctions qui sont appelées par la fonction " -"actuellement sélectionnée, soit directement, soit en passant par d'autres " -"fonctions dans la pile. Le nombre de fonctions entre les deux, incrémenté de " -"un, est appelé la Distance (par exemple, pour les fonctions A, B et C, " -"il existe un appel de A vers C quand A appelle B et que B appelle C, donc A => " -"B => C. La distance est ici de 2).

    " -"

    Le coût absolu affiché est le coût enregistré dans la fonction sélectionnée " -"quand la fonction listée était active. Le coût relatif est le pourcentage de " -"tous les coûts enregistrés dans la fonction sélectionnée quand la fonction " -"listée était active. Le graphique du coût affiche un pourcentage logarithmique " -"avec une couleur différente pour chaque distance.

    " -"

    Comme il peut y avoir beaucoup d'appels en provenance de la même fonction, " -"la colonne distance affiche parfois l'intervalle des distances de tous les " -"appels, avec entre parenthèses la distance moyenne, c'est-à-dire la distance où " -"la plupart des coûts ont été enregistrés.

    " -"

    En sélectionnant une fonction, elle devient la nouvelle fonction courante " -"pour ce panneau d'information. S'il y a deux panneaux (mode scindé), la " -"fonction de l'autre panneau est changée pour celle-ci.

    " - -#: configuration.cpp:63 -msgid "Instruction Fetch" -msgstr "Recherche des instructions" - -#: configuration.cpp:64 -msgid "Data Read Access" -msgstr "Accès en lecture" - -#: configuration.cpp:65 -msgid "Data Write Access" -msgstr "Accès en écriture" - -#: configuration.cpp:66 -msgid "L1 Instr. Fetch Miss" -msgstr "Instruction non présente dans le cache L1" - -#: configuration.cpp:67 -msgid "L1 Data Read Miss" -msgstr "Essai de lecture raté dans le cache L1" - -#: configuration.cpp:68 -msgid "L1 Data Write Miss" -msgstr "Essai d'écriture raté dans le cache L1" - -#: configuration.cpp:69 -msgid "L2 Instr. Fetch Miss" -msgstr "Instruction non présente dans le cache L2" - -#: configuration.cpp:70 -msgid "L2 Data Read Miss" -msgstr "Essai de lecture raté dans le cache L2" - -#: configuration.cpp:71 -msgid "L2 Data Write Miss" -msgstr "Essai d'écriture raté dans le cache L2" - -#: configuration.cpp:72 -msgid "Samples" -msgstr "Échantillons" - -#: configuration.cpp:73 -msgid "System Time" -msgstr "Temps système" - -#: configuration.cpp:74 -msgid "User Time" -msgstr "Temps utilisateur" - -#: configuration.cpp:75 -msgid "L1 Miss Sum" -msgstr "Nombre d'échecs du cache L1" - -#: configuration.cpp:76 -msgid "L2 Miss Sum" -msgstr "Nombre d'échecs du cache L2" - -#: configuration.cpp:77 -msgid "Cycle Estimation" -msgstr "Estimation du cycle" - -#. i18n: file tdecachegrindui.rc line 15 -#: rc.cpp:9 -#, no-c-format -msgid "&Layout" -msgstr "&Disposition des vues" - -#. i18n: file tdecachegrindui.rc line 32 -#: rc.cpp:12 -#, no-c-format -msgid "Sidebars" -msgstr "Barres latérales" - -#. i18n: file tdecachegrindui.rc line 54 -#: rc.cpp:18 -#, no-c-format -msgid "State Toolbar" -msgstr "Barre d'outils d'état" - -#. i18n: file configdlgbase.ui line 37 -#: rc.cpp:24 -#, no-c-format -msgid "General" -msgstr "Général" - -#. i18n: file configdlgbase.ui line 69 -#: rc.cpp:27 -#, no-c-format -msgid "Truncated when more/longer than:" -msgstr "Tronquer quand plus grand que :" - -#. i18n: file configdlgbase.ui line 77 -#: rc.cpp:30 -#, no-c-format -msgid "Precision of percentage values:" -msgstr "Précision des valeurs en pourcentage :" - -#. i18n: file configdlgbase.ui line 85 -#: rc.cpp:33 -#, no-c-format -msgid "Symbols in tooltips and context menus" -msgstr "Symboles dans les bulles d'aide et les menus contextuels" - -#. i18n: file configdlgbase.ui line 141 -#: rc.cpp:36 -#, no-c-format -msgid "Maximum number of items in lists:" -msgstr "Nombre maximum d'éléments dans les listes :" - -#. i18n: file configdlgbase.ui line 162 -#: rc.cpp:39 -#, no-c-format -msgid "Cost Item Colors" -msgstr "Couleurs des éléments de coût" - -#. i18n: file configdlgbase.ui line 254 -#: rc.cpp:45 -#, no-c-format -msgid "Object:" -msgstr "Objet :" - -#. i18n: file configdlgbase.ui line 262 -#: rc.cpp:48 -#, no-c-format -msgid "Class:" -msgstr "Classe :" - -#. i18n: file configdlgbase.ui line 310 -#: rc.cpp:57 -#, no-c-format -msgid "File:" -msgstr "Fichier :" - -#. i18n: file configdlgbase.ui line 376 -#: rc.cpp:60 -#, no-c-format -msgid "Annotations" -msgstr "Annotations" - -#. i18n: file configdlgbase.ui line 395 -#: rc.cpp:63 -#, no-c-format -msgid "Context lines in annotations:" -msgstr "Lignes du contexte dans les annotations :" - -#. i18n: file configdlgbase.ui line 423 -#: rc.cpp:66 -#, no-c-format -msgid "Source Folders" -msgstr "Dossiers des sources" - -#. i18n: file configdlgbase.ui line 454 -#: rc.cpp:69 -#, no-c-format -msgid "Object / Related Source Base" -msgstr "Base des sources" - -#. i18n: file configdlgbase.ui line 483 -#: rc.cpp:72 -#, no-c-format -msgid "Add..." -msgstr "Ajouter..." - -#. i18n: file dumpselectionbase.ui line 32 -#: rc.cpp:87 -#, no-c-format -msgid "Target" -msgstr "Cible" - -#. i18n: file dumpselectionbase.ui line 54 -#: rc.cpp:90 -#, no-c-format -msgid "Time" -msgstr "Heure" - -#. i18n: file dumpselectionbase.ui line 65 -#: rc.cpp:93 -#, no-c-format -msgid "Path" -msgstr "Dossiers" - -#. i18n: file dumpselectionbase.ui line 106 -#: rc.cpp:99 -#, no-c-format -msgid "Target command:" -msgstr "Commande cible :" - -#. i18n: file dumpselectionbase.ui line 119 -#: rc.cpp:102 -#, no-c-format -msgid "Profiler options:" -msgstr "Options de l'outil de profilage :" - -#. i18n: file dumpselectionbase.ui line 125 -#: rc.cpp:105 -#, no-c-format -msgid "Option" -msgstr "Option" - -#. i18n: file dumpselectionbase.ui line 136 -#: rc.cpp:108 rc.cpp:219 -#, no-c-format -msgid "Value" -msgstr "Valeur" - -#. i18n: file dumpselectionbase.ui line 147 -#: rc.cpp:111 -#, no-c-format -msgid "Trace" -msgstr "Trace" - -#. i18n: file dumpselectionbase.ui line 160 -#: rc.cpp:114 rc.cpp:237 -#, no-c-format -msgid "Jumps" -msgstr "Sauts" - -#. i18n: file dumpselectionbase.ui line 174 -#: rc.cpp:117 -#, no-c-format -msgid "Instructions" -msgstr "Instructions" - -#. i18n: file dumpselectionbase.ui line 189 -#: rc.cpp:120 rc.cpp:240 -#, no-c-format -msgid "Events" -msgstr "Événements" - -#. i18n: file dumpselectionbase.ui line 202 -#: rc.cpp:123 -#, no-c-format -msgid "Full Cache" -msgstr "Cache total" - -#. i18n: file dumpselectionbase.ui line 216 -#: rc.cpp:126 -#, no-c-format -msgid "Custom" -msgstr "Personnalisé" - -#. i18n: file dumpselectionbase.ui line 231 -#: rc.cpp:129 -#, no-c-format -msgid "Collect" -msgstr "Collecter" - -#. i18n: file dumpselectionbase.ui line 244 -#: rc.cpp:132 -#, no-c-format -msgid "At Startup" -msgstr "Au démarrage" - -#. i18n: file dumpselectionbase.ui line 258 -#: rc.cpp:135 -#, no-c-format -msgid "While In" -msgstr "À l'intérieur" - -#. i18n: file dumpselectionbase.ui line 273 -#: rc.cpp:138 -#, no-c-format -msgid "Skip" -msgstr "Ignorer" - -#. i18n: file dumpselectionbase.ui line 286 -#: rc.cpp:141 -#, no-c-format -msgid "PLT" -msgstr "PLT" - -#. i18n: file dumpselectionbase.ui line 315 -#: rc.cpp:147 -#, no-c-format -msgid "Dump Profile" -msgstr "Cliché du profilage" - -#. i18n: file dumpselectionbase.ui line 328 -#: rc.cpp:150 -#, no-c-format -msgid "Every BBs" -msgstr "Tous les BB" - -#. i18n: file dumpselectionbase.ui line 342 -#: rc.cpp:153 rc.cpp:162 -#, no-c-format -msgid "On Entering" -msgstr "A l'entrée" - -#. i18n: file dumpselectionbase.ui line 356 -#: rc.cpp:156 -#, no-c-format -msgid "On Leaving" -msgstr "A la sortie" - -#. i18n: file dumpselectionbase.ui line 371 -#: rc.cpp:159 -#, no-c-format -msgid "Zero Events" -msgstr "Sans événement" - -#. i18n: file dumpselectionbase.ui line 399 -#: rc.cpp:165 -#, no-c-format -msgid "Separate" -msgstr "Séparer" - -#. i18n: file dumpselectionbase.ui line 412 -#: rc.cpp:168 -#, no-c-format -msgid "Threads" -msgstr "Processus légers" - -#. i18n: file dumpselectionbase.ui line 426 -#: rc.cpp:171 -#, no-c-format -msgid "Recursions" -msgstr "Récurrences" - -#. i18n: file dumpselectionbase.ui line 440 -#: rc.cpp:174 -#, no-c-format -msgid "Call Chain" -msgstr "Enchaînement des appels" - -#. i18n: file dumpselectionbase.ui line 470 -#: rc.cpp:177 -#, no-c-format -msgid "Custom profiler options:" -msgstr "Options personnalisées du profileur :" - -#. i18n: file dumpselectionbase.ui line 508 -#: rc.cpp:180 -#, no-c-format -msgid "Run New Profile" -msgstr "Exécuter nouveau profilage" - -#. i18n: file dumpselectionbase.ui line 520 -#: rc.cpp:183 -#, no-c-format -msgid "Info" -msgstr "Info" - -#. i18n: file dumpselectionbase.ui line 531 -#: rc.cpp:186 -#, no-c-format -msgid "Dump reason:" -msgstr "Raison du cliché :" - -#. i18n: file dumpselectionbase.ui line 544 -#: rc.cpp:189 -#, no-c-format -msgid "Event summary:" -msgstr "Résumé des événements :" - -#. i18n: file dumpselectionbase.ui line 561 -#: rc.cpp:195 -#, no-c-format -msgid "Sum" -msgstr "Somme" - -#. i18n: file dumpselectionbase.ui line 579 -#: rc.cpp:198 -#, no-c-format -msgid "Miscellaneous:" -msgstr "Divers :" - -#. i18n: file dumpselectionbase.ui line 617 -#: rc.cpp:201 -#, no-c-format -msgid "Show" -msgstr "Afficher" - -#. i18n: file dumpselectionbase.ui line 625 -#: rc.cpp:204 -#, no-c-format -msgid "Compare" -msgstr "Comparer" - -#. i18n: file dumpselectionbase.ui line 637 -#: rc.cpp:207 -#, no-c-format -msgid "State" -msgstr "État" - -#. i18n: file dumpselectionbase.ui line 656 -#: rc.cpp:210 -#, no-c-format -msgid "Update" -msgstr "Mise à jour" - -#. i18n: file dumpselectionbase.ui line 664 -#: rc.cpp:213 -#, no-c-format -msgid "Every [s]:" -msgstr "Toutes les (sec) :" - -#. i18n: file dumpselectionbase.ui line 677 -#: rc.cpp:216 -#, no-c-format -msgid "Counter" -msgstr "Compteur" - -#. i18n: file dumpselectionbase.ui line 699 -#: rc.cpp:222 -#, no-c-format -msgid "Dumps Done" -msgstr "Clichés terminés" - -#. i18n: file dumpselectionbase.ui line 713 -#: rc.cpp:225 -#, no-c-format -msgid "Is Collecting" -msgstr "Collecte en cours" - -#. i18n: file dumpselectionbase.ui line 727 -#: rc.cpp:228 -#, no-c-format -msgid "Executed" -msgstr "Exécuté" - -#. i18n: file dumpselectionbase.ui line 740 -#: rc.cpp:231 -#, no-c-format -msgid "Basic Blocks" -msgstr "Blocs basiques" - -#. i18n: file dumpselectionbase.ui line 754 -#: callmapview.cpp:63 rc.cpp:234 rc.cpp:339 -#, no-c-format -msgid "Calls" -msgstr "Appels" - -#. i18n: file dumpselectionbase.ui line 796 -#: rc.cpp:243 -#, no-c-format -msgid "Ir" -msgstr "Ir" - -#. i18n: file dumpselectionbase.ui line 811 -#: rc.cpp:246 -#, no-c-format -msgid "Distinct" -msgstr "Différent" - -#. i18n: file dumpselectionbase.ui line 824 -#: configdlg.cpp:58 rc.cpp:249 -#, no-c-format -msgid "ELF Objects" -msgstr "Objets ELF" - -#. i18n: file dumpselectionbase.ui line 838 -#: rc.cpp:252 -#, no-c-format -msgid "Functions" -msgstr "Fonctions" - -#. i18n: file dumpselectionbase.ui line 852 -#: rc.cpp:255 -#, no-c-format -msgid "Contexts" -msgstr "Contextes" - -#. i18n: file dumpselectionbase.ui line 890 -#: rc.cpp:258 -#, no-c-format -msgid "Stack trace:" -msgstr "Trace de la pile :" - -#. i18n: file dumpselectionbase.ui line 898 -#: rc.cpp:261 -#, no-c-format -msgid "Sync." -msgstr "Synchro." - -#. i18n: file dumpselectionbase.ui line 950 -#: callmapview.cpp:61 rc.cpp:276 rc.cpp:321 -#, no-c-format -msgid "Location" -msgstr "Emplacement" - -#. i18n: file dumpselectionbase.ui line 976 -#: rc.cpp:279 -#, no-c-format -msgid "Start" -msgstr "Démarrer" - -#. i18n: file dumpselectionbase.ui line 1001 -#: rc.cpp:282 -#, no-c-format -msgid "Zero" -msgstr "Zéro" - -#. i18n: file dumpselectionbase.ui line 1009 -#: rc.cpp:285 -#, no-c-format -msgid "Dump" -msgstr "Cliché" - -#. i18n: file dumpselectionbase.ui line 1021 -#: rc.cpp:288 -#, no-c-format -msgid "Messages" -msgstr "Messages" - -#. i18n: file dumpselectionbase.ui line 1045 -#: rc.cpp:291 -#, no-c-format -msgid "Kill Run" -msgstr "Tuer l'exécution" - -#. i18n: file functionselectionbase.ui line 41 -#: rc.cpp:300 -#, no-c-format -msgid "&Search:" -msgstr "&Recherche :" - -#. i18n: file functionselectionbase.ui line 73 -#: rc.cpp:306 -#, no-c-format -msgid "Group" -msgstr "Groupe" - -#. i18n: file partselectionbase.ui line 60 -#: rc.cpp:327 -#, no-c-format -msgid "(no trace parts)" -msgstr "(aucune partie de trace)" - -#. i18n: file stackselectionbase.ui line 16 -#: rc.cpp:330 -#, no-c-format -msgid "Stack Selection" -msgstr "Sélection de la pile" - -#. i18n: file stackselectionbase.ui line 42 -#: rc.cpp:336 -#, no-c-format -msgid "Cost2" -msgstr "Coût2" - -#: treemap.cpp:1281 -#, c-format -msgid "Text %1" -msgstr "Texte %1" - -#: treemap.cpp:2809 -msgid "Recursive Bisection" -msgstr "Bissection récursive" - -#: treemap.cpp:2810 -msgid "Columns" -msgstr "Colonnes" - -#: treemap.cpp:2811 -msgid "Rows" -msgstr "Lignes" - -#: treemap.cpp:2812 -msgid "Always Best" -msgstr "Toujours le meilleur" - -#: treemap.cpp:2813 -msgid "Best" -msgstr "Meilleur" - -#: treemap.cpp:2814 -msgid "Alternate (V)" -msgstr "Alternatif (V)" - -#: treemap.cpp:2815 -msgid "Alternate (H)" -msgstr "Alternatif (H)" - -#: treemap.cpp:2872 -msgid "Nesting" -msgstr "Imbrication" - -#: treemap.cpp:2875 -msgid "Correct Borders Only" -msgstr "Corriger seulement les bordures" - -#: treemap.cpp:2877 treemap.cpp:2878 treemap.cpp:2879 treemap.cpp:2880 -#, c-format -msgid "Width %1" -msgstr "Largeur %1" - -#: callmapview.cpp:321 treemap.cpp:2889 -msgid "Shading" -msgstr "Ombre" - -#: treemap.cpp:2902 -msgid "Visible" -msgstr "Visible" - -#: treemap.cpp:2903 -msgid "Take Space From Children" -msgstr "Prendre de l'espace à l'enfant" - -#: treemap.cpp:2905 -msgid "Top Left" -msgstr "Haut gauche" - -#: treemap.cpp:2906 -msgid "Top Center" -msgstr "Haut centre" - -#: treemap.cpp:2907 -msgid "Top Right" -msgstr "Haut droite" - -#: treemap.cpp:2909 -msgid "Bottom Center" -msgstr "Bas centre" - -#: treemap.cpp:2910 -msgid "Bottom Right" -msgstr "Bas droite" - -#: treemap.cpp:2987 -msgid "No %1 Limit" -msgstr "Pas de limite de %1" - -#: callmapview.cpp:243 treemap.cpp:3039 -msgid "No Area Limit" -msgstr "Pas de limite de zone" - -#: callmapview.cpp:258 treemap.cpp:3045 -msgid "Area of '%1' (%2)" -msgstr "Zone de « %1 » (%2)" - -#: treemap.cpp:3056 treemap.cpp:3067 -#, c-format -msgid "" -"_n: 1 Pixel\n" -"%n Pixels" -msgstr "" -"1 pixel\n" -"%n pixels" - -#: callmapview.cpp:264 treemap.cpp:3071 -msgid "Double Area Limit (to %1)" -msgstr "Doubler la zone (à %1)" - -#: treemap.cpp:3073 -msgid "Halve Area Limit (to %1)" -msgstr "Réduire la zone (à %1)" - -#: callmapview.cpp:187 treemap.cpp:3101 -msgid "No Depth Limit" -msgstr "Pas de limite de profondeur" - -#: callmapview.cpp:198 treemap.cpp:3107 -msgid "Depth of '%1' (%2)" -msgstr "Profondeur de « %1 » (%2)" - -#: treemap.cpp:3118 -#, c-format -msgid "Depth %1" -msgstr "Profondeur %1" - -#: treemap.cpp:3122 -msgid "Decrement (to %1)" -msgstr "Décrémenter (à %1)" - -#: treemap.cpp:3124 -msgid "Increment (to %1)" -msgstr "Incrémenter (à %1)" - -#: callmapview.cpp:98 -msgid "" -"Caller Map" -"

    This graph shows the nested hierarchy of all callers of the current " -"activated function. Each colored rectangle represents a function; its size " -"tries to be proportional to the cost spent therein while the active function is " -"running (however, there are drawing constrains).

    " -msgstr "" -"Carte des fonctions appelantes" -"

    Ce graphique présente une hiérarchie imbriquée de toutes les fonctions " -"appelantes de la fonction sélectionnée. Chaque rectangle coloré représente une " -"fonction ; sa taille est proportionnelle au coût enregistré dans celle-ci lors " -"de l'exécution de la fonction appelée (avec des contraintes d'affichage " -"toutefois).

    " - -#: callmapview.cpp:105 -msgid "" -"Call Map" -"

    This graph shows the nested hierarchy of all callees of the current " -"activated function. Each colored rectangle represents a function; its size " -"tries to be proportional to the cost spent therein while the active function is " -"running (however, there are drawing constrains).

    " -msgstr "" -"Carte des fonctions appelées" -"

    Ce graphique présente une hiérarchie imbriquée de toutes les fonctions " -"appelées par la fonction sélectionnée. Chaque rectangle coloré représente une " -"fonction ; sa taille est proportionnelle au coût enregistré dans celle-ci lors " -"de l'exécution de la fonction appelante (avec des contraintes d'affichage " -"toutefois).

    " - -#: callmapview.cpp:113 -msgid "" -"

    Appearance options can be found in the in the context menu. To get exact " -"size proportions, choose 'Hide incorrect borders'. As this mode can be " -"very time consuming, you may want to limit the maximum drawn nesting level " -"before. 'Best' determinates the split direction for children from the aspect " -"ratio of the parent. 'Always Best' decides on remaining space for each sibling. " -"'Ignore Proportions' takes space for function name drawing before " -"drawing children. Note that size proportions can get heavily wrong.

    " -"

    This is a TreeMap widget. Keyboard navigation is available with the " -"left/right arrow keys for traversing siblings, and up/down arrow keys to go a " -"nesting level up/down. Return activates the current item.

    " -msgstr "" -"

    Les options d'apparences se trouvent dans le menu contextuel. Pour avoir des " -"proportions exactes, choisissez l'option « Ignorer les bordures incorrectes ». " -"Comme ce mode peut être très consommateur de ressources, vous devriez " -"d'abord limiter la profondeur maximale d'affichage. « Meilleur » détermine la " -"direction pour scinder la fonction fille à partir de l'aspect de la fonction " -"parente. « Toujours le meilleur » prend la place libre aux autres fonctions de " -"même rang. « Ignorer les proportions » prend la place nécessaire à l'affichage " -"du nom de la fonction avant d'afficher les fonctions filles. Notez que " -"les proportions peuvent devenir totalement fausses.

    " -"

    C'est un élément de type graphique de type TreeMap" -". La navigation par le clavier est possible avec les flèches gauche/droite du " -"clavier pour passer d'une fonction à une autre de même niveau, et les flèches " -"haut/bas du clavier pour remonter/descendre d'un niveau d'imbrication. " -"Entrée active l'élément courant.

    " - -#: callmapview.cpp:167 -msgid "Go To" -msgstr "Aller à" - -#: callmapview.cpp:184 -msgid "Stop at Depth" -msgstr "Arrêter à une profondeur de" - -#: callmapview.cpp:190 -msgid "Depth 10" -msgstr "Profondeur de 10" - -#: callmapview.cpp:192 -msgid "Depth 15" -msgstr "Profondeur de 15" - -#: callmapview.cpp:194 -msgid "Depth 20" -msgstr "Profondeur de 20" - -#: callmapview.cpp:204 -msgid "Decrement Depth (to %1)" -msgstr "Décrémenter la profondeur (à %1)" - -#: callmapview.cpp:205 -msgid "Increment Depth (to %1)" -msgstr "Incrémenter la profondeur (à %1)" - -#: callmapview.cpp:209 -msgid "Stop at Function" -msgstr "Arrêter à la fonction" - -#: callmapview.cpp:210 -msgid "No Function Limit" -msgstr "Aucun arrêt" - -#: callmapview.cpp:240 -msgid "Stop at Area" -msgstr "Arrêter dans la zone" - -#: callmapview.cpp:246 -msgid "50 Pixels" -msgstr "50 pixels" - -#: callmapview.cpp:248 -msgid "100 Pixels" -msgstr "100 pixels" - -#: callmapview.cpp:250 -msgid "200 Pixels" -msgstr "200 pixels" - -#: callmapview.cpp:252 -msgid "500 Pixels" -msgstr "500 pixels" - -#: callmapview.cpp:266 -msgid "Half Area Limit (to %1)" -msgstr "Réduire la zone (à %1)" - -#: callmapview.cpp:273 -msgid "Visualisation" -msgstr "Affichage" - -#: callmapview.cpp:277 -msgid "Split Direction" -msgstr "Direction pour scinder" - -#: callmapview.cpp:279 -msgid "Skip Incorrect Borders" -msgstr "Ignorer les bordures incorrectes" - -#: callmapview.cpp:284 -msgid "Border Width" -msgstr "Largeur des bordures" - -#: callmapview.cpp:285 -msgid "Border 0" -msgstr "Bordure 0" - -#: callmapview.cpp:288 -msgid "Border 1" -msgstr "Bordure 1" - -#: callmapview.cpp:290 -msgid "Border 2" -msgstr "Bordure 2" - -#: callmapview.cpp:292 -msgid "Border 3" -msgstr "Bordure 3" - -#: callmapview.cpp:297 -msgid "Draw Symbol Names" -msgstr "Afficher les noms des symboles" - -#: callmapview.cpp:298 -msgid "Draw Cost" -msgstr "Afficher le coût" - -#: callmapview.cpp:299 -msgid "Draw Location" -msgstr "Afficher l'emplacement" - -#: callmapview.cpp:300 -msgid "Draw Calls" -msgstr "Afficher les appels" - -#: callmapview.cpp:431 -msgid "Call Map: Current is '%1'" -msgstr "Carte des fonctions appelées : Actuellement « %1 »" - -#: callmapview.cpp:599 -msgid "(no function)" -msgstr "(aucune fonction)" - -#: callmapview.cpp:741 callmapview.cpp:858 -msgid "(no call)" -msgstr "(aucun appel)" - -#: cachegrindloader.cpp:141 -msgid "Import filter for Cachegrind/Callgrind generated profile data files" -msgstr "" -"Filtre d'importation pour les fichiers de données de profilage générés par " -"Cachegrind/Callgrind" - -#: cachegrindloader.cpp:738 -#, c-format -msgid "Loading %1" -msgstr "Chargement de %1" - -#: callview.cpp:47 callview.cpp:51 -msgid "Count" -msgstr "Compte" - -#: callview.cpp:85 -msgid "" -"List of direct Callers" -"

    This list shows all functions calling the current selected one directly, " -"together with a call count and the cost spent in the current selected function " -"while being called from the function from the list.

    " -"

    An icon instead of an inclusive cost specifies that this is a call inside of " -"a recursive cycle. An inclusive cost makes no sense here.

    " -"

    Selecting a function makes it the current selected one of this information " -"panel. If there are two panels (Split mode), the function of the other panel is " -"changed instead.

    " -msgstr "" -"Liste des fonctions appelantes directes" -"

    Cette liste affiche toutes les fonctions appelantes de la fonction " -"sélectionnée, avec un compteur d'appels et le coût enregistré dans la fonction " -"sélectionnée depuis chacune des fonctions.

    " -"

    Si une icône s'affiche à la place du coût inclusif, cela signifie que cet " -"appel à lieu lors d'un cycle récursif. Un coût inclusif n'aurait aucun sens " -"ici.

    " -"

    Si vous cliquez sur une fonction, elle est définie comme la nouvelle " -"fonction sélectionnée pour ce panneau. S'il y a deux panneaux (mode scindé), " -"l'autre panneau reçoit également ce changement.

    " - -#: callview.cpp:98 -msgid "" -"List of direct Callees" -"

    This list shows all functions called by the current selected one directly, " -"together with a call count and the cost spent in this function while being " -"called from the selected function.

    " -"

    Selecting a function makes it the current selected one of this information " -"panel. If there are two panels (Split mode), the function of the other panel is " -"changed instead.

    " -msgstr "" -"Liste des fonctions appelées directes" -"

    Cette liste affiche toutes les fonctions appelées, directement, par la " -"fonction sélectionnée, avec un compteur d'appels et le coût enregistré dans " -"chacune des fonctions depuis la fonction sélectionnée.

    " -"

    Si vous cliquez sur une fonction, elle est définie comme la nouvelle " -"fonction sélectionnée pour ce panneau. S'il y a deux panneaux (mode scindé), " -"l'autre panneau reçoit également ce changement.

    " - -#: costtypeitem.cpp:56 -msgid "Unknown Type" -msgstr "Type inconnu" - -#: tips.cpp:3 -msgid "" -"

    ...that the What's This? help for every GUI widget\n" -"in KCachegrind contains detailed usage information for this widget?\n" -"It is highly recommended to read at least these help texts on first\n" -"use. Request What's This? help by pressing\n" -"Shift+F1 and clicking on the widget.

    \n" -msgstr "" -"

    L'aide Qu'est-ce que c'est ? de chaque composant graphique de\n" -"KCachegrind contient une explication détaillée sur le composant. \n" -"Il est fortement recommandé de lire ces textes à la première\n" -"utilisation. Appelez l'aide Qu'est-ce que c'est ? en appuyant sur \n" -"Majuscule + F1 puis en cliquant sur le composant voulu.

    \n" - -#: tips.cpp:12 -msgid "" -"

    ...that you can get profile information at instruction level\n" -"with Calltree when you provide the option --dump-instr=yes?\n" -"Use the Assembler View for the instruction annotations.\n" -"

    \n" -msgstr "" -"

    ...que vous pouvez avoir un profilage détaillé, au niveau des instructions,\n" -"en fournissant l'option --dump-instr=yes à Calltree ?\n" -"Utilisez ensuite la vue Assembleur pour voir les annotations des instructions.\n" -"

    \n" - -#: tips.cpp:20 -msgid "" -"

    ...that you can use Alt-Left/Right keys of your keyboard to go\n" -"back/forward in the active object history ?

    \n" -msgstr "" -"

    ...que vous pouvez utiliser les raccourcis Alt + Flèche Gauche/Droite\n" -"pour aller au suivant ou revenir au précédent dans l'historique des objets " -"activés ?

    \n" - -#: tips.cpp:26 -msgid "" -"

    ...that you can navigate in the Callee/Caller Map View using\n" -"arrow keys? Use Left/Right to change to siblings of the current\n" -"item; use Up/Down to go one nesting level up/down. To select\n" -"the current item, press Space, and to activate it, press Return.\n" -"

    \n" -msgstr "" -"

    ...que vous pouvez naviguer dans la Carte des Fonctions Appelées/Appelantes " -"en utilisant\n" -"les flèches du clavier ? Utilisez les flèches Gauche/Droite pour naviguer entre " -"les éléments de même rang ; \n" -"Utilisez les flèches Haut/Bas pour remonter/descendre d'un niveau " -"d'imbrication.\n" -"Pour sélectionner l'élément courant, appuyez sur Espace, et pour l'activer " -"appuyez sur Entrée.\n" -"

    \n" - -#: tips.cpp:35 -msgid "" -"

    ...that you can navigate in the Call Graph View using\n" -"arrow keys? Use Up/Down to go one calling level up/down, alternating\n" -"between calls and functions. Use Left/Right to change to siblings of a current\n" -"selected call. To activate the current item, press Return.\n" -"

    \n" -msgstr "" -"

    ...que vous pouvez naviguer dans le Graphique des Appels en utilisant\n" -"les flèches du clavier ? Utilisez les flèches Haut/Bas pour remonter/descendre " -"d'un niveau d'imbrication entre les appels et les fonctions.\n" -"Utilisez les flèches Gauche/Droite pour naviguer entre les éléments de même " -"rang d'un appel sélectionné ; \n" -"Pour activer l'élément courant, appuyez sur Entrée.\n" -"

    \n" - -#: tips.cpp:44 -msgid "" -"

    ...that you can rapidly locate a function by entering part of its\n" -"name (case-insensitive) into the edit line of the toolbar\n" -"and hit return?

    \n" -msgstr "" -"

    ...que vous pouvez trouver une fonction rapidement en saisissant une partie " -"de son\n" -"nom (sensible à la casse) dans le champ de la barre d'outils\n" -"et en appuyant sur Entrée ?

    \n" - -#: tips.cpp:51 -msgid "" -"

    ...that you can assign custom colors to \n" -"ELF objects/C++ Classes/Source Files for graph coloring\n" -"in Settings->Configure KCachegrind...?

    \n" -msgstr "" -"

    ...que vous pouvez assigner des couleurs personnalisées aux\n" -"objets ELF/Classes C++/Fichiers sources pour des graphiques colorés dans " -"Configuration / Configurer KCachegrind... ?

    \n" - -#: tips.cpp:58 -msgid "" -"

    ...that you can see if debug info is available for a selected \n" -"function by looking at the location label in the Info tab or\n" -"the source listing header in the source tab?

    \n" -"

    There must be the name of the source file (with extension).\n" -"If KCachegrind still doesn't show the source, make sure that you\n" -"have added the directory of the source file to the\n" -"Source Directories list in the configuration.\n" -msgstr "" -"

    ...que vous pouvez voir si des informations de débogage sont\n" -"disponibles pour une fonction donnée, en regardant l'emplacement\n" -"dans l'onglet d'informations ou l'en-tête de listage des sources dans\n" -"l'onglet « source » ?

    \n" -"

    Le nom du fichier source (avec l'extension) doit être présent.\n" -"Si KCachegrind n'affiche toujours pas le code source, vérifiez que\n" -"vous avez ajouté le dossier des fichiers sources dans la liste " -"Dossiers sources de la configuration.\n" - -#: tips.cpp:69 -msgid "" -"

    ...that you can configure whether KCachgrind should\n" -"show absolute event counts or relative ones (percentage display)?

    \n" -msgstr "" -"

    ...que vous pouvez configurer si KCachegrind doit afficher\n" -"les coûts absolus ou relatifs (affichage de pourcentages) des événements ?

    \n" - -#: tips.cpp:75 -msgid "" -"

    ...that you can configure the maximum number of items\n" -"for all function lists in KCachegrind? Limiting the number\n" -"of items is done to get a fast reacting GUI. The last item in\n" -"the list will show you the number of skipped functions, together\n" -"with a cost condition for these skipped functions.

    \n" -"

    To activate a function with small costs, search for it and select\n" -"it in the flat profile. Selecting functions with small cost will\n" -"temporarily add them to the flat profile list.

    \n" -msgstr "" -"

    ...que vous pouvez configurer le nombre maximal d'éléments\n" -"pour toutes les listes de fonctions de KCachegrind ? Cela améliore\n" -"la réactivité de l'interface graphique. Le dernier élément de la liste\n" -"affichera le nombre de fonctions ignorées, ainsi qu'une condition de\n" -"coût pour ces fonctions.

    \n" -"

    Pour activer une fonction aux coûts faibles, recherchez la et\n" -"sélectionnez la dans le profilage aplati. Elle y sera alors provisoirement\n" -"ajoutée.

    \n" - -#: tips.cpp:87 -msgid "" -"

    ...that the Coverage tab - in contrast to the Call Lists tab -\n" -"shows all functions that are calling the selected function\n" -"(upper part) / are called by the selected function (bottom part),\n" -"no matter how many function are between them on the stack?

    \n" -"

    Examples:

    \n" -"

    An entry in the upper list for function foo1() with a value of 50%\n" -"with function bar() selected means that 50% of all the cost of function\n" -"bar() happened while called from function foo1().

    \n" -"

    An entry in the bottom list for function foo2() with a value of 50%\n" -"with function bar() selected means that 50% of all the cost of function\n" -"bar() happened while calling foo2() from bar().

    \n" -msgstr "" -"

    ...que les onglets « Toutes les Fonctions Appelantes/Appelées », " -"contrairement\n" -"aux onglets « Fonctions Appelantes/Appelées », affichent toutes les\n" -"fonctions appelant la fonction sélectionnée (partie supérieure) / appelées\n" -"par la fonction sélectionnée (partie inférieure), quel que soit le nombre de\n" -"fonctions entre elles dans la pile ?

    \n" -"

    Exemples :

    \n" -"

    Une entrée dans la liste supérieure pour la fonction foo1() avec une valeur\n" -"de 50 % avec la fonction bar() sélectionnée signifie que 50 % du coût de la\n" -"fonction bar() s'est produit lors de l'appel par la fonction foo1().

    \n" -"

    Une entrée dans la liste inférieure pour la fonction foo2() avec une valeur\n" -"de 50 % avec la fonction bar() sélectionnée signifie que 50 % du coût de la\n" -"fonction bar() s'est produit lors de l'appel de la fonction foo2() par la\n" -"fonction bar().

    \n" - -#: tips.cpp:102 -msgid "" -"

    ...that waiting for the tool tip inside of a tree map\n" -"shows the list of names of the nested rectangles the mouse\n" -"pointer is over?

    \n" -"

    Items from this list can be selected by pressing the right\n" -"mouse button.

    \n" -msgstr "" -"

    ...que laisser la souris sur la carte des fonctions appelées affichent la " -"liste des noms des rectangles imbriqués ?

    \n" -"

    Les éléments de cette liste peuvent être sélectionnés en cliquant avec le " -"bouton droit de la souris.

    \n" - -#: tips.cpp:111 -msgid "" -"

    ...that you can constrain the cost counts shown to only a\n" -"few parts of the whole trace by selecting these parts in the\n" -"\"Trace Selection\" Dockable?

    \n" -"

    To generate multiple parts in a profiling run with\n" -"cachegrind, use e.g. option --cachedumps=xxx for parts\n" -"of a length of xxx basic blocks (A basic block is a run\n" -"of not-branching assembler statements inside of your program\n" -"code).

    \n" -msgstr "" -"

    ...que vous pouvez restreindre les comptages de coût affichés seulement à\n" -"une partie de la trace, en sélectionnant ces parties dans\n" -" « sélection de la trace » ?

    \n" -"

    Pour générer plusieurs parties dans un même profilage effectué\n" -"avec Cachegrind, utilisez par exemple l'option « --cachedumps=xxx » \n" -"pour des parties d'une longueur de xxx blocs de base (un bloc de base\n" -"est une suite d'instructions assembleur sans embranchement à\n" -"l'intérieur du code de votre programme).

    \n" - -#: configdlg.cpp:60 -msgid "Source Files" -msgstr "Fichiers sources" - -#: configdlg.cpp:61 -msgid "C++ Classes" -msgstr "Classes C++" - -#: configdlg.cpp:62 -msgid "Function (no Grouping)" -msgstr "Fonction (aucun regroupement)" - -#: configdlg.cpp:157 configdlg.cpp:350 configdlg.cpp:371 -msgid "(always)" -msgstr "(toujours)" - -#: configdlg.cpp:210 -msgid "KCachegrind Configuration" -msgstr "Configuration de KCachegrind" - -#: configdlg.cpp:211 -msgid "" -"The Maximum Number of List Items should be below 500.The previous set value " -"(%1) will still be used." -msgstr "" -"Le nombre maximum d'éléments dans la liste devrait être inférieur à 500. La " -"valeur définie précédemment (%1) est conservée." - -#: configdlg.cpp:384 -msgid "Choose Source Folder" -msgstr "Choisissez le dossier des sources" - -#: partgraph.cpp:167 -#, c-format -msgid "Profile Part %1" -msgstr "Partie du profilage %1" - -#: partgraph.cpp:226 -msgid "(no trace)" -msgstr "(aucune trace)" - -#: partgraph.cpp:229 -msgid "(no part)" -msgstr "(aucune partie)" - -#: partview.cpp:51 -msgid "Comment" -msgstr "Commentaire" - -#: partview.cpp:73 -msgid "" -"Trace Part List" -"

    This list shows all trace parts of the loaded trace. For each part, the " -"self/inclusive cost of the current selected function, spent in the part, is " -"shown; percentage costs are always relative to the total cost " -"of the part (not to the whole trace as in the Trace Part Overview). Also " -"shown are the calls happening to/from the current function inside of the trace " -"part.

    " -"

    By choosing one or more trace parts from the list, the costs shown all over " -"KCachegrind will only be the ones spent in the selected part(s). If no list " -"selection is shown, in fact all trace parts are selected implicitly.

    " -"

    This is a multi-selection list. You can select ranges by dragging the mouse " -"or use SHIFT/CTRL modifiers. Selection/Deselection of trace parts can also be " -"done by using the Trace Part Overview Dockable. This one also supports multiple " -"selection.

    " -"

    Note that the list is hidden if only one trace part is loaded.

    " -msgstr "" -"Liste des parties de la trace " -"

    Cette liste affiche toutes les parties de la trace chargée. Pour chaque " -"partie, le coût propre/inclusif, enregistré dans la partie, de la fonction " -"sélectionnée est affiché ; les coûts en pourcentage sont toujours relatifs au " -"total des coûts de la partie (pas à toute la trace comme dans la " -"Synthèse des parties de la trace). Sont aussi affichés les appels provenant " -"de/allant vers la fonction courante dans la partie de trace.

    " -"

    En sélectionnant une ou plusieurs parties de la trace dans la liste, les " -"coûts affichés partout dans KCachegrind seront uniquement ceux enregistrés dans " -"la(les) partie(s) sélectionnée(s). Si aucune sélection n'est faite, toutes les " -"parties de la trace sont sélectionnées implicitement.

    " -"

    Cette liste accepte les sélections multiples. Vous pouvez sélectionner des " -"intervalles avec la souris et les touches Majuscule/Ctrl. La " -"sélection/désélection de parties de la trace peut aussi être faite via la " -"synthèse des parties de la trace. Celle-ci accepte également les sélections " -"multiples.

    " -"

    Notez bien que cette liste est cachée si la trace chargée ne contient qu'une " -"seule partie.

    " - -#: partview.cpp:106 -msgid "Select '%1'" -msgstr "Sélectionner « %1 »" - -#: partview.cpp:107 -msgid "Hide '%1'" -msgstr "Masquer « %1 »" - -#: partview.cpp:111 -msgid "Hide Selected" -msgstr "Masquer la sélection" - -#: partview.cpp:112 -msgid "Show All" -msgstr "Afficher tout" diff --git a/tde-i18n-fr/messages/tdesdk/tdecachegrind.po b/tde-i18n-fr/messages/tdesdk/tdecachegrind.po new file mode 100644 index 00000000000..c6587ab3b96 --- /dev/null +++ b/tde-i18n-fr/messages/tdesdk/tdecachegrind.po @@ -0,0 +1,2980 @@ +# translation of tdecachegrind.po to French +# traduction de tdecachegrind.po en français +# traduction de tdecachegrind.po en Français +# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# +# Damien Raude-Morvan , 2004. +# Matthieu Robin , 2004. +# Yann Verley , 2004, 2005. +# Matthieu Robin , 2005. +msgid "" +msgstr "" +"Project-Id-Version: tdecachegrind\n" +"POT-Creation-Date: 2008-07-08 01:21+0200\n" +"PO-Revision-Date: 2005-12-30 02:19+0100\n" +"Last-Translator: Matthieu Robin \n" +"Language-Team: French \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: instritem.cpp:106 sourceitem.cpp:86 +msgid "Active call to '%1'" +msgstr "Appel actif vers « %1 »" + +#: instritem.cpp:108 sourceitem.cpp:88 +msgid "" +"_n: %n call to '%1'\n" +"%n calls to '%1'" +msgstr "" +"%n appel à « %1 »\n" +"%n appels à « %1 »" + +#: instritem.cpp:137 +msgid "Jump %1 of %2 times to 0x%3" +msgstr "Saute %1 à %2 fois vers 0x%3" + +#: instritem.cpp:142 +msgid "Jump %1 times to 0x%2" +msgstr "Saute %1 fois vers 0x%2" + +#: instritem.cpp:185 sourceitem.cpp:169 +msgid "(cycle)" +msgstr "(cycle)" + +#: tracedata.cpp:157 +msgid "Abstract Item" +msgstr "Élément abstrait" + +#: tracedata.cpp:158 +msgid "Cost Item" +msgstr "Élément de coût" + +#: tracedata.cpp:159 +msgid "Part Source Line" +msgstr "Ligne source de la partie" + +#: tracedata.cpp:160 +msgid "Source Line" +msgstr "Ligne source" + +#: tracedata.cpp:161 +msgid "Part Line Call" +msgstr "Ligne d'appel de la partie" + +#: tracedata.cpp:162 +msgid "Line Call" +msgstr "Ligne d'appel" + +#: tracedata.cpp:163 +msgid "Part Jump" +msgstr "Saut de la partie" + +#: tracedata.cpp:164 +msgid "Jump" +msgstr "Saut" + +#: tracedata.cpp:165 +msgid "Part Instruction" +msgstr "Instruction de la partie" + +#: tracedata.cpp:166 +msgid "Instruction" +msgstr "Instruction" + +#: tracedata.cpp:167 +msgid "Part Instruction Jump" +msgstr "Instruction de saut de la partie" + +#: tracedata.cpp:168 +msgid "Instruction Jump" +msgstr "Instruction de saut" + +#: tracedata.cpp:169 +msgid "Part Instruction Call" +msgstr "Instruction d'appel de la partie" + +#: tracedata.cpp:170 +msgid "Instruction Call" +msgstr "Instruction d'appel" + +#: tracedata.cpp:171 +msgid "Part Call" +msgstr "Appel de la partie" + +#: tracedata.cpp:172 +msgid "Call" +msgstr "Appel" + +#: tracedata.cpp:173 +msgid "Part Function" +msgstr "Fonction de la partie" + +#: tracedata.cpp:174 +msgid "Function Source File" +msgstr "Fichier source de la fonction" + +#. i18n: file dumpselectionbase.ui line 300 +#: rc.cpp:144 rc.cpp:273 rc.cpp:318 rc.cpp:342 tracedata.cpp:175 +#, no-c-format +msgid "Function" +msgstr "Fonction" + +#: tracedata.cpp:176 +msgid "Function Cycle" +msgstr "Cycle de la fonction" + +#: tracedata.cpp:177 +msgid "Part Class" +msgstr "Classe de la partie" + +#: tracedata.cpp:178 +msgid "Class" +msgstr "Classe" + +#: tracedata.cpp:179 +msgid "Part Source File" +msgstr "Fichier source de la partie" + +#: tracedata.cpp:180 +msgid "Source File" +msgstr "Fichier source" + +#: tracedata.cpp:181 +msgid "Part ELF Object" +msgstr "Objet ELF de la partie" + +#: tracedata.cpp:182 +msgid "ELF Object" +msgstr "Objet ELF" + +#: partview.cpp:46 tracedata.cpp:183 +msgid "Profile Part" +msgstr "Partie du profilage" + +#: tracedata.cpp:184 +msgid "Program Trace" +msgstr "Trace du programme" + +#: tracedata.cpp:245 +msgid "%1 from %2" +msgstr "%1 à %2" + +#: partgraph.cpp:423 tracedata.cpp:253 tracedata.cpp:258 tracedata.cpp:2828 +#: tracedata.cpp:3245 tracedata.cpp:3331 tracedata.cpp:4169 tracedata.cpp:4177 +#: tracedata.cpp:4242 +msgid "(unknown)" +msgstr "(inconnu)" + +#: tracedata.cpp:2587 +msgid "(no caller)" +msgstr "(aucune fonction appelante)" + +#: tracedata.cpp:2594 tracedata.cpp:2613 +msgid "%1 via %2" +msgstr "%1 via %2" + +#: tracedata.cpp:2603 +msgid "(no callee)" +msgstr "(aucune fonction appelée)" + +#: tracedata.cpp:4471 +msgid "(not found)" +msgstr "(non trouvé)" + +#: tracedata.cpp:5021 +msgid "Recalculating Function Cycles..." +msgstr "Recalcul des cycles de la fonction..." + +#. i18n: file dumpselectionbase.ui line 550 +#: callmapview.cpp:59 partselection.cpp:58 rc.cpp:192 +#, no-c-format +msgid "Name" +msgstr "Nom" + +#. i18n: file stackselectionbase.ui line 31 +#: callmapview.cpp:60 callview.cpp:44 instrview.cpp:126 partselection.cpp:59 +#: rc.cpp:333 sourceview.cpp:51 +#, no-c-format +msgid "Cost" +msgstr "Coût" + +#: partselection.cpp:151 +msgid "Profile Part Overview: Current is '%1'" +msgstr "Synthèse de la partie du profilage : la partie courante est « %1 »" + +#: partselection.cpp:287 +msgid "Deselect" +msgstr "Désélectionner" + +#: partselection.cpp:287 partselection.cpp:311 +msgid "Select" +msgstr "Sélectionner" + +#: partselection.cpp:292 +msgid "Select All Parts" +msgstr "Sélectionner toutes les parties" + +#: partselection.cpp:294 +msgid "Visible Parts" +msgstr "Parties visibles" + +#: partselection.cpp:296 +msgid "Hide Selected Parts" +msgstr "Masquer les parties sélectionnées" + +#: partselection.cpp:297 +msgid "Unhide Hidden Parts" +msgstr "Montrer les parties masquées" + +#: partselection.cpp:302 toplevel.cpp:1692 +msgid "Go Back" +msgstr "Retour" + +#: callgraphview.cpp:2571 partselection.cpp:320 +msgid "Visualization" +msgstr "Affichage" + +#: partselection.cpp:322 +msgid "Partitioning Mode" +msgstr "Mode de partitionnement" + +#: partselection.cpp:323 +msgid "Diagram Mode" +msgstr "Mode diagramme" + +#: partselection.cpp:324 +msgid "Zoom Function" +msgstr "Zoomer la fonction" + +#: partselection.cpp:325 +msgid "Show Direct Calls" +msgstr "Montrer les appels directs" + +#: partselection.cpp:326 +msgid "Increment Shown Call Levels" +msgstr "Augmenter le niveau d'appel affiché" + +#: partselection.cpp:340 +msgid "Draw Names" +msgstr "Afficher les noms" + +#: partselection.cpp:341 +msgid "Draw Costs" +msgstr "Afficher les coûts" + +#: callmapview.cpp:303 partselection.cpp:342 +msgid "Ignore Proportions" +msgstr "Ignorer les proportions" + +#: partselection.cpp:343 +msgid "Draw Frames" +msgstr "Afficher les cadres" + +#: callmapview.cpp:304 partselection.cpp:344 treemap.cpp:2887 +msgid "Allow Rotation" +msgstr "Autoriser la rotation" + +#: partselection.cpp:359 +msgid "Hide Info" +msgstr "Masquer info" + +#: partselection.cpp:361 +msgid "Show Info" +msgstr "Afficher info" + +#: partselection.cpp:541 +msgid "(no trace loaded)" +msgstr "(aucune trace chargée)" + +#: costtypeview.cpp:42 +msgid "Event Type" +msgstr "Type d'événement" + +#. i18n: file dumpselectionbase.ui line 917 +#: costtypeview.cpp:43 coverageview.cpp:46 partview.cpp:47 rc.cpp:267 +#: rc.cpp:309 +#, no-c-format +msgid "Incl." +msgstr "Incl." + +#. i18n: file functionselectionbase.ui line 62 +#: costtypeview.cpp:44 coverageview.cpp:53 partview.cpp:48 rc.cpp:303 +#: rc.cpp:312 +#, no-c-format +msgid "Self" +msgstr "Propre" + +#: costtypeview.cpp:45 +msgid "Short" +msgstr "Court" + +#: costtypeview.cpp:47 +msgid "Formula" +msgstr "Formule" + +#: costtypeview.cpp:81 +msgid "" +"Cost Types List" +"

    This list shows all cost types available and what the self/inclusive cost of " +"the current selected function is for that cost type.

    " +"

    By choosing a cost type from the list, you change the cost type of costs " +"shown all over KCachegrind to be the selected one.

    " +msgstr "" +"Liste des types de coûts " +"

    Cette liste montre tous les types de coûts disponibles et, pour chacun, quel " +"est le coût propre/inclusif de la fonction sélectionnée.

    " +"

    En choisissant un type de coût dans la liste, vous remplacez l'ensemble des " +"coûts affichés par KCachegrind par celui sélectionné.

    " + +#: costtypeview.cpp:98 +msgid "Set Secondary Event Type" +msgstr "Positionner le type d'événement secondaire" + +#: costtypeview.cpp:100 +msgid "Remove Secondary Event Type" +msgstr "Enlever le type d'événement secondaire" + +#: costtypeview.cpp:105 +msgid "Edit Long Name" +msgstr "Éditer le nom long" + +#: costtypeview.cpp:106 +msgid "Edit Short Name" +msgstr "Éditer le nom court" + +#: costtypeview.cpp:107 +msgid "Edit Formula" +msgstr "Éditer la formule" + +#: costtypeview.cpp:115 +msgid "New Cost Type ..." +msgstr "Nouveau type de coût..." + +#: costtypeview.cpp:149 costtypeview.cpp:154 +#, c-format +msgid "New%1" +msgstr "Nouveau%1" + +#: costtypeview.cpp:155 +#, c-format +msgid "New Cost Type %1" +msgstr "Nouveau type de coût %1" + +#: sourceitem.cpp:125 +msgid "Jump %1 of %2 times to %3" +msgstr "Saute %1 à %2 fois vers %3" + +#: sourceitem.cpp:130 +msgid "Jump %1 times to %2" +msgstr "Saute %1 fois vers %2" + +#: costlistitem.cpp:60 +#, c-format +msgid "" +"_n: (%n item skipped)\n" +"(%n items skipped)" +msgstr "" +"(%n élément sauté)\n" +"(%n éléments sautés)" + +#: traceitemview.cpp:53 +msgid "No description available" +msgstr "Aucune description disponible" + +#. i18n: file partselectionbase.ui line 16 +#: rc.cpp:324 toplevel.cpp:281 toplevel.cpp:581 +#, no-c-format +msgid "Parts Overview" +msgstr "Synthèse des parties" + +#: toplevel.cpp:288 +msgid "" +"The Parts Overview" +"

    A trace consists of multiple trace parts when there are several profile data " +"files from one profile run. The Trace Part Overview dockable shows these, " +"horizontally ordered in execution time; the rectangle sizes are proportional to " +"the total cost spent in the parts. You can select one or several parts to " +"constrain all costs shown to these parts only.

    " +"

    The parts are further subdivided: there is a partitioning and an callee " +"split mode: " +"

      " +"
    • Partitioning: You see the partitioning into groups for a trace part, " +"according to the group type selected. E.g. if ELF object groups are selected, " +"you see colored rectangles for each used ELF object (shared library or " +"executable), sized according to the cost spent therein.
    • " +"
    • Callee: A rectangle showing the inclusive cost of the current selected " +"function in the trace part is shown. This is split up into smaller rectangles " +"to show the costs of its callees.

    " +msgstr "" +"La synthèse des parties" +"

    Une trace consiste en fait en plusieurs parties quand il y a plusieurs " +"fichiers de données de profilage pour un même lancement du profileur. La " +"synthèse des parties affiche ces parties, triées horizontalement par ordre " +"d'exécution ; la taille des rectangles est proportionnelle au coût total " +"enregistré dans la partie. Vous pouvez sélectionner une ou plusieurs parties " +"pour contraindre les coûts affichés à prendre en compte uniquement ces " +"parties.

    " +"

    Les parties peuvent s'afficher selon deux modes : " +"

      " +"
    • Mode partitionnement : Le partitionnement d'une partie s'effectue par " +"regroupement. Exemple : si le regroupement « Objet ELF » est sélectionné, vous " +"verrez un rectangle coloré pour chaque objet ELF sélectionné (librairie " +"partagée ou exécutable), dimensionné suivant le type de coût sélectionné.
    • " +"
    • Mode fonctions appelées : Un rectangle s'affiche pour refléter le coût " +"inclusif de la fonction sélectionnée dans la partie. Ce rectangle est scindé en " +"rectangles plus petits pour afficher les coûts inclusifs des fonctions " +"appelées.

    " + +#: toplevel.cpp:318 +msgid "Top Cost Call Stack" +msgstr "Coûts dans la pile des appels" + +#: toplevel.cpp:320 +msgid "" +"The Top Cost Call Stack" +"

    This is a purely fictional 'most probable' call stack. It is built up by " +"starting with the current selected function and adds the callers/callees with " +"highest cost at the top and to bottom.

    " +"

    The Cost and Calls columns show the cost used for all calls " +"from the function in the line above.

    " +msgstr "" +"Coûts dans la pile des appels " +"

    Cette pile des appels est une version purement imaginaire de la pile « la " +"plus probable ». Elle est construite en sélectionnant la fonction courante et " +"en ajoutant les fonctions appelantes/appelées avec les plus hauts coûts en " +"haut/en bas.

    " +"

    Les colonnes coût et appels montrent le coût utilisé pour tous " +"les appels depuis la fonction de la ligne supérieure.

    " + +#: toplevel.cpp:333 +msgid "Flat Profile" +msgstr "Profilage aplati" + +#: toplevel.cpp:343 +msgid "" +"The Flat Profile" +"

    The flat profile contains a group and a function selection list. The group " +"list contains all groups where costs are spent in, depending on the chosen " +"group type. The group list is hidden when group type 'Function' is selected." +"

    " +"

    The function list contains the functions of the selected group (or all for " +"'Function' group type), ordered by the costs spent therein. Functions with " +"costs less than 1% are hidden on default.

    " +msgstr "" +"Le profilage aplati" +"

    Le profilage aplati contient une liste des regroupements et une liste des " +"fonctions. La liste des regroupements contient tous les groupes où les coûts " +"ont été enregistrés, suivant le type de regroupement sélectionné. La liste des " +"regroupements est cachée lorsque le type de regroupement sélectionné est " +"« Fonction ».

    " +"

    La liste des fonctions contient les fonctions sélectionnées dans le " +"regroupement (ou toutes pour le groupe « Fonction »), classées par coût. Par " +"défaut, les fonctions avec un coût inférieur à 1 % sont masquées.

    " + +#. i18n: file dumpselectionbase.ui line 16 +#: rc.cpp:84 toplevel.cpp:357 toplevel.cpp:609 +#, no-c-format +msgid "Profile Dumps" +msgstr "Clichés de profilage" + +#: toplevel.cpp:367 +msgid "" +"Profile Dumps" +"

    This dockable shows in the top part the list of loadable profile dumps in " +"all subdirectories of: " +"

      " +"
    • current working directory of KCachegrind, i.e. where it was started from, " +"and " +"
    • the default profile dump directory given in the configuration.
    " +"The list is sorted according the the target command profiled in the " +"corresponding dump.

    " +"

    On selecting a profile dump, information for it is shown in the bottom area " +"of the dockable: " +"

      " +"
    • Options allows you to view the profiled command and profile options " +"of this dump. By changing any item, a new (yet unexisting) profile template is " +"created. Press Run Profile to start aprofile run with these options in " +"the background. " +"
    • Info gives detailed info on the selected dump like event cost " +"summary and properties of the simulated cache. " +"
    • State is only available for current happening profiles runs. Press " +"Update to see different counters of the run, and a stack trace of the " +"current position in the program profiled. Check the Every " +"option to let KCachegrind regularly poll these data. Check the Sync " +"option to let the dockable activate the top function in the current loaded " +"dump.

    " +msgstr "" +"Clichés de profilage " +"

    Cette vue affiche, dans la partie supérieure, la liste de tous les clichés " +"de profilage des dossiers fils :" +"

      " +"
    • du dossier de travail de KCachegrind, c'est-à-dire son dossier de lancement " +"et
    • " +"
    • du dossier par défaut des clichés de profilage, donné dans la " +"configuration
    Cette liste est ordonnée par rapport au nom de la " +"commande profilée de chacun des clichés.

    " +"

    A la sélection d'un cliché de profilage, l'information est affichée dans la " +"partie inférieure de la vue : " +"

      " +"
    • Options permet de voir la commande profilée et les options de " +"profilage de ce cliché. En changeant l'un des éléments, un nouveau modèle de " +"profilage (pour le moment inexistant) est créé. Appuyez sur " +"Lancer le profilage pour démarrer le lancement en tâche de fond d'un " +"profilage avec ces options.
    • " +"
    • Info. vous donne des informations détaillées sur le cliché " +"sélectionné comme un résumé des coûts et les propriétés du cache simulé.
    • " +"
    • État est disponible uniquement pour les profilages en cours " +"d'exécution. Appuyez sur Mise à jour pour voir les différents compteurs " +"de l'exécution et la pile des appels de la position actuelle dans le programme " +"profilé. En utilisant l'option Toutes les... vous pouvez laisser " +"KCachegrind vérifier régulièrement ces données. En utilisant l'option " +"Synchro vous pouvez activer, dans la vue, le « top » des fonctions
    " +"

    " + +#: toplevel.cpp:455 +msgid "&Duplicate" +msgstr "&Dupliquer" + +#: toplevel.cpp:459 +msgid "" +"Duplicate Current Layout" +"

    Make a copy of the current layout.

    " +msgstr "" +"Dupliquer la disposition courante" +"

    Faire une copie de la disposition des vues courante.

    " + +#: toplevel.cpp:466 +msgid "" +"Remove Current Layout" +"

    Delete current layout and make the previous active.

    " +msgstr "" +"Enlever la disposition courante" +"

    Supprimer la disposition des vues courante et activer la précédente.

    " + +#: toplevel.cpp:470 +msgid "&Go to Next" +msgstr "&Aller à la disposition suivante" + +#: toplevel.cpp:474 +msgid "Go to Next Layout" +msgstr "Aller à la disposition des vues suivante" + +#: toplevel.cpp:477 +msgid "&Go to Previous" +msgstr "&Aller à la disposition précédente" + +#: toplevel.cpp:481 +msgid "Go to Previous Layout" +msgstr "Aller à la disposition des vues précédente" + +#: toplevel.cpp:484 +msgid "&Restore to Default" +msgstr "&Restaurer les valeurs par défaut" + +#: toplevel.cpp:487 +msgid "Restore Layouts to Default" +msgstr "Restaurer la disposition des vues aux valeurs par défaut" + +#: toplevel.cpp:490 +msgid "&Save as Default" +msgstr "&Enregistrer comme valeur par défaut" + +#: toplevel.cpp:493 +msgid "Save Layouts as Default" +msgstr "Enregistrer la disposition des vues comme valeur par défaut" + +#: toplevel.cpp:504 +msgid "New

    Open new empty KCachegrind window.

    " +msgstr "Nouveau

    Ouvre une nouvelle fenêtre KCachegrind

    " + +#: toplevel.cpp:507 +msgid "&Add..." +msgstr "&Ajouter..." + +#: toplevel.cpp:510 +msgid "" +"Add Profile Data" +"

    This opens an additional profile data file in the current window.

    " +msgstr "" +"Ajouter des données de profilage" +"

    Ceci ouvre un fichier additionnel de données de profilage dans la fenêtre " +"courante.

    " + +#: toplevel.cpp:522 +msgid "Reload Profile Data

    This loads any new created parts, too.

    " +msgstr "" +"Recharger les données de profilage" +"

    Cela charge également les nouvelles parties créées.

    " + +#: toplevel.cpp:526 +msgid "&Export Graph" +msgstr "&Exporter le graphique" + +#: toplevel.cpp:530 +msgid "" +"Export Call Graph" +"

    Generates a file with extension .dot for the tools of the GraphViz " +"package.

    " +msgstr "" +"Exporter le graphique des appels" +"

    Génère un fichier avec l'extension .dot pour l'utiliser dans un outil comme " +"GraphViz

    " + +#: toplevel.cpp:536 +msgid "&Force Dump" +msgstr "&Forcer cliché" + +#: toplevel.cpp:545 +msgid "" +"Force Dump" +"

    This forces a dump for a Callgrind profile run in the current directory. " +"This action is checked while KCachegrind looks for the dump. If the dump is " +"finished, it automatically reloads the current trace. If this is the one from " +"the running Callgrind, the new created trace part will be loaded, too.

    " +"

    Force dump creates a file 'callgrind.cmd', and checks every second for its " +"existence. A running Callgrind will detect this file, dump a trace part, and " +"delete 'callgrind.cmd'. The deletion is detected by KCachegrind, and it does a " +"Reload. If there's no Callgrind running, press 'Force Dump' again to " +"cancel the dump request. This deletes 'callgrind.cmd' itself and stops polling " +"for a new dump.

    " +"

    Note: A Callgrind run only detects existence of 'callgrind.cmd' " +"when actively running a few milliseconds, i.e. not " +"sleeping. Tip: For a profiled GUI program, you can awake Callgrind e.g. by " +"resizing a window of the program.

    " +msgstr "" +"Forcer cliché" +"

    Cela force un cliché pour une instance de Callgrind dans le dossier courant. " +"Cette fonction peut-être cochée quand KCachegrind attend la fin du cliché. Si " +"le cliché est terminé, cela recharge automatiquement la trace courante. Si " +"c'est la trace utilisée actuellement par Callgrind, la nouvelle partie créée " +"sera également rechargée.

    " +"

    Forcer cliché crée un fichier « callgrind.cmd », et vérifie son existence à " +"chaque seconde. Une exécution de Callgrind va détecter ce fichier, prendre un " +"cliché dans une partie de la trace, et supprimer le fichier « callgrind.cmd ». " +"La suppression est détectée par KCachegrind qui effectue alors un rechargement. " +"S'il n'y a pas d'instance de Callgrind, appuyez sur Forcer cliché " +"encore une fois pour annuler la demande. Cela supprime le fichier " +"« callgrind.cmd » et arrête de surveiller la présence d'un nouveau cliché.

    " +"

    Note : Une instance de Callgrind détecte seulement " +"l'existence du fichier « callgrind.cmd » quand il est en cours d'exécution, " +"et non quand il est en attente. Astuce : Pour un programme graphique en " +"cours de profilage, vous pouvez réveiller Callgrind en redimensionnant la " +"fenêtre du programme.

    " + +#: toplevel.cpp:570 +msgid "" +"Open Profile Data" +"

    This opens a profile data file, with possible multiple parts

    " +msgstr "" +"Ouvrir des données de profilage " +"

    Ceci ouvre un fichier de données de profilage. Celui-ci peut contenir " +"plusieurs parties.

    " + +#: toplevel.cpp:586 +msgid "Show/Hide the Parts Overview Dockable" +msgstr "Afficher/Masquer la la vue de la synthèse des parties" + +#: toplevel.cpp:590 +msgid "Call Stack" +msgstr "Pile d'appel" + +#: toplevel.cpp:595 +msgid "Show/Hide the Call Stack Dockable" +msgstr "Afficher/Masquer la vue de la pile des appels" + +#. i18n: file functionselectionbase.ui line 16 +#: rc.cpp:297 toplevel.cpp:599 +#, no-c-format +msgid "Function Profile" +msgstr "Profilage de la fonction" + +#: toplevel.cpp:604 +msgid "Show/Hide the Function Profile Dockable" +msgstr "Afficher/Masquer la vue du profilage des fonctions" + +#: toplevel.cpp:614 +msgid "Show/Hide the Profile Dumps Dockable" +msgstr "Afficher/Masquer la vue des clichés du profilage" + +#: toplevel.cpp:619 +msgid "Show Relative Costs" +msgstr "Afficher les coûts relatifs" + +#: toplevel.cpp:626 +msgid "Show Absolute Costs" +msgstr "Afficher les coûts absolus" + +#: toplevel.cpp:629 +msgid "Show relative instead of absolute costs" +msgstr "Afficher les coûts relatifs et non absolus" + +#: toplevel.cpp:633 +msgid "Percentage Relative to Parent" +msgstr "Pourcentage relatif à la fonction parente" + +#: toplevel.cpp:639 +msgid "Show percentage costs relative to parent" +msgstr "Afficher le pourcentage du coût relativement à la fonction parente" + +#: toplevel.cpp:643 +msgid "" +"Show percentage costs relative to parent" +"

    If this is switched off, percentage costs are always shown relative to the " +"total cost of the profile part(s) that are currently browsed. By turning on " +"this option, percentage cost of shown cost items will be relative to the parent " +"cost item." +"

      " +"" +"" +"" +"" +"" +"" +"" +"" +"" +"" +"" +"" +"" +"" +"" +"
      Cost TypeParent Cost
      Function CumulativeTotal
      Function SelfFunction Group (*) / Total
      CallFunction Cumulative
      Source LineFunction Cumulative
      " +"

      (*) Only if function grouping is switched on (e.g. ELF object grouping)." +msgstr "" +"Afficher le pourcentage du coût relativement à la fonction parente " +"

      Si cela est désactivé, les coûts en pourcentage sont toujours affichés " +"relativement au coût total des parties du profil. Si cette option est activée, " +"les coûts en pourcentage affichés sont relatifs au coût de l'élément parent.

      " +" " +"" +"" +" " +"" +"" +" " +"" +"" +" " +"" +"" +" " +"" +"" +"
      Type de coûtCoût du parent
      Fonction cumulativeTotal
      Fonction récursiveGroupe de la fonction (*) / Total
      AppelFonction cumulative
      Ligne du sourceFonction cumulative
      " +"

      (*) Seulement si le regroupement des fonctions est activé (c'est-à-dire, " +"regroupement par objet ELF).

      " + +#: toplevel.cpp:658 +msgid "Do Cycle Detection" +msgstr "Faire la détection des cycles" + +#: toplevel.cpp:664 +msgid "Skip Cycle Detection" +msgstr "Ne pas faire la détection des cycles" + +#: toplevel.cpp:667 +msgid "" +"Detect recursive cycles" +"

      If this is switched off, the treemap drawing will show black areas when a " +"recursive call is made instead of drawing the recursion ad infinitum. Note that " +"the size of black areas often will be wrong, as inside recursive cycles the " +"cost of calls cannot be determined; the error is small, however, for false " +"cycles (see documentation)." +"

      The correct handling for cycles is to detect them and collapse all functions " +"of a cycle into a virtual function, which is done when this option is selected. " +"Unfortunately, with GUI applications, this often will lead to huge false " +"cycles, making the analysis impossible; therefore, there is the option to " +"switch this off." +msgstr "" +"Détection des cycles récursifs " +"

      Si cette option est désactivée, le dessin du graphique contiendra des " +"parties noires quand un appel récursif est fait, au lieu de dessiner l'appel " +"récursif à l'infini. Il faut noter que la taille des parties noires risque " +"souvent d'être fausse, car il est difficile de déterminer le coût des appels à " +"l'intérieur des cycles récursifs. Cependant, l'erreur est faible pour les faux " +"cycles (voir documentation).

      " +"

      Pour afficher correctement ces cycles, il est plus correct de les détecter " +"et d'intégrer toutes les fonctions d'un cycle à l'intérieur d'une fonction " +"virtuelle. C'est ce qui est fait quand cette option est activée. Cependant, " +"lors de l'analyse d'applications graphiques, ceci peut souvent mener à des " +"cycles énormes et non justifiés, ce qui rend l'analyse impossible. Il existe " +"donc la possibilité de désactiver cette option.

      " + +#: toplevel.cpp:689 toplevel.cpp:729 +msgid "Go back in function selection history" +msgstr "Aller à la fonction sélectionnée précédente dans l'historique" + +#: toplevel.cpp:695 toplevel.cpp:741 +msgid "Go forward in function selection history" +msgstr "Aller à la fonction sélectionnée suivante dans l'historique" + +#: toplevel.cpp:701 toplevel.cpp:715 +msgid "" +"Go Up" +"

      Go to last selected caller of current function. If no caller was visited, " +"use that with highest cost.

      " +msgstr "" +"Remonter" +"

      Remonte à la dernière fonction appelante sélectionnée de la fonction en " +"cours. Si aucune n'a été sélectionnée, remonte vers celle de plus haut coût.

      " + +#: toplevel.cpp:707 +msgid "&Up" +msgstr "&Remonter" + +#: toplevel.cpp:746 toplevel.cpp:1651 +msgid "Primary Event Type" +msgstr "Type d'événement primaire" + +#: toplevel.cpp:748 +msgid "Select primary event type of costs" +msgstr "Sélectionner le type d'événement primaire des coûts" + +#: toplevel.cpp:758 toplevel.cpp:1654 +msgid "Secondary Event Type" +msgstr "Type d'événement secondaire" + +#: toplevel.cpp:760 +msgid "Select secondary event type for cost e.g. shown in annotations" +msgstr "" +"Sélectionner le type d'événement secondaire des coûts, par exemple affiché dans " +"les annotations" + +#: functionselection.cpp:243 toplevel.cpp:768 +msgid "Grouping" +msgstr "Regroupement" + +#: toplevel.cpp:771 +msgid "Select how functions are grouped into higher level cost items" +msgstr "" +"Sélectionner comment les fonctions sont regroupées en coûts de plus haut niveau" + +#: functionselection.cpp:52 toplevel.cpp:777 +msgid "(No Grouping)" +msgstr "(aucun regroupement)" + +#: toplevel.cpp:787 +msgid "Split" +msgstr "Scinder" + +#: toplevel.cpp:791 +msgid "Show two information panels" +msgstr "Afficher deux panneaux d'information" + +#: toplevel.cpp:795 +msgid "Split Horizontal" +msgstr "Scinder horizontalement" + +#: toplevel.cpp:800 +msgid "Change Split Orientation when main window is split." +msgstr "" +"Changer le sens de la séparation quand la fenêtre principale est scindée." + +#: toplevel.cpp:808 +msgid "Tip of the &Day..." +msgstr "&Astuce du jour..." + +#: toplevel.cpp:809 +msgid "Show \"Tip of the Day\"" +msgstr "Afficher « l'astuce du jour »" + +#: toplevel.cpp:1012 toplevel.cpp:1061 +msgid "" +"cachegrind.out* callgrind.out*|Callgrind Profile Data\n" +"*|All Files" +msgstr "" +"cachegrind.out* callgrind.out*|Données de profilage de Callgrind\n" +"*|Tous les fichiers" + +#: toplevel.cpp:1014 +msgid "Select Callgrind Profile Data" +msgstr "Sélectionner des données de profilage de Callgrind" + +#: toplevel.cpp:1063 +msgid "Add Callgrind Profile Data" +msgstr "Ajouter des données de profilage de Callgrind" + +#: toplevel.cpp:1221 toplevel.cpp:1574 +msgid "(Hidden)" +msgstr "(Caché)" + +#: toplevel.cpp:1626 +msgid "Hide" +msgstr "Cacher" + +#: toplevel.cpp:1659 +msgid "Show Absolute Cost" +msgstr "Afficher les coûts absolus" + +#: toplevel.cpp:1662 +msgid "Show Relative Cost" +msgstr "Afficher les coûts relatifs" + +#: toplevel.cpp:1693 +msgid "Go Forward" +msgstr "Revenir au précédent" + +#: toplevel.cpp:1694 +msgid "Go Up" +msgstr "Remonter" + +#: toplevel.cpp:1926 +#, c-format +msgid "Layout Count: %1" +msgstr "Nombre de dispositions : %1" + +#: toplevel.cpp:1933 +msgid "No profile data file loaded." +msgstr "Aucun fichier de données de profilage chargé." + +#: toplevel.cpp:1942 +msgid "Total %1 Cost: %2" +msgstr "Coût total (%1) : %2" + +#: toplevel.cpp:1954 +msgid "No event type selected" +msgstr "Aucun type d'événement sélectionné" + +#: toplevel.cpp:2199 toplevel.cpp:2235 toplevel.cpp:2271 +msgid "(No Stack)" +msgstr "(Aucune pile)" + +#: toplevel.cpp:2205 +msgid "(No next function)" +msgstr "(Pas de fonction suivante)" + +#: toplevel.cpp:2241 +msgid "(No previous function)" +msgstr "(Pas de fonction précédente)" + +#: toplevel.cpp:2276 +msgid "(No Function Up)" +msgstr "(Pas de fonction parente)" + +#. i18n: file dumpselectionbase.ui line 906 +#: instrview.cpp:125 rc.cpp:264 sourceview.cpp:50 +#, no-c-format +msgid "#" +msgstr "#" + +#: callview.cpp:45 instrview.cpp:127 sourceview.cpp:52 +msgid "Cost 2" +msgstr "Coût 2" + +#: instrview.cpp:129 +msgid "Hex" +msgstr "Hexadécimal" + +#: instrview.cpp:131 tabview.cpp:313 +msgid "Assembler" +msgstr "Assembleur annoté" + +#: instrview.cpp:132 +msgid "Source Position" +msgstr "Position dans le source" + +#: instrview.cpp:163 +msgid "" +"Annotated Assembler" +"

      The annotated assembler list shows the machine code instructions of the " +"current selected function together with (self) cost spent while executing an " +"instruction. If this is a call instruction, lines with details on the call " +"happening are inserted into the source: the cost spent inside of the call, the " +"number of calls happening, and the call destination.

      " +"

      The disassembler output shown is generated with the 'objdump' utility from " +"the 'binutils' package.

      " +"

      Select a line with call information to make the destination function of this " +"call current.

      " +msgstr "" +"Assembleur annoté " +"

      La vue de l'assembleur annoté affiche le code machine de la fonction " +"sélectionnée avec le coût (propre) utilisé pour chacune des instructions. S'il " +"y a un appel vers une autre instruction, des détails sur l'appel sont insérés " +"dans le source : le coût inclusif enregistré dans l'appel, le nombre d'appels " +"et la destination de l'appel.

      " +"

      La sortie désassemblée est générée par l'utilitaire « objdump » du paquetage " +"« binutils ».

      " +"

      Sélectionnez la ligne d'information sur un appel pour que la fonction " +"appelée devienne la fonction courante.

      " + +#: callgraphview.cpp:2397 callgraphview.cpp:2401 callgraphview.cpp:2419 +#: callview.cpp:123 callview.cpp:128 coverageview.cpp:166 instrview.cpp:191 +#: sourceview.cpp:116 +msgid "Go to '%1'" +msgstr "Aller à « %1 »" + +#: instrview.cpp:195 +#, c-format +msgid "Go to Address %1" +msgstr "Aller à l'adresse %1" + +#: instrview.cpp:207 +msgid "Hex Code" +msgstr "Code hexadécimal" + +#: instrview.cpp:426 +msgid "There is no instruction info in the profile data file." +msgstr "Il n'y a aucune instruction dans le fichier de données de profilage." + +#: instrview.cpp:428 +msgid "For the Valgrind Calltree Skin, rerun with option" +msgstr "Pour l'arbre d'appel de Valgrind, relancer avec l'option" + +#: instrview.cpp:429 +msgid " --dump-instr=yes" +msgstr " --dump-instr=yes" + +#: instrview.cpp:430 +msgid "To see (conditional) jumps, additionally specify" +msgstr "Pour avoir les sauts (conditionnels), spécifiez également" + +#: instrview.cpp:431 +msgid " --trace-jump=yes" +msgstr " --trace-jump=yes" + +#: instrview.cpp:629 +msgid "There is an error trying to execute the command" +msgstr "Il y a eu une erreur lors de l'exécution de la commande" + +#: instrview.cpp:634 instrview.cpp:900 +msgid "Check that you have installed 'objdump'." +msgstr "Vérifiez que vous avez installé l'utilitaire « objdump »" + +#: instrview.cpp:636 instrview.cpp:902 +msgid "This utility can be found in the 'binutils' package." +msgstr "Cette utilitaire peut être trouvé dans le paquetage « binutils »." + +#: instrview.cpp:739 +msgid "(No Assembler)" +msgstr "(Pas d'assembleur)" + +#: instrview.cpp:875 +#, c-format +msgid "" +"_n: There is %n cost line without assembler code.\n" +"There are %n cost lines without assembler code." +msgstr "" +"Il y a %n ligne de coûts sans code assembleur.\n" +"Il y a %n lignes de coûts sans code assembleur." + +#: instrview.cpp:877 +msgid "This happens because the code of" +msgstr "Cela se produit car le code de" + +#: instrview.cpp:880 +msgid "does not seem to match the profile data file." +msgstr "ne semble pas correspondre au fichier de données de profilage." + +#: instrview.cpp:883 +msgid "Are you using an old profile data file or is the above mentioned" +msgstr "" +"Utilisez-vous un vieux fichier de données de profilage ou un fichier ELF" + +#: instrview.cpp:885 +msgid "ELF object from an updated installation/another machine?" +msgstr "qui provient d'une machine mise à jour / d'une autre installation ?" + +#: instrview.cpp:893 +msgid "There seems to be an error trying to execute the command" +msgstr "Il semble qu'il y ait eu une erreur à l'exécution de la commande" + +#: instrview.cpp:898 +msgid "Check that the ELF object used in the command exists." +msgstr "Vérifiez que l'objet ELF utilisé dans la commande est présent." + +#: callgraphview.cpp:306 +#, c-format +msgid "Call(s) from %1" +msgstr "Appel(s) depuis %1" + +#: callgraphview.cpp:307 +#, c-format +msgid "Call(s) to %1" +msgstr "Appel(s) à %1" + +#: callgraphview.cpp:308 +msgid "(unknown call)" +msgstr "(appel inconnu)" + +#: callgraphview.cpp:1425 +msgid "" +"Call Graph around active Function" +"

      Depending on configuration, this view shows the call graph environment of " +"the active function. Note: the shown cost is only " +"the cost which is spent while the active function was actually running; i.e. " +"the cost shown for main() - if it's visible - should be the same as the cost of " +"the active function, as that's the part of inclusive cost of main() spent while " +"the active function was running.

      " +"

      For cycles, blue call arrows indicate that this is an artificial call added " +"for correct drawing which actually never happened.

      " +"

      If the graph is larger than the widget area, an overview panner is shown in " +"one edge. There are similar visualization options to the Call Treemap; the " +"selected function is highlighted." +"

      " +msgstr "" +"Graphique des appels autour de la fonction active" +"

      Selon la configuration, cette vue affiche l'environnement du graphique des " +"appels de la fonction active. Note : le coût affiché est uniquement" +"le coût enregistré lorsque la fonction active était réellement exécutée. Le " +"coût affiché pour main(), s'il est visible, devrait être le même que le coût de " +"la fonction active, étant donné qu'il s'agit de la partie du coût inclusif de " +"main() utilisé lorsque la fonction active était exécutée.

      " +"

      Pour les cycles, les flèches d'appel bleues indiquent qu'il s'agit d'un " +"appel artificiel, ajouté pour que l'affichage soit correct, mais qui ne s'est " +"jamais produit.

      " +"

      Si le graphique est plus grand que la zone, une vue d'ensemble est affiché " +"dans un des bords. Les options d'affichage sont les mêmes dans la carte " +"arborescente des appels ; la fonction sélectionnée est colorée.

      " + +#: callgraphview.cpp:1789 +msgid "" +"Warning: a long lasting graph layouting is in progress.\n" +"Reduce node/edge limits for speedup.\n" +msgstr "" +"Attention : le tracé du graphe est en cours et risque de durer.\n" +"Réduisez les limites nœud / arc pour accélérer le tracé.\n" + +#: callgraphview.cpp:1792 +msgid "" +"Layouting stopped.\n" +msgstr "" +"Tracé arrêté.\n" + +#: callgraphview.cpp:1794 +msgid "" +"The call graph has %1 nodes and %2 edges.\n" +msgstr "" +"Le graphe d'appels possède %1 nœuds et %2 arcs.\n" + +#: callgraphview.cpp:1827 +msgid "No item activated for which to draw the call graph." +msgstr "Aucun élément n'est activé pour dessiner le graphe d'appel." + +#: callgraphview.cpp:1838 +msgid "No call graph can be drawn for the active item." +msgstr "Le graphe d'appel ne peut être dessiné pour l'élément actif." + +#: callgraphview.cpp:1867 +msgid "" +"No call graph is available because the following\n" +"command cannot be run:\n" +"'%1'\n" +msgstr "" +"Le graphe d'appel n'est pas disponible car la commande\n" +"suivante ne peut être exécutée :\n" +"« %1 »\n" + +#: callgraphview.cpp:1870 callgraphview.cpp:2200 +msgid "Please check that 'dot' is installed (package GraphViz)." +msgstr "" +"Veuillez vérifier que l'utilitaire « dot » est installé (paquetage GraphViz)." + +#: callgraphview.cpp:2199 +msgid "" +"Error running the graph layouting tool.\n" +msgstr "" +"Erreur lors de l'exécution de l'outil de tracé du graphe.\n" + +#: callgraphview.cpp:2207 +msgid "" +"There is no call graph available for function\n" +"\t'%1'\n" +"because it has no cost of the selected event type." +msgstr "" +"Il n'y a pas d'arbre d'appels disponible pour la fonction\n" +"\t« %1 »\n" +"parce qu'elle n'a pas de coût pour le type d'événement choisi." + +#: callgraphview.cpp:2428 +msgid "Stop Layouting" +msgstr "Arrêter le tracé" + +#: callgraphview.cpp:2436 +msgid "As PostScript" +msgstr "Vers du PostScript" + +#: callgraphview.cpp:2437 +msgid "As Image ..." +msgstr "Vers une image ..." + +#: callgraphview.cpp:2439 +msgid "Export Graph" +msgstr "Exporter le graphique" + +#: callgraphview.cpp:2444 callgraphview.cpp:2467 +msgid "Unlimited" +msgstr "Illimitée" + +#: callgraphview.cpp:2447 callgraphview.cpp:2470 +msgid "None" +msgstr "Aucune" + +#: callgraphview.cpp:2448 callgraphview.cpp:2471 +msgid "max. 2" +msgstr "2 max." + +#: callgraphview.cpp:2449 callgraphview.cpp:2472 +msgid "max. 5" +msgstr "5 max." + +#: callgraphview.cpp:2450 callgraphview.cpp:2473 +msgid "max. 10" +msgstr "10 max." + +#: callgraphview.cpp:2451 callgraphview.cpp:2474 +msgid "max. 15" +msgstr "15 max." + +#: callgraphview.cpp:2461 callgraphview.cpp:2484 +#, c-format +msgid "< %1" +msgstr "< %1" + +#: callgraphview.cpp:2490 +msgid "No Minimum" +msgstr "Pas de minimum" + +#: callgraphview.cpp:2494 +#, c-format +msgid "50 %" +msgstr "50 %" + +#: callgraphview.cpp:2495 +#, c-format +msgid "20 %" +msgstr "20 %" + +#: callgraphview.cpp:2496 +#, c-format +msgid "10 %" +msgstr "10 %" + +#: callgraphview.cpp:2497 +#, c-format +msgid "5 %" +msgstr "5 %" + +#: callgraphview.cpp:2498 +#, c-format +msgid "3 %" +msgstr "3 %" + +#: callgraphview.cpp:2499 +#, c-format +msgid "2 %" +msgstr "2 %" + +#: callgraphview.cpp:2500 +#, c-format +msgid "1.5 %" +msgstr "1,5 %" + +#: callgraphview.cpp:2501 +#, c-format +msgid "1 %" +msgstr "1 %" + +#: callgraphview.cpp:2517 +msgid "Same as Node" +msgstr "Identique au noeud" + +#: callgraphview.cpp:2518 +#, c-format +msgid "50 % of Node" +msgstr "50 % du noeud" + +#: callgraphview.cpp:2519 +#, c-format +msgid "20 % of Node" +msgstr "20 % du noeud" + +#: callgraphview.cpp:2520 +#, c-format +msgid "10 % of Node" +msgstr "10 % du noeud" + +#: callgraphview.cpp:2530 +msgid "Caller Depth" +msgstr "Profondeur (fonctions appelantes)" + +#: callgraphview.cpp:2531 +msgid "Callee Depth" +msgstr "Profondeur (fonctions appelées)" + +#: callgraphview.cpp:2532 +msgid "Min. Node Cost" +msgstr "Coût minimum du noeud" + +#: callgraphview.cpp:2533 +msgid "Min. Call Cost" +msgstr "Coût minimum de l'appel" + +#: callgraphview.cpp:2535 +msgid "Arrows for Skipped Calls" +msgstr "Flèches pour les appels masqués" + +#: callgraphview.cpp:2537 +msgid "Inner-cycle Calls" +msgstr "Appels dans le cycle" + +#: callgraphview.cpp:2539 +msgid "Cluster Groups" +msgstr "Groupes" + +#: callgraphview.cpp:2544 +msgid "Compact" +msgstr "Compact" + +#: callgraphview.cpp:2545 +msgid "Normal" +msgstr "Normal" + +#: callgraphview.cpp:2546 +msgid "Tall" +msgstr "Grand" + +#: callgraphview.cpp:2551 +msgid "Top to Down" +msgstr "De haut en bas" + +#: callgraphview.cpp:2552 +msgid "Left to Right" +msgstr "De gauche à droite" + +#: callgraphview.cpp:2553 +msgid "Circular" +msgstr "Circulaire" + +#: callgraphview.cpp:2559 +msgid "TopLeft" +msgstr "Haut gauche" + +#: callgraphview.cpp:2560 +msgid "TopRight" +msgstr "Haut droite" + +#: callgraphview.cpp:2561 +msgid "BottomLeft" +msgstr "Bas gauche" + +#: callgraphview.cpp:2562 +msgid "BottomRight" +msgstr "Bas droite" + +#. i18n: file configdlgbase.ui line 246 +#: callgraphview.cpp:2563 rc.cpp:42 rc.cpp:51 rc.cpp:54 +#, no-c-format +msgid "Automatic" +msgstr "Automatique" + +#: callgraphview.cpp:2570 +msgid "Graph" +msgstr "Graphique" + +#: callgraphview.cpp:2572 +msgid "Birds-eye View" +msgstr "Vue d'ensemble" + +#: _translatorinfo.cpp:1 +msgid "" +"_: NAME OF TRANSLATORS\n" +"Your names" +msgstr "Damien Raude-Morvan,Yann Verley" + +#: _translatorinfo.cpp:3 +msgid "" +"_: EMAIL OF TRANSLATORS\n" +"Your emails" +msgstr "drazzib@drazzib.com,yann.verley@free.fr" + +#: coverageitem.cpp:65 coverageitem.cpp:205 functionitem.cpp:72 +#, c-format +msgid "" +"_n: (%n function skipped)\n" +"(%n functions skipped)" +msgstr "" +"(%n fonction masquée)\n" +"(%n fonctions masquées)" + +#: main.cpp:38 +msgid "Run under cachegrind" +msgstr "Exécuter avec cachegrind" + +#: main.cpp:39 +msgid "Show information of this trace" +msgstr "Afficher les informations de cette trace" + +#: main.cpp:46 +msgid "KCachegrind" +msgstr "KCachegrind" + +#: main.cpp:48 +msgid "KDE Frontend for Cachegrind" +msgstr "Interface KDE pour Cachegrind" + +#: main.cpp:50 +msgid "(C) 2002, 2003, 2004" +msgstr "(C) 2002, 2003, 2004" + +#: main.cpp:53 +msgid "Author/Maintainer" +msgstr "Auteur/Mainteneur" + +#: tabview.cpp:64 +msgid "Move to Top" +msgstr "Déplacer vers le haut" + +#: tabview.cpp:68 +msgid "Move to Right" +msgstr "Déplacer vers la droite" + +#: tabview.cpp:72 +msgid "Move to Bottom" +msgstr "Déplacer vers le bas" + +#: tabview.cpp:76 +msgid "Move to Bottom Left" +msgstr "Déplacer vers le bas à gauche" + +#: tabview.cpp:77 tabview.cpp:94 treemap.cpp:2908 +msgid "Bottom Left" +msgstr "Bas gauche" + +#: tabview.cpp:79 +msgid "Move Area To" +msgstr "Déplacer zone vers" + +#: tabview.cpp:81 +msgid "Hide This Tab" +msgstr "Masquer cet onglet" + +#: tabview.cpp:82 +msgid "Hide Area" +msgstr "Masquer cette zone" + +#: tabview.cpp:95 +msgid "Show Hidden On" +msgstr "Afficher masqués vers" + +#: tabview.cpp:242 +msgid "(No profile data file loaded)" +msgstr "(aucun fichier de données de profilage chargé)" + +#: tabview.cpp:281 +msgid "Types" +msgstr "Types de coûts" + +#: tabview.cpp:284 +msgid "Callers" +msgstr "Fonctions appelantes" + +#: tabview.cpp:287 +msgid "All Callers" +msgstr "Toutes les fonctions appelantes" + +#: tabview.cpp:290 +msgid "Caller Map" +msgstr "Carte des fonctions appelantes" + +#: tabview.cpp:293 +msgid "Source" +msgstr "Source annoté" + +#: tabview.cpp:297 +msgid "Parts" +msgstr "Parties" + +#: tabview.cpp:300 +msgid "Call Graph" +msgstr "Graphique des appels" + +#: tabview.cpp:303 +msgid "Callees" +msgstr "Fonctions appelées" + +#: tabview.cpp:306 +msgid "All Callees" +msgstr "Toutes les fonctions appelées" + +#: tabview.cpp:310 +msgid "Callee Map" +msgstr "Carte des fonctions appelées" + +#: tabview.cpp:553 +msgid "" +"Information Tabs" +"

      This widget shows information for the current selected function in different " +"tabs: " +"

        " +"
      • The Costs tab shows a list of available event types and the inclusive and " +"self costs regarding to these types.
      • " +"
      • The Parts tab shows a list of trace parts if the trace consists of more " +"than one part (otherwise, this tab is hided). The cost of the selected function " +"spent in the different parts together with the calls happening is shown.
      • " +"
      • The Call Lists tab shows direct callers and callees of the function in more " +"detail.
      • " +"
      • The Coverage tab shows the same is the Call Lists tab, but not only direct " +"callers and callees but also indirect ones.
      • " +"
      • The Call Graph tab shows a graphical visualization of the calls done by " +"this function.
      • " +"
      • The Source tab presents annotated source code if debugging information and " +"the source file is available.
      • " +"
      • The Assembler tab presents annotated assembler code if trace information on " +"instruction level is available.
      For more information, see the " +"What's This? help of the corresponding tab widget

      " +msgstr "" +"Onglets d'informations" +"

      Ces composants affichent dans des onglets les informations disponibles sur " +"la fonction sélectionnée : " +"

        " +"
      • L'onglet Type de coûts affiche une liste des types d'événements disponibles " +"et les coûts inclusifs / propres de chacun.
      • " +"
      • L'onglet Parties affiche une liste des parties de la trace si celle-ci a " +"plus d'une partie (sinon cet onglet est masqué). Le coût de la fonction " +"sélectionnée avec ses appels dans les différentes parties est affiché.
      • " +"
      • Les onglets Fonctions appelantes/appelées affichent les fonctions " +"appelantes et les fonctions appelées en détails.
      • " +"
      • Les onglets Toutes les fonctions appelantes/appelées affichent la même " +"chose que les deux précédents, et en plusdes appels directs, les appels " +"indirects.
      • " +"
      • L'onglet Graphique des appels affiche une vue graphique des appels fait par " +"une fonction.
      • " +"
      • L'onglet Source annoté présente le code source annoté si les informations " +"de débogage et le code source sont disponibles.
      • " +"
      • L'onglet Assembleur annoté présente le code assembleur annoté si des " +"informations de trace au niveau instruction sont disponibles.
      " +"Pour plus d'information, affichez l'aide Qu'est-ce que c'est ? " +"du composant graphique correspondant.

      " + +#: tabview.cpp:630 +msgid "(No Data loaded)" +msgstr "(aucune donnée chargée)" + +#: tabview.cpp:631 +msgid "(No function selected)" +msgstr "(aucune fonction sélectionnée)" + +#: sourceview.cpp:54 sourceview.cpp:554 +msgid "Source (unknown)" +msgstr "Source (inconnue)" + +#: sourceview.cpp:89 +msgid "" +"Annotated Source" +"

      The annotated source list shows the source lines of the current selected " +"function together with (self) cost spent while executing the code of this " +"source line. If there was a call in a source line, lines with details on the " +"call happening are inserted into the source: the cost spent inside of the call, " +"the number of calls happening, and the call destination.

      " +"

      Select a inserted call information line to make the destination function " +"current.

      " +msgstr "" +"Source annoté " +"

      La vue du source annoté affiche les lignes du code source de la fonction " +"sélectionnée avec le coût (propre) utilisé pour chacune des lignes du code " +"source. S'il y a un appel dans une ligne du code source, des détails sur " +"l'appel sont insérés dans le source : le coût enregistré dans l'appel, le " +"nombre d'appels et la destination de l'appel.

      " +"

      Sélectionnez la ligne d'information sur un appel pour que la fonction " +"appelée devienne la fonction courante.

      " + +#: sourceview.cpp:120 +#, c-format +msgid "Go to Line %1" +msgstr "Aller à la ligne %1" + +#: sourceview.cpp:293 +msgid "(No Source)" +msgstr "(Pas de source)" + +#: sourceview.cpp:512 +msgid "There is no cost of current selected type associated" +msgstr "Il n'y a pas de coût pour le type sélectionné associé" + +#: sourceview.cpp:514 +msgid "with any source line of this function in file" +msgstr "avec une des lignes du source de cette fonction dans le fichier" + +#: sourceview.cpp:518 +msgid "Thus, no annotated source can be shown." +msgstr "Donc, il est impossible d'afficher un source annoté." + +#: sourceview.cpp:553 +msgid "Source ('%1')" +msgstr "Source (« %1 »)" + +#: sourceview.cpp:559 +msgid "--- Inlined from '%1' ---" +msgstr "--- Depuis « %1 » ---" + +#: sourceview.cpp:560 +msgid "--- Inlined from unknown source ---" +msgstr "--- Depuis une source inconnue ---" + +#: sourceview.cpp:565 +msgid "There is no source available for the following function:" +msgstr "Il n'y a pas de source disponible pour la fonction suivante :" + +#: sourceview.cpp:570 +msgid "This is because no debug information is present." +msgstr "Ceci provient du manque d'information de débogage." + +#: sourceview.cpp:572 +msgid "Recompile source and redo the profile run." +msgstr "Recompiler les sources et relancer le profilage." + +#: sourceview.cpp:575 +msgid "The function is located in this ELF object:" +msgstr "Cette fonction est présente dans un objet ELF :" + +#: sourceview.cpp:583 +msgid "This is because its source file cannot be found:" +msgstr "" +"Ceci provient du fait que le fichier source associé ne peut être trouvé :" + +#: sourceview.cpp:587 +msgid "Add the folder of this file to the source folder list." +msgstr "" +"Ajoutez le dossier de ce fichier dans la liste des dossiers des sources." + +#: sourceview.cpp:589 +msgid "The list can be found in the configuration dialog." +msgstr "Cette liste se trouve dans le dialogue de configuration." + +#: partlistitem.cpp:49 +msgid " (Thread %1)" +msgstr " (Processus léger %1)" + +#: partlistitem.cpp:56 +msgid "(none)" +msgstr "(aucun)" + +#: callitem.cpp:82 partlistitem.cpp:152 +msgid "(active)" +msgstr "(activée)" + +#: functionselection.cpp:176 +#, c-format +msgid "Go to %1" +msgstr "Aller à %1" + +#: functionselection.cpp:203 +msgid "Show All Items" +msgstr "Afficher tous les éléments" + +#: functionselection.cpp:226 +msgid "No Grouping" +msgstr "Pas de regroupement" + +#: coverageview.cpp:48 coverageview.cpp:54 +msgid "Distance" +msgstr "Distance" + +#. i18n: file dumpselectionbase.ui line 928 +#: coverageview.cpp:49 partview.cpp:49 rc.cpp:270 rc.cpp:315 +#, no-c-format +msgid "Called" +msgstr "Appelée(s)" + +#: callview.cpp:48 coverageview.cpp:50 +msgid "Caller" +msgstr "Fonction appelante" + +#: coverageview.cpp:55 +msgid "Calling" +msgstr "Appel(s)" + +#: callview.cpp:52 coverageview.cpp:56 +msgid "Callee" +msgstr "Fonction appelée" + +#: coverageview.cpp:90 +msgid "" +"List of all Callers" +"

      This list shows all functions calling the current selected one, either " +"directly or with several functions in-between on the stack; the number of " +"functions in-between plus one is called the Distance " +"(e.g. for function A,B,C there exists a call from A to C when A calls B and B " +"calls C, i.e. A => B => C. The distance here is 2).

      " +"

      Absolute cost shown is the cost spent in the selected function while a " +"listed function is active; relative cost is the percentage of all cost spent in " +"the selected function while the listed one is active. The cost graphic shows " +"logarithmic percentage with a different color for each distance.

      " +"

      As there can be many calls from the same function, the distance column " +"sometimes shows the range of distances for all calls happening; then, in " +"parentheses, there is the medium distance, i.e. the distance where most of the " +"call costs happened.

      " +"

      Selecting a function makes it the current selected one of this information " +"panel. If there are two panels (Split mode), the function of the other panel is " +"changed instead.

      " +msgstr "" +"Liste de toutes les fonctions appelantes" +"

      Cette liste affiche toutes les fonctions qui appellent la fonction " +"actuellement sélectionnée, soit directement, soit en passant par d'autres " +"fonctions dans la pile. Le nombre de fonctions entre les deux, incrémenté de " +"un, est appelé la Distance (par exemple, pour les fonctions A, B et C, " +"il existe un appel de A vers C quand A appelle B et que B appelle C, donc A => " +"B => C. La distance est ici de 2).

      " +"

      Le coût absolu affiché est le coût enregistré dans la fonction sélectionnée " +"quand la fonction listée était active. Le coût relatif est le pourcentage de " +"tous les coûts enregistrés dans la fonction sélectionnée quand la fonction " +"listée était active. Le graphique du coût affiche un pourcentage logarithmique " +"avec une couleur différente pour chaque distance.

      " +"

      Comme il peut y avoir beaucoup d'appels en provenance de la même fonction, " +"la colonne distance affiche parfois l'intervalle des distances de tous les " +"appels, avec entre parenthèses la distance moyenne, c'est-à-dire la distance où " +"la plupart des coûts ont été enregistrés.

      " +"

      En sélectionnant une fonction, elle devient la nouvelle fonction courante " +"pour ce panneau d'information. S'il y a deux panneaux (mode scindé), la " +"fonction de l'autre panneau est changée pour celle-ci.

      " + +#: coverageview.cpp:120 +msgid "" +"List of all Callees" +"

      This list shows all functions called by the current selected one, either " +"directly or with several function in-between on the stack; the number of " +"function in-between plus one is called the Distance " +"(e.g. for function A,B,C there exists a call from A to C when A calls B and B " +"calls C, i.e. A => B => C. The distance here is 2).

      " +"

      Absolute cost shown is the cost spent in the listed function while the " +"selected is active; relative cost is the percentage of all cost spent in the " +"listed function while the selected one is active. The cost graphic always shows " +"logarithmic percentage with a different color for each distance.

      " +"

      As there can be many calls to the same function, the distance column " +"sometimes shows the range of distances for all calls happening; then, in " +"parentheses, there is the medium distance, i.e. the distance where most of the " +"call costs happened.

      " +"

      Selecting a function makes it the current selected one of this information " +"panel. If there are two panels (Split mode), the function of the other panel is " +"changed instead.

      " +msgstr "" +"Liste de toutes les fonctions appelées" +"

      Cette liste affiche toutes les fonctions qui sont appelées par la fonction " +"actuellement sélectionnée, soit directement, soit en passant par d'autres " +"fonctions dans la pile. Le nombre de fonctions entre les deux, incrémenté de " +"un, est appelé la Distance (par exemple, pour les fonctions A, B et C, " +"il existe un appel de A vers C quand A appelle B et que B appelle C, donc A => " +"B => C. La distance est ici de 2).

      " +"

      Le coût absolu affiché est le coût enregistré dans la fonction sélectionnée " +"quand la fonction listée était active. Le coût relatif est le pourcentage de " +"tous les coûts enregistrés dans la fonction sélectionnée quand la fonction " +"listée était active. Le graphique du coût affiche un pourcentage logarithmique " +"avec une couleur différente pour chaque distance.

      " +"

      Comme il peut y avoir beaucoup d'appels en provenance de la même fonction, " +"la colonne distance affiche parfois l'intervalle des distances de tous les " +"appels, avec entre parenthèses la distance moyenne, c'est-à-dire la distance où " +"la plupart des coûts ont été enregistrés.

      " +"

      En sélectionnant une fonction, elle devient la nouvelle fonction courante " +"pour ce panneau d'information. S'il y a deux panneaux (mode scindé), la " +"fonction de l'autre panneau est changée pour celle-ci.

      " + +#: configuration.cpp:63 +msgid "Instruction Fetch" +msgstr "Recherche des instructions" + +#: configuration.cpp:64 +msgid "Data Read Access" +msgstr "Accès en lecture" + +#: configuration.cpp:65 +msgid "Data Write Access" +msgstr "Accès en écriture" + +#: configuration.cpp:66 +msgid "L1 Instr. Fetch Miss" +msgstr "Instruction non présente dans le cache L1" + +#: configuration.cpp:67 +msgid "L1 Data Read Miss" +msgstr "Essai de lecture raté dans le cache L1" + +#: configuration.cpp:68 +msgid "L1 Data Write Miss" +msgstr "Essai d'écriture raté dans le cache L1" + +#: configuration.cpp:69 +msgid "L2 Instr. Fetch Miss" +msgstr "Instruction non présente dans le cache L2" + +#: configuration.cpp:70 +msgid "L2 Data Read Miss" +msgstr "Essai de lecture raté dans le cache L2" + +#: configuration.cpp:71 +msgid "L2 Data Write Miss" +msgstr "Essai d'écriture raté dans le cache L2" + +#: configuration.cpp:72 +msgid "Samples" +msgstr "Échantillons" + +#: configuration.cpp:73 +msgid "System Time" +msgstr "Temps système" + +#: configuration.cpp:74 +msgid "User Time" +msgstr "Temps utilisateur" + +#: configuration.cpp:75 +msgid "L1 Miss Sum" +msgstr "Nombre d'échecs du cache L1" + +#: configuration.cpp:76 +msgid "L2 Miss Sum" +msgstr "Nombre d'échecs du cache L2" + +#: configuration.cpp:77 +msgid "Cycle Estimation" +msgstr "Estimation du cycle" + +#. i18n: file tdecachegrindui.rc line 15 +#: rc.cpp:9 +#, no-c-format +msgid "&Layout" +msgstr "&Disposition des vues" + +#. i18n: file tdecachegrindui.rc line 32 +#: rc.cpp:12 +#, no-c-format +msgid "Sidebars" +msgstr "Barres latérales" + +#. i18n: file tdecachegrindui.rc line 54 +#: rc.cpp:18 +#, no-c-format +msgid "State Toolbar" +msgstr "Barre d'outils d'état" + +#. i18n: file configdlgbase.ui line 37 +#: rc.cpp:24 +#, no-c-format +msgid "General" +msgstr "Général" + +#. i18n: file configdlgbase.ui line 69 +#: rc.cpp:27 +#, no-c-format +msgid "Truncated when more/longer than:" +msgstr "Tronquer quand plus grand que :" + +#. i18n: file configdlgbase.ui line 77 +#: rc.cpp:30 +#, no-c-format +msgid "Precision of percentage values:" +msgstr "Précision des valeurs en pourcentage :" + +#. i18n: file configdlgbase.ui line 85 +#: rc.cpp:33 +#, no-c-format +msgid "Symbols in tooltips and context menus" +msgstr "Symboles dans les bulles d'aide et les menus contextuels" + +#. i18n: file configdlgbase.ui line 141 +#: rc.cpp:36 +#, no-c-format +msgid "Maximum number of items in lists:" +msgstr "Nombre maximum d'éléments dans les listes :" + +#. i18n: file configdlgbase.ui line 162 +#: rc.cpp:39 +#, no-c-format +msgid "Cost Item Colors" +msgstr "Couleurs des éléments de coût" + +#. i18n: file configdlgbase.ui line 254 +#: rc.cpp:45 +#, no-c-format +msgid "Object:" +msgstr "Objet :" + +#. i18n: file configdlgbase.ui line 262 +#: rc.cpp:48 +#, no-c-format +msgid "Class:" +msgstr "Classe :" + +#. i18n: file configdlgbase.ui line 310 +#: rc.cpp:57 +#, no-c-format +msgid "File:" +msgstr "Fichier :" + +#. i18n: file configdlgbase.ui line 376 +#: rc.cpp:60 +#, no-c-format +msgid "Annotations" +msgstr "Annotations" + +#. i18n: file configdlgbase.ui line 395 +#: rc.cpp:63 +#, no-c-format +msgid "Context lines in annotations:" +msgstr "Lignes du contexte dans les annotations :" + +#. i18n: file configdlgbase.ui line 423 +#: rc.cpp:66 +#, no-c-format +msgid "Source Folders" +msgstr "Dossiers des sources" + +#. i18n: file configdlgbase.ui line 454 +#: rc.cpp:69 +#, no-c-format +msgid "Object / Related Source Base" +msgstr "Base des sources" + +#. i18n: file configdlgbase.ui line 483 +#: rc.cpp:72 +#, no-c-format +msgid "Add..." +msgstr "Ajouter..." + +#. i18n: file dumpselectionbase.ui line 32 +#: rc.cpp:87 +#, no-c-format +msgid "Target" +msgstr "Cible" + +#. i18n: file dumpselectionbase.ui line 54 +#: rc.cpp:90 +#, no-c-format +msgid "Time" +msgstr "Heure" + +#. i18n: file dumpselectionbase.ui line 65 +#: rc.cpp:93 +#, no-c-format +msgid "Path" +msgstr "Dossiers" + +#. i18n: file dumpselectionbase.ui line 106 +#: rc.cpp:99 +#, no-c-format +msgid "Target command:" +msgstr "Commande cible :" + +#. i18n: file dumpselectionbase.ui line 119 +#: rc.cpp:102 +#, no-c-format +msgid "Profiler options:" +msgstr "Options de l'outil de profilage :" + +#. i18n: file dumpselectionbase.ui line 125 +#: rc.cpp:105 +#, no-c-format +msgid "Option" +msgstr "Option" + +#. i18n: file dumpselectionbase.ui line 136 +#: rc.cpp:108 rc.cpp:219 +#, no-c-format +msgid "Value" +msgstr "Valeur" + +#. i18n: file dumpselectionbase.ui line 147 +#: rc.cpp:111 +#, no-c-format +msgid "Trace" +msgstr "Trace" + +#. i18n: file dumpselectionbase.ui line 160 +#: rc.cpp:114 rc.cpp:237 +#, no-c-format +msgid "Jumps" +msgstr "Sauts" + +#. i18n: file dumpselectionbase.ui line 174 +#: rc.cpp:117 +#, no-c-format +msgid "Instructions" +msgstr "Instructions" + +#. i18n: file dumpselectionbase.ui line 189 +#: rc.cpp:120 rc.cpp:240 +#, no-c-format +msgid "Events" +msgstr "Événements" + +#. i18n: file dumpselectionbase.ui line 202 +#: rc.cpp:123 +#, no-c-format +msgid "Full Cache" +msgstr "Cache total" + +#. i18n: file dumpselectionbase.ui line 216 +#: rc.cpp:126 +#, no-c-format +msgid "Custom" +msgstr "Personnalisé" + +#. i18n: file dumpselectionbase.ui line 231 +#: rc.cpp:129 +#, no-c-format +msgid "Collect" +msgstr "Collecter" + +#. i18n: file dumpselectionbase.ui line 244 +#: rc.cpp:132 +#, no-c-format +msgid "At Startup" +msgstr "Au démarrage" + +#. i18n: file dumpselectionbase.ui line 258 +#: rc.cpp:135 +#, no-c-format +msgid "While In" +msgstr "À l'intérieur" + +#. i18n: file dumpselectionbase.ui line 273 +#: rc.cpp:138 +#, no-c-format +msgid "Skip" +msgstr "Ignorer" + +#. i18n: file dumpselectionbase.ui line 286 +#: rc.cpp:141 +#, no-c-format +msgid "PLT" +msgstr "PLT" + +#. i18n: file dumpselectionbase.ui line 315 +#: rc.cpp:147 +#, no-c-format +msgid "Dump Profile" +msgstr "Cliché du profilage" + +#. i18n: file dumpselectionbase.ui line 328 +#: rc.cpp:150 +#, no-c-format +msgid "Every BBs" +msgstr "Tous les BB" + +#. i18n: file dumpselectionbase.ui line 342 +#: rc.cpp:153 rc.cpp:162 +#, no-c-format +msgid "On Entering" +msgstr "A l'entrée" + +#. i18n: file dumpselectionbase.ui line 356 +#: rc.cpp:156 +#, no-c-format +msgid "On Leaving" +msgstr "A la sortie" + +#. i18n: file dumpselectionbase.ui line 371 +#: rc.cpp:159 +#, no-c-format +msgid "Zero Events" +msgstr "Sans événement" + +#. i18n: file dumpselectionbase.ui line 399 +#: rc.cpp:165 +#, no-c-format +msgid "Separate" +msgstr "Séparer" + +#. i18n: file dumpselectionbase.ui line 412 +#: rc.cpp:168 +#, no-c-format +msgid "Threads" +msgstr "Processus légers" + +#. i18n: file dumpselectionbase.ui line 426 +#: rc.cpp:171 +#, no-c-format +msgid "Recursions" +msgstr "Récurrences" + +#. i18n: file dumpselectionbase.ui line 440 +#: rc.cpp:174 +#, no-c-format +msgid "Call Chain" +msgstr "Enchaînement des appels" + +#. i18n: file dumpselectionbase.ui line 470 +#: rc.cpp:177 +#, no-c-format +msgid "Custom profiler options:" +msgstr "Options personnalisées du profileur :" + +#. i18n: file dumpselectionbase.ui line 508 +#: rc.cpp:180 +#, no-c-format +msgid "Run New Profile" +msgstr "Exécuter nouveau profilage" + +#. i18n: file dumpselectionbase.ui line 520 +#: rc.cpp:183 +#, no-c-format +msgid "Info" +msgstr "Info" + +#. i18n: file dumpselectionbase.ui line 531 +#: rc.cpp:186 +#, no-c-format +msgid "Dump reason:" +msgstr "Raison du cliché :" + +#. i18n: file dumpselectionbase.ui line 544 +#: rc.cpp:189 +#, no-c-format +msgid "Event summary:" +msgstr "Résumé des événements :" + +#. i18n: file dumpselectionbase.ui line 561 +#: rc.cpp:195 +#, no-c-format +msgid "Sum" +msgstr "Somme" + +#. i18n: file dumpselectionbase.ui line 579 +#: rc.cpp:198 +#, no-c-format +msgid "Miscellaneous:" +msgstr "Divers :" + +#. i18n: file dumpselectionbase.ui line 617 +#: rc.cpp:201 +#, no-c-format +msgid "Show" +msgstr "Afficher" + +#. i18n: file dumpselectionbase.ui line 625 +#: rc.cpp:204 +#, no-c-format +msgid "Compare" +msgstr "Comparer" + +#. i18n: file dumpselectionbase.ui line 637 +#: rc.cpp:207 +#, no-c-format +msgid "State" +msgstr "État" + +#. i18n: file dumpselectionbase.ui line 656 +#: rc.cpp:210 +#, no-c-format +msgid "Update" +msgstr "Mise à jour" + +#. i18n: file dumpselectionbase.ui line 664 +#: rc.cpp:213 +#, no-c-format +msgid "Every [s]:" +msgstr "Toutes les (sec) :" + +#. i18n: file dumpselectionbase.ui line 677 +#: rc.cpp:216 +#, no-c-format +msgid "Counter" +msgstr "Compteur" + +#. i18n: file dumpselectionbase.ui line 699 +#: rc.cpp:222 +#, no-c-format +msgid "Dumps Done" +msgstr "Clichés terminés" + +#. i18n: file dumpselectionbase.ui line 713 +#: rc.cpp:225 +#, no-c-format +msgid "Is Collecting" +msgstr "Collecte en cours" + +#. i18n: file dumpselectionbase.ui line 727 +#: rc.cpp:228 +#, no-c-format +msgid "Executed" +msgstr "Exécuté" + +#. i18n: file dumpselectionbase.ui line 740 +#: rc.cpp:231 +#, no-c-format +msgid "Basic Blocks" +msgstr "Blocs basiques" + +#. i18n: file dumpselectionbase.ui line 754 +#: callmapview.cpp:63 rc.cpp:234 rc.cpp:339 +#, no-c-format +msgid "Calls" +msgstr "Appels" + +#. i18n: file dumpselectionbase.ui line 796 +#: rc.cpp:243 +#, no-c-format +msgid "Ir" +msgstr "Ir" + +#. i18n: file dumpselectionbase.ui line 811 +#: rc.cpp:246 +#, no-c-format +msgid "Distinct" +msgstr "Différent" + +#. i18n: file dumpselectionbase.ui line 824 +#: configdlg.cpp:58 rc.cpp:249 +#, no-c-format +msgid "ELF Objects" +msgstr "Objets ELF" + +#. i18n: file dumpselectionbase.ui line 838 +#: rc.cpp:252 +#, no-c-format +msgid "Functions" +msgstr "Fonctions" + +#. i18n: file dumpselectionbase.ui line 852 +#: rc.cpp:255 +#, no-c-format +msgid "Contexts" +msgstr "Contextes" + +#. i18n: file dumpselectionbase.ui line 890 +#: rc.cpp:258 +#, no-c-format +msgid "Stack trace:" +msgstr "Trace de la pile :" + +#. i18n: file dumpselectionbase.ui line 898 +#: rc.cpp:261 +#, no-c-format +msgid "Sync." +msgstr "Synchro." + +#. i18n: file dumpselectionbase.ui line 950 +#: callmapview.cpp:61 rc.cpp:276 rc.cpp:321 +#, no-c-format +msgid "Location" +msgstr "Emplacement" + +#. i18n: file dumpselectionbase.ui line 976 +#: rc.cpp:279 +#, no-c-format +msgid "Start" +msgstr "Démarrer" + +#. i18n: file dumpselectionbase.ui line 1001 +#: rc.cpp:282 +#, no-c-format +msgid "Zero" +msgstr "Zéro" + +#. i18n: file dumpselectionbase.ui line 1009 +#: rc.cpp:285 +#, no-c-format +msgid "Dump" +msgstr "Cliché" + +#. i18n: file dumpselectionbase.ui line 1021 +#: rc.cpp:288 +#, no-c-format +msgid "Messages" +msgstr "Messages" + +#. i18n: file dumpselectionbase.ui line 1045 +#: rc.cpp:291 +#, no-c-format +msgid "Kill Run" +msgstr "Tuer l'exécution" + +#. i18n: file functionselectionbase.ui line 41 +#: rc.cpp:300 +#, no-c-format +msgid "&Search:" +msgstr "&Recherche :" + +#. i18n: file functionselectionbase.ui line 73 +#: rc.cpp:306 +#, no-c-format +msgid "Group" +msgstr "Groupe" + +#. i18n: file partselectionbase.ui line 60 +#: rc.cpp:327 +#, no-c-format +msgid "(no trace parts)" +msgstr "(aucune partie de trace)" + +#. i18n: file stackselectionbase.ui line 16 +#: rc.cpp:330 +#, no-c-format +msgid "Stack Selection" +msgstr "Sélection de la pile" + +#. i18n: file stackselectionbase.ui line 42 +#: rc.cpp:336 +#, no-c-format +msgid "Cost2" +msgstr "Coût2" + +#: treemap.cpp:1281 +#, c-format +msgid "Text %1" +msgstr "Texte %1" + +#: treemap.cpp:2809 +msgid "Recursive Bisection" +msgstr "Bissection récursive" + +#: treemap.cpp:2810 +msgid "Columns" +msgstr "Colonnes" + +#: treemap.cpp:2811 +msgid "Rows" +msgstr "Lignes" + +#: treemap.cpp:2812 +msgid "Always Best" +msgstr "Toujours le meilleur" + +#: treemap.cpp:2813 +msgid "Best" +msgstr "Meilleur" + +#: treemap.cpp:2814 +msgid "Alternate (V)" +msgstr "Alternatif (V)" + +#: treemap.cpp:2815 +msgid "Alternate (H)" +msgstr "Alternatif (H)" + +#: treemap.cpp:2872 +msgid "Nesting" +msgstr "Imbrication" + +#: treemap.cpp:2875 +msgid "Correct Borders Only" +msgstr "Corriger seulement les bordures" + +#: treemap.cpp:2877 treemap.cpp:2878 treemap.cpp:2879 treemap.cpp:2880 +#, c-format +msgid "Width %1" +msgstr "Largeur %1" + +#: callmapview.cpp:321 treemap.cpp:2889 +msgid "Shading" +msgstr "Ombre" + +#: treemap.cpp:2902 +msgid "Visible" +msgstr "Visible" + +#: treemap.cpp:2903 +msgid "Take Space From Children" +msgstr "Prendre de l'espace à l'enfant" + +#: treemap.cpp:2905 +msgid "Top Left" +msgstr "Haut gauche" + +#: treemap.cpp:2906 +msgid "Top Center" +msgstr "Haut centre" + +#: treemap.cpp:2907 +msgid "Top Right" +msgstr "Haut droite" + +#: treemap.cpp:2909 +msgid "Bottom Center" +msgstr "Bas centre" + +#: treemap.cpp:2910 +msgid "Bottom Right" +msgstr "Bas droite" + +#: treemap.cpp:2987 +msgid "No %1 Limit" +msgstr "Pas de limite de %1" + +#: callmapview.cpp:243 treemap.cpp:3039 +msgid "No Area Limit" +msgstr "Pas de limite de zone" + +#: callmapview.cpp:258 treemap.cpp:3045 +msgid "Area of '%1' (%2)" +msgstr "Zone de « %1 » (%2)" + +#: treemap.cpp:3056 treemap.cpp:3067 +#, c-format +msgid "" +"_n: 1 Pixel\n" +"%n Pixels" +msgstr "" +"1 pixel\n" +"%n pixels" + +#: callmapview.cpp:264 treemap.cpp:3071 +msgid "Double Area Limit (to %1)" +msgstr "Doubler la zone (à %1)" + +#: treemap.cpp:3073 +msgid "Halve Area Limit (to %1)" +msgstr "Réduire la zone (à %1)" + +#: callmapview.cpp:187 treemap.cpp:3101 +msgid "No Depth Limit" +msgstr "Pas de limite de profondeur" + +#: callmapview.cpp:198 treemap.cpp:3107 +msgid "Depth of '%1' (%2)" +msgstr "Profondeur de « %1 » (%2)" + +#: treemap.cpp:3118 +#, c-format +msgid "Depth %1" +msgstr "Profondeur %1" + +#: treemap.cpp:3122 +msgid "Decrement (to %1)" +msgstr "Décrémenter (à %1)" + +#: treemap.cpp:3124 +msgid "Increment (to %1)" +msgstr "Incrémenter (à %1)" + +#: callmapview.cpp:98 +msgid "" +"Caller Map" +"

      This graph shows the nested hierarchy of all callers of the current " +"activated function. Each colored rectangle represents a function; its size " +"tries to be proportional to the cost spent therein while the active function is " +"running (however, there are drawing constrains).

      " +msgstr "" +"Carte des fonctions appelantes" +"

      Ce graphique présente une hiérarchie imbriquée de toutes les fonctions " +"appelantes de la fonction sélectionnée. Chaque rectangle coloré représente une " +"fonction ; sa taille est proportionnelle au coût enregistré dans celle-ci lors " +"de l'exécution de la fonction appelée (avec des contraintes d'affichage " +"toutefois).

      " + +#: callmapview.cpp:105 +msgid "" +"Call Map" +"

      This graph shows the nested hierarchy of all callees of the current " +"activated function. Each colored rectangle represents a function; its size " +"tries to be proportional to the cost spent therein while the active function is " +"running (however, there are drawing constrains).

      " +msgstr "" +"Carte des fonctions appelées" +"

      Ce graphique présente une hiérarchie imbriquée de toutes les fonctions " +"appelées par la fonction sélectionnée. Chaque rectangle coloré représente une " +"fonction ; sa taille est proportionnelle au coût enregistré dans celle-ci lors " +"de l'exécution de la fonction appelante (avec des contraintes d'affichage " +"toutefois).

      " + +#: callmapview.cpp:113 +msgid "" +"

      Appearance options can be found in the in the context menu. To get exact " +"size proportions, choose 'Hide incorrect borders'. As this mode can be " +"very time consuming, you may want to limit the maximum drawn nesting level " +"before. 'Best' determinates the split direction for children from the aspect " +"ratio of the parent. 'Always Best' decides on remaining space for each sibling. " +"'Ignore Proportions' takes space for function name drawing before " +"drawing children. Note that size proportions can get heavily wrong.

      " +"

      This is a TreeMap widget. Keyboard navigation is available with the " +"left/right arrow keys for traversing siblings, and up/down arrow keys to go a " +"nesting level up/down. Return activates the current item.

      " +msgstr "" +"

      Les options d'apparences se trouvent dans le menu contextuel. Pour avoir des " +"proportions exactes, choisissez l'option « Ignorer les bordures incorrectes ». " +"Comme ce mode peut être très consommateur de ressources, vous devriez " +"d'abord limiter la profondeur maximale d'affichage. « Meilleur » détermine la " +"direction pour scinder la fonction fille à partir de l'aspect de la fonction " +"parente. « Toujours le meilleur » prend la place libre aux autres fonctions de " +"même rang. « Ignorer les proportions » prend la place nécessaire à l'affichage " +"du nom de la fonction avant d'afficher les fonctions filles. Notez que " +"les proportions peuvent devenir totalement fausses.

      " +"

      C'est un élément de type graphique de type TreeMap" +". La navigation par le clavier est possible avec les flèches gauche/droite du " +"clavier pour passer d'une fonction à une autre de même niveau, et les flèches " +"haut/bas du clavier pour remonter/descendre d'un niveau d'imbrication. " +"Entrée active l'élément courant.

      " + +#: callmapview.cpp:167 +msgid "Go To" +msgstr "Aller à" + +#: callmapview.cpp:184 +msgid "Stop at Depth" +msgstr "Arrêter à une profondeur de" + +#: callmapview.cpp:190 +msgid "Depth 10" +msgstr "Profondeur de 10" + +#: callmapview.cpp:192 +msgid "Depth 15" +msgstr "Profondeur de 15" + +#: callmapview.cpp:194 +msgid "Depth 20" +msgstr "Profondeur de 20" + +#: callmapview.cpp:204 +msgid "Decrement Depth (to %1)" +msgstr "Décrémenter la profondeur (à %1)" + +#: callmapview.cpp:205 +msgid "Increment Depth (to %1)" +msgstr "Incrémenter la profondeur (à %1)" + +#: callmapview.cpp:209 +msgid "Stop at Function" +msgstr "Arrêter à la fonction" + +#: callmapview.cpp:210 +msgid "No Function Limit" +msgstr "Aucun arrêt" + +#: callmapview.cpp:240 +msgid "Stop at Area" +msgstr "Arrêter dans la zone" + +#: callmapview.cpp:246 +msgid "50 Pixels" +msgstr "50 pixels" + +#: callmapview.cpp:248 +msgid "100 Pixels" +msgstr "100 pixels" + +#: callmapview.cpp:250 +msgid "200 Pixels" +msgstr "200 pixels" + +#: callmapview.cpp:252 +msgid "500 Pixels" +msgstr "500 pixels" + +#: callmapview.cpp:266 +msgid "Half Area Limit (to %1)" +msgstr "Réduire la zone (à %1)" + +#: callmapview.cpp:273 +msgid "Visualisation" +msgstr "Affichage" + +#: callmapview.cpp:277 +msgid "Split Direction" +msgstr "Direction pour scinder" + +#: callmapview.cpp:279 +msgid "Skip Incorrect Borders" +msgstr "Ignorer les bordures incorrectes" + +#: callmapview.cpp:284 +msgid "Border Width" +msgstr "Largeur des bordures" + +#: callmapview.cpp:285 +msgid "Border 0" +msgstr "Bordure 0" + +#: callmapview.cpp:288 +msgid "Border 1" +msgstr "Bordure 1" + +#: callmapview.cpp:290 +msgid "Border 2" +msgstr "Bordure 2" + +#: callmapview.cpp:292 +msgid "Border 3" +msgstr "Bordure 3" + +#: callmapview.cpp:297 +msgid "Draw Symbol Names" +msgstr "Afficher les noms des symboles" + +#: callmapview.cpp:298 +msgid "Draw Cost" +msgstr "Afficher le coût" + +#: callmapview.cpp:299 +msgid "Draw Location" +msgstr "Afficher l'emplacement" + +#: callmapview.cpp:300 +msgid "Draw Calls" +msgstr "Afficher les appels" + +#: callmapview.cpp:431 +msgid "Call Map: Current is '%1'" +msgstr "Carte des fonctions appelées : Actuellement « %1 »" + +#: callmapview.cpp:599 +msgid "(no function)" +msgstr "(aucune fonction)" + +#: callmapview.cpp:741 callmapview.cpp:858 +msgid "(no call)" +msgstr "(aucun appel)" + +#: cachegrindloader.cpp:141 +msgid "Import filter for Cachegrind/Callgrind generated profile data files" +msgstr "" +"Filtre d'importation pour les fichiers de données de profilage générés par " +"Cachegrind/Callgrind" + +#: cachegrindloader.cpp:738 +#, c-format +msgid "Loading %1" +msgstr "Chargement de %1" + +#: callview.cpp:47 callview.cpp:51 +msgid "Count" +msgstr "Compte" + +#: callview.cpp:85 +msgid "" +"List of direct Callers" +"

      This list shows all functions calling the current selected one directly, " +"together with a call count and the cost spent in the current selected function " +"while being called from the function from the list.

      " +"

      An icon instead of an inclusive cost specifies that this is a call inside of " +"a recursive cycle. An inclusive cost makes no sense here.

      " +"

      Selecting a function makes it the current selected one of this information " +"panel. If there are two panels (Split mode), the function of the other panel is " +"changed instead.

      " +msgstr "" +"Liste des fonctions appelantes directes" +"

      Cette liste affiche toutes les fonctions appelantes de la fonction " +"sélectionnée, avec un compteur d'appels et le coût enregistré dans la fonction " +"sélectionnée depuis chacune des fonctions.

      " +"

      Si une icône s'affiche à la place du coût inclusif, cela signifie que cet " +"appel à lieu lors d'un cycle récursif. Un coût inclusif n'aurait aucun sens " +"ici.

      " +"

      Si vous cliquez sur une fonction, elle est définie comme la nouvelle " +"fonction sélectionnée pour ce panneau. S'il y a deux panneaux (mode scindé), " +"l'autre panneau reçoit également ce changement.

      " + +#: callview.cpp:98 +msgid "" +"List of direct Callees" +"

      This list shows all functions called by the current selected one directly, " +"together with a call count and the cost spent in this function while being " +"called from the selected function.

      " +"

      Selecting a function makes it the current selected one of this information " +"panel. If there are two panels (Split mode), the function of the other panel is " +"changed instead.

      " +msgstr "" +"Liste des fonctions appelées directes" +"

      Cette liste affiche toutes les fonctions appelées, directement, par la " +"fonction sélectionnée, avec un compteur d'appels et le coût enregistré dans " +"chacune des fonctions depuis la fonction sélectionnée.

      " +"

      Si vous cliquez sur une fonction, elle est définie comme la nouvelle " +"fonction sélectionnée pour ce panneau. S'il y a deux panneaux (mode scindé), " +"l'autre panneau reçoit également ce changement.

      " + +#: costtypeitem.cpp:56 +msgid "Unknown Type" +msgstr "Type inconnu" + +#: tips.cpp:3 +msgid "" +"

      ...that the What's This? help for every GUI widget\n" +"in KCachegrind contains detailed usage information for this widget?\n" +"It is highly recommended to read at least these help texts on first\n" +"use. Request What's This? help by pressing\n" +"Shift+F1 and clicking on the widget.

      \n" +msgstr "" +"

      L'aide Qu'est-ce que c'est ? de chaque composant graphique de\n" +"KCachegrind contient une explication détaillée sur le composant. \n" +"Il est fortement recommandé de lire ces textes à la première\n" +"utilisation. Appelez l'aide Qu'est-ce que c'est ? en appuyant sur \n" +"Majuscule + F1 puis en cliquant sur le composant voulu.

      \n" + +#: tips.cpp:12 +msgid "" +"

      ...that you can get profile information at instruction level\n" +"with Calltree when you provide the option --dump-instr=yes?\n" +"Use the Assembler View for the instruction annotations.\n" +"

      \n" +msgstr "" +"

      ...que vous pouvez avoir un profilage détaillé, au niveau des instructions,\n" +"en fournissant l'option --dump-instr=yes à Calltree ?\n" +"Utilisez ensuite la vue Assembleur pour voir les annotations des instructions.\n" +"

      \n" + +#: tips.cpp:20 +msgid "" +"

      ...that you can use Alt-Left/Right keys of your keyboard to go\n" +"back/forward in the active object history ?

      \n" +msgstr "" +"

      ...que vous pouvez utiliser les raccourcis Alt + Flèche Gauche/Droite\n" +"pour aller au suivant ou revenir au précédent dans l'historique des objets " +"activés ?

      \n" + +#: tips.cpp:26 +msgid "" +"

      ...that you can navigate in the Callee/Caller Map View using\n" +"arrow keys? Use Left/Right to change to siblings of the current\n" +"item; use Up/Down to go one nesting level up/down. To select\n" +"the current item, press Space, and to activate it, press Return.\n" +"

      \n" +msgstr "" +"

      ...que vous pouvez naviguer dans la Carte des Fonctions Appelées/Appelantes " +"en utilisant\n" +"les flèches du clavier ? Utilisez les flèches Gauche/Droite pour naviguer entre " +"les éléments de même rang ; \n" +"Utilisez les flèches Haut/Bas pour remonter/descendre d'un niveau " +"d'imbrication.\n" +"Pour sélectionner l'élément courant, appuyez sur Espace, et pour l'activer " +"appuyez sur Entrée.\n" +"

      \n" + +#: tips.cpp:35 +msgid "" +"

      ...that you can navigate in the Call Graph View using\n" +"arrow keys? Use Up/Down to go one calling level up/down, alternating\n" +"between calls and functions. Use Left/Right to change to siblings of a current\n" +"selected call. To activate the current item, press Return.\n" +"

      \n" +msgstr "" +"

      ...que vous pouvez naviguer dans le Graphique des Appels en utilisant\n" +"les flèches du clavier ? Utilisez les flèches Haut/Bas pour remonter/descendre " +"d'un niveau d'imbrication entre les appels et les fonctions.\n" +"Utilisez les flèches Gauche/Droite pour naviguer entre les éléments de même " +"rang d'un appel sélectionné ; \n" +"Pour activer l'élément courant, appuyez sur Entrée.\n" +"

      \n" + +#: tips.cpp:44 +msgid "" +"

      ...that you can rapidly locate a function by entering part of its\n" +"name (case-insensitive) into the edit line of the toolbar\n" +"and hit return?

      \n" +msgstr "" +"

      ...que vous pouvez trouver une fonction rapidement en saisissant une partie " +"de son\n" +"nom (sensible à la casse) dans le champ de la barre d'outils\n" +"et en appuyant sur Entrée ?

      \n" + +#: tips.cpp:51 +msgid "" +"

      ...that you can assign custom colors to \n" +"ELF objects/C++ Classes/Source Files for graph coloring\n" +"in Settings->Configure KCachegrind...?

      \n" +msgstr "" +"

      ...que vous pouvez assigner des couleurs personnalisées aux\n" +"objets ELF/Classes C++/Fichiers sources pour des graphiques colorés dans " +"Configuration / Configurer KCachegrind... ?

      \n" + +#: tips.cpp:58 +msgid "" +"

      ...that you can see if debug info is available for a selected \n" +"function by looking at the location label in the Info tab or\n" +"the source listing header in the source tab?

      \n" +"

      There must be the name of the source file (with extension).\n" +"If KCachegrind still doesn't show the source, make sure that you\n" +"have added the directory of the source file to the\n" +"Source Directories list in the configuration.\n" +msgstr "" +"

      ...que vous pouvez voir si des informations de débogage sont\n" +"disponibles pour une fonction donnée, en regardant l'emplacement\n" +"dans l'onglet d'informations ou l'en-tête de listage des sources dans\n" +"l'onglet « source » ?

      \n" +"

      Le nom du fichier source (avec l'extension) doit être présent.\n" +"Si KCachegrind n'affiche toujours pas le code source, vérifiez que\n" +"vous avez ajouté le dossier des fichiers sources dans la liste " +"Dossiers sources de la configuration.\n" + +#: tips.cpp:69 +msgid "" +"

      ...that you can configure whether KCachgrind should\n" +"show absolute event counts or relative ones (percentage display)?

      \n" +msgstr "" +"

      ...que vous pouvez configurer si KCachegrind doit afficher\n" +"les coûts absolus ou relatifs (affichage de pourcentages) des événements ?

      \n" + +#: tips.cpp:75 +msgid "" +"

      ...that you can configure the maximum number of items\n" +"for all function lists in KCachegrind? Limiting the number\n" +"of items is done to get a fast reacting GUI. The last item in\n" +"the list will show you the number of skipped functions, together\n" +"with a cost condition for these skipped functions.

      \n" +"

      To activate a function with small costs, search for it and select\n" +"it in the flat profile. Selecting functions with small cost will\n" +"temporarily add them to the flat profile list.

      \n" +msgstr "" +"

      ...que vous pouvez configurer le nombre maximal d'éléments\n" +"pour toutes les listes de fonctions de KCachegrind ? Cela améliore\n" +"la réactivité de l'interface graphique. Le dernier élément de la liste\n" +"affichera le nombre de fonctions ignorées, ainsi qu'une condition de\n" +"coût pour ces fonctions.

      \n" +"

      Pour activer une fonction aux coûts faibles, recherchez la et\n" +"sélectionnez la dans le profilage aplati. Elle y sera alors provisoirement\n" +"ajoutée.

      \n" + +#: tips.cpp:87 +msgid "" +"

      ...that the Coverage tab - in contrast to the Call Lists tab -\n" +"shows all functions that are calling the selected function\n" +"(upper part) / are called by the selected function (bottom part),\n" +"no matter how many function are between them on the stack?

      \n" +"

      Examples:

      \n" +"

      An entry in the upper list for function foo1() with a value of 50%\n" +"with function bar() selected means that 50% of all the cost of function\n" +"bar() happened while called from function foo1().

      \n" +"

      An entry in the bottom list for function foo2() with a value of 50%\n" +"with function bar() selected means that 50% of all the cost of function\n" +"bar() happened while calling foo2() from bar().

      \n" +msgstr "" +"

      ...que les onglets « Toutes les Fonctions Appelantes/Appelées », " +"contrairement\n" +"aux onglets « Fonctions Appelantes/Appelées », affichent toutes les\n" +"fonctions appelant la fonction sélectionnée (partie supérieure) / appelées\n" +"par la fonction sélectionnée (partie inférieure), quel que soit le nombre de\n" +"fonctions entre elles dans la pile ?

      \n" +"

      Exemples :

      \n" +"

      Une entrée dans la liste supérieure pour la fonction foo1() avec une valeur\n" +"de 50 % avec la fonction bar() sélectionnée signifie que 50 % du coût de la\n" +"fonction bar() s'est produit lors de l'appel par la fonction foo1().

      \n" +"

      Une entrée dans la liste inférieure pour la fonction foo2() avec une valeur\n" +"de 50 % avec la fonction bar() sélectionnée signifie que 50 % du coût de la\n" +"fonction bar() s'est produit lors de l'appel de la fonction foo2() par la\n" +"fonction bar().

      \n" + +#: tips.cpp:102 +msgid "" +"

      ...that waiting for the tool tip inside of a tree map\n" +"shows the list of names of the nested rectangles the mouse\n" +"pointer is over?

      \n" +"

      Items from this list can be selected by pressing the right\n" +"mouse button.

      \n" +msgstr "" +"

      ...que laisser la souris sur la carte des fonctions appelées affichent la " +"liste des noms des rectangles imbriqués ?

      \n" +"

      Les éléments de cette liste peuvent être sélectionnés en cliquant avec le " +"bouton droit de la souris.

      \n" + +#: tips.cpp:111 +msgid "" +"

      ...that you can constrain the cost counts shown to only a\n" +"few parts of the whole trace by selecting these parts in the\n" +"\"Trace Selection\" Dockable?

      \n" +"

      To generate multiple parts in a profiling run with\n" +"cachegrind, use e.g. option --cachedumps=xxx for parts\n" +"of a length of xxx basic blocks (A basic block is a run\n" +"of not-branching assembler statements inside of your program\n" +"code).

      \n" +msgstr "" +"

      ...que vous pouvez restreindre les comptages de coût affichés seulement à\n" +"une partie de la trace, en sélectionnant ces parties dans\n" +" « sélection de la trace » ?

      \n" +"

      Pour générer plusieurs parties dans un même profilage effectué\n" +"avec Cachegrind, utilisez par exemple l'option « --cachedumps=xxx » \n" +"pour des parties d'une longueur de xxx blocs de base (un bloc de base\n" +"est une suite d'instructions assembleur sans embranchement à\n" +"l'intérieur du code de votre programme).

      \n" + +#: configdlg.cpp:60 +msgid "Source Files" +msgstr "Fichiers sources" + +#: configdlg.cpp:61 +msgid "C++ Classes" +msgstr "Classes C++" + +#: configdlg.cpp:62 +msgid "Function (no Grouping)" +msgstr "Fonction (aucun regroupement)" + +#: configdlg.cpp:157 configdlg.cpp:350 configdlg.cpp:371 +msgid "(always)" +msgstr "(toujours)" + +#: configdlg.cpp:210 +msgid "KCachegrind Configuration" +msgstr "Configuration de KCachegrind" + +#: configdlg.cpp:211 +msgid "" +"The Maximum Number of List Items should be below 500.The previous set value " +"(%1) will still be used." +msgstr "" +"Le nombre maximum d'éléments dans la liste devrait être inférieur à 500. La " +"valeur définie précédemment (%1) est conservée." + +#: configdlg.cpp:384 +msgid "Choose Source Folder" +msgstr "Choisissez le dossier des sources" + +#: partgraph.cpp:167 +#, c-format +msgid "Profile Part %1" +msgstr "Partie du profilage %1" + +#: partgraph.cpp:226 +msgid "(no trace)" +msgstr "(aucune trace)" + +#: partgraph.cpp:229 +msgid "(no part)" +msgstr "(aucune partie)" + +#: partview.cpp:51 +msgid "Comment" +msgstr "Commentaire" + +#: partview.cpp:73 +msgid "" +"Trace Part List" +"

      This list shows all trace parts of the loaded trace. For each part, the " +"self/inclusive cost of the current selected function, spent in the part, is " +"shown; percentage costs are always relative to the total cost " +"of the part (not to the whole trace as in the Trace Part Overview). Also " +"shown are the calls happening to/from the current function inside of the trace " +"part.

      " +"

      By choosing one or more trace parts from the list, the costs shown all over " +"KCachegrind will only be the ones spent in the selected part(s). If no list " +"selection is shown, in fact all trace parts are selected implicitly.

      " +"

      This is a multi-selection list. You can select ranges by dragging the mouse " +"or use SHIFT/CTRL modifiers. Selection/Deselection of trace parts can also be " +"done by using the Trace Part Overview Dockable. This one also supports multiple " +"selection.

      " +"

      Note that the list is hidden if only one trace part is loaded.

      " +msgstr "" +"Liste des parties de la trace " +"

      Cette liste affiche toutes les parties de la trace chargée. Pour chaque " +"partie, le coût propre/inclusif, enregistré dans la partie, de la fonction " +"sélectionnée est affiché ; les coûts en pourcentage sont toujours relatifs au " +"total des coûts de la partie (pas à toute la trace comme dans la " +"Synthèse des parties de la trace). Sont aussi affichés les appels provenant " +"de/allant vers la fonction courante dans la partie de trace.

      " +"

      En sélectionnant une ou plusieurs parties de la trace dans la liste, les " +"coûts affichés partout dans KCachegrind seront uniquement ceux enregistrés dans " +"la(les) partie(s) sélectionnée(s). Si aucune sélection n'est faite, toutes les " +"parties de la trace sont sélectionnées implicitement.

      " +"

      Cette liste accepte les sélections multiples. Vous pouvez sélectionner des " +"intervalles avec la souris et les touches Majuscule/Ctrl. La " +"sélection/désélection de parties de la trace peut aussi être faite via la " +"synthèse des parties de la trace. Celle-ci accepte également les sélections " +"multiples.

      " +"

      Notez bien que cette liste est cachée si la trace chargée ne contient qu'une " +"seule partie.

      " + +#: partview.cpp:106 +msgid "Select '%1'" +msgstr "Sélectionner « %1 »" + +#: partview.cpp:107 +msgid "Hide '%1'" +msgstr "Masquer « %1 »" + +#: partview.cpp:111 +msgid "Hide Selected" +msgstr "Masquer la sélection" + +#: partview.cpp:112 +msgid "Show All" +msgstr "Afficher tout" -- cgit v1.2.1