Add CMakeL10n rules.

Create translation template.
Add CMake rules to build translations.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
pull/3/head
Slávek Banko 6 years ago
parent 01fb896f3c
commit d2676c2f4e
No known key found for this signature in database
GPG Key ID: 608F5293A04BE668

@ -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( )

@ -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

@ -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( )

@ -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 ""

@ -0,0 +1,3 @@
##### create translation templates ##############
tde_l10n_create_template( "knmap" )
Loading…
Cancel
Save