[kde-doc-english] [kdoctools] /: Allow installing files named the same in different directories

Aurélien Gâteau agateau at kde.org
Wed May 7 12:44:57 UTC 2014


Git commit 28ad7396f2281b519004f7c4a628665936af61b5 by Aurélien Gâteau.
Committed on 07/05/2014 at 12:41.
Pushed by gateau into branch 'master'.

Allow installing files named the same in different directories

This rewrites kdoctools_create_handbook and kdoctools_create_manpage so that
they work in situations like these:

    kdoctools_create_handbook(po/fr/index.docbook)
    kdoctools_create_handbook(po/es/index.docbook)

Which is what happens when they are called from kdoctools_install().

REVIEW: 118004

M  +68   -96   KF5DocToolsMacros.cmake
A  +5    -0    tests/kdoctools_install-test/CMakeLists.txt
A  +124  -0    tests/kdoctools_install-test/po/es/docs/index.docbook
A  +124  -0    tests/kdoctools_install-test/po/es/docs/kioslave5/fooslave/index.docbook
A  +293  -0    tests/kdoctools_install-test/po/es/docs/man-kjscmd.1.docbook
A  +124  -0    tests/kdoctools_install-test/po/fr/docs/index.docbook
A  +293  -0    tests/kdoctools_install-test/po/fr/docs/man-kjscmd.1.docbook

http://commits.kde.org/kdoctools/28ad7396f2281b519004f7c4a628665936af61b5

diff --git a/KF5DocToolsMacros.cmake b/KF5DocToolsMacros.cmake
index 51caf34..a1a9347 100644
--- a/KF5DocToolsMacros.cmake
+++ b/KF5DocToolsMacros.cmake
@@ -10,11 +10,10 @@
 #   INSTALL_DESTINATION <installdest>, or to <installdest>/<subdir> if
 #   SUBDIR <subdir> is specified.
 #
-#  KDOCTOOLS_CREATE_MANPAGE( docbookfile section )
+#  KDOCTOOLS_CREATE_MANPAGE( docbookfile section [INSTALL_DESTINATION installdest])
 #   Create the manpage for the specified section from the docbookfile (using meinproc5)
 #   The resulting manpage will be installed to <installdest> when using
-#   INSTALL_DESTINATION <installdest>, or to <installdest>/<subdir> if
-#   SUBDIR <subdir> is specified.
+#   INSTALL_DESTINATION <installdest>.
 #
 #  KDOCTOOLS_INSTALL(podir)
 #   Search for docbook files in <podir> and install them to the standard
@@ -68,14 +67,27 @@ if(KDOCTOOLS_SERIALIZE_TOOL)
     set(KDOCTOOLS_MEINPROC_EXECUTABLE ${KDOCTOOLS_SERIALIZE_TOOL} ${KDOCTOOLS_MEINPROC_EXECUTABLE})
 endif(KDOCTOOLS_SERIALIZE_TOOL)
 
