summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2018-12-27 12:51:39 +0100
committerSlávek Banko <slavek.banko@axis.cz>2018-12-27 19:20:18 +0100
commit3aac1fb851abb5452f06a01194806ec41b0dacd8 (patch)
tree09d7b09ec160ff1fc30b121d22a7e468ea1fb0b9
parent3946c8ef277ca9a214cb9edbcc7cdfc710a5ca3a (diff)
downloadtdeedu-3aac1fb851abb5452f06a01194806ec41b0dacd8.tar.gz
tdeedu-3aac1fb851abb5452f06a01194806ec41b0dacd8.zip
Add CMakeL10n rules.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz> (cherry picked from commit b97668ea3912b7562afd4e4af132a88e8fd5ab16)
-rw-r--r--CMakeL10n.txt28
-rw-r--r--blinken/CMakeL10n.txt3
-rw-r--r--blinken/src/CMakeL10n.txt3
-rw-r--r--kalzium/CMakeL10n.txt3
-rw-r--r--kalzium/src/CMakeL10n.txt30
-rw-r--r--kanagram/CMakeL10n.txt3
-rw-r--r--kanagram/src/CMakeL10n.txt3
-rw-r--r--kbruch/CMakeL10n.txt3
-rw-r--r--kbruch/src/CMakeL10n.txt3
-rw-r--r--keduca/CMakeL10n.txt3
-rw-r--r--kgeography/CMakeL10n.txt3
-rw-r--r--kgeography/src/CMakeL10n.txt3
-rw-r--r--khangman/CMakeL10n.txt3
-rw-r--r--khangman/khangman/CMakeL10n.txt6
-rw-r--r--kig/CMakeL10n.txt39
-rw-r--r--kiten/CMakeL10n.txt3
-rw-r--r--klatin/CMakeL10n.txt3
-rw-r--r--klatin/klatin/CMakeL10n.txt3
-rw-r--r--klettres/CMakeL10n.txt3
-rw-r--r--klettres/klettres/CMakeL10n.txt3
-rw-r--r--kmplot/CMakeL10n.txt3
-rw-r--r--kmplot/kmplot/CMakeL10n.txt3
-rw-r--r--kpercentage/CMakeL10n.txt3
-rw-r--r--kpercentage/kpercentage/CMakeL10n.txt17
-rw-r--r--kstars/CMakeL10n.txt3
-rw-r--r--kstars/kstars/CMakeL10n.txt155
-rw-r--r--ktouch/CMakeL10n.txt3
-rw-r--r--ktouch/src/CMakeL10n.txt3
-rw-r--r--kturtle/CMakeL10n.txt3
-rw-r--r--kturtle/src/CMakeL10n.txt3
-rw-r--r--kverbos/CMakeL10n.txt3
-rw-r--r--kverbos/kverbos/CMakeL10n.txt3
-rw-r--r--kvoctrain/CMakeL10n.txt3
-rw-r--r--kvoctrain/kvoctrain/CMakeL10n.txt3
-rw-r--r--kwordquiz/CMakeL10n.txt3
-rw-r--r--kwordquiz/src/CMakeL10n.txt3
-rw-r--r--libtdeedu/CMakeL10n.txt3
37 files changed, 368 insertions, 0 deletions
diff --git a/CMakeL10n.txt b/CMakeL10n.txt
new file mode 100644
index 00000000..5aa13f20
--- /dev/null
+++ b/CMakeL10n.txt
@@ -0,0 +1,28 @@
+#################################################
+#
+# (C) 2018 Slávek Banko
+# slavek.banko (AT) axis.cz
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+cmake_minimum_required( VERSION 2.8 )
+
+
+##### include our cmake modules #################
+
+set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" )
+include( TDEL10n )
+
+
+##### set directory for POT files ###############
+
+set( POT_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../tde-i18n/template/messages/tdeedu" )
+
+
+##### create translation templates ##############
+
+tde_l10n_auto_add_subdirectories()
diff --git a/blinken/CMakeL10n.txt b/blinken/CMakeL10n.txt
new file mode 100644
index 00000000..b585ce4a
--- /dev/null
+++ b/blinken/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_auto_add_subdirectories( )
diff --git a/blinken/src/CMakeL10n.txt b/blinken/src/CMakeL10n.txt
new file mode 100644
index 00000000..25ded057
--- /dev/null
+++ b/blinken/src/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_create_template( "blinken" )
diff --git a/kalzium/CMakeL10n.txt b/kalzium/CMakeL10n.txt
new file mode 100644
index 00000000..b585ce4a
--- /dev/null
+++ b/kalzium/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_auto_add_subdirectories( )
diff --git a/kalzium/src/CMakeL10n.txt b/kalzium/src/CMakeL10n.txt
new file mode 100644
index 00000000..d15678c5
--- /dev/null
+++ b/kalzium/src/CMakeL10n.txt
@@ -0,0 +1,30 @@
+##### prepare xml files #########################
+
+tde_l10n_prepare_xml(
+ SOURCE data/data.xml
+ TAGS name
+)
+
+tde_l10n_prepare_xml(
+ SOURCE data/knowledge.xml
+ TAGS name desc refitem
+)
+
+tde_l10n_prepare_xml(
+ SOURCE data/tools.xml
+ TAGS name desc
+)
+
+
+##### create translation templates ##############
+
+tde_l10n_create_template(
+ CATALOG "kalzium"
+ SOURCES
+ "."
+ "data/data.xml.tde_l10n"
+ "data/knowledge.xml.tde_l10n"
+ "data/tools.xml.tde_l10n"
+ ATTRIBUTES
+ "data/data.xml:name,origin"
+)
diff --git a/kanagram/CMakeL10n.txt b/kanagram/CMakeL10n.txt
new file mode 100644
index 00000000..b585ce4a
--- /dev/null
+++ b/kanagram/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_auto_add_subdirectories( )
diff --git a/kanagram/src/CMakeL10n.txt b/kanagram/src/CMakeL10n.txt
new file mode 100644
index 00000000..d147482c
--- /dev/null
+++ b/kanagram/src/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_create_template( "kanagram" )
diff --git a/kbruch/CMakeL10n.txt b/kbruch/CMakeL10n.txt
new file mode 100644
index 00000000..b585ce4a
--- /dev/null
+++ b/kbruch/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_auto_add_subdirectories( )
diff --git a/kbruch/src/CMakeL10n.txt b/kbruch/src/CMakeL10n.txt
new file mode 100644
index 00000000..33af2b20
--- /dev/null
+++ b/kbruch/src/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_create_template( "kbruch" )
diff --git a/keduca/CMakeL10n.txt b/keduca/CMakeL10n.txt
new file mode 100644
index 00000000..a5935c38
--- /dev/null
+++ b/keduca/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_create_template( "keduca" )
diff --git a/kgeography/CMakeL10n.txt b/kgeography/CMakeL10n.txt
new file mode 100644
index 00000000..b585ce4a
--- /dev/null
+++ b/kgeography/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_auto_add_subdirectories( )
diff --git a/kgeography/src/CMakeL10n.txt b/kgeography/src/CMakeL10n.txt
new file mode 100644
index 00000000..2c931c82
--- /dev/null
+++ b/kgeography/src/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_create_template( "kgeography" )
diff --git a/khangman/CMakeL10n.txt b/khangman/CMakeL10n.txt
new file mode 100644
index 00000000..b585ce4a
--- /dev/null
+++ b/khangman/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_auto_add_subdirectories( )
diff --git a/khangman/khangman/CMakeL10n.txt b/khangman/khangman/CMakeL10n.txt
new file mode 100644
index 00000000..4c1710c6
--- /dev/null
+++ b/khangman/khangman/CMakeL10n.txt
@@ -0,0 +1,6 @@
+##### create translation templates ##############
+
+tde_l10n_create_template(
+ CATALOG "khangman"
+ SOURCES "data.i18n" "."
+)
diff --git a/kig/CMakeL10n.txt b/kig/CMakeL10n.txt
new file mode 100644
index 00000000..e63464d3
--- /dev/null
+++ b/kig/CMakeL10n.txt
@@ -0,0 +1,39 @@
+##### prepare kig templates #####################
+
+file( GLOB_RECURSE _kigt_files
+ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}/macros/*.kigt
+)
+list( SORT _kigt_files )
+unset( _kigt_l10n )
+foreach( _kigt_file ${_kigt_files} )
+ tde_l10n_prepare_xml(
+ SOURCE ${_kigt_file}
+ TAGS "Name" "Description" "UseText" "SelectStatement"
+ C_FORMAT
+ )
+ list( APPEND _kigt_l10n "${_kigt_file}.tde_l10n" )
+endforeach( )
+
+
+##### create translation templates ##############
+
+tde_l10n_create_template(
+ CATALOG "kig"
+ SOURCES
+ "."
+ "data/tips"
+ ${_kigt_l10n}
+ EXCLUDES
+ "^tdefile/"
+)
+
+tde_l10n_create_template(
+ CATALOG "tdefile_drgeo"
+ SOURCES "tdefile/tdefile_drgeo.cpp" "tdefile/tdefile_drgeo.h"
+)
+
+tde_l10n_create_template(
+ CATALOG "tdefile_kig"
+ SOURCES "tdefile/tdefile_kig.cpp" "tdefile/tdefile_kig.h"
+)
diff --git a/kiten/CMakeL10n.txt b/kiten/CMakeL10n.txt
new file mode 100644
index 00000000..c01d203f
--- /dev/null
+++ b/kiten/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_create_template( "kiten" )
diff --git a/klatin/CMakeL10n.txt b/klatin/CMakeL10n.txt
new file mode 100644
index 00000000..b585ce4a
--- /dev/null
+++ b/klatin/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_auto_add_subdirectories( )
diff --git a/klatin/klatin/CMakeL10n.txt b/klatin/klatin/CMakeL10n.txt
new file mode 100644
index 00000000..93b3ed56
--- /dev/null
+++ b/klatin/klatin/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_create_template( "klatin" )
diff --git a/klettres/CMakeL10n.txt b/klettres/CMakeL10n.txt
new file mode 100644
index 00000000..b585ce4a
--- /dev/null
+++ b/klettres/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_auto_add_subdirectories( )
diff --git a/klettres/klettres/CMakeL10n.txt b/klettres/klettres/CMakeL10n.txt
new file mode 100644
index 00000000..1af89757
--- /dev/null
+++ b/klettres/klettres/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_create_template( "klettres" )
diff --git a/kmplot/CMakeL10n.txt b/kmplot/CMakeL10n.txt
new file mode 100644
index 00000000..b585ce4a
--- /dev/null
+++ b/kmplot/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_auto_add_subdirectories( )
diff --git a/kmplot/kmplot/CMakeL10n.txt b/kmplot/kmplot/CMakeL10n.txt
new file mode 100644
index 00000000..29d59f9e
--- /dev/null
+++ b/kmplot/kmplot/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_create_template( "kmplot" )
diff --git a/kpercentage/CMakeL10n.txt b/kpercentage/CMakeL10n.txt
new file mode 100644
index 00000000..b585ce4a
--- /dev/null
+++ b/kpercentage/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_auto_add_subdirectories( )
diff --git a/kpercentage/kpercentage/CMakeL10n.txt b/kpercentage/kpercentage/CMakeL10n.txt
new file mode 100644
index 00000000..d9eee4a4
--- /dev/null
+++ b/kpercentage/kpercentage/CMakeL10n.txt
@@ -0,0 +1,17 @@
+##### prepare right and wrong files #############
+
+unset( _answers_l10n )
+foreach( _answers right.txt wrong.txt )
+ file( READ "${CMAKE_CURRENT_SOURCE_DIR}/${_answers}" _file_data )
+ string( REGEX REPLACE "(^|\n)([^\n]+)" "\\1i18n(\"\\2\");" _file_l10n "${_file_data}" )
+ file( WRITE "${CMAKE_CURRENT_SOURCE_DIR}/${_answers}.tde_l10n" "${_file_l10n}" )
+ list( APPEND _answers_l10n "${_answers}.tde_l10n" )
+endforeach( )
+
+
+##### create translation templates ##############
+
+tde_l10n_create_template(
+ CATALOG "kpercentage"
+ SOURCES "." ${_answers_l10n}
+)
diff --git a/kstars/CMakeL10n.txt b/kstars/CMakeL10n.txt
new file mode 100644
index 00000000..b585ce4a
--- /dev/null
+++ b/kstars/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_auto_add_subdirectories( )
diff --git a/kstars/kstars/CMakeL10n.txt b/kstars/kstars/CMakeL10n.txt
new file mode 100644
index 00000000..b666e209
--- /dev/null
+++ b/kstars/kstars/CMakeL10n.txt
@@ -0,0 +1,155 @@
+##### prepare strings from data files ###########
+
+message( STATUS "Prepare to extract strings from kstars data files..." )
+
+## extract constellations
+file( READ "${CMAKE_CURRENT_SOURCE_DIR}/data/cnames.dat" _cnames )
+string( REGEX REPLACE " +(\n|\$)" "\\1" _cnames "${_cnames}" )
+string( REGEX REPLACE
+ "(^|\n)[0-9][^ ]* ([^\n]+)"
+ "\\1i18n(\"Constellation name (optional)\", \"\\2\");"
+ _cnames "${_cnames}" )
+file( WRITE "${CMAKE_CURRENT_SOURCE_DIR}/data/cnames.dat.tde_l10n" "${_cnames}" )
+
+## extract cities, regions and countries
+file( READ "${CMAKE_CURRENT_SOURCE_DIR}/data/Cities.dat" _cities )
+string( REGEX REPLACE "(^|\n)([^:]*): *([^:]*): *([^:]*):[^\n]*" "\\1\\2:\\3:\\4:" _cities "${_cities}" )
+string( REGEX REPLACE " +:" ":" _cities "${_cities}" )
+string( REGEX REPLACE
+ "([^:]+):([^:]*):([^:]*):(\n|\$)"
+ "i18n(\"City name (optional, probably does not need a translation)\", \"\\1\"):\\2:\\3:\\4"
+ _cities "${_cities}" )
+string( REGEX REPLACE
+ "([^:]*):([^:]+):([^:]*):(\n|\$)"
+ "\\1:i18n(\"Region/state name (optional, rarely needs a translation)\", \"\\2\"):\\3:\\4"
+ _cities "${_cities}" )
+string( REGEX REPLACE
+ "([^:]*):([^:]*):([^:]+):(\n|\$)"
+ "\\1:\\2:i18n(\"Country name (optional, but should be translated)\", \"\\3\"):\\4"
+ _cities "${_cities}" )
+string( REPLACE ":" ";" _cities "${_cities}" )
+file( WRITE "${CMAKE_CURRENT_SOURCE_DIR}/data/Cities.dat.tde_l10n" "${_cities}" )
+
+## extract image/info menu items
+file( READ "${CMAKE_CURRENT_SOURCE_DIR}/data/image_url.dat" _image_url )
+string( REGEX REPLACE
+ "([^:\n]*):([^:\n]+):http[^\n]*\n"
+ "i18n(\"Image/info menu item (should be translated)\", \"\\2\");\n"
+ _image_url "${_image_url}" )
+string( REGEX REPLACE "(^|\n)#" "\\1//" _image_url "${_image_url}" )
+file( WRITE "${CMAKE_CURRENT_SOURCE_DIR}/data/image_url.dat.tde_l10n" "${_image_url}" )
+
+file( READ "${CMAKE_CURRENT_SOURCE_DIR}/data/info_url.dat" _info_url )
+string( REGEX REPLACE
+ "([^:\n]*):([^:\n]+):http[^\n]*\n"
+ "i18n(\"Image/info menu item (should be translated)\", \"\\2\");\n"
+ _info_url "${_info_url}" )
+string( REGEX REPLACE "(^|\n)#" "\\1//" _info_url "${_info_url}" )
+file( WRITE "${CMAKE_CURRENT_SOURCE_DIR}/data/info_url.dat.tde_l10n" "${_info_url}" )
+
+## star names : some might be different in other languages,
+## or they might have to be adapted to non-Latin alphabets
+file( GLOB_RECURSE _hip_files
+ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}/data/hip*.dat
+)
+list( SORT _hip_files )
+unset( _hip_files_l10n )
+foreach( _hip_file ${_hip_files} )
+ # read file
+ file( READ "${CMAKE_CURRENT_SOURCE_DIR}/${_hip_file}" _hip_data )
+ string( REGEX REPLACE "[^\n]" "" _hip_len ${_hip_data} )
+ string( LENGTH "+${_hip_len}" _hip_len )
+
+ # process lines
+ set( _hip_pos 0 )
+ unset( _hip_l10n )
+ while( _hip_pos LESS ${_hip_len} )
+ # pick line
+ string( REGEX REPLACE "^([^\n]*)\n(.*)" "\\1" _hip_line "${_hip_data}" )
+ string( REGEX REPLACE "^([^\n]*)\n(.*)" "\\2" _hip_data "${_hip_data}" )
+ math( EXPR _hip_pos "${_hip_pos}+1" )
+
+ string( LENGTH "${_hip_line}" _hip_line_len )
+ if( _hip_line_len LESS 72 OR "${_hip_line}" MATCHES "^#" )
+ set( _hip_line "" )
+ else( )
+ string( SUBSTRING "${_hip_line}" 72 -1 _hip_line )
+ string( REGEX MATCH "^([^:]+)" _hip_line "${_hip_line}" )
+ string( STRIP "${_hip_line}" _hip_line )
+ if( NOT "${_hip_line}" STREQUAL "" )
+ set( _hip_line "i18n(\"star name\", \"${_hip_line}\");" )
+ endif( )
+ endif( )
+ set( _hip_l10n "${_hip_l10n}${_hip_line}\n" )
+ endwhile( )
+
+ # write file
+ file( WRITE "${CMAKE_CURRENT_SOURCE_DIR}/${_hip_file}.tde_l10n" "${_hip_l10n}" )
+ list( APPEND _hip_files_l10n "${_hip_file}.tde_l10n" )
+endforeach( )
+
+## extract deep-sky object names
+file( GLOB_RECURSE _ngcic_files
+ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}/data/ngcic*.dat
+)
+list( SORT _ngcic_files )
+unset( _ngcic_files_l10n )
+foreach( _ngcic_file ${_ngcic_files} )
+ # read file
+ file( READ "${CMAKE_CURRENT_SOURCE_DIR}/${_ngcic_file}" _ngcic_data )
+ string( REGEX REPLACE "[^\n]" "" _ngcic_len ${_ngcic_data} )
+ string( LENGTH "+${_ngcic_len}" _ngcic_len )
+
+ # process lines
+ set( _ngcic_pos 0 )
+ unset( _ngcic_l10n )
+ while( _ngcic_pos LESS ${_ngcic_len} )
+ # pick line
+ string( REGEX REPLACE "^([^\n]*)\n(.*)" "\\1" _ngcic_line "${_ngcic_data}" )
+ string( REGEX REPLACE "^([^\n]*)\n(.*)" "\\2" _ngcic_data "${_ngcic_data}" )
+ math( EXPR _ngcic_pos "${_ngcic_pos}+1" )
+
+ string( LENGTH "${_ngcic_line}" _ngcic_line_len )
+ if( _ngcic_line_len LESS 76 OR "${_ngcic_line}" MATCHES "^#" )
+ set( _ngcic_line "" )
+ else( )
+ string( SUBSTRING "${_ngcic_line}" 76 -1 _ngcic_line )
+ string( STRIP "${_ngcic_line}" _ngcic_line )
+ if( NOT "${_ngcic_line}" STREQUAL "" )
+ set( _ngcic_line "i18n(\"object name (optional)\", \"${_ngcic_line}\");" )
+ endif( )
+ endif( )
+ set( _ngcic_l10n "${_ngcic_l10n}${_ngcic_line}\n" )
+ endwhile( )
+
+ # write file
+ file( WRITE "${CMAKE_CURRENT_SOURCE_DIR}/${_ngcic_file}.tde_l10n" "${_ngcic_l10n}" )
+ list( APPEND _ngcic_files_l10n "${_ngcic_file}.tde_l10n" )
+endforeach( )
+
+## extract strings from file containing advanced URLs:
+file( READ "${CMAKE_CURRENT_SOURCE_DIR}/data/advinterface.dat" _kslabel )
+string( REGEX REPLACE
+ "\\[KSLABEL\\]([^\n]*)(\n|\$)"
+ "i18n(\"Advanced URLs: description or category\", \"\\1\");\\2"
+ _kslabel "${_kslabel}" )
+file( WRITE "${CMAKE_CURRENT_SOURCE_DIR}/data/advinterface.dat.tde_l10n" "${_kslabel}" )
+
+
+##### create translation templates ##############
+
+tde_l10n_create_template(
+ CATALOG "kstars"
+ SOURCES
+ "."
+ "data/tips"
+ "data/cnames.dat.tde_l10n"
+ "data/Cities.dat.tde_l10n"
+ "data/image_url.dat.tde_l10n"
+ "data/info_url.dat.tde_l10n"
+ ${_hip_files_l10n}
+ ${_ngcic_files_l10n}
+ "data/advinterface.dat.tde_l10n"
+)
diff --git a/ktouch/CMakeL10n.txt b/ktouch/CMakeL10n.txt
new file mode 100644
index 00000000..b585ce4a
--- /dev/null
+++ b/ktouch/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_auto_add_subdirectories( )
diff --git a/ktouch/src/CMakeL10n.txt b/ktouch/src/CMakeL10n.txt
new file mode 100644
index 00000000..049793ef
--- /dev/null
+++ b/ktouch/src/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_create_template( "ktouch" )
diff --git a/kturtle/CMakeL10n.txt b/kturtle/CMakeL10n.txt
new file mode 100644
index 00000000..b585ce4a
--- /dev/null
+++ b/kturtle/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_auto_add_subdirectories( )
diff --git a/kturtle/src/CMakeL10n.txt b/kturtle/src/CMakeL10n.txt
new file mode 100644
index 00000000..057a889b
--- /dev/null
+++ b/kturtle/src/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_create_template( "kturtle" )
diff --git a/kverbos/CMakeL10n.txt b/kverbos/CMakeL10n.txt
new file mode 100644
index 00000000..b585ce4a
--- /dev/null
+++ b/kverbos/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_auto_add_subdirectories( )
diff --git a/kverbos/kverbos/CMakeL10n.txt b/kverbos/kverbos/CMakeL10n.txt
new file mode 100644
index 00000000..a717c69a
--- /dev/null
+++ b/kverbos/kverbos/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_create_template( "kverbos" )
diff --git a/kvoctrain/CMakeL10n.txt b/kvoctrain/CMakeL10n.txt
new file mode 100644
index 00000000..b585ce4a
--- /dev/null
+++ b/kvoctrain/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_auto_add_subdirectories( )
diff --git a/kvoctrain/kvoctrain/CMakeL10n.txt b/kvoctrain/kvoctrain/CMakeL10n.txt
new file mode 100644
index 00000000..ec9205db
--- /dev/null
+++ b/kvoctrain/kvoctrain/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_create_template( "kvoctrain" )
diff --git a/kwordquiz/CMakeL10n.txt b/kwordquiz/CMakeL10n.txt
new file mode 100644
index 00000000..b585ce4a
--- /dev/null
+++ b/kwordquiz/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_auto_add_subdirectories( )
diff --git a/kwordquiz/src/CMakeL10n.txt b/kwordquiz/src/CMakeL10n.txt
new file mode 100644
index 00000000..9f64b513
--- /dev/null
+++ b/kwordquiz/src/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_create_template( "kwordquiz" )
diff --git a/libtdeedu/CMakeL10n.txt b/libtdeedu/CMakeL10n.txt
new file mode 100644
index 00000000..7cfc095e
--- /dev/null
+++ b/libtdeedu/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_create_template( "libtdeedu" )