summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2018-12-11 13:48:03 +0100
committerSlávek Banko <slavek.banko@axis.cz>2018-12-11 13:48:03 +0100
commitd2676c2f4e573b44f60386f984b07cf851868a22 (patch)
tree5b0a409118858e1e67f637d176421076b2890caa
parent01fb896f3c6e86ddc4b488a98097eafd00ea2a64 (diff)
downloadknmap-d2676c2f4e573b44f60386f984b07cf851868a22.tar.gz
knmap-d2676c2f4e573b44f60386f984b07cf851868a22.zip
Add CMakeL10n rules.
Create translation template. Add CMake rules to build translations. Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
-rw-r--r--CMakeL10n.txt23
-rw-r--r--CMakeLists.txt2
-rw-r--r--po/CMakeLists.txt6
-rw-r--r--po/knmap.pot977
-rw-r--r--src/CMakeL10n.txt3
5 files changed, 1011 insertions, 0 deletions
diff --git a/CMakeL10n.txt b/CMakeL10n.txt
new file mode 100644
index 0000000..a525b71
--- /dev/null
+++ b/CMakeL10n.txt
@@ -0,0 +1,23 @@
+#################################################
+#
+# (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 )
+
+
+##### create translation templates ##############
+
+tde_l10n_auto_add_subdirectories( )
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2548c34..929ff3e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -48,6 +48,7 @@ option( WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden"
option( BUILD_ALL "Build all" ON )
option( BUILD_DOC "Build documentation" ${BUILD_ALL} )
+option( BUILD_TRANSLATIONS "Build translations" ${BUILD_ALL} )
##### configure checks
@@ -68,6 +69,7 @@ set( CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined" )
add_subdirectory( src )
tde_conditional_add_subdirectory( BUILD_DOC doc )
+tde_conditional_add_subdirectory( BUILD_TRANSLATIONS po )
##### write configure files
diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
new file mode 100644
index 0000000..46fba83
--- /dev/null
+++ b/po/CMakeLists.txt
@@ -0,0 +1,6 @@
+# build translations if some are already available
+
+file( GLOB _srcs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.po )
+if( _srcs )
+ tde_create_translation( LANG auto OUTPUT_NAME ${PROJECT_NAME} )
+endif( )
diff --git a/po/knmap.pot b/po/knmap.pot
new file mode 100644
index 0000000..e7db0f5
--- /dev/null
+++ b/po/knmap.pot
@@ -0,0 +1,977 @@
+# SOME DESCRIPTIVE TITLE.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2018-12-11 13:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: _translatorinfo:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr ""
+
+#: _translatorinfo:2
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr ""
+
+#: commonwidget.cpp:99
+msgid "Internal error - Unknown Port Range protocol '%1'"
+msgstr ""
+
+#: commonwidget.cpp:99 commonwidget.cpp:106 commonwidget.cpp:637
+#: mainwidget.cpp:153
+msgid "Internal error"
+msgstr ""
+
+#: commonwidget.cpp:106
+msgid "Internal error - Illegal Port Range encountered"
+msgstr ""
+
+#: commonwidget.cpp:143
+msgid "Target host(s)"
+msgstr ""
+
+#: commonwidget.cpp:151
+msgid "Resolve names"
+msgstr ""
+
+#: commonwidget.cpp:152 timingwidget.cpp:60
+msgid "Default"
+msgstr ""
+
+#: commonwidget.cpp:153
+msgid "Always (-R)"
+msgstr ""
+
+#: commonwidget.cpp:154
+msgid "Never (-n)"
+msgstr ""
+
+#: commonwidget.cpp:160
+msgid "Add"
+msgstr ""
+
+#: commonwidget.cpp:161
+msgid "Delete"
+msgstr ""
+
+#: commonwidget.cpp:165
+msgid "Port ranges (-p <port ranges>)"
+msgstr ""
+
+#: commonwidget.cpp:167
+msgid "Both"
+msgstr ""
+
+#: commonwidget.cpp:168
+msgid "TCP"
+msgstr ""
+
+#: commonwidget.cpp:169
+msgid "UDP"
+msgstr ""
+
+#: commonwidget.cpp:182
+msgid "New range data: "
+msgstr ""
+
+#: commonwidget.cpp:190
+msgid "Protocol"
+msgstr ""
+
+#: commonwidget.cpp:285
+msgid "Port ranges not specified"
+msgstr ""
+
+#: commonwidget.cpp:285
+msgid "Port ranges error"
+msgstr ""
+
+#: commonwidget.cpp:371 commonwidget.cpp:497
+msgid "unknown value in Port Range Protocol combo box"
+msgstr ""
+
+#: commonwidget.cpp:394
+msgid "Overlapping Port Range - %1 port %2"
+msgstr ""
+
+#: commonwidget.cpp:394
+msgid "Overlapping Port Range"
+msgstr ""
+
+#: commonwidget.cpp:551
+msgid "unknown value in Port Range Protocol"
+msgstr ""
+
+#: commonwidget.cpp:637
+msgid ""
+"Internal error - you seem to have been allowed to entered an illegal Port "
+"Range"
+msgstr ""
+
+#: commonwidget.cpp:649
+msgid ""
+"Ports must be in the range 1 to 65,535 and ranges must be in ascending order"
+msgstr ""
+
+#: commonwidget.cpp:650
+msgid "Invalid Port Range"
+msgstr ""
+
+#: compoundwidget.cpp:69
+msgid "Data directory (--datadir <name>) "
+msgstr ""
+
+#: compoundwidget.cpp:70
+msgid "Data length (--data_length <value>"
+msgstr ""
+
+#: compoundwidget.cpp:71
+msgid "Debug level (-d)"
+msgstr ""
+
+#: compoundwidget.cpp:72
+msgid "Decoy hosts (-D <host list>)"
+msgstr ""
+
+#: compoundwidget.cpp:73
+msgid "Exclude hosts (--exclude <hosts>) "
+msgstr ""
+
+#: compoundwidget.cpp:74
+msgid "Exclude file (--excludefile <path>) "
+msgstr ""
+
+#: compoundwidget.cpp:75
+msgid "Fragment level (-f)"
+msgstr ""
+
+#: compoundwidget.cpp:76
+msgid "Interface (-e)"
+msgstr ""
+
+#: compoundwidget.cpp:77
+msgid "Max sockets (-M <value>)"
+msgstr ""
+
+#: compoundwidget.cpp:78
+msgid "Random IP scan (-iR <value>)"
+msgstr ""
+
+#: compoundwidget.cpp:79
+msgid "Source IP addr (-S <value>)"
+msgstr ""
+
+#: compoundwidget.cpp:80
+msgid "Source port (-g <value>)"
+msgstr ""
+
+#: compoundwidget.cpp:81
+msgid "Spoof MAC addr (--spoof_mac <value>)"
+msgstr ""
+
+#: compoundwidget.cpp:82
+msgid "Target hosts file (-iL <path>) "
+msgstr ""
+
+#: compoundwidget.cpp:83
+msgid "TTL (--ttl <value>)"
+msgstr ""
+
+#: compoundwidget.cpp:272
+msgid "Data directory name not specified"
+msgstr ""
+
+#: compoundwidget.cpp:272
+msgid "Data directory name error"
+msgstr ""
+
+#: compoundwidget.cpp:277
+msgid "Decoy host list not specified"
+msgstr ""
+
+#: compoundwidget.cpp:277
+msgid "Decoy hosts error"
+msgstr ""
+
+#: compoundwidget.cpp:282
+msgid "Exclude hosts not specified"
+msgstr ""
+
+#: compoundwidget.cpp:282
+msgid "Exclude hosts error"
+msgstr ""
+
+#: compoundwidget.cpp:287
+msgid "Exclude hosts file name not specified"
+msgstr ""
+
+#: compoundwidget.cpp:287
+msgid "Exclude hosts file name error"
+msgstr ""
+
+#: compoundwidget.cpp:292
+msgid "Interface name not specified"
+msgstr ""
+
+#: compoundwidget.cpp:292
+msgid "Interface name error"
+msgstr ""
+
+#: compoundwidget.cpp:297
+msgid "Source IP address not specified"
+msgstr ""
+
+#: compoundwidget.cpp:297
+msgid "Source IP address error"
+msgstr ""
+
+#: compoundwidget.cpp:302
+msgid "Spoof MAC address not specified"
+msgstr ""
+
+#: compoundwidget.cpp:302
+msgid "Spoof MAC address error"
+msgstr ""
+
+#: compoundwidget.cpp:307
+msgid "Target hosts file name not specified"
+msgstr ""
+
+#: compoundwidget.cpp:307
+msgid "Target hosts file name error"
+msgstr ""
+
+#: htmlwidget.cpp:71
+msgid ""
+"There does not appear to be ANY help available for the item you requested.\n"
+"Sorry! Now piss off and stop bothering me.\n"
+"You stink.\n"
+"You've got bad breath.\n"
+"Your ugly.\n"
+"Nobody loves you.\n"
+"Now for your bad points..."
+msgstr ""
+
+#: htmlwidget.cpp:71
+msgid "No help available in Knmap page"
+msgstr ""
+
+#: htmlwidget.cpp:80
+msgid "<h1 align=center>Missing File</h1>"
+msgstr ""
+
+#: htmlwidget.cpp:81
+msgid ""
+"<p align=center>The file <b>knmap/nmap_manpage.html</b>, which is part of "
+"the <i>Knmap</i> package, could not be found."
+msgstr ""
+
+#: htmlwidget.cpp:82
+msgid ""
+"<p align=center>As a result, the prepackaged <code>man</code> page for "
+"<i>Knmap</i> is not available."
+msgstr ""
+
+#: htmlwidget.cpp:83
+msgid ""
+"<p align=center>You may be able to view your local <code>man</code> page for "
+"<i>nmap</i> by selecting <b>Settings / Use local man page</b>"
+msgstr ""
+
+#: htmlwidget.cpp:182
+msgid "Could not load the local 'man' page - the 'gunzip' process failed."
+msgstr ""
+
+#: htmlwidget.cpp:220
+msgid "Could not load the local 'man' page - the 'man2html' process failed."
+msgstr ""
+
+#: htmlwidget.cpp:266
+msgid "Could not load the local 'man' page - the 'man -w' process failed."
+msgstr ""
+
+#: htmlwidget.cpp:278
+msgid ""
+"Could not load the local 'man' page - it either was not found or it not a "
+"'gz' file."
+msgstr ""
+
+#: indexwidget.cpp:88
+msgid "&Close scan"
+msgstr ""
+
+#: indexwidget.cpp:89
+msgid "&Duplicate scan"
+msgstr ""
+
+#: indexwidget.cpp:90
+msgid "&New scan..."
+msgstr ""
+
+#: indexwidget.cpp:91
+msgid "&Rename scan..."
+msgstr ""
+
+#: indexwidget.cpp:92
+msgid "&Use target host name"
+msgstr ""
+
+#: indexwidget.cpp:94
+msgid "&Load profile..."
+msgstr ""
+
+#: indexwidget.cpp:95
+msgid "&Save profile..."
+msgstr ""
+
+#: indexwidget.cpp:96
+msgid "&Save profile as..."
+msgstr ""
+
+#: knmap.cpp:96 knmap.cpp:395
+msgid "&Use local man page"
+msgstr ""
+
+#: knmap.cpp:104
+msgid "Use target host name"
+msgstr ""
+
+#: knmap.cpp:112
+msgid "Wrap text"
+msgstr ""
+
+#: knmap.cpp:120
+msgid "Close scan"
+msgstr ""
+
+#: knmap.cpp:128
+msgid "Copy profile..."
+msgstr ""
+
+#: knmap.cpp:136
+msgid "Delete profile..."
+msgstr ""
+
+#: knmap.cpp:144
+msgid "Display nmap man page"
+msgstr ""
+
+#: knmap.cpp:152
+msgid "Duplicate scan"
+msgstr ""
+
+#: knmap.cpp:160
+msgid "Load profile..."
+msgstr ""
+
+#: knmap.cpp:168
+msgid "man page stylesheet..."
+msgstr ""
+
+#: knmap.cpp:176
+msgid "New scan..."
+msgstr ""
+
+#: knmap.cpp:184
+msgid "Rename profile..."
+msgstr ""
+
+#: knmap.cpp:192
+msgid "Rename scan..."
+msgstr ""
+
+#: knmap.cpp:200
+msgid "Save profile..."
+msgstr ""
+
+#: knmap.cpp:208
+msgid "Save profile as..."
+msgstr ""
+
+#: knmap.cpp:216
+msgid "Zoom custom"
+msgstr ""
+
+#: knmap.cpp:224
+msgid "Zoom in"
+msgstr ""
+
+#: knmap.cpp:232
+msgid "Zoom out"
+msgstr ""
+
+#: knmap.cpp:262
+msgid ""
+"nmap is not installed on the computer - we cannot proceed without it. To "
+"download nmap go to \"http://www.insecure.org/nmap\""
+msgstr ""
+
+#: knmap.cpp:263
+msgid "nmap not found"
+msgstr ""
+
+#: knmap.cpp:302
+msgid ""
+"File \"%1\" exists.\n"
+"Overwrite?"
+msgstr ""
+
+#: knmap.cpp:302
+msgid "File exists"
+msgstr ""
+
+#: knmap.cpp:322
+msgid "Some profiles has been updated - save them now?"
+msgstr ""
+
+#: knmap.cpp:322 scanwidget.cpp:612
+msgid "Profile data updated"
+msgstr ""
+
+#: knmap.cpp:395
+msgid "&Use Knmap man page"
+msgstr ""
+
+#: loggingoptions.cpp:65
+msgid "Append output (--append_output)"
+msgstr ""
+
+#: loggingoptions.cpp:66
+msgid "Base file name (-oA <name>) "
+msgstr ""
+
+#: loggingoptions.cpp:67
+msgid "grep'able log file (-oG <file>) "
+msgstr ""
+
+#: loggingoptions.cpp:68
+msgid "Normal log file (-oN <file>) "
+msgstr ""
+
+#: loggingoptions.cpp:69
+msgid "No XSL stylesheet (--no_stylesheet)"
+msgstr ""
+
+#: loggingoptions.cpp:70
+msgid "Resume file (--resume <file>) "
+msgstr ""
+
+#: loggingoptions.cpp:71
+msgid "Script kiddie log file (-oS <file>) "
+msgstr ""
+
+#: loggingoptions.cpp:72
+msgid "XSL stylesheet (--stylesheet <file>) "
+msgstr ""
+
+#: loggingoptions.cpp:73
+msgid "XML log file (-oX <file>) "
+msgstr ""
+
+#: loggingoptions.cpp:187
+msgid "Base file name not specified"
+msgstr ""
+
+#: loggingoptions.cpp:187
+msgid "Base file name error"
+msgstr ""
+
+#: loggingoptions.cpp:192
+msgid "grep'able log file name not specified"
+msgstr ""
+
+#: loggingoptions.cpp:192
+msgid "grep'able log file name error"
+msgstr ""
+
+#: loggingoptions.cpp:197
+msgid "Normal log file name not specified"
+msgstr ""
+
+#: loggingoptions.cpp:197
+msgid "Normal log file name error"
+msgstr ""
+
+#: loggingoptions.cpp:202
+msgid "Resume file name not specified"
+msgstr ""
+
+#: loggingoptions.cpp:202
+msgid "Resume file name error"
+msgstr ""
+
+#: loggingoptions.cpp:207
+msgid "Script kiddie log file name not specified"
+msgstr ""
+
+#: loggingoptions.cpp:207
+msgid "Script kiddie log file name error"
+msgstr ""
+
+#: loggingoptions.cpp:212
+msgid "XSL stylesheet file name not specified"
+msgstr ""
+
+#: loggingoptions.cpp:212
+msgid "XSL stylesheet file name error"
+msgstr ""
+
+#: loggingoptions.cpp:217
+msgid "XML log file name not specified"
+msgstr ""
+
+#: loggingoptions.cpp:217
+msgid "XML log file name error"
+msgstr ""
+
+#: main.cpp:32
+msgid "A TDE frontend for nmap"
+msgstr ""
+
+#: main.cpp:41
+msgid "Knmap"
+msgstr ""
+
+#: main.cpp:46
+msgid ""
+"This program is a complete re-write of one by the same name written by "
+"Alexandre\n"
+"Sagala. The last version of that program was 0.9 which was released on "
+"2003-03-09\n"
+"and targeted the KDE 2.2 and QT 2.3 environments. Unfortunately it does not "
+"compile\n"
+"on today's KDE / QT environments.\n"
+"\n"
+"Not to mention that it did not cater for the full set of 'nmap' options. Or, "
+"perhaps,\n"
+"'nmap' progressed whilst that version of Knmap languished.\n"
+"\n"
+"The icons used for this application are from the Open Clip Art Library. I am "
+"indebted\n"
+"to those damn fine folk as my artistic ability is zero - which is marginally "
+"above\n"
+"my programming ability. :-("
+msgstr ""
+
+#: mainwidget.cpp:153
+msgid "Internal error - no ScanWidget to display!"
+msgstr ""
+
+#: mainwidget.cpp:437
+msgid "Zoom percentage"
+msgstr ""
+
+#: mainwidget.cpp:438
+msgid "Enter zoom %'age (%1% - %2%)"
+msgstr ""
+
+#: outputwidget.cpp:105
+msgid ""
+"Could not open \"%1\"\n"
+"%2"
+msgstr ""
+
+#: pandsoptions.cpp:51
+msgid "TCP ACK (-PA)"
+msgstr ""
+
+#: pandsoptions.cpp:53
+msgid "ARP (-PR)"
+msgstr ""
+
+#: pandsoptions.cpp:54
+msgid "Don't ping (-P0)"
+msgstr ""
+
+#: pandsoptions.cpp:55
+msgid "ICMP echo (-PE)"
+msgstr ""
+
+#: pandsoptions.cpp:56
+msgid "ICMP netmask (-PM)"
+msgstr ""
+
+#: pandsoptions.cpp:57
+msgid "TCP SYN (-PS)"
+msgstr ""
+
+#: pandsoptions.cpp:59
+msgid "ICMP timestamp (-PP)"
+msgstr ""
+
+#: pandsoptions.cpp:85
+msgid "FTP Bounce (-b)"
+msgstr ""
+
+#: pandsoptions.cpp:87
+msgid "Idle (-sI)"
+msgstr ""
+
+#: pandsoptions.cpp:88
+msgid "List Scan (-sL)"
+msgstr ""
+
+#: pandsoptions.cpp:89
+msgid "Null Scan (-sN)"
+msgstr ""
+
+#: pandsoptions.cpp:90
+msgid "Ping Scan (-sP)"
+msgstr ""
+
+#: pandsoptions.cpp:91
+msgid "Protocol Scan (-sO)"
+msgstr ""
+
+#: pandsoptions.cpp:92
+msgid "RPC (-sR)"
+msgstr ""
+
+#: pandsoptions.cpp:93
+msgid "Stealth FIN (-sF)"
+msgstr ""
+
+#: pandsoptions.cpp:94
+msgid "TCP Ack Scan (-sA)"
+msgstr ""
+
+#: pandsoptions.cpp:95
+msgid "TCP SYN (-sS)"
+msgstr ""
+
+#: pandsoptions.cpp:96
+msgid "TCP Connect (-sT)"
+msgstr ""
+
+#: pandsoptions.cpp:97
+msgid "UDP Scan (-sU)"
+msgstr ""
+
+#: pandsoptions.cpp:98
+msgid "Version Detection (-sV)"
+msgstr ""
+
+#: pandsoptions.cpp:99
+msgid "Window Scan (-sW)"
+msgstr ""
+
+#: pandsoptions.cpp:100
+msgid "Xmas Tree (-sX)"
+msgstr ""
+
+#: profiledialog.cpp:71
+msgid ""
+"Profile \"%1\" already exists, please choose another name or press 'Cancel'"
+msgstr ""
+
+#: profiledialog.cpp:71
+msgid "Duplicate profile name"
+msgstr ""
+
+#: profiledialog.cpp:155
+msgid "Delete profile \"%1\"?"
+msgstr ""
+
+#: profiledialog.cpp:156
+msgid "Confirm profile deletion"
+msgstr ""
+
+#: profiledialog.cpp:170
+msgid "Profile name"
+msgstr ""
+
+#: profiledialog.cpp:170
+msgid "New profile name"
+msgstr ""
+
+#: profiledialog.cpp:274
+msgid "Profile \"%1\" already exists - overwrite it?"
+msgstr ""
+
+#: profiledialog.cpp:274
+msgid "Profile exists"
+msgstr ""
+
+#: profiledialog.cpp:301
+msgid "&Copy"
+msgstr ""
+
+#: profiledialog.cpp:302
+msgid "&Delete"
+msgstr ""
+
+#: profiledialog.cpp:303
+msgid "&Rename"
+msgstr ""
+
+#: scanmonitor.cpp:90
+msgid "error reading nmap output from pipe: %2\n"
+msgstr ""
+
+#: scanwidget.cpp:448
+msgid "Clear output"
+msgstr ""
+
+#: scanwidget.cpp:449 scanwidget.cpp:893
+msgid "Hide options"
+msgstr ""
+
+#: scanwidget.cpp:450
+msgid "Start nmap"
+msgstr ""
+
+#: scanwidget.cpp:451
+msgid "Stop nmap"
+msgstr ""
+
+#: scanwidget.cpp:483
+msgid "Couldn't create the named pipe \"%1\" for nmap output: %2\n"
+msgstr ""
+
+#: scanwidget.cpp:496
+msgid "Couldn't open the named pipe \"%1\" for nmap output: %2\n"
+msgstr ""
+
+#: scanwidget.cpp:516
+msgid "Couldn't create the named pipe for nmap output: no temp file dir\n"
+msgstr ""
+
+#: scanwidget.cpp:596
+msgid ""
+"Target host(s) not specified by \"Target host(s)\" or \"Target hosts file\" "
+"options"
+msgstr ""
+
+#: scanwidget.cpp:596
+msgid "Target host(s) error"
+msgstr ""
+
+#: scanwidget.cpp:611
+msgid "Profile has been updated - save it now?"
+msgstr ""
+
+#: scanwidget.cpp:688
+msgid ""
+"Do you still want to save the profile? (It may be in an inconsistent state."
+msgstr ""
+
+#: scanwidget.cpp:688
+msgid "Save inconsistent profile"
+msgstr ""
+
+#: scanwidget.cpp:776
+msgid "Common options"
+msgstr ""
+
+#: scanwidget.cpp:777
+msgid "Compound options"
+msgstr ""
+
+#: scanwidget.cpp:778
+msgid "Logging options"
+msgstr ""
+
+#: scanwidget.cpp:779
+msgid "Ping and Scan options"
+msgstr ""
+
+#: scanwidget.cpp:780
+msgid "Simple options"
+msgstr ""
+
+#: scanwidget.cpp:781
+msgid "Timing options"
+msgstr ""
+
+#: scanwidget.cpp:825
+msgid ""
+"There is no help available for the item you have selected!\n"
+"TOUGH!!!\n"
+"Don't bother me with you pathetic whinges. Go get a life."
+msgstr ""
+
+#: scanwidget.cpp:825
+msgid "Help unavailable"
+msgstr ""
+
+#: scanwidget.cpp:889
+msgid "Show options"
+msgstr ""
+
+#: simpleoptions.cpp:50
+msgid "All ports (--allports)"
+msgstr ""
+
+#: simpleoptions.cpp:51
+msgid "Fast Scan (-F)"
+msgstr ""
+
+#: simpleoptions.cpp:52
+msgid "IPV6 support (-6)"
+msgstr ""
+
+#: simpleoptions.cpp:53
+msgid "Assume privileged (--privileged)"
+msgstr ""
+
+#: simpleoptions.cpp:54
+msgid "No Random Ports (-r)"
+msgstr ""
+
+#: simpleoptions.cpp:55
+msgid "OS Detection (-O)"
+msgstr ""
+
+#: simpleoptions.cpp:56
+msgid "OS scan limit (--osscan_limit)"
+msgstr ""
+
+#: simpleoptions.cpp:57
+msgid "Packet trace (--packet_trace)"
+msgstr ""
+
+#: simpleoptions.cpp:58
+msgid "Prepackaged options (-A)"
+msgstr ""
+
+#: simpleoptions.cpp:59
+msgid "Randomize hosts (--randomize_hosts)"
+msgstr ""
+
+#: simpleoptions.cpp:60
+msgid "Send raw eth. packets (--send_eth)"
+msgstr ""
+
+#: simpleoptions.cpp:61
+msgid "Send raw IP packets (--send_ip)"
+msgstr ""
+
+#: simpleoptions.cpp:62
+msgid "Verbose (-v)"
+msgstr ""
+
+#: stylesheetdialog.cpp:92
+msgid "The stylesheet \"%1\" does not exist"
+msgstr ""
+
+#: stylesheetdialog.cpp:92
+msgid "Nonexistant stylesheet"
+msgstr ""
+
+#: timingwidget.cpp:61
+msgid "Aggressive (-T4)"
+msgstr ""
+
+#: timingwidget.cpp:62
+msgid "Insane (-T5)"
+msgstr ""
+
+#: timingwidget.cpp:63
+msgid "Normal (-T3)"
+msgstr ""
+
+#: timingwidget.cpp:64
+msgid "Paranoid (-T0)"
+msgstr ""
+
+#: timingwidget.cpp:65
+msgid "Polite (-T2)"
+msgstr ""
+
+#: timingwidget.cpp:66
+msgid "Sneaky (-T1)"
+msgstr ""
+
+#: timingwidget.cpp:82
+msgid "Host timeout (--host_timeout)"
+msgstr ""
+
+#: timingwidget.cpp:83
+msgid "Initial RTT timeout (--initial_rtt_timeout)"
+msgstr ""
+
+#: timingwidget.cpp:84
+msgid "Max Host group (--max_hostgroup)"
+msgstr ""
+
+#: timingwidget.cpp:85
+msgid "Max Parallelism (--max_parallelism)"
+msgstr ""
+
+#: timingwidget.cpp:86
+msgid "Max RTT timeout (--max_rtt_timeout)"
+msgstr ""
+
+#: timingwidget.cpp:87
+msgid "Max Scan delay (--max_scan_delay)"
+msgstr ""
+
+#: timingwidget.cpp:88
+msgid "Min Host group (--min_hostgroup)"
+msgstr ""
+
+#: timingwidget.cpp:89
+msgid "Min Parallelism (--min_parallelism)"
+msgstr ""
+
+#: timingwidget.cpp:90
+msgid "Min RTT timeout (--min_rtt_timeout)"
+msgstr ""
+
+#: timingwidget.cpp:91
+msgid "Min Scan delay (--scan_delay)"
+msgstr ""
+
+#: timingwidget.cpp:256
+msgid "Min host group not < Max host group"
+msgstr ""
+
+#: timingwidget.cpp:256
+msgid "Host group error"
+msgstr ""
+
+#: timingwidget.cpp:261
+msgid "Min parallelism not < Max parallelism"
+msgstr ""
+
+#: timingwidget.cpp:261
+msgid "Parallelism error"
+msgstr ""
+
+#: timingwidget.cpp:266
+msgid "Min RTT timeout not < Max RTT timeout"
+msgstr ""
+
+#: timingwidget.cpp:266
+msgid "RTT timeout error"
+msgstr ""
+
+#: timingwidget.cpp:271
+msgid "Min scan delay not < Max scan delay"
+msgstr ""
+
+#: timingwidget.cpp:271
+msgid "Scan delay error"
+msgstr ""
+
+#: knmapui.rc:17
+#, no-c-format
+msgid "&Profiles"
+msgstr ""
+
+#: knmapui.rc:27
+#, no-c-format
+msgid "&Settings"
+msgstr ""
diff --git a/src/CMakeL10n.txt b/src/CMakeL10n.txt
new file mode 100644
index 0000000..99c4786
--- /dev/null
+++ b/src/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_create_template( "knmap" )