-macro(_SUGGEST_TARGET_NAME _out)
-    string(REPLACE "${CMAKE_SOURCE_DIR}/" "" ${_out} "${CMAKE_CURRENT_SOURCE_DIR}")
-    string(REGEX REPLACE "[^0-9a-zA-Z]" "-" ${_out} "${${_out}}")
-endmacro()
+function(create_target_name out in)
+    string(REGEX REPLACE "[^0-9a-zA-Z]" "-" tmp "${in}")
+    set(${out} ${tmp} PARENT_SCOPE)
+endfunction()
+
+function (kdoctools_create_handbook docbook)
+    # Parse arguments
+    set(options)
+    set(oneValueArgs INSTALL_DESTINATION SUBDIR)
+    set(multiValueArgs)
+    cmake_parse_arguments(ARGS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
 
-macro (KDOCTOOLS_CREATE_HANDBOOK _docbook)
-    get_filename_component(_input ${_docbook} ABSOLUTE)
-    set(_doc ${CMAKE_CURRENT_BINARY_DIR}/index.cache.bz2)
+    # Init vars
+    get_filename_component(docbook ${docbook} ABSOLUTE)
+    file(RELATIVE_PATH src_doc ${CMAKE_CURRENT_SOURCE_DIR} ${docbook})
+    get_filename_component(src_dir ${src_doc} DIRECTORY)
+    set(build_dir ${CMAKE_CURRENT_BINARY_DIR}/${src_dir})
+    set(build_doc ${build_dir}/index.cache.bz2)
+
+    # Create some place to store our files
+    file(MAKE_DIRECTORY ${build_dir})
 
     #Bootstrap
     if (_kdoctoolsBootStrapping)
@@ -85,23 +97,16 @@ macro (KDOCTOOLS_CREATE_HANDBOOK _docbook)
     endif ()
     set(_ssheet "${KDOCTOOLS_CUSTOMIZATION_DIR}/kde-chunk.xsl")
 
-    file(GLOB _docs *.docbook)
-
-#    if (CMAKE_CROSSCOMPILING)
-#        set(IMPORT_MEINPROC5_EXECUTABLE "${KDE_HOST_TOOLS_PATH}/ImportMeinProc5Executable.cmake" CACHE FILEPATH "Point it to the export file of meinproc5 from a native build")
-#        include(${IMPORT_MEINPROC5_EXECUTABLE})
-#        set(KDOCTOOLS_MEINPROC_EXECUTABLE meinproc5)
-#    endif (CMAKE_CROSSCOMPILING)
+    file(GLOB src_docs ${src_dir}/*.docbook)
 
-    add_custom_command(OUTPUT ${_doc}
-        COMMAND ${KDOCTOOLS_MEINPROC_EXECUTABLE} --check ${_bootstrapOption} --cache ${_doc} ${_input}
-        DEPENDS ${_docs} ${_ssheet}
+    add_custom_command(OUTPUT ${build_doc}
+        COMMAND ${KDOCTOOLS_MEINPROC_EXECUTABLE} --check ${_bootstrapOption} --cache ${build_doc} ${src_doc}
+        DEPENDS ${src_docs} ${_ssheet}
         WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
     )
 
-    _suggest_target_name(_targ)
-    set(_targ "${_targ}-handbook")
-    add_custom_target(${_targ} ALL DEPENDS ${_doc})
+    create_target_name(_targ ${src_doc}-handbook)
+    add_custom_target(${_targ} ALL DEPENDS ${build_doc})
 
     if(KDOCTOOLS_ENABLE_HTMLHANDBOOK)
         set(_htmlDoc ${CMAKE_CURRENT_SOURCE_DIR}/index.html)
@@ -113,48 +118,40 @@ macro (KDOCTOOLS_CREATE_HANDBOOK _docbook)
         add_custom_target(htmlhandbook DEPENDS ${_htmlDoc})
     endif(KDOCTOOLS_ENABLE_HTMLHANDBOOK)
 
-    set(_args ${ARGN})
-
-    set(_installDest)
-    if(_args)
-        list(GET _args 0 _tmp)
-        if("${_tmp}" STREQUAL "INSTALL_DESTINATION")
-            list(GET _args 1 _installDest )
-            list(REMOVE_AT _args 0 1)
-        endif("${_tmp}" STREQUAL "INSTALL_DESTINATION")
-    endif(_args)
-
-    get_filename_component(dirname ${CMAKE_CURRENT_SOURCE_DIR} NAME_WE)
-    if(_args)
-        list(GET _args 0 _tmp)
-        if("${_tmp}" STREQUAL "SUBDIR")
-            list(GET _args 1 dirname )
-            list(REMOVE_AT _args 0 1)
-        endif("${_tmp}" STREQUAL "SUBDIR")
-    endif(_args)
-
-    if(_installDest)
-        file(GLOB _images *.png)
-        install(FILES ${_doc} ${_docs} ${_images} DESTINATION ${_installDest}/${dirname})
+    set(installDest "${ARGS_INSTALL_DESTINATION}")
+    if(installDest)
+        set(subdir "${ARGS_SUBDIR}")
+        file(GLOB images ${src_dir}/*.png)
+        install(FILES ${build_doc} ${src_docs} ${images} DESTINATION ${installDest}/${subdir})
         # TODO symlinks on non-unix platforms
         if (UNIX)
             # execute some cmake code on make install which creates the symlink
-            install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink \"${_installDest}/common\"  \"\$ENV{DESTDIR}${_installDest}/${dirname}/common\" )" )
+            install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink \"${installDest}/common\" \"\$ENV{DESTDIR}${installDest}/${subdir}/common\" )" )
         endif (UNIX)
-    endif(_installDest)
+    endif()
+
+endfunction()
 
-endmacro (KDOCTOOLS_CREATE_HANDBOOK)
 
+function (kdoctools_create_manpage docbook section)
+    # Parse arguments
+    set(options)
+    set(oneValueArgs INSTALL_DESTINATION)
+    set(multiValueArgs)
+    cmake_parse_arguments(ARGS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
 
-macro (KDOCTOOLS_CREATE_MANPAGE _docbook _section)
-    get_filename_component(_input ${_docbook} ABSOLUTE)
-    get_filename_component(_base ${_input} NAME)
+    # Init vars
+    get_filename_component(docbook ${docbook} ABSOLUTE)
+    file(RELATIVE_PATH src_doc ${CMAKE_CURRENT_SOURCE_DIR} ${docbook})
+    get_filename_component(src_dir ${src_doc} DIRECTORY)
+    set(build_dir ${CMAKE_CURRENT_BINARY_DIR}/${src_dir})
 
-    string(REGEX REPLACE "\\.${_section}\\.docbook$" "" _base ${_base})
+    get_filename_component(name ${src_doc} NAME)
+    string(REGEX REPLACE "^man-(.*)\\.${section}\\.docbook$" "\\1" name ${name})
+    set(build_doc ${build_dir}/${name}.${section})
 
-    set(_doc ${CMAKE_CURRENT_BINARY_DIR}/${_base}.${_section})
-    # sometimes we have "man-" prepended
-    string(REGEX REPLACE "/man-" "/" _outdoc ${_doc})
+    # Create some place to store our files
+    file(MAKE_DIRECTORY ${build_dir})
 
     #Bootstrap
     if (_kdoctoolsBootStrapping)
@@ -164,47 +161,22 @@ macro (KDOCTOOLS_CREATE_MANPAGE _docbook _section)
     endif ()
     set(_ssheet "${KDOCTOOLS_CUSTOMIZATION_DIR}/kde-include-man.xsl")
 
-#    if (CMAKE_CROSSCOMPILING)
-#        set(IMPORT_MEINPROC5_EXECUTABLE "${KDE_HOST_TOOLS_PATH}/ImportMeinProc5Executable.cmake" CACHE FILEPATH "Point it to the export file of meinproc5 from a native build")
-#        include(${IMPORT_MEINPROC5_EXECUTABLE})
-#        set(KDOCTOOLS_MEINPROC_EXECUTABLE meinproc5)
-#    endif (CMAKE_CROSSCOMPILING)
-
-    add_custom_command(OUTPUT ${_outdoc}
-        COMMAND ${KDOCTOOLS_MEINPROC_EXECUTABLE} --stylesheet ${_ssheet} --check ${_bootstrapOption} ${_input}
-        DEPENDS ${_input} ${_ssheet}
+    add_custom_command(OUTPUT ${build_doc}
+        COMMAND ${KDOCTOOLS_MEINPROC_EXECUTABLE} --stylesheet ${_ssheet} --check ${_bootstrapOption} ${CMAKE_CURRENT_SOURCE_DIR}/${src_doc}
+        DEPENDS ${src_doc} ${_ssheet}
+        WORKING_DIRECTORY ${build_dir}
     )
-    _suggest_target_name(_targ)
-    set(_targ "${_targ}-manpage-${_base}")
-    add_custom_target(${_targ} ALL DEPENDS "${_outdoc}")
-
-    set(_args ${ARGN})
-
-    set(_installDest)
-    if(_args)
-        list(GET _args 0 _tmp)
-        if("${_tmp}" STREQUAL "INSTALL_DESTINATION")
-            list(GET _args 1 _installDest )
-            list(REMOVE_AT _args 0 1)
-        endif("${_tmp}" STREQUAL "INSTALL_DESTINATION")
-    endif(_args)
-
-    get_filename_component(dirname ${CMAKE_CURRENT_SOURCE_DIR} NAME_WE)
-    if(_args)
-        list(GET _args 0 _tmp)
-        if("${_tmp}" STREQUAL "SUBDIR")
-            list(GET _args 1 dirname )
-            list(REMOVE_AT _args 0 1)
-        endif("${_tmp}" STREQUAL "SUBDIR")
-    endif(_args)
-
-    if(_installDest)
-        install(FILES ${_outdoc} DESTINATION ${_installDest}/man${_section})
-    endif(_installDest)
-endmacro (KDOCTOOLS_CREATE_MANPAGE)
-
-
-function(KDOCTOOLS_INSTALL podir)
+
+    create_target_name(_targ ${src_doc}-manpage)
+    add_custom_target(${_targ} ALL DEPENDS "${build_doc}")
+
+    if(ARGS_INSTALL_DESTINATION)
+        install(FILES ${build_doc} DESTINATION ${ARGS_INSTALL_DESTINATION}/man${section})
+    endif()
+endfunction()
+
+
+function(kdoctools_install podir)
     file(GLOB lang_dirs "${podir}/*")
     if (NOT MAN_INSTALL_DIR)
         set(MAN_INSTALL_DIR share/man)
diff --git a/tests/kdoctools_install-test/CMakeLists.txt b/tests/kdoctools_install-test/CMakeLists.txt
new file mode 100644
index 0000000..b9a3377
--- /dev/null
+++ b/tests/kdoctools_install-test/CMakeLists.txt
@@ -0,0 +1,5 @@
+cmake_minimum_required(VERSION 2.8)
+
+find_package(KF5DocTools REQUIRED)
+
+kdoctools_install(po)
diff --git a/tests/kdoctools_install-test/po/es/docs/index.docbook b/tests/kdoctools_install-test/po/es/docs/index.docbook
new file mode 100644
index 0000000..0862f30
--- /dev/null
+++ b/tests/kdoctools_install-test/po/es/docs/index.docbook
@@ -0,0 +1,124 @@
+<?xml version="1.0" ?>
+<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [
+  <!ENTITY kappname "&sonnet;">
+  <!ENTITY % French "INCLUDE"
+> <!-- change language only here -->
+  <!ENTITY % addindex "IGNORE">
+]>
+
+<article id="sonnet" lang="&language;">
+
+<articleinfo>
+<!--title
+>The &sonnet; Handbook</title-->
+<title
+>Outil de correction d'orthographe</title>
+
+<authorgroup>
+<author
+>&David.Sweet; &David.Sweet.mail;</author>
+
+&traducteurYvesDessertine;&traducteurJosephRichard; 
+</authorgroup>
+
+<date
+>02/09/2010</date>
+<releaseinfo
+>&kde; 4.5</releaseinfo>
+<abstract>
+<para
+>&sonnet; est le correcteur orthographique utilisé par les applications &kde;, telles que &kate;, &kmail; et &kword;. C'est une interface graphique pour différents correcteurs orthographiques. Vous trouverez davantage de renseignements sur les correcteurs orthographiques et dictionnaires requis dans la documentation du module de la &configurationDuSysteme; <ulink url="help:kcontrol/spellchecking"
+>Correcteur orthographique</ulink
+>.</para>
+
+</abstract>
+<keywordset>
+<keyword
+>orthographe</keyword>
+<keyword
+>orthographe</keyword>
+<keyword
+>sonnet</keyword>
+<keyword
+>Ispell</keyword>
+<keyword
+>Aspell</keyword>
+<keyword
+>vérification</keyword>
+<keyword
+>vérificateur</keyword>
+<keyword
+>KDE</keyword>
+</keywordset>
+</articleinfo>
+
+<para
+><anchor id="spelldlg"/> La première ligne de la fenêtre de dialogue affiche le mot potentiellement mal orthographié qui a été découvert dans votre document. &sonnet; tente de trouver un mot approprié pour le remplacer. Il peut en proposer un ou plusieurs.</para>
+<para
+>La proposition la plus pertinente est affichée à la droite de <guilabel
+>Remplacer par</guilabel
+>. Pour accepter ce remplacement, cliquez sur <guibutton
+>Remplacer</guibutton
+>.</para
+> 
+<para
+>Vous pouvez également sélectionner un mot depuis une liste de suggestions et ensuite cliquer sur <guibutton
+>Remplacer</guibutton
+> afin de remplacer le mot mal orthographié par la suggestion sélectionnée. Pour ajouter des suggestions supplémentaires depuis le dictionnaire, cliquez sur le bouton <guibutton
+>Suggérer</guibutton
+>.</para>
+
+<para
+>Pour conserver votre orthographe originale, cliquez sur <guilabel
+>Ignorer</guilabel
+>.</para>
+
+<para
+>Pour arrêter la vérification de l'orthographe tout en conservant les modifications déjà effectuées, cliquez sur <guibutton
+>Terminé</guibutton
+>.</para>
+
+<para
+>Pour arrêter la vérification de l'orthographe et annuler les modifications effectuées, cliquez sur <guibutton
+>Annuler</guibutton
+>.</para>
+
+<para
+>Cliquer sur <guibutton
+>Tout remplacer</guibutton
+> va effectuer la même fonction que si vous cliquiez sur <guibutton
+>Remplacer</guibutton
+>, mais va automatiquement remplacer le mot mal orthographié par le mot de remplacement choisi s'il réapparaît (plus loin) dans votre document.</para>
+
+<para
+>Le bouton <guibutton
+>Toujours ignorer</guibutton
+> ignore cette occurrence et toutes les occurrences futures du mot mal orthographié.</para>
+
+<para
+>Le fait de cliquer sur <guibutton
+>Ajouter au dictionnaire</guibutton
+> va ajouter le mot mal orthographié à votre dictionnaire personnel (celui-ci est dissocié du dictionnaire original du système, de sorte que les ajouts que vous effectuez ne soient pas visibles par les autres utilisateurs). Le fait de cliquer sur <guibutton
+>Ajouter</guibutton
+> va ajouter le mot mal orthographié à votre dictionnaire personnel (celui-ci est dissocié du dictionnaire original du système, de sorte que les ajouts que vous effectuez ne soient pas visibles par les autres utilisateurs).</para>
+
+<para
+>La liste déroulante <guilabel
+>Langue</guilabel
+> en bas de cette fenêtre de dialogue vous permet de changer temporairement de dictionnaire.</para>
+
+<para
+>Les options de la configuration par défaut sont accessibles dans le module de la &configurationDuSysteme; <ulink url="help:kcontrol/spellchecking"
+>Correcteur orthographique</ulink
+>.</para>
+
+</article>
+<!--
+Local Variables:
+mode: sgml
+sgml-omittag: nil
+sgml-shorttag: t
+sgml-general-insert-case: lower
+End:
+-->
+
diff --git a/tests/kdoctools_install-test/po/es/docs/kioslave5/fooslave/index.docbook b/tests/kdoctools_install-test/po/es/docs/kioslave5/fooslave/index.docbook
new file mode 100644
index 0000000..0862f30
--- /dev/null
+++ b/tests/kdoctools_install-test/po/es/docs/kioslave5/fooslave/index.docbook
@@ -0,0 +1,124 @@
+<?xml version="1.0" ?>
+<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [
+  <!ENTITY kappname "&sonnet;">
+  <!ENTITY % French "INCLUDE"
+> <!-- change language only here -->
+  <!ENTITY % addindex "IGNORE">
+]>
+
+<article id="sonnet" lang="&language;">
+
+<articleinfo>
+<!--title
+>The &sonnet; Handbook</title-->
+<title
+>Outil de correction d'orthographe</title>
+
+<authorgroup>
+<author
+>&David.Sweet; &David.Sweet.mail;</author>
+
+&traducteurYvesDessertine;&traducteurJosephRichard; 
+</authorgroup>
+
+<date
+>02/09/2010</date>
+<releaseinfo
+>&kde; 4.5</releaseinfo>
+<abstract>
+<para
+>&sonnet; est le correcteur orthographique utilisé par les applications &kde;, telles que &kate;, &kmail; et &kword;. C'est une interface graphique pour différents correcteurs orthographiques. Vous trouverez davantage de renseignements sur les correcteurs orthographiques et dictionnaires requis dans la documentation du module de la &configurationDuSysteme; <ulink url="help:kcontrol/spellchecking"
+>Correcteur orthographique</ulink
+>.</para>
+
+</abstract>
+<keywordset>
+<keyword
+>orthographe</keyword>
+<keyword
+>orthographe</keyword>
+<keyword
+>sonnet</keyword>
+<keyword
+>Ispell</keyword>
+<keyword
+>Aspell</keyword>
+<keyword
+>vérification</keyword>
+<keyword
+>vérificateur</keyword>
+<keyword
+>KDE</keyword>
+</keywordset>
+</articleinfo>
+
+<para
+><anchor id="spelldlg"/> La première ligne de la fenêtre de dialogue affiche le mot potentiellement mal orthographié qui a été découvert dans votre document. &sonnet; tente de trouver un mot approprié pour le remplacer. Il peut en proposer un ou plusieurs.</para>
+<para
+>La proposition la plus pertinente est affichée à la droite de <guilabel
+>Remplacer par</guilabel
+>. Pour accepter ce remplacement, cliquez sur <guibutton
+>Remplacer</guibutton
+>.</para
+> 
+<para
+>Vous pouvez également sélectionner un mot depuis une liste de suggestions et ensuite cliquer sur <guibutton
+>Remplacer</guibutton
+> afin de remplacer le mot mal orthographié par la suggestion sélectionnée. Pour ajouter des suggestions supplémentaires depuis le dictionnaire, cliquez sur le bouton <guibutton
+>Suggérer</guibutton
+>.</para>
+
+<para
+>Pour conserver votre orthographe originale, cliquez sur <guilabel
+>Ignorer</guilabel
+>.</para>
+
+<para
+>Pour arrêter la vérification de l'orthographe tout en conservant les modifications déjà effectuées, cliquez sur <guibutton
+>Terminé</guibutton
+>.</para>
+
+<para
+>Pour arrêter la vérification de l'orthographe et annuler les modifications effectuées, cliquez sur <guibutton
+>Annuler</guibutton
+>.</para>
+
+<para
+>Cliquer sur <guibutton
+>Tout remplacer</guibutton
+> va effectuer la même fonction que si vous cliquiez sur <guibutton
+>Remplacer</guibutton
+>, mais va automatiquement remplacer le mot mal orthographié par le mot de remplacement choisi s'il réapparaît (plus loin) dans votre document.</para>
+
+<para
+>Le bouton <guibutton
+>Toujours ignorer</guibutton
+> ignore cette occurrence et toutes les occurrences futures du mot mal orthographié.</para>
+
+<para
+>Le fait de cliquer sur <guibutton
+>Ajouter au dictionnaire</guibutton
+> va ajouter le mot mal orthographié à votre dictionnaire personnel (celui-ci est dissocié du dictionnaire original du système, de sorte que les ajouts que vous effectuez ne soient pas visibles par les autres utilisateurs). Le fait de cliquer sur <guibutton
+>Ajouter</guibutton
+> va ajouter le mot mal orthographié à votre dictionnaire personnel (celui-ci est dissocié du dictionnaire original du système, de sorte que les ajouts que vous effectuez ne soient pas visibles par les autres utilisateurs).</para>
+
+<para
+>La liste déroulante <guilabel
+>Langue</guilabel
+> en bas de cette fenêtre de dialogue vous permet de changer temporairement de dictionnaire.</para>
+
+<para
+>Les options de la configuration par défaut sont accessibles dans le module de la &configurationDuSysteme; <ulink url="help:kcontrol/spellchecking"
+>Correcteur orthographique</ulink
+>.</para>
+
+</article>
+<!--
+Local Variables:
+mode: sgml
+sgml-omittag: nil
+sgml-shorttag: t
+sgml-general-insert-case: lower
+End:
+-->
+
diff --git a/tests/kdoctools_install-test/po/es/docs/man-kjscmd.1.docbook b/tests/kdoctools_install-test/po/es/docs/man-kjscmd.1.docbook
new file mode 100644
index 0000000..6a3a7f5
--- /dev/null
+++ b/tests/kdoctools_install-test/po/es/docs/man-kjscmd.1.docbook
@@ -0,0 +1,293 @@
+<?xml version="1.0" ?>
+<!DOCTYPE refentry PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [
+  <!ENTITY % French "INCLUDE"
+><!-- change language only here -->
+]>
+
+<refentry>
+
+<refentryinfo>
+<title
+>Manuel de l'Utilisateur de &kde;</title>
+
+<!-- with help from http://linuxcommand.org/man_pages/kjscmd1.html -->
+
+<author
+><firstname
+>Harri</firstname
+> <surname
+>Porten</surname
+> <affiliation
+> <address
+><email
+>porten at kde.org</email
+></address>
+</affiliation>
+</author>
+
+<date
+>2008-10-16</date>
+<releaseinfo
+>0.01.01</releaseinfo>
+
+</refentryinfo>
+
+<refmeta>
+<refentrytitle
+><command
+>kjscmd</command
+></refentrytitle>
+<manvolnum
+>1</manvolnum>
+</refmeta>
+
+<refnamediv>
+<refname
+><command
+>kjscmd</command
+></refname>
+<refpurpose
+>Interpréteur KJSEmbed de &kde;</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<title
+>Synopsis</title>
+
+<cmdsynopsis
+><command
+>kjscmd</command
+> <arg choice="opt"
+>--help</arg
+> <group
+> <arg choice="opt"
+>-e</arg
+> <arg choice="opt"
+>--exec</arg
+> </group
+> <group
+> <arg choice="opt"
+>-i</arg
+> <arg choice="opt"
+>-interactive</arg
+> </group
+> <group
+> <arg choice="opt"
+>-n</arg
+> <arg choice="opt"
+>-no-kde</arg
+> </group
+> <arg choice="opt"
+>fichier</arg
+> </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+<title
+>Description</title>
+
+<para
+><command
+>kjscmd</command
+> est un outil permettant de lancer des scripts KJSEmbed depuis la ligne de commande. Il exécutera les scripts contenus dans le <parameter
+>fichier</parameter
+> nommé en utilisant KJSEmbed. Il n'accepte pas - (stdin) comme <parameter
+>fichier</parameter
+>. </para>
+</refsect1>
+<!--
+<refsect1>
+<title
+>Generic Options</title>
+<para>
+<variablelist>
+
+<varlistentry>
+<term
+><option
+>- -author</option
+></term>
+<listitem>
+<para>
+Show author information.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><option
+>- -help</option
+></term>
+<listitem>
+<para>
+Show help about options.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><option
+>- -help-all</option
+></term>
+<listitem>
+<para>
+Show all options.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><option
+>- -help-kde</option
+></term>
+<listitem>
+<para>
+Show KDE specific options.
+</para>
+
+
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><option
+>- -help-qt</option
+></term>
+<listitem>
+<para>
+Show Qt specific options.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><option
+>- -license</option
+></term>
+<listitem>
+<para>
+Show license information.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><option
+>-v</option
+><option
+>- -version</option
+></term>
+<listitem>
+<para>
+Show version information
+</para>
+</listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+</refsect1>
+-->
+
+<refsect1>
+<title
+>Options de l'Application</title>
+<variablelist>
+
+<varlistentry>
+<term
+><option
+>-e</option
+>,<option
+>--exec</option
+></term>
+<listitem>
+<para
+>exécute le script contenu dans le <parameter
+>fichier</parameter
+> sans interface graphique. </para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><option
+>-i</option
+>,<option
+>--interactive</option
+></term>
+<listitem>
+<para
+>lance l'interpréteur interactif <command
+>kjs</command
+>.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><option
+>-n</option
+>,<option
+>--no-kde</option
+></term>
+<listitem>
+<para
+>démarre sans gestion de KApplication de &kde;</para>
+</listitem>
+</varlistentry>
+
+
+</variablelist>
+
+</refsect1>
+
+<refsect1>
+<title
+>Utilisation</title>
+<para
+>La façon la plus fréquente de lancer <command
+>kjscmd</command
+> est simplement <literallayout>
+<userinput
+><command
+>kjscmd</command
+> <parameter
+>fichier</parameter>
+</userinput>
+</literallayout
+> Si aucun paramètre <parameter
+>fichier</parameter
+> n'est saisi, il exécute le script de test prédéfini qui permet de mesurer la vitesse de démarrage de<command
+>kjscmd</command
+>. </para>
+</refsect1>
+
+<refsect1>
+<title
+>Voir Aussi</title>
+<para
+><replaceable
+>kjs</replaceable
+>(1)</para>
+</refsect1>
+
+<refsect1>
+<title
+>Bogues</title>
+<para
+>Il y a probablement un tas de bogues. Utilisez <ulink url="http://bugs.kde.org"
+>bugs.kde.org</ulink
+> pour les signaler.</para>
+</refsect1>
+
+</refentry>
+
+
+
diff --git a/tests/kdoctools_install-test/po/fr/docs/index.docbook b/tests/kdoctools_install-test/po/fr/docs/index.docbook
new file mode 100644
index 0000000..0862f30
--- /dev/null
+++ b/tests/kdoctools_install-test/po/fr/docs/index.docbook
@@ -0,0 +1,124 @@
+<?xml version="1.0" ?>
+<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [
+  <!ENTITY kappname "&sonnet;">
+  <!ENTITY % French "INCLUDE"
+> <!-- change language only here -->
+  <!ENTITY % addindex "IGNORE">
+]>
+
+<article id="sonnet" lang="&language;">
+
+<articleinfo>
+<!--title
+>The &sonnet; Handbook</title-->
+<title
+>Outil de correction d'orthographe</title>
+
+<authorgroup>
+<author
+>&David.Sweet; &David.Sweet.mail;</author>
+
+&traducteurYvesDessertine;&traducteurJosephRichard; 
+</authorgroup>
+
+<date
+>02/09/2010</date>
+<releaseinfo
+>&kde; 4.5</releaseinfo>
+<abstract>
+<para
+>&sonnet; est le correcteur orthographique utilisé par les applications &kde;, telles que &kate;, &kmail; et &kword;. C'est une interface graphique pour différents correcteurs orthographiques. Vous trouverez davantage de renseignements sur les correcteurs orthographiques et dictionnaires requis dans la documentation du module de la &configurationDuSysteme; <ulink url="help:kcontrol/spellchecking"
+>Correcteur orthographique</ulink
+>.</para>
+
+</abstract>
+<keywordset>
+<keyword
+>orthographe</keyword>
+<keyword
+>orthographe</keyword>
+<keyword
+>sonnet</keyword>
+<keyword
+>Ispell</keyword>
+<keyword
+>Aspell</keyword>
+<keyword
+>vérification</keyword>
+<keyword
+>vérificateur</keyword>
+<keyword
+>KDE</keyword>
+</keywordset>
+</articleinfo>
+
+<para
+><anchor id="spelldlg"/> La première ligne de la fenêtre de dialogue affiche le mot potentiellement mal orthographié qui a été découvert dans votre document. &sonnet; tente de trouver un mot approprié pour le remplacer. Il peut en proposer un ou plusieurs.</para>
+<para
+>La proposition la plus pertinente est affichée à la droite de <guilabel
+>Remplacer par</guilabel
+>. Pour accepter ce remplacement, cliquez sur <guibutton
+>Remplacer</guibutton
+>.</para
+> 
+<para
+>Vous pouvez également sélectionner un mot depuis une liste de suggestions et ensuite cliquer sur <guibutton
+>Remplacer</guibutton
+> afin de remplacer le mot mal orthographié par la suggestion sélectionnée. Pour ajouter des suggestions supplémentaires depuis le dictionnaire, cliquez sur le bouton <guibutton
+>Suggérer</guibutton
+>.</para>
+
+<para
+>Pour conserver votre orthographe originale, cliquez sur <guilabel
+>Ignorer</guilabel
+>.</para>
+
+<para
+>Pour arrêter la vérification de l'orthographe tout en conservant les modifications déjà effectuées, cliquez sur <guibutton
+>Terminé</guibutton
+>.</para>
+
+<para
+>Pour arrêter la vérification de l'orthographe et annuler les modifications effectuées, cliquez sur <guibutton
+>Annuler</guibutton
+>.</para>
+
+<para
+>Cliquer sur <guibutton
+>Tout remplacer</guibutton
+> va effectuer la même fonction que si vous cliquiez sur <guibutton
+>Remplacer</guibutton
+>, mais va automatiquement remplacer le mot mal orthographié par le mot de remplacement choisi s'il réapparaît (plus loin) dans votre document.</para>
+
+<para
+>Le bouton <guibutton
+>Toujours ignorer</guibutton
+> ignore cette occurrence et toutes les occurrences futures du mot mal orthographié.</para>
+
+<para
+>Le fait de cliquer sur <guibutton
+>Ajouter au dictionnaire</guibutton
+> va ajouter le mot mal orthographié à votre dictionnaire personnel (celui-ci est dissocié du dictionnaire original du système, de sorte que les ajouts que vous effectuez ne soient pas visibles par les autres utilisateurs). Le fait de cliquer sur <guibutton
+>Ajouter</guibutton
+> va ajouter le mot mal orthographié à votre dictionnaire personnel (celui-ci est dissocié du dictionnaire original du système, de sorte que les ajouts que vous effectuez ne soient pas visibles par les autres utilisateurs).</para>
+
+<para
+>La liste déroulante <guilabel
+>Langue</guilabel
+> en bas de cette fenêtre de dialogue vous permet de changer temporairement de dictionnaire.</para>
+
+<para
+>Les options de la configuration par défaut sont accessibles dans le module de la &configurationDuSysteme; <ulink url="help:kcontrol/spellchecking"
+>Correcteur orthographique</ulink
+>.</para>
+
+</article>
+<!--
+Local Variables:
+mode: sgml
+sgml-omittag: nil
+sgml-shorttag: t
+sgml-general-insert-case: lower
+End:
+-->
+
diff --git a/tests/kdoctools_install-test/po/fr/docs/man-kjscmd.1.docbook b/tests/kdoctools_install-test/po/fr/docs/man-kjscmd.1.docbook
new file mode 100644
index 0000000..6a3a7f5
--- /dev/null
+++ b/tests/kdoctools_install-test/po/fr/docs/man-kjscmd.1.docbook
@@ -0,0 +1,293 @@
+<?xml version="1.0" ?>
+<!DOCTYPE refentry PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [
+  <!ENTITY % French "INCLUDE"
+><!-- change language only here -->
+]>
+
+<refentry>
+
+<refentryinfo>
+<title
+>Manuel de l'Utilisateur de &kde;</title>
+
+<!-- with help from http://linuxcommand.org/man_pages/kjscmd1.html -->
+
+<author
+><firstname
+>Harri</firstname
+> <surname
+>Porten</surname
+> <affiliation
+> <address
+><email
+>porten at kde.org</email
+></address>
+</affiliation>
+</author>
+
+<date
+>2008-10-16</date>
+<releaseinfo
+>0.01.01</releaseinfo>
+
+</refentryinfo>
+
+<refmeta>
+<refentrytitle
+><command
+>kjscmd</command
+></refentrytitle>
+<manvolnum
+>1</manvolnum>
+</refmeta>
+
+<refnamediv>
+<refname
+><command
+>kjscmd</command
+></refname>
+<refpurpose
+>Interpréteur KJSEmbed de &kde;</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<title
+>Synopsis</title>
+
+<cmdsynopsis
+><command
+>kjscmd</command
+> <arg choice="opt"
+>--help</arg
+> <group
+> <arg choice="opt"
+>-e</arg
+> <arg choice="opt"
+>--exec</arg
+> </group
+> <group
+> <arg choice="opt"
+>-i</arg
+> <arg choice="opt"
+>-interactive</arg
+> </group
+> <group
+> <arg choice="opt"
+>-n</arg
+> <arg choice="opt"
+>-no-kde</arg
+> </group
+> <arg choice="opt"
+>fichier</arg
+> </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+<title
+>Description</title>
+
+<para
+><command
+>kjscmd</command
+> est un outil permettant de lancer des scripts KJSEmbed depuis la ligne de commande. Il exécutera les scripts contenus dans le <parameter
+>fichier</parameter
+> nommé en utilisant KJSEmbed. Il n'accepte pas - (stdin) comme <parameter
+>fichier</parameter
+>. </para>
+</refsect1>
+<!--
+<refsect1>
+<title
+>Generic Options</title>
+<para>
+<variablelist>
+
+<varlistentry>
+<term
+><option
+>- -author</option
+></term>
+<listitem>
+<para>
+Show author information.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><option
+>- -help</option
+></term>
+<listitem>
+<para>
+Show help about options.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><option
+>- -help-all</option
+></term>
+<listitem>
+<para>
+Show all options.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><option
+>- -help-kde</option
+></term>
+<listitem>
+<para>
+Show KDE specific options.
+</para>
+
+
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><option
+>- -help-qt</option
+></term>
+<listitem>
+<para>
+Show Qt specific options.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><option
+>- -license</option
+></term>
+<listitem>
+<para>
+Show license information.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><option
+>-v</option
+><option
+>- -version</option
+></term>
+<listitem>
+<para>
+Show version information
+</para>
+</listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+</refsect1>
+-->
+
+<refsect1>
+<title
+>Options de l'Application</title>
+<variablelist>
+
+<varlistentry>
+<term
+><option
+>-e</option
+>,<option
+>--exec</option
+></term>
+<listitem>
+<para
+>exécute le script contenu dans le <parameter
+>fichier</parameter
+> sans interface graphique. </para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><option
+>-i</option
+>,<option
+>--interactive</option
+></term>
+<listitem>
+<para
+>lance l'interpréteur interactif <command
+>kjs</command
+>.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><option
+>-n</option
+>,<option
+>--no-kde</option
+></term>
+<listitem>
+<para
+>démarre sans gestion de KApplication de &kde;</para>
+</listitem>
+</varlistentry>
+
+
+</variablelist>
+
+</refsect1>
+
+<refsect1>
+<title
+>Utilisation</title>
+<para
+>La façon la plus fréquente de lancer <command
+>kjscmd</command
+> est simplement <literallayout>
+<userinput
+><command
+>kjscmd</command
+> <parameter
+>fichier</parameter>
+</userinput>
+</literallayout
+> Si aucun paramètre <parameter
+>fichier</parameter
+> n'est saisi, il exécute le script de test prédéfini qui permet de mesurer la vitesse de démarrage de<command
+>kjscmd</command
+>. </para>
+</refsect1>
+
+<refsect1>
+<title
+>Voir Aussi</title>
+<para
+><replaceable
+>kjs</replaceable
+>(1)</para>
+</refsect1>
+
+<refsect1>
+<title
+>Bogues</title>
+<para
+>Il y a probablement un tas de bogues. Utilisez <ulink url="http://bugs.kde.org"
+>bugs.kde.org</ulink
+> pour les signaler.</para>
+</refsect1>
+
+</refentry>
+
+
+


More information about the kde-doc-english mailing list