[kde-doc-english] [kdoctools] /: Allow installing files named the same in different directories, take 2
Aurélien Gâteau
agateau at kde.org
Wed May 7 15:08:17 UTC 2014
Git commit afd2913aae783b3ee5d2228b89c46db0f114502c by Aurélien Gâteau.
Committed on 07/05/2014 at 15:08.
Pushed by gateau into branch 'master'.
Allow installing files named the same in different directories, take 2
This fixes the breakage introduced by commit 28ad7396f2281b519004f7c4a628665936af61b5,
which did not support the classic use case of calling
kdoctool_create_*(index.docbook) from different CMakeLists.txt files.
Reviewed-by: tosky
M +68 -96 KF5DocToolsMacros.cmake
A +5 -0 tests/create-from-current-dir-test/CMakeLists.txt
A +2 -0 tests/create-from-current-dir-test/README.md
A +1 -0 tests/create-from-current-dir-test/docs/CMakeLists.txt
A +2 -0 tests/create-from-current-dir-test/docs/kioslave/CMakeLists.txt
A +2 -0 tests/create-from-current-dir-test/docs/kioslave/data/CMakeLists.txt
A +54 -0 tests/create-from-current-dir-test/docs/kioslave/data/index.docbook
A +2 -0 tests/create-from-current-dir-test/docs/kioslave/file/CMakeLists.txt
A +27 -0 tests/create-from-current-dir-test/docs/kioslave/file/index.docbook
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/afd2913aae783b3ee5d2228b89c46db0f114502c
diff --git a/KF5DocToolsMacros.cmake b/KF5DocToolsMacros.cmake
index 51caf34..ab45ce7 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 ${build_doc})
+ 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 ${build_doc})
+ 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/create-from-current-dir-test/CMakeLists.txt b/tests/create-from-current-dir-test/CMakeLists.txt
new file mode 100644
index 0000000..f2ddac1
--- /dev/null
+++ b/tests/create-from-current-dir-test/CMakeLists.txt
@@ -0,0 +1,5 @@
+cmake_minimum_required(VERSION 2.8)
+
+find_package(KF5DocTools REQUIRED)
+
+add_subdirectory(docs)
diff --git a/tests/create-from-current-dir-test/README.md b/tests/create-from-current-dir-test/README.md
new file mode 100644
index 0000000..a206b80
--- /dev/null
+++ b/tests/create-from-current-dir-test/README.md
@@ -0,0 +1,2 @@
+This tests verifies one can call `kdoctools_create_handbook()` in different
+directories using the same docbook filename.
diff --git a/tests/create-from-current-dir-test/docs/CMakeLists.txt b/tests/create-from-current-dir-test/docs/CMakeLists.txt
new file mode 100644
index 0000000..7507d6c
--- /dev/null
+++ b/tests/create-from-current-dir-test/docs/CMakeLists.txt
@@ -0,0 +1 @@
+add_subdirectory(kioslave)
diff --git a/tests/create-from-current-dir-test/docs/kioslave/CMakeLists.txt b/tests/create-from-current-dir-test/docs/kioslave/CMakeLists.txt
new file mode 100644
index 0000000..93d9b5a
--- /dev/null
+++ b/tests/create-from-current-dir-test/docs/kioslave/CMakeLists.txt
@@ -0,0 +1,2 @@
+add_subdirectory(data)
+add_subdirectory(file)
diff --git a/tests/create-from-current-dir-test/docs/kioslave/data/CMakeLists.txt b/tests/create-from-current-dir-test/docs/kioslave/data/CMakeLists.txt
new file mode 100644
index 0000000..028a0db
--- /dev/null
+++ b/tests/create-from-current-dir-test/docs/kioslave/data/CMakeLists.txt
@@ -0,0 +1,2 @@
+########### install files ###############
+kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kioslave5/data)
diff --git a/tests/create-from-current-dir-test/docs/kioslave/data/index.docbook b/tests/create-from-current-dir-test/docs/kioslave/data/index.docbook
new file mode 100644
index 0000000..2cb24b4
--- /dev/null
+++ b/tests/create-from-current-dir-test/docs/kioslave/data/index.docbook
@@ -0,0 +1,54 @@
+<?xml version="1.0" ?>
+<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN"
+"dtd/kdedbx45.dtd" [
+<!ENTITY % addindex "IGNORE">
+<!ENTITY % English "INCLUDE" > <!-- change language only here -->
+]>
+
+<article lang="&language;" id="data">
+<title>Data URLs</title>
+
+<articleinfo>
+<authorgroup>
+<author><personname><firstname>Leo</firstname><surname>Savernik</surname></personname>
+<address><email>l.savernik at aon.at</email></address>
+</author>
+<!-- TRANS:ROLES_OF_TRANSLATORS -->
+</authorgroup>
+
+<date>2003-02-06</date>
+<!--releaseinfo>2.20.00</releaseinfo-->
+
+</articleinfo>
+
+<para>Data URLs allow small document data to be included in the URL itself.
+This is useful for very small HTML testcases or other occasions that do not
+justify a document of their own.</para>
+
+<para><userinput>data:,foobar</userinput>
+(note the comma after the colon) will deliver a text document that contains
+nothing but <literal>foobar</literal>
+</para>
+
+<para>The last example delivered a text document. For HTML documents one
+has to specify the MIME type <literal>text/html</literal>:
+<userinput>data:text/html,<title>Testcase</title><p>This
+is a testcase</p></userinput>. This will produce exactly the same
+output as if the content had been loaded from a document of its own.
+</para>
+
+<para>Specifying alternate character sets is also possible. Note that 8-Bit
+characters have to be escaped by a percentage sign and their two-digit
+hexadecimal codes:
+<userinput>data:;charset=iso-8859-1,Gr%FC%DFe aus Schl%E4gl</userinput>
+results in
+<literal>Grüße aus Schlägl</literal>
+whereas omitting the charset attribute might lead to something like
+<literal>Gr??e aus Schl?gl</literal>
+</para>
+
+<para><ulink url="http://www.ietf.org/rfc/rfc2397.txt">IETF
+RFC2397</ulink> provides more information.</para>
+
+</article>
+
diff --git a/tests/create-from-current-dir-test/docs/kioslave/file/CMakeLists.txt b/tests/create-from-current-dir-test/docs/kioslave/file/CMakeLists.txt
new file mode 100644
index 0000000..6786a09
--- /dev/null
+++ b/tests/create-from-current-dir-test/docs/kioslave/file/CMakeLists.txt
@@ -0,0 +1,2 @@
+########### install files ###############
+kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kioslave5/file)
diff --git a/tests/create-from-current-dir-test/docs/kioslave/file/index.docbook b/tests/create-from-current-dir-test/docs/kioslave/file/index.docbook
new file mode 100644
index 0000000..38e9d05
--- /dev/null
+++ b/tests/create-from-current-dir-test/docs/kioslave/file/index.docbook
@@ -0,0 +1,27 @@
+<?xml version="1.0" ?>
+<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN"
+"dtd/kdedbx45.dtd" [
+<!ENTITY % addindex "IGNORE">
+<!ENTITY % English "INCLUDE" > <!-- change language only here -->
+]>
+
+<article lang="&language;" id="file">
+<title>file</title>
+<articleinfo>
+<authorgroup>
+<author>&Ferdinand.Gassauer; &Ferdinand.Gassauer.mail;</author>
+<!-- TRANS:ROLES_OF_TRANSLATORS -->
+</authorgroup>
+</articleinfo>
+
+<para>
+The <emphasis>file</emphasis> protocol is used by all &kde; applications to
+display locally available files.
+</para>
+<para>
+Entering
+<userinput><command>file:/directoryname</command></userinput> in &konqueror;
+ lists the files of this folder.
+</para>
+
+</article>
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