[SCM] vdr-plugin-undelete packaging repository branch, master, updated. debian/0.0.6-30-4-g04fb54a

etobi git at e-tobi.net
Sat Mar 16 14:15:12 UTC 2013


The following commit has been merged in the master branch:
commit beb15ad53b8c866587b8ad094b4da7c8c7fb9653
Author: etobi <git at e-tobi.net>
Date:   Sat Mar 16 15:12:22 2013 +0100

    Imported Upstream version 0.0.7

diff --git a/HISTORY b/HISTORY
index 4dd9dc4..e7cc5dc 100644
--- a/HISTORY
+++ b/HISTORY
@@ -1,23 +1,51 @@
-VDR Plugin 'playlist' Revision History
+VDR Plugin 'undelete' Revision History
 --------------------------------------
 
-2004-10-08: Version 0.0.1
+2012-10-05 Version: 0.0.7
+-------------------------
+- fix more typos
+- review translations DE and FR
+- undelete.c: make plugin description translatable
+- release version 0.0.7
 
-- Initial revision.
+2012-09-29  Martin Dummer  <martin.dummer at gmx.net>
+- fix lots of typos
+- turn HISTORY file upside down (to have recent changes at the top)
 
-2004-10-10: Version 0.0.2
+2012-09-02  Martin Dummer  <martin.dummer at gmx.net>
+- menuundelete.c: add compile fix for vdr >=1.7.28
+  thanks to user "tv-user" on http://projects.vdr-developer.org/ 
 
-* Bug fixes
-- TriggerUpdate for VDR >= 1.3.11 (thanks to Brougs78 at vdrportal.de)
-- Update counter in listviews
-- Confirm options
+2012-06-27  Martin Dummer  <martin.dummer at gmx.net>
+- cleanup the Makefile, changes are inspired from VDR sample plugin Makefile
+- remove file i18n.c.org (not needed)
+- convert i18n handling to gettext
 
-2004-11-08: Version 0.0.3
+2012-06-18  Martin Dummer  <martin.dummer at gmx.net>
+- corrected the HISTORY header
+- edit the README file
+- merge patch for gcc-4.4 from Holger Schvestka <hotzenplotz5 at gmx.de>
+- merge patch with changes for VDR >= 1.5.7 from Stone <syphyr at gmail.com>
+- merge patch with changes for VDR >= 1.7.3 from Thomas Günther <tom at toms-cafe.de>
+- merge patch with cosmetic changes: change text summary to info for VDR >= 1.3.25
+    from Matthias Schwarzott <zzam at gentoo.org>
 
-- Update for VDR >= 1.3.15
 
-2005-11-16: Version 0.0.4
+2006-03-15: Version 0.0.6
+-------------------------
+- add French translation (thanks to pat at vdrportal.de)
+- Change translation for Keys with numbers
+- add check for count of *.vdr files
+
+2005-11-17: Version 0.0.5
+-------------------------
+- Add Remove empty directorys after 10min at svdrp-purge
+- Fix select a line with a numeric-key
+- Fix switch hotkeys with the same key
+- Add missing display of assigned keys
 
+2005-11-16: Version 0.0.4
+-------------------------
 * Bug fix purge/salvage deleted recording while purge/salvage a directory with the same name
 - Update for VDR >= 1.3.36
 - Remove empty directorys in background
@@ -26,15 +54,17 @@ VDR Plugin 'playlist' Revision History
 - new function "purge all" (for Olaf Henkel)
 - new function "salvage all"
 
-2005-11-17: Version 0.0.5
-
-- Add Remove empty directorys after 10min at svdrp-purge
-- Fix select a line with a numeric-key
-- Fix switch hotkeys with the same key
-- Add missing display of assigned keys
+2004-11-08: Version 0.0.3
+-------------------------
+- Update for VDR >= 1.3.15
 
-2006-03-15 : Version 0.0.6
+2004-10-10: Version 0.0.2
+-------------------------
+* Bug fixes
+- TriggerUpdate for VDR >= 1.3.11 (thanks to Brougs78 at vdrportal.de)
+- Update counter in listviews
+- Confirm options
 
-- add French translation (thanks to pat at vdrportal.de)
-- Change translation for Keys with numbers
-- add check for count of *.vdr files
+2004-10-08: Version 0.0.1
+-------------------------
+- Initial revision.
diff --git a/Makefile b/Makefile
index c4f0111..ac3c2a2 100644
--- a/Makefile
+++ b/Makefile
@@ -1,11 +1,13 @@
 #
 # Makefile for a Video Disk Recorder plugin
 #
-# $Id: Makefile 0.4 2005/11/07 16:47:18 hflor Exp $
+# $Id$
 
 # The official name of this plugin.
 # This name will be used in the '-P...' option of VDR to load the plugin.
 # By default the main source file also carries this name.
+# IMPORTANT: the presence of this macro is important for the Make.config
+# file. So it must be defined, even if it is not used here!
 #
 PLUGIN = undelete
 
@@ -20,19 +22,22 @@ CXXFLAGS ?= -fPIC -O2 -Wall -Woverloaded-virtual
 
 ### The directory environment:
 
-DVBDIR = ../../../../DVB
-VDRDIR = ../../..
-LIBDIR = ../../lib
-TMPDIR = /tmp
+VDRDIR ?= ../../..
+LIBDIR ?= ../../lib
+TMPDIR ?= /tmp
+
+### Make sure that necessary options are included:
+
+-include $(VDRDIR)/Make.global
 
 ### Allow user defined options to overwrite defaults:
 
 -include $(VDRDIR)/Make.config
 
-### The version number of VDR (taken from VDR's "config.h"):
+### The version number of VDR's plugin API (taken from VDR's "config.h"):
 
-VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
 VDRVERSNUM = $(shell grep 'define VDRVERSNUM ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
+APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
 
 ### The name of the distribution archive:
 
@@ -41,7 +46,7 @@ PACKAGE = vdr-$(ARCHIVE)
 
 ### Includes and Defines (add further entries here):
 
-INCLUDES += -I$(VDRDIR)/include -I$(DVBDIR)/include
+INCLUDES += -I$(VDRDIR)/include
 
 DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
 
@@ -67,7 +72,8 @@ endif
 
 ### The object files (add further files here):
 
-OBJS = $(PLUGIN).o i18n.o menuundelete.o menusetup.o vdrtools.o menueditkeys.o menudispkey.o
+OBJS = $(PLUGIN).o menuundelete.o menusetup.o vdrtools.o menueditkeys.o menudispkey.o
+#FIXME
 ifeq ($(shell test $(VDRVERSNUM) -lt 10308 ; echo $$?),0)
   OBJS += menutext.o
 endif
@@ -77,22 +83,47 @@ endif
 %.o: %.c
 	$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
 
-# Dependencies:
+### Dependencies:
 
-MAKEDEP = g++ -MM -MG
+MAKEDEP = $(CXX) -MM -MG
 DEPFILE = .dependencies
 $(DEPFILE): Makefile
 	@$(MAKEDEP) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@
 
 -include $(DEPFILE)
 
+### Internationalization (I18N):
+
+PODIR     = po
+LOCALEDIR = $(VDRDIR)/locale
+I18Npo    = $(wildcard $(PODIR)/*.po)
+I18Nmsgs  = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
+I18Npot   = $(PODIR)/$(PLUGIN).pot
+
+%.mo: %.po
+	msgfmt -c -o $@ $<
+
+$(I18Npot): $(wildcard *.c)
+	xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<martin.dummer at gmx.net>' -o $@ $^
+
+%.po: $(I18Npot)
+	msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
+	@touch $@
+
+$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
+	@mkdir -p $(dir $@)
+	cp $< $@
+
+.PHONY: i18n
+i18n: $(I18Nmsgs)
+
 ### Targets:
 
-all: libvdr-$(PLUGIN).so
+all: libvdr-$(PLUGIN).so i18n
 
 libvdr-$(PLUGIN).so: $(OBJS)
-	$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
-	@cp $@ $(LIBDIR)/$@.$(VDRVERSION)
+	$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
+	@cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
 
 dist: clean
 	@-rm -rf $(TMPDIR)/$(ARCHIVE)
@@ -103,4 +134,5 @@ dist: clean
 	@echo Distribution package created as $(PACKAGE).tgz
 
 clean:
-	@-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
+	@-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
+	@-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ *.bak
diff --git a/README b/README
index f65457e..81d7242 100644
--- a/README
+++ b/README
@@ -1,28 +1,42 @@
 This is a "plugin" for the Video Disk Recorder (VDR).
 
-Written by:                  Hardy Flor <HFlor at web.de>
+Written by:                  Hardy Flor <HFlor at gmx.de>
 
-Project's homepage:          www.fast-info.de/vdr/undelete
+Project's homepage:          http://projects.vdr-developer.org/projects/plg-undelete
 
 See the file COPYING for license information.
 
 undelete-plugin version 0.0.6
 
-This plugin allow the undelete from deleted recordings for a short time
+Description:
+============
 
-If the VDR idle then erase all deleted recordings! 
+This plugin allows to undelete from deleted recordings for a short time
 
-Handling:
+When a recording is deleted in VDR, the recording is just marked for deletion. 
+The removal of the files and directories is done in the background after a certain idle time
+or when VDR needs more diskspace.
 
-You can build the list from plugin-setup (by 'Display deleted recordings now') or is the
-mainmenuentry visible from then mainmenu.
+In case this cleanup process has not run, you can recover your deleted recordings 
+with this plugin.
+
+The plugin can also show the size of the deleted recordings and and immediate deletion
+can be triggered.
+
+
+Usage:
+======
+
+You can build the current list of deleted from the plugin-setup menu 
+(by 'Display deleted recordings now') or from the plugin's mainmenu entry (mainmenuentry visible from then mainmenu.
 
 The keys for purge and salvage can you change in the setup of plugin
 
-control with SVDRP is also allow:
 
-PLUG undelte LSTD    [ <number> ]   List deleted recordings
-PLUG undelte SIZED   [ -h ]         Caclulate the size of deleted recordings
-PLUG undelte RMDIR                  Start remove empty directory
-PLUG undelte PURGE   ALL | <number> purge the selected deleted recording
-PLUG undelte SALVAGE ALL | <number> salvage the selected deleted recording
+The plugin has the following SVDRP commands:
+
+PLUG undelete LSTD    [ <number> ]   List deleted recordings
+PLUG undelete SIZED   [ -h ]         Caclulate the size of deleted recordings
+PLUG undelete RMDIR                  Start remove empty directory
+PLUG undelete PURGE   ALL | <number> purge the selected deleted recording
+PLUG undelete SALVAGE ALL | <number> salvage the selected deleted recording
diff --git a/i18n.c b/i18n.c
deleted file mode 100644
index 6838711..0000000
--- a/i18n.c
+++ /dev/null
@@ -1,1242 +0,0 @@
-/*
- * undelete: A plugin for the Video Disk Recorder
- *
- * See the README file for copyright information and how to reach the author.
- *
- * $Id: i18n.c 0.5 2005/11/17 21:05:05 hflor Exp $
- */
-
-#include "i18n.h"
-
-const tI18nPhrase Phrases[] = {
-  { "Deleted Recordings",
-    "Gelöschte Aufnahmen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Enregistrements effacés",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  // Debug_mode
-  { "DeleteLine",
-    "Zeile löschen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Effacer ligne",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  // Debug_mode
-  { "HelpKeys",
-    "Hilfstasten",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Touche d'aide",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "  -m        --visible_in_mainmenu     Show the plugin in the mainmenu\n  -M        --hide_in_mainmenu        Hide the plugin in the mainmenu\n                                      You can start the Plugin in the setupmenu\n  -n Name   --mainmenu_name=Name      Select Name for entry in the mainmenu\n                                      (set also -m)\n  -c        --confirm_purge_rec       show confirmation for purge recording\n  -C        --not_confirm_purge_rec   purge recording without confirmation\n  -d        --confirm_purge_dir       show confirmation for purge directory\n  -D        --not_confirm_purge_dir   purge directory without confirmation\n  -e        --confirm_purge_all       show confirmation for purge all function\n  -E        --not_confirm_purge_all   purge all function without confirmation\n  -s        --confirm_salvage_rec     show confirmation for salvage recording\n  -S        --not_confirm_salvage_rec salvage recording without confirmation\n  -t        --confirm_salvage_dir     show confirmation for salvage directory\n  -T        --not_confirm_salvage_dir salvage directory without confirmation\n  -u        --confirm_salvage_all     show confirmation for salvage all function\n  -U        --not_confirm_salvage_all salvage all function without confirmation\n  -v        --verbose                 Enable more logging\n  -V        --noverbose               Disable more loggig\n            --nosetup_commandline     Hide the 'Preferr Command Line Parameter'\n                                      form setup-menu\n  @config-file                        Read also parameters from this file\n  note: recording means deleted recordings (there not show in VDR)",
-    "  -m        --visible_in_mainmenu     Plugin wird im Hautmenü angezeigt\n  -M        --hide_in_mainmenu        kein Eintrag im Hauptmenü für das Plugin\n                                      es kann über das Setup-Menü gestartet werden\n  -n Name   --mainmenu_name=Name      Name für den Eintrag im Hauptmenü\n                                      (diese Option setzt auch -m)\n  -c        --confirm_purge_rec       Bestätigung für das Löschen von Aufnahmen\n  -C        --not_confirm_purge_rec   keine Bestätigung (löschen Aufnahmen)\n  -d        --confirm_purge_dir       Bestätigung beim Löschen von Verzeichnissen\n  -D        --not_confirm_purge_dir   keine Bestätigung (löschen Verzeichnissen)\n  -e        --confirm_purge_all       Bestätigung beim \"alles Löschen\"\n  -E        --not_confirm_purge_all   \"alles Löschen\" ohne Bestätigung\n  -s        --confirm_salvage_rec     Bestätigung Wiederherstellung von Aufnahmen\n  -S        --not_confirm_salvage_rec keine Best. Wiederherstellung von Aufnahmen\n  -t        --confirm_salvage_dir     Bestätigung Wiederherstellung von Verzei.\n  -T        --not_confirm_salvage_dir keine Best. Wiederherstellung von Verzei.\n  -u        --confirm_salvage_all     Bestätigung beim \"alles Wiederherstellen\"\n  -U        --not_confirm_salvage_all \"alles Wiederherstellen\" ohne Bestätigung\n  -v        --verbose                 erweiterte Protokollierung aktivieren\n  -V        --noverbose               keine erweiterte Protokollierung\n            --nosetup_commandline     Option 'Kommandozeile hat Vorrang'\n                                      im Setup-Menü verbergen\n  @config-file                        Komandozeilenoptionen auch aus der angegebenen\n                                      Datei lesen\n\n  Hinweis: Mit Aufnahmen sind hier die gelöschten Aufnahmen gemeint",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  // Debug_mode
-  { "Purge",
-    "Löschung",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Vider",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  // Debug_mode
-  { "Salvage",
-    "Wiederherstellung",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Restaurer",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "undelete for recordings",
-    "Wiederherstellung gelöschter Aufnahmen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Restauration d'enregistrement",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  // Debug_mode
-  { "unknow",
-    "unbekannt",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "inconnu",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$bottom",
-    "unten",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "en bas",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$Display keys",
-    "Tastenanzeige",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Affiche des touches",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$none",
-    "ohne",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "sans",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$open",
-    "Öffnen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "ouvrir",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$open/summary",
-    "Öffnen/Inhalt",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Ouvrir/contenu",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$purge",
-    "löschen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "effacer",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$purge all",
-    "alle löschen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "effacer tout",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$salvage",
-    "wiederherst.",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "restaurer",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$salvage all",
-    "alle wiederh.",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "restaurer tout",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$summary",
-    "Inhalt",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Contenu",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$switch hotkeys to 1",
-    "Tastenbel. 1",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Choix touche 1",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$switch hotkeys to 2",
-    "Tastenbel. 2",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Choix touche 2",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$top",
-    "oben",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "en haut",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$top and bottom",
-    "oben & unten",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "en haut & en bas",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$User",
-    "Benutzer",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Utilisateur",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Display$<--1",
-    "<--1",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "<--1",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Display$2-->",
-    "2-->",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "2-->",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Display$disp. keys",
-    "Tastenanzeige",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Afficher les touches",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Display$please wait ...",
-    "bitte warten ...",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "attendez, merci",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Display$prepare recording display...",
-    "Listenanzeige wird vorbereitet...",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "L'affichage liste en préparation...",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Display$purge",
-    "Löschen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Effacer",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Display$purge all",
-    "alle Löschen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "effacer tout",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Display$Purge all records ...",
-    "Alle Aufnahmen endgültig löschen ...",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Effacer tous les enregistrement définitivement ...",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Display$Salavge all records ...",
-    "Alle Aufnahmen wiederherstellen ...",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Restaurer tout les enregistrements ...",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Display$salvage",
-    "Wiederherst.",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Restaurer",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Display$salvage all",
-    "alle Wieder.",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "restaurer tout",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Error$Key for funtion %s and %s identical.",
-    "Tasten von %s und %s sind gleich.",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Touche de %s et %s sont les mêmes.",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Error$Recording with the same name exists!",
-    "Aufnahme mit selben Namen ist vorhanden!",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Des enregistrements avec le même nom existent!",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Help$key\tfunction",
-    "Taste\tFunktion",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Touch\tFonction",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Help$numerickey",
-    "Numerntaste",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Touch numérique",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Help$OK",
-    "OK",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "OK",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Menu$assigned keys",
-    "Zugewiesene Tasten",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Touches assignées",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Menu$Undelete recordings",
-    "Aufnahmen wiederherstellen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Restaurer enregistrement",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Question$Purge all recordings?",
-    "Alle Aufnahmen endgültig löschen?",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Question$Purge recording?",
-    "Aufnahme endgültig löschen?",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Question$Purge recordings in diretory?",
-    "Aufnahmen in Verzeichnis endgültig löschen?",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Question$Salvage all recordings?",
-    "Alle Aufnahmen wiederherstellen?",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Restaurer tout les enregistrements?",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Question$Salvage recording?",
-    "Aufnahme wiederherstellen?",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Restaurer enregistrement?",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Question$Salvage recordings in directory?",
-    "Aufnahmen in Verzeichnis wiederherstellen?",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Restaurer l'enregistrement dans dossier?",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$  ** Spezial handled keys **",
-    "  ** Spezialtasten **",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "  ** Touche spéciale **",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Change assigned functionkeys",
-    "Ändern der Tastenbelegung",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Changer la configuration des touches",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Confirm purge all deleted recordings",
-    "Bestätigung alles löschen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Confirmation effacer tout",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Confirm purge deleted recordings",
-    "Aufnahme löschen bestätigen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Confirmer effacer enregistrement",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Confirm purge directories",
-    "Verzeichnisse löschen bestätigen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Confirmer effacer dossier",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Confirm salvage all deleted recordings",
-    "Bestätigung alles wiederherst.",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Confirmer restaurer tout",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Confirm salvage deleted recordings",
-    "Wiederherstellung Aufn. bestätigen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Confirmer restaurer enregistrement",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Confirm salvage directories",
-    "Wiederherstellung Verz. bestätigen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Confirmer restaurer dossier",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$  Display bottom purge ex lines",
-    "  Anzahl Einträge für Darstellung",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "  Nombre de ligne d'affichage d'effacement",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$  Display bottom salvage ex lines",
-    "  Anzahl Einträge für Darstellung",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "  Nombre de ligne d'affichage",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Display deleted recordings now",
-    "Gelöschte Aufnahmen jetzt anzeigen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Afficher les enregistrements effacés",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$  inward lines",
-    "  Innenliegende Zeilen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "  Ligne interrieur",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$  Key for function-%s",
-    "  Taste für Funktion-%s",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "  Touch pour fonction-%s",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$  Name for Mainmenu",
-    "  Eintragname im Hauptmenü",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "  Nom afficher pour le menu principal",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$  Numerickey select the entry and",
-    "  Auswahl mit Nummern und",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "  Choix avec numéro et",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$  OK-key function",
-    "  Funktion der OK-Taste",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "  Fonction touch OK",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Preferr Command Line Parameter",
-    "Kommandozeile hat Vorrang",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "La ligne de commande a priorité",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Purgeline position",
-    "Löschzeilenposition",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Position de la ligne d'éffacement",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Salvageline position",
-    "Wiederherstellungszeilenposition",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Position de la ligne de restauration",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Select",
-    "Auswahl",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Choix",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Verbose Log Mode",
-    "Ausführliche Protokollierung",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Protokolle mode complet",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Visible in Mainmenu",
-    "Im Hauptmenü sichtbar",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "Visible dans le menu principal",
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Error$error while read last filenumber",
-    "Fehler beim lesen der letzten Dateinummer",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Error$error accessing vdrfile %03d",
-    "Fehler beim lesen der Videodatei %03d",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Error$error accessing indexfile",
-    "Fehler beim lesen der Indexdatei",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { NULL }
-  };
diff --git a/i18n.c.org b/i18n.c.org
deleted file mode 100644
index f8d485b..0000000
--- a/i18n.c.org
+++ /dev/null
@@ -1,1463 +0,0 @@
-/*
- * undelete: A plugin for the Video Disk Recorder
- *
- * See the README file for copyright information and how to reach the author.
- *
- * $Id: i18n.c 0.5 2005/11/17 21:05:05 hflor Exp $
- */
-
-#include "i18n.h"
-
-const tI18nPhrase Phrases[] = {
-  { "Deleted Recordings",
-    "Gelöschte Aufnahmen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  // Debug_mode
-  { "DeleteLine",
-    "Zeile löschen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  // Debug_mode
-  { "HelpKeys",
-    "Hilfstasten",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "  -m        --visible_in_mainmenu     Show the plugin in the mainmenu\n  -M        --hide_in_mainmenu        Hide the plugin in the mainmenu\n                                      You can start the Plugin in the setupmenu\n  -n Name   --mainmenu_name=Name      Select Name for entry in the mainmenu\n                                      (set also -m)\n  -c        --confirm_purge_rec       show confirmation for purge recording\n  -C        --not_confirm_purge_rec   purge recording without confirmation\n  -d        --confirm_purge_dir       show confirmation for purge directory\n  -D        --not_confirm_purge_dir   purge directory without confirmation\n  -e        --confirm_purge_all       show confirmation for purge all function\n  -E        --not_confirm_purge_all   purge all function without confirmation\n  -s        --confirm_salvage_rec     show confirmation for salvage recording\n  -S        --not_confirm_salvage_rec salvage recording without confirmation\n  -t        --confirm_salvage_dir     show confirmation for salvage directory\n  -T        --not_confirm_salvage_dir salvage directory without confirmation\n  -u        --confirm_salvage_all     show confirmation for salvage all function\n  -U        --not_confirm_salvage_all salvage all function without confirmation\n  -v        --verbose                 Enable more logging\n  -V        --noverbose               Disable more loggig\n            --nosetup_commandline     Hide the 'Preferr Command Line Parameter'\n                                      form setup-menu\n  @config-file                        Read also parameters from this file\n  note: recording means deleted recordings (there not show in VDR)",
-    "  -m        --visible_in_mainmenu     Plugin wird im Hautmenü angezeigt\n  -M        --hide_in_mainmenu        kein Eintrag im Hauptmenü für das Plugin\n                                      es kann über das Setup-Menü gestartet werden\n  -n Name   --mainmenu_name=Name      Name für den Eintrag im Hauptmenü\n                                      (diese Option setzt auch -m)\n  -c        --confirm_purge_rec       Bestätigung für das Löschen von Aufnahmen\n  -C        --not_confirm_purge_rec   keine Bestätigung (löschen Aufnahmen)\n  -d        --confirm_purge_dir       Bestätigung beim Löschen von Verzeichnissen\n  -D        --not_confirm_purge_dir   keine Bestätigung (löschen Verzeichnissen)\n  -e        --confirm_purge_all       Bestätigung beim \"alles Löschen\"\n  -E        --not_confirm_purge_all   \"alles Löschen\" ohne Bestätigung\n  -s        --confirm_salvage_rec     Bestätigung Wiederherstellung von Aufnahmen\n  -S        --not_confirm_salvage_rec keine Best. Wiederherstellung von Aufnahmen\n  -t        --confirm_salvage_dir     Bestätigung Wiederherstellung von Verzei.\n  -T        --not_confirm_salvage_dir keine Best. Wiederherstellung von Verzei.\n  -u        --confirm_salvage_all     Bestätigung beim \"alles Wiederherstellen\"\n  -U        --not_confirm_salvage_all \"alles Wiederherstellen\" ohne Bestätigung\n  -v        --verbose                 erweiterte Protokollierung aktivieren\n  -V        --noverbose               keine erweiterte Protokollierung\n            --nosetup_commandline     Option 'Kommandozeile hat Vorrang'\n                                      im Setup-Menü verbergen\n  @config-file                        Komandozeilenoptionen auch aus der angegebenen\n                                      Datei lesen\n\n  Hinweis: Mit Aufnahmen sind hier die gelöschten Aufnahmen gemeint",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  // Debug_mode
-  { "Purge",
-    "Löschung",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  // Debug_mode
-  { "Salvage",
-    "Wiederherstellung",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "undelete for recordings",
-    "Wiederherstellung gelöschter Aufnahmen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  // Debug_mode
-  { "unknow",
-    "unbekannt",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$Blue (1)",
-    "Blau (1)",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$Blue (2)",
-    "Blau (2)",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$bottom",
-    "unten",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$Display keys",
-    "Tastenanzeige",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$Green (1)",
-    "Grün (1)",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$Green (2)",
-    "Grün (2)",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$none",
-    "ohne",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$open",
-    "Öffnen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$open/summary",
-    "Öffnen/Inhalt",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$purge",
-    "löschen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$purge all",
-    "alle löschen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$Red (1)",
-    "Rot (1)",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$Red (2)",
-    "Rot (2)",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$salvage",
-    "wiederherst.",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$salvage all",
-    "alle wiederh.",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$summary",
-    "Inhalt",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$switch hotkeys to 1",
-    "Tastenbel. 1",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$switch hotkeys to 2",
-    "Tastenbel. 2",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$top",
-    "oben",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$top and bottom",
-    "oben & unten",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$User1",
-    "Benutzer 1",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$User2",
-    "Benutzer 2",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$User3",
-    "Benutzer 3",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$User4",
-    "Benutzer 4",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$User5",
-    "Benutzer 5",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$User6",
-    "Benutzer 6",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$User7",
-    "Benutzer 7",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$User8",
-    "Benutzer 8",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$User9",
-    "Benutzer 9",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$Yellow (1)",
-    "Gelb (1)",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Choise$Yellow (2)",
-    "Gelb (2)",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Display$<--1",
-    "<--1",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Display$2-->",
-    "2-->",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Display$disp. keys",
-    "Tastenanzeige",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Display$please wait ...",
-    "bitte warten ...",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Display$prepare recording display...",
-    "Listenanzeige wird vorbereitet...",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Display$purge",
-    "Löschen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Display$purge all",
-    "alle Löschen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Display$Purge all records ...",
-    "Alle Aufnahmen endgültig löschen ...",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Display$Salavge all records ...",
-    "Alle Aufnahmen wiederherstellen ...",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Display$salvage",
-    "Wiederherst.",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Display$salvage all",
-    "alle Wieder.",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Error$Key for funtion %s and %s identical.",
-    "Tasten von %s und %s sind gleich.",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Error$Recording with the same name exists!",
-    "Aufnahme mit selben Namen ist vorhanden!",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Help$key\tfunction",
-    "Taste\tFunktion",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Help$numerickey",
-    "Numerntaste",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Help$OK",
-    "OK",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Menu$assigned keys",
-    "Zugewiesene Tasten",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Menu$Undelete recordings",
-    "Aufnahmen wiederherstellen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Question$Purge all recordings?",
-    "Alle Aufnahmen endgültig löschen?",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Question$Purge recording?",
-    "Aufnahme endgültig löschen?",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Question$Purge recordings in diretory?",
-    "Aufnahmen in Verzeichnis endgültig löschen?",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Question$Salvage all recordings?",
-    "Alle Aufnahmen wiederherstellen?",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Question$Salvage recording?",
-    "Aufnahme wiederherstellen?",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Question$Salvage recordings in directory?",
-    "Aufnahmen in Verzeichnis wiederherstellen?",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$  ** Spezial handled keys **",
-    "  ** Spezialtasten **",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Change assigned functionkeys",
-    "Ändern der Tastenbelegung",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Confirm purge all deleted recordings",
-    "Bestätigung alles löschen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Confirm purge deleted recordings",
-    "Aufnahme löschen bestätigen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Confirm purge directories",
-    "Verzeichnisse löschen bestätigen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Confirm salvage all deleted recordings",
-    "Bestätigung alles wiederherst.",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Confirm salvage deleted recordings",
-    "Wiederherstellung Aufn. bestätigen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Confirm salvage directories",
-    "Wiederherstellung Verz. bestätigen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$  Display bottom purge ex lines",
-    "  Anzahl Einträge für Darstellung",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$  Display bottom salvage ex lines",
-    "  Anzahl Einträge für Darstellung",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Display deleted recordings now",
-    "Gelöschte Aufnahmen jetzt anzeigen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$  inward lines",
-    "  Innenliegende Zeilen",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$  Key for function-%s",
-    "  Taste für Funktion-%s",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$  Name for Mainmenu",
-    "  Eintragname im Hauptmenü",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$  Numerickey select the entry and",
-    "  Auswahl mit Nummern und",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$  OK-key function",
-    "  Funktion der OK-Taste",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Preferr Command Line Parameter",
-    "Kommandozeile hat Vorrang",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Purgeline position",
-    "Löschzeilenposition",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Salvageline position",
-    "Wiederherstellungszeilenposition",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Select",
-    "Auswahl",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Verbose Log Mode",
-    "Ausführliche Protokollierung",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { "Setup$Visible in Mainmenu",
-    "Im Hauptmenü sichtbar",
-    "",// TODO Slovenski
-    "",// TODO Italiano
-    "",// TODO Nederlands
-    "",// TODO Português
-    "",// TODO Français
-    "",// TODO Norsk
-    "",// TODO suomi
-    "",// TODO Polski
-    "",// TODO Español
-    "",// TODO Ellinika
-    "",// TODO Svenska
-    "",// TODO Romaneste
-    "",// TODO Magyar
-    "",// TODO Català
-  },
-  { NULL }
-  };
diff --git a/i18n.h b/i18n.h
deleted file mode 100644
index ed56cc6..0000000
--- a/i18n.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * undelete: A plugin for the Video Disk Recorder
- *
- * See the README file for copyright information and how to reach the author.
- *
- * $Id: i18n.h 0.1 2004/10/08 02:03:31 hflor Exp $
- */
-
-#ifndef _I18N__H
-#define _I18N__H
-
-#include <vdr/i18n.h>
-
-extern const tI18nPhrase Phrases[];
-
-#endif //_I18N__H
diff --git a/menudispkey.c b/menudispkey.c
index f416e74..60407dc 100644
--- a/menudispkey.c
+++ b/menudispkey.c
@@ -1,16 +1,15 @@
 /*
- * autotimeredit: A plugin for the Video Disk Recorder
+ * undelete: A plugin for the Video Disk Recorder
  *
  * See the README file for copyright information and how to reach the author.
  *
- * $Id: menueditkeys.c 0.5 2005/11/17 21:05:05 hflor Exp $
+ * $Id: menudispkey.c 0.5 2005/11/17 21:05:05 hflor Exp $
  */
 
 #include "menudispkey.h"
 #include "undelete.h"
 #include "menunoselectitem.h"
 #include "menusetup.h"
-#include "i18n.h"
 #include <vdr/osd.h>
 #include <vdr/osdbase.h>
 #include <typeinfo>
diff --git a/menudispkey.h b/menudispkey.h
index 9a595ad..535bee4 100644
--- a/menudispkey.h
+++ b/menudispkey.h
@@ -1,5 +1,5 @@
 /*
- * autotimeredit: A plugin for the Video Disk Recorder
+ * undelete: A plugin for the Video Disk Recorder
  *
  * See the README file for copyright information and how to reach the author.
  *
diff --git a/menueditkeys.c b/menueditkeys.c
index 7eb9933..4f304c7 100644
--- a/menueditkeys.c
+++ b/menueditkeys.c
@@ -1,5 +1,5 @@
 /*
- * autotimeredit: A plugin for the Video Disk Recorder
+ * undelete: A plugin for the Video Disk Recorder
  *
  * See the README file for copyright information and how to reach the author.
  *
diff --git a/menueditkeys.h b/menueditkeys.h
index 0726159..1ce08c3 100644
--- a/menueditkeys.h
+++ b/menueditkeys.h
@@ -1,5 +1,5 @@
 /*
- * autotimeredit: A plugin for the Video Disk Recorder
+ * undelete: A plugin for the Video Disk Recorder
  *
  * See the README file for copyright information and how to reach the author.
  *
diff --git a/menutext.c b/menuitemtext.c
similarity index 77%
copy from menutext.c
copy to menuitemtext.c
index 83e5a20..e093086 100644
--- a/menutext.c
+++ b/menuitemtext.c
@@ -3,21 +3,21 @@
  *
  * See the README file for copyright information and how to reach the author.
  *
- * $Id: menutext.c 0.4 2005/11/16 18:39:18 hflor Exp $
+ * $Id: menuitemtext.c 0.1 2004/10/08 02:03:31 hflor Exp $
  */
 
-#include "menutext.h"
+#include "menuitemtext.h"
 #include <vdr/menuitems.h>
 
 // --- cMenuText -------------------------------------------------------------
 
-cMenuText::cMenuText(const char *Title, const char *Text, eDvbFont Font)
+cMenuItemText::cMenuItemText(const char *Title, const char *Text, eDvbFont Font)
 :cOsdMenu(Title)
 {
   Add(new cMenuTextItem(Text, 1, 2, Setup.OSDwidth - 2, MAXOSDITEMS, clrWhite, clrBackground, Font));
 }
 
-eOSState cMenuText::ProcessKey(eKeys Key)
+eOSState cMenuItemText::ProcessKey(eKeys Key)
 {
   eOSState state = cOsdMenu::ProcessKey(Key);
 
diff --git a/menutext.h b/menuitemtext.h
similarity index 54%
copy from menutext.h
copy to menuitemtext.h
index 1f163fe..8217f95 100644
--- a/menutext.h
+++ b/menuitemtext.h
@@ -3,21 +3,20 @@
  *
  * See the README file for copyright information and how to reach the author.
  *
- * $Id: menutext.h 0.4 2005/11/16 18:39:18 hflor Exp $
+ * $Id: menuitemtext.h 0.1 2004/10/08 02:03:31 hflor Exp $
  */
 
-#ifndef __MENUTEXT_H
-#define __MENUTEXT_H
+#ifndef __MENUITEMTEXT_H
+#define __MENUITEMTEXT_H
 
 #include <vdr/osd.h>
-#include <vdr/osdbase.h>
 
 // --- cMenuText -------------------------------------------------------------
 
-class cMenuText : public cOsdMenu {
+class cMenuItemText : public cOsdMenu {
 public:
-  cMenuText(const char *Title, const char *Text, eDvbFont Font = fontOsd);
+  cMenuItemText(const char *Title, const char *Text, eDvbFont Font = fontOsd);
   virtual eOSState ProcessKey(eKeys Key);
   };
 
-#endif // __MENUTEXT_H
+#endif // __MENUITEMTEXT_H
diff --git a/menunoselectitem.h b/menunoselectitem.h
index 854708c..9bc69be 100644
--- a/menunoselectitem.h
+++ b/menunoselectitem.h
@@ -1,5 +1,5 @@
 /*
- * autotimeredit: A plugin for the Video Disk Recorder
+ * undelete: A plugin for the Video Disk Recorder
  *
  * See the README file for copyright information and how to reach the author.
  *
diff --git a/menusetup.c b/menusetup.c
index dd98538..6cf4c45 100644
--- a/menusetup.c
+++ b/menusetup.c
@@ -9,7 +9,6 @@
 #include "menusetup.h"
 #include "undelete.h"
 #include "menuundelete.h"
-#include "i18n.h"
 #include "vdrtools.h"
 #include "menueditkeys.h"
 #include "menunoselectitem.h"
@@ -146,7 +145,7 @@ void cMenuSetupUndelete::Set(int FunctionToSelect)
 
   Add(new cOsdItem         (tr("Setup$Display deleted recordings now"),                  osUser1));
   if (DisplayLine(commandline_preference))
-    Add(new cMenuEditBoolItem(tr("Setup$Preferr Command Line Parameter"),                &commandline_preference.u));
+    Add(new cMenuEditBoolItem(tr("Setup$Prefer Command Line Parameter"),                 &commandline_preference.u));
   if (DisplayLine(mainmenu_visible))
     Add(new cMenuEditBoolItem(tr("Setup$Visible in Mainmenu"),                           &mainmenu_visible.u));
   if (DisplayLine(mainmenu_name) && mainmenu_visible.u)
@@ -172,9 +171,9 @@ void cMenuSetupUndelete::Set(int FunctionToSelect)
   if (DisplayLine(functionline_num[1]) && functionline_b_e[1].u == 0x3)
     Add(new cMenuEditIntItem (tr("Setup$  Display bottom salvage ex lines"),             &functionline_num[1].u, 1, 200));
   if ((DisplayLine(functionline_b_e[0]) || DisplayLine(functionline_b_e[1])) && DisplayLine(firstsalvage) && ((functionline_b_e[0].u & functionline_b_e[1].u & 0x1) != 0x0 || (functionline_b_e[0].u & functionline_b_e[1].u & 0x2) != 0x0))
-    Add(new cMenuEditBoolItem(tr("Setup$  inward lines"),                                &firstsalvage.u, tr("Choise$purge"), tr("Choise$salvage")));
+    Add(new cMenuEditBoolItem(tr("Setup$  inward lines"),                                &firstsalvage.u, tr("Choice$purge"), tr("Choice$salvage")));
   if (FunctionToSelect > 0)
-    current = Count(); // pre select this line for display
+    current = Count(); // preselect this line for display
   Add(new cMenuEditBoolItem(tr("Setup$Change assigned functionkeys"),                    &show_setupfunction));
   if (show_setupfunction)
   {
@@ -187,13 +186,13 @@ void cMenuSetupUndelete::Set(int FunctionToSelect)
       Add(new cMenuEditKeysItem(name,                                                    &functionkey[i].u));
       free(name);
     }
-    Add(new cMenuOsdNoSelectItem(tr("Setup$  ** Spezial handled keys **")));
+    Add(new cMenuOsdNoSelectItem(tr("Setup$  ** Special handled keys **")));
     if (FunctionToSelect == 1 && okkey.u == 1)
       current = Count();
     Add(new cMenuEditStraItem(tr("Setup$  OK-key function"),                             &okkey.u, MaxFunctionName, FunctionName));
     if (FunctionToSelect == 1 && numkey.u == 1)
       current = Count();
-    Add(new cMenuEditStraItem(tr("Setup$  Numerickey select the entry and"),             &numkey.u, 4, FunctionName));
+    Add(new cMenuEditStraItem(tr("Setup$  Numeric key selects the entry and"),           &numkey.u, 4, FunctionName));
   }
   if (DisplayLine(verbose))
     Add(new cMenuEditBoolItem(tr("Setup$Verbose Log Mode"),                              &verbose.u));
@@ -237,7 +236,7 @@ eOSState cMenuSetupUndelete::ProcessKey(eKeys Key)
       show_setupfunction = true;
       Set(function2);
       char *info = NULL;
-      asprintf(&info, tr("Error$Key for funtion %s and %s identical."), FunctionName[function1], FunctionName[function2]);
+      asprintf(&info, tr("Error$Key for function %s and %s is identical."), FunctionName[function1], FunctionName[function2]);
       INFO(info);
       free(info);
       state = osContinue;
diff --git a/menuundelete.c b/menuundelete.c
index 6f9b2d9..e457703 100644
--- a/menuundelete.c
+++ b/menuundelete.c
@@ -12,7 +12,6 @@
 #endif
 #include "undelete.h"
 #include "menudispkey.h"
-#include "i18n.h"
 #include "vdrtools.h"
 #include <vdr/interface.h>
 #include <vdr/videodir.h>
@@ -31,7 +30,11 @@ cMenuRecordingSelectItem::cMenuRecordingSelectItem(cRecording *Recording, int Le
 #endif
   filename = strdup(Recording->FileName());
   totalEntries = newEntries = 0;
+#if VDRVERSNUM >= 10728
+  start = Recording->Start();
+#else
   start = Recording->start;
+#endif
   SetText(Recording->Title('\t', true, Level));
   if ((isdir = (*Text() == '\t')))
     name = strdup(Text() + 2);
@@ -238,23 +241,23 @@ void cMenuRecordingSelect::AddFunctionLines(void)
     if (top_line[0])
       Ins(new cOsdItem(tr("Display$Purge all records ..."), osUser2));
     if (top_line[1])
-      Ins(new cOsdItem(tr("Display$Salavge all records ..."), osUser3));
+      Ins(new cOsdItem(tr("Display$Salvage all records ..."), osUser3));
     if (bottom_line[0])
       Add(new cOsdItem(tr("Display$Purge all records ..."), osUser2));
     if (bottom_line[1])
-      Add(new cOsdItem(tr("Display$Salavge all records ..."), osUser3));
+      Add(new cOsdItem(tr("Display$Salvage all records ..."), osUser3));
   } else
   {
     if (top_line[1])
-      Ins(new cOsdItem(tr("Display$Salavge all records ..."), osUser3));
+      Ins(new cOsdItem(tr("Display$Salvage all records ..."), osUser3));
     if (top_line[0])
       Ins(new cOsdItem(tr("Display$Purge all records ..."), osUser2));
     if (bottom_line[1])
-      Add(new cOsdItem(tr("Display$Salavge all records ..."), osUser3));
+      Add(new cOsdItem(tr("Display$Salvage all records ..."), osUser3));
     if (bottom_line[0])
       Add(new cOsdItem(tr("Display$Purge all records ..."), osUser2));
   }
-  d1syslog("cMenuRecordingSelect::AddFunctionLines", "new top(purge)=%s top(salavge)=%s bottom(purge)=%s bottom(salvage)=%s", top_line[0] ? "yes" : "no", top_line[1] ? "yes" : "no", bottom_line[0] ? "yes" : "no", bottom_line[1] ? "yes" : "no");
+  d1syslog("cMenuRecordingSelect::AddFunctionLines", "new top(purge)=%s top(salvage)=%s bottom(purge)=%s bottom(salvage)=%s", top_line[0] ? "yes" : "no", top_line[1] ? "yes" : "no", bottom_line[0] ? "yes" : "no", bottom_line[1] ? "yes" : "no");
 }
 
 void cMenuRecordingSelect::DelFunctionLines(void)
@@ -422,7 +425,7 @@ eOSState cMenuRecordingSelect::FunctionCall(int FunctionNumber)
     case 7:   recording = GetRecording(item);
 #if VDRVERSNUM >= 10325
               if (recording && recording->Info() && recording->Info()->Description() && *recording->Info()->Description())
-                state = AddSubMenu(new cMenuText(tr("Summary"), recording->Info()->Description()));
+                state = AddSubMenu(new cMenuText(tr("Info"), recording->Info()->Description()));
 #else 
               if (recording && recording->Summary() && *recording->Summary())
                 state = AddSubMenu(new cMenuText(tr("Summary"), recording->Summary()));
@@ -444,7 +447,7 @@ eOSState cMenuRecordingSelect::FunctionCall(int FunctionNumber)
               state = osContinue;
               break;
 
-    // Choise$Display keys
+    // Choice$Display keys
     case 10:  state = AddSubMenu(new cMenuDispKey());
               break;
   }
@@ -672,11 +675,20 @@ eOSState cMenuUndelete::ProcessKey(eKeys Key)
                                     processerror = true;
                                   }
                                   SalvageRecording = true;
+#if VDRVERSNUM >= 10703
+                                  cIndexFile *index = new cIndexFile(NewName, false, recording->IsPesRecording());
+#else
                                   cIndexFile *index = new cIndexFile(NewName, false);
+#endif
                                   int LastFrame = index->Last() - 1;
                                   if (LastFrame > 0) {
+#if VDRVERSNUM >= 10703
+                                    uint16_t FileNumber = 0;
+                                    off_t FileOffset = 0;
+#else
                                     uchar FileNumber = 0;
                                     int FileOffset = 0;
+#endif
                                     index->Get(LastFrame, &FileNumber, &FileOffset);
                                     delete index;
                                     if (FileNumber == 0) {
@@ -686,7 +698,11 @@ eOSState cMenuUndelete::ProcessKey(eKeys Key)
                                     } else {
                                       for (int i = 1; i <= FileNumber; i++) {
                                         char *temp;
+#if VDRVERSNUM >= 10703
+                                        asprintf(&temp, recording->IsPesRecording() ? "%s/%03d.vdr" : "%s/%05d.ts", (const char *)NewName, i);
+#else
                                         asprintf(&temp, "%s/%03d.vdr", (const char *)NewName, i);
+#endif
                                         if (access(temp, R_OK) != 0) {
                                           i = FileNumber;                                          
                                           if (verbose.u)
diff --git a/po/de_DE.po b/po/de_DE.po
new file mode 100644
index 0000000..f2cb564
--- /dev/null
+++ b/po/de_DE.po
@@ -0,0 +1,371 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls at tvdr.de>
+# This file is distributed under the same license as the VDR package.
+# Klaus Schmidinger <kls at tvdr.de>, 2000
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <martin.dummer at gmx.net>\n"
+"POT-Creation-Date: 2012-10-04 12:47+0200\n"
+"PO-Revision-Date: 2012-06-27 16:35+0200\n"
+"Last-Translator: Martin Dummer <martin.dummer at gmx.net>\n"
+"Language-Team: <vdr at linuxtv.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "undelete for recordings"
+msgstr "Gelöschte Aufnahmen wiederherstellen"
+
+msgid "Choice$salvage"
+msgstr "wiederherst."
+
+msgid "Choice$purge"
+msgstr "löschen"
+
+msgid "Choice$none"
+msgstr "ohne"
+
+msgid "Choice$top"
+msgstr "oben"
+
+msgid "Choice$bottom"
+msgstr "unten"
+
+msgid "Choice$top and bottom"
+msgstr "oben & unten"
+
+msgid "Choice$open/summary"
+msgstr "Öffnen/Inhalt"
+
+msgid "Choice$purge all"
+msgstr "alle löschen"
+
+msgid "Choice$salvage all"
+msgstr "alle wiederh."
+
+msgid "Choice$open"
+msgstr "Öffnen"
+
+msgid "Choice$summary"
+msgstr "Inhalt"
+
+msgid "Choice$switch hotkeys to 1"
+msgstr "Tastenbel. 1"
+
+msgid "Choice$switch hotkeys to 2"
+msgstr "Tastenbel. 2"
+
+msgid "Choice$Display keys"
+msgstr "Tastenanzeige"
+
+msgid "Display$purge"
+msgstr "Löschen"
+
+msgid "Display$salvage"
+msgstr "Wiederherst."
+
+msgid "Display$purge all"
+msgstr "alle Löschen"
+
+msgid "Display$salvage all"
+msgstr "alle Wieder."
+
+msgid "Open"
+msgstr ""
+
+msgid "Info"
+msgstr ""
+
+msgid "Summary"
+msgstr ""
+
+msgid "Display$<--1"
+msgstr "<--1"
+
+msgid "Display$2-->"
+msgstr "2-->"
+
+msgid "Display$disp. keys"
+msgstr "Tastenanzeige"
+
+msgid "Red"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
+msgid "Yellow"
+msgstr ""
+
+msgid "Blue"
+msgstr ""
+
+msgid "Choice$User"
+msgstr "Benutzer"
+
+msgid "Menu$Undelete recordings"
+msgstr "Aufnahmen wiederherstellen"
+
+msgid "Bytes"
+msgstr ""
+
+msgid "Up"
+msgstr ""
+
+msgid "Down"
+msgstr ""
+
+msgid "Menu"
+msgstr ""
+
+msgid "Ok"
+msgstr ""
+
+msgid "Back"
+msgstr ""
+
+msgid "Left"
+msgstr ""
+
+msgid "Right"
+msgstr ""
+
+msgid "Play"
+msgstr ""
+
+msgid "Pause"
+msgstr ""
+
+msgid "Stop"
+msgstr ""
+
+msgid "Record"
+msgstr ""
+
+msgid "FastFwd"
+msgstr ""
+
+msgid "FastRew"
+msgstr ""
+
+msgid "Power"
+msgstr ""
+
+msgid "ChanUp"
+msgstr ""
+
+msgid "ChanDn"
+msgstr ""
+
+msgid "VolUp"
+msgstr ""
+
+msgid "VolDn"
+msgstr ""
+
+msgid "Mute"
+msgstr ""
+
+msgid "Schedule"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Timers"
+msgstr ""
+
+msgid "Recordings"
+msgstr ""
+
+msgid "Setup"
+msgstr ""
+
+msgid "Commands"
+msgstr ""
+
+msgid "User1"
+msgstr ""
+
+msgid "User2"
+msgstr ""
+
+msgid "User3"
+msgstr ""
+
+msgid "User4"
+msgstr ""
+
+msgid "User5"
+msgstr ""
+
+msgid "User6"
+msgstr ""
+
+msgid "User7"
+msgstr ""
+
+msgid "User8"
+msgstr ""
+
+msgid "User9"
+msgstr ""
+
+msgid "none"
+msgstr ""
+
+msgid "Kbd"
+msgstr ""
+
+msgid "Salvage"
+msgstr "Wiederherstellung"
+
+msgid "Purge"
+msgstr "Löschung"
+
+msgid "DeleteLine"
+msgstr "ZeileLöschen"
+
+msgid "HelpKeys"
+msgstr "HilfeTasten"
+
+msgid "unknown"
+msgstr "unbekannt"
+
+msgid "Deleted Recordings"
+msgstr "Gelöschte Aufnahmen"
+
+msgid "Display$prepare recording display..."
+msgstr "Listenanzeige wird vorbereitet..."
+
+msgid "Error while accessing recording!"
+msgstr ""
+
+msgid "Display$Purge all records ..."
+msgstr "Alle Aufnahmen endgültig löschen ..."
+
+msgid "Display$Salvage all records ..."
+msgstr "Alle Aufnahmen wiederherstellen ..."
+
+msgid "Question$Purge recording?"
+msgstr "Aufnahme endgültig löschen?"
+
+msgid "Question$Purge recordings in diretory?"
+msgstr "Aufnahmen in Verzeichnis endgültig löschen?"
+
+msgid "Question$Salvage recording?"
+msgstr "Aufnahme wiederherstellen?"
+
+msgid "Question$Salvage recordings in directory?"
+msgstr "Aufnahmen in Verzeichnis wiederherstellen?"
+
+msgid "Question$Purge all recordings?"
+msgstr "Alle Aufnahmen endgültig löschen?"
+
+msgid "Question$Salvage all recordings?"
+msgstr "Alle Aufnahmen wiederherstellen?"
+
+msgid "Display$please wait ..."
+msgstr "bitte warten ..."
+
+msgid "Error$Recording with the same name exists!"
+msgstr "Aufnahme mit selben Namen ist vorhanden!"
+
+msgid "Error$error while read last filenumber"
+msgstr "Fehler beim lesen der letzten Dateinummer"
+
+#, c-format
+msgid "Error$error accessing vdrfile %03d"
+msgstr "Fehler beim lesen der Videodatei %03d"
+
+msgid "Error$error accessing indexfile"
+msgstr "Fehler beim lesen der Indexdatei"
+
+msgid "Menu$assigned keys"
+msgstr "Zugewiesene Tasten"
+
+msgid "Edit"
+msgstr ""
+
+msgid "Help$key\tfunction"
+msgstr "Taste\tFunktion"
+
+msgid "Help$OK"
+msgstr "OK"
+
+msgid "Help$numerickey"
+msgstr "Numerntaste"
+
+msgid "Setup$Display deleted recordings now"
+msgstr "Gelöschte Aufnahmen jetzt anzeigen"
+
+msgid "Setup$Prefer Command Line Parameter"
+msgstr "Kommandozeile hat Vorrang"
+
+msgid "Setup$Visible in Mainmenu"
+msgstr "Im Hauptmenü sichtbar"
+
+msgid "Setup$  Name for Mainmenu"
+msgstr "  Eintragname im Hauptmenü"
+
+msgid "Setup$Confirm purge deleted recordings"
+msgstr "Aufnahme löschen bestätigen"
+
+msgid "Setup$Confirm purge directories"
+msgstr "Verzeichnisse löschen bestätigen"
+
+msgid "Setup$Confirm purge all deleted recordings"
+msgstr "Alles löschen bestätigen"
+
+msgid "Setup$Confirm salvage deleted recordings"
+msgstr "Wiederherstellung Aufn. bestätigen"
+
+msgid "Setup$Confirm salvage directories"
+msgstr "Wiederherstellung Verz. bestätigen"
+
+msgid "Setup$Confirm salvage all deleted recordings"
+msgstr "Bestätigung alles wiederherstellen"
+
+msgid "Setup$Purgeline position"
+msgstr "Löschzeilenposition"
+
+msgid "Setup$  Display bottom purge ex lines"
+msgstr "  Anzahl Einträge für Darstellung"
+
+msgid "Setup$Salvageline position"
+msgstr "Wiederherstellungszeilenposition"
+
+msgid "Setup$  Display bottom salvage ex lines"
+msgstr "  Anzahl Einträge für Darstellung"
+
+msgid "Setup$  inward lines"
+msgstr "  Innenliegende Zeilen"
+
+msgid "Setup$Change assigned functionkeys"
+msgstr "Ändern der Tastenbelegung"
+
+#, c-format
+msgid "Setup$  Key for function-%s"
+msgstr "  Taste für Funktion-%s"
+
+msgid "Setup$  ** Special handled keys **"
+msgstr "  ** Spezialtasten **"
+
+msgid "Setup$  OK-key function"
+msgstr "  Funktion der OK-Taste"
+
+msgid "Setup$  Numeric key selects the entry and"
+msgstr "  Auswahl mit Nummern und"
+
+msgid "Setup$Verbose Log Mode"
+msgstr "Ausführliche Protokollierung"
+
+#, c-format
+msgid "Error$Key for function %s and %s is identical."
+msgstr "Tasten von %s und %s sind gleich."
+
+msgid "Setup$Select"
+msgstr "Auswahl"
diff --git a/po/fr_FR.po b/po/fr_FR.po
new file mode 100644
index 0000000..2a8c19a
--- /dev/null
+++ b/po/fr_FR.po
@@ -0,0 +1,374 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls at tvdr.de>
+# This file is distributed under the same license as the VDR package.
+# Jean-Claude Repetto <jc at repetto.org>, 2001
+# Olivier Jacques <jacquesolivier at hotmail.com>, 2003
+# Gregoire Favre <greg at magma.unil.ch>, 2003
+# Nicolas Huillard <nhuillard at e-dition.fr>, 2005
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <martin.dummer at gmx.net>\n"
+"POT-Creation-Date: 2012-10-04 12:47+0200\n"
+"PO-Revision-Date: 2012-06-27 16:35+0200\n"
+"Last-Translator: Nicolas Huillard <nhuillard at e-dition.fr>\n"
+"Language-Team: <vdr at linuxtv.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "undelete for recordings"
+msgstr "Restaurer enregistrement"
+
+msgid "Choice$salvage"
+msgstr "restaurer"
+
+msgid "Choice$purge"
+msgstr "effacer"
+
+msgid "Choice$none"
+msgstr "sans"
+
+msgid "Choice$top"
+msgstr "en haut"
+
+msgid "Choice$bottom"
+msgstr "en bas"
+
+msgid "Choice$top and bottom"
+msgstr "en haut & en bas"
+
+msgid "Choice$open/summary"
+msgstr "Ouvrir/contenu"
+
+msgid "Choice$purge all"
+msgstr "effacer tout"
+
+msgid "Choice$salvage all"
+msgstr "restaurer tout"
+
+msgid "Choice$open"
+msgstr "ouvrir"
+
+msgid "Choice$summary"
+msgstr "Contenu"
+
+msgid "Choice$switch hotkeys to 1"
+msgstr "Choix touche 1"
+
+msgid "Choice$switch hotkeys to 2"
+msgstr "Choix touche 2"
+
+msgid "Choice$Display keys"
+msgstr "Affiche des touches"
+
+msgid "Display$purge"
+msgstr "Effacer"
+
+msgid "Display$salvage"
+msgstr "Restaurer"
+
+msgid "Display$purge all"
+msgstr "effacer tout"
+
+msgid "Display$salvage all"
+msgstr "restaurer tout"
+
+msgid "Open"
+msgstr ""
+
+msgid "Info"
+msgstr ""
+
+msgid "Summary"
+msgstr ""
+
+msgid "Display$<--1"
+msgstr "<--1"
+
+msgid "Display$2-->"
+msgstr "2-->"
+
+msgid "Display$disp. keys"
+msgstr "Afficher les touches"
+
+msgid "Red"
+msgstr ""
+
+msgid "Green"
+msgstr ""
+
+msgid "Yellow"
+msgstr ""
+
+msgid "Blue"
+msgstr ""
+
+msgid "Choice$User"
+msgstr "Utilisateur"
+
+msgid "Menu$Undelete recordings"
+msgstr "Restaurer enregistrement"
+
+msgid "Bytes"
+msgstr ""
+
+msgid "Up"
+msgstr ""
+
+msgid "Down"
+msgstr ""
+
+msgid "Menu"
+msgstr ""
+
+msgid "Ok"
+msgstr ""
+
+msgid "Back"
+msgstr ""
+
+msgid "Left"
+msgstr ""
+
+msgid "Right"
+msgstr ""
+
+msgid "Play"
+msgstr ""
+
+msgid "Pause"
+msgstr ""
+
+msgid "Stop"
+msgstr ""
+
+msgid "Record"
+msgstr ""
+
+msgid "FastFwd"
+msgstr ""
+
+msgid "FastRew"
+msgstr ""
+
+msgid "Power"
+msgstr ""
+
+msgid "ChanUp"
+msgstr ""
+
+msgid "ChanDn"
+msgstr ""
+
+msgid "VolUp"
+msgstr ""
+
+msgid "VolDn"
+msgstr ""
+
+msgid "Mute"
+msgstr ""
+
+msgid "Schedule"
+msgstr ""
+
+msgid "Channels"
+msgstr ""
+
+msgid "Timers"
+msgstr ""
+
+msgid "Recordings"
+msgstr ""
+
+msgid "Setup"
+msgstr ""
+
+msgid "Commands"
+msgstr ""
+
+msgid "User1"
+msgstr ""
+
+msgid "User2"
+msgstr ""
+
+msgid "User3"
+msgstr ""
+
+msgid "User4"
+msgstr ""
+
+msgid "User5"
+msgstr ""
+
+msgid "User6"
+msgstr ""
+
+msgid "User7"
+msgstr ""
+
+msgid "User8"
+msgstr ""
+
+msgid "User9"
+msgstr ""
+
+msgid "none"
+msgstr ""
+
+msgid "Kbd"
+msgstr ""
+
+msgid "Salvage"
+msgstr "Restaurer"
+
+msgid "Purge"
+msgstr "Vider"
+
+msgid "DeleteLine"
+msgstr "Effacer ligne"
+
+msgid "HelpKeys"
+msgstr "Touche d'aide"
+
+msgid "unknown"
+msgstr "inconnu"
+
+msgid "Deleted Recordings"
+msgstr "Enregistrements effacés"
+
+msgid "Display$prepare recording display..."
+msgstr "L'affichage liste en préparation..."
+
+msgid "Error while accessing recording!"
+msgstr ""
+
+msgid "Display$Purge all records ..."
+msgstr "Effacer tous les enregistrement définitivement ..."
+
+msgid "Display$Salvage all records ..."
+msgstr "Restaurer tout les enregistrements ..."
+
+msgid "Question$Purge recording?"
+msgstr ""
+
+msgid "Question$Purge recordings in diretory?"
+msgstr ""
+
+msgid "Question$Salvage recording?"
+msgstr "Restaurer enregistrement?"
+
+msgid "Question$Salvage recordings in directory?"
+msgstr "Restaurer l'enregistrement dans dossier?"
+
+msgid "Question$Purge all recordings?"
+msgstr ""
+
+msgid "Question$Salvage all recordings?"
+msgstr "Restaurer tout les enregistrements?"
+
+msgid "Display$please wait ..."
+msgstr "attendez, merci"
+
+msgid "Error$Recording with the same name exists!"
+msgstr "Des enregistrements avec le même nom existent!"
+
+msgid "Error$error while read last filenumber"
+msgstr ""
+
+#, c-format
+msgid "Error$error accessing vdrfile %03d"
+msgstr ""
+
+msgid "Error$error accessing indexfile"
+msgstr ""
+
+msgid "Menu$assigned keys"
+msgstr "Touches assignées"
+
+msgid "Edit"
+msgstr ""
+
+msgid "Help$key\tfunction"
+msgstr "Touch\tFonction"
+
+msgid "Help$OK"
+msgstr "OK"
+
+msgid "Help$numerickey"
+msgstr "Touch numérique"
+
+msgid "Setup$Display deleted recordings now"
+msgstr "Afficher les enregistrements effacés"
+
+msgid "Setup$Prefer Command Line Parameter"
+msgstr "La ligne de commande a priorité"
+
+msgid "Setup$Visible in Mainmenu"
+msgstr "Visible dans le menu principal"
+
+msgid "Setup$  Name for Mainmenu"
+msgstr "  Nom afficher pour le menu principal"
+
+msgid "Setup$Confirm purge deleted recordings"
+msgstr "Confirmer effacer enregistrement"
+
+msgid "Setup$Confirm purge directories"
+msgstr "Confirmer effacer dossier"
+
+msgid "Setup$Confirm purge all deleted recordings"
+msgstr "Confirmation effacer tout"
+
+msgid "Setup$Confirm salvage deleted recordings"
+msgstr "Confirmer restaurer enregistrement"
+
+msgid "Setup$Confirm salvage directories"
+msgstr "Confirmer restaurer dossier"
+
+msgid "Setup$Confirm salvage all deleted recordings"
+msgstr "Confirmer restaurer tout"
+
+msgid "Setup$Purgeline position"
+msgstr "Position de la ligne d'éffacement"
+
+msgid "Setup$  Display bottom purge ex lines"
+msgstr "  Nombre de ligne d'affichage d'effacement"
+
+msgid "Setup$Salvageline position"
+msgstr "Position de la ligne de restauration"
+
+msgid "Setup$  Display bottom salvage ex lines"
+msgstr "  Nombre de ligne d'affichage"
+
+msgid "Setup$  inward lines"
+msgstr "  Ligne interrieur"
+
+msgid "Setup$Change assigned functionkeys"
+msgstr "Changer la configuration des touches"
+
+#, c-format
+msgid "Setup$  Key for function-%s"
+msgstr "  Touch pour fonction-%s"
+
+msgid "Setup$  ** Special handled keys **"
+msgstr "  ** Touche spéciale **"
+
+msgid "Setup$  OK-key function"
+msgstr "  Fonction touch OK"
+
+msgid "Setup$  Numeric key selects the entry and"
+msgstr "  Choix avec numéro et"
+
+msgid "Setup$Verbose Log Mode"
+msgstr "Protokolle mode complet"
+
+#, c-format
+msgid "Error$Key for function %s and %s is identical."
+msgstr "Touche de %s et %s sont les mêmes."
+
+msgid "Setup$Select"
+msgstr "Choix"
diff --git a/undelete.c b/undelete.c
index 51c8b3c..ce3c2d8 100644
--- a/undelete.c
+++ b/undelete.c
@@ -9,15 +9,15 @@
 #include "undelete.h"
 #include "menuundelete.h"
 #include "menusetup.h"
-#include "i18n.h"
 #include "vdrtools.h"
 #include <getopt.h>
 #include <ctype.h>
 #include <vdr/recording.h>
 #include <vdr/videodir.h>
 
-static const char *VERSION           = "0.0.6";
-static const char *DESCRIPTION       = "undelete for recordings";
+static const char *VERSION           = "0.0.7";
+static const char DESCRIPTION[]      = trNOOP("undelete for recordings");
+
 
 // Global variables that control the overall behaviour:
 
@@ -111,7 +111,7 @@ void DisplaySetings(void)
     if (functionline_b_e[1].u == 0x3)
       isyslog("%s: num entry for display        = [ %c%c%c ] %d", IsDefault(functionline_num[1]), functionline_num[1].u);
     if ((functionline_b_e[0].u & functionline_b_e[1].u & 0x1) != 0x0 || (functionline_b_e[0].u & functionline_b_e[1].u & 0x2) != 0x0)
-      isyslog("%s: inward lines                 = [ %c%c%c ] %s", IsDefault(firstsalvage), firstsalvage.u ? tr("Choise$salvage") : tr("Choise$purge"));
+      isyslog("%s: inward lines                 = [ %c%c%c ] %s", IsDefault(firstsalvage), firstsalvage.u ? tr("Choice$salvage") : tr("Choice$purge"));
     for (int i = 2; i < MaxFunctionName; i++)
       isyslog("%s: key for %-20s = [ %c%c%c ] %s", plugin_name, FunctionName[i], IsDefaultS(functionkey[i]), KeysName[functionkey[i].u]);
     isyslog("%s: spec. function for OK-key    = [ %c%c%c ] %s", IsDefault(okkey), FunctionName[okkey.u]);
@@ -139,7 +139,7 @@ void DisplaySetings(void)
     if (functionline_b_e[1].u == 0x3)
       dsyslog("%s: num entry for display        = [ %c%c%c ] %d", IsDefault(functionline_num[1]), functionline_num[1].u);
     if ((functionline_b_e[0].u & functionline_b_e[1].u & 0x1) != 0x0 || (functionline_b_e[0].u & functionline_b_e[1].u & 0x2) != 0x0)
-      dsyslog("%s: inward lines                 = [ %c%c%c ] %s", IsDefault(firstsalvage), firstsalvage.u ? tr("Choise$salvage") : tr("Choise$purge"));
+      dsyslog("%s: inward lines                 = [ %c%c%c ] %s", IsDefault(firstsalvage), firstsalvage.u ? tr("Choice$salvage") : tr("Choice$purge"));
     for (int i = 2; i < MaxFunctionName; i++)
       dsyslog("%s: key for %-20s = [ %c%c%c ] %s", plugin_name, FunctionName[i], IsDefaultS(functionkey[i]), KeysName[functionkey[i].u]);
     dsyslog("%s: spec. function for OK-key    = [ %c%c%c ] %s", IsDefault(okkey), FunctionName[okkey.u]);
@@ -198,7 +198,11 @@ class cPluginUndelete : public cPlugin {
 private:
   // Add any member variables or functions you may need here.
   void FreeKeyNames(void);
+#if VDRVERSNUM >= 10507
+  char* OSDLanguage;
+#else
   int OSDLanguage;
+#endif
   void TestAndSetOSDLanguage(void);
   bool ProcessArg(int argc, char *argv[]);
 #ifdef UND_Debug
@@ -237,7 +241,7 @@ cPluginUndelete::cPluginUndelete(void)
   // DON'T DO ANYTHING ELSE THAT MAY HAVE SIDE EFFECTS, REQUIRE GLOBAL
   // VDR OBJECTS TO EXIST OR PRODUCE ANY OUTPUT!
   plugin = this;
-  memset(KeysName, sizeof(KeysName), 0);
+  memset(KeysName, 0, sizeof(KeysName));
 }
 
 cPluginUndelete::~cPluginUndelete()
@@ -262,31 +266,35 @@ void cPluginUndelete::TestAndSetOSDLanguage(void)
   if (OSDLanguage != Setup.OSDLanguage) {
     FreeKeyNames();
     OSDLanguage = Setup.OSDLanguage;
-    FunctionLine[0] = tr("Choise$none");
-    FunctionLine[1] = tr("Choise$top");
-    FunctionLine[2] = tr("Choise$bottom");
-    FunctionLine[3] = tr("Choise$top and bottom");
-    FunctionName[0] = tr("Choise$none");
-    FunctionName[1] = tr("Choise$open/summary");
-    FunctionName[2] = tr("Choise$purge");
-    FunctionName[3] = tr("Choise$salvage");
-    FunctionName[4] = tr("Choise$purge all");
-    FunctionName[5] = tr("Choise$salvage all");
-    FunctionName[6] = tr("Choise$open");
-    FunctionName[7] = tr("Choise$summary");
-    FunctionName[8] = tr("Choise$switch hotkeys to 1");
-    FunctionName[9] = tr("Choise$switch hotkeys to 2");
-    FunctionName[10] = tr("Choise$Display keys");
+    FunctionLine[0] = tr("Choice$none");
+    FunctionLine[1] = tr("Choice$top");
+    FunctionLine[2] = tr("Choice$bottom");
+    FunctionLine[3] = tr("Choice$top and bottom");
+    FunctionName[0] = tr("Choice$none");
+    FunctionName[1] = tr("Choice$open/summary");
+    FunctionName[2] = tr("Choice$purge");
+    FunctionName[3] = tr("Choice$salvage");
+    FunctionName[4] = tr("Choice$purge all");
+    FunctionName[5] = tr("Choice$salvage all");
+    FunctionName[6] = tr("Choice$open");
+    FunctionName[7] = tr("Choice$summary");
+    FunctionName[8] = tr("Choice$switch hotkeys to 1");
+    FunctionName[9] = tr("Choice$switch hotkeys to 2");
+    FunctionName[10] = tr("Choice$Display keys");
     FunctionHotKey[2] = tr("Display$purge");
     FunctionHotKey[3] = tr("Display$salvage");
     FunctionHotKey[4] = tr("Display$purge all");
     FunctionHotKey[5] = tr("Display$salvage all");
     FunctionHotKey[6] = tr("Open");
+#if VDRVERSNUM >= 10325
+    FunctionHotKey[7] = tr("Info");
+#else
     FunctionHotKey[7] = tr("Summary");
+#endif
     FunctionHotKey[8] = tr("Display$<--1");
     FunctionHotKey[9] = tr("Display$2-->");
     FunctionHotKey[10] = tr("Display$disp. keys");
-    KeysName[0] = strdup(tr("Choise$none"));
+    KeysName[0] = strdup(tr("Choice$none"));
     for (int i = 1; i <= 2; i++) {
       asprintf(&KeysName[i], "%s (%d)", tr("Red"), i);
       asprintf(&KeysName[i+2], "%s (%d)", tr("Green"), i);
@@ -296,7 +304,7 @@ void cPluginUndelete::TestAndSetOSDLanguage(void)
     for (int i = 0; i <= 9; i++)
       asprintf(&KeysName[i+9], "%d", i);
     for (int i = 1; i <= 9; i++)
-      asprintf(&KeysName[i+18], "%s %d", tr("Choise$User"), i);
+      asprintf(&KeysName[i+18], "%s %d", tr("Choice$User"), i);
   }
 }
 
@@ -395,7 +403,7 @@ bool cPluginUndelete::ProcessArg(int argc, char *argv[])
 const char *cPluginUndelete::CommandLineHelp(void)
 {
   // Return a string that describes all known command line options.            column 80 --> |
-  return tr("  -m        --visible_in_mainmenu     Show the plugin in the mainmenu\n"
+  return   ("  -m        --visible_in_mainmenu     Show the plugin in the mainmenu\n"
             "  -M        --hide_in_mainmenu        Hide the plugin in the mainmenu\n"
             "                                      You can start the Plugin in the setupmenu\n"
             "  -n Name   --mainmenu_name=Name      Select Name for entry in the mainmenu\n"
@@ -412,13 +420,12 @@ const char *cPluginUndelete::CommandLineHelp(void)
             "  -T        --not_confirm_salvage_dir salvage directory without confirmation\n"
             "  -u        --confirm_salvage_all     show confirmation for salvage all function\n"
             "  -U        --not_confirm_salvage_all salvage all function without confirmation\n"
-            "  -v        --verbose                 Enable more logging\n"
-            "  -V        --noverbose               Disable more loggig\n"
-            "            --nosetup_commandline     Hide the 'Preferr Command Line Parameter'\n"
-            "                                      form setup-menu\n"
-            "  @config-file                        Read also parameters from this file"
-            "\n"
-            "  note: recording means deleted recordings (there not show in VDR)");
+            "  -v        --verbose                 Enable verbose logging\n"
+            "  -V        --noverbose               Disable verbose logging\n"
+            "            --nosetup_commandline     Hide the 'Prefer Command Line Parameter'\n"
+            "                                      from plugin setup\n"
+            "  @config-file                        Read also parameters from this file\n"
+            "  Note: recording in this plugin's context means deleted recordings");
 
 /* only for translation:
             "  -m        --visible_in_mainmenu     Plugin wird im Hautmenü angezeigt\n"
@@ -459,7 +466,7 @@ bool cPluginUndelete::ProcessArgs(int argc, char *argv[])
 bool cPluginUndelete::Start(void)
 {
   // Start any background activities the plugin shall perform.
-  RegisterI18n(Phrases);
+  // RegisterI18n(Phrases);
   TestAndSetOSDLanguage();
 
   d1syslog("cPluginUndelete::Start", "undeleteconfigfile=%s", undeleteconfigfile.u);
@@ -663,11 +670,11 @@ const char **cPluginUndelete::SVDRPHelpPages(void)
 {
   static const char *HelpPages[] = {
   "LSTD    [ <number> ]\n"
-  "        List deleted recordings. Without option, all deleted recordings are\n"
-  "        listed.\n"
+  "        List deleted recordings.\n"
+  "        Without option, all deleted recordings are listed.\n"
   "        Otherwise the information for the given deleted recording is listed.",
   "SIZED   [ -h ]\n"
-  "        Caclulate the size of deleted recordings. Result is in Bytes or\n"
+  "        Calculate the size of deleted recordings. Result is in Bytes or\n"
   "        with option -h in human readable format.",
   "RMDIR\n"
   "        Start remove empty directory in the background",
@@ -778,7 +785,7 @@ cString cPluginUndelete::SVDRPCommand(const char *Command, const char *Option, i
       if (strcasecmp(Option, "-h"))
       {
         ReplyCode = 501;
-        return cString::sprintf("Error in parameter \"%s\" (only -h allow)", Option);
+        return cString::sprintf("Error in parameter \"%s\" (only -h allowed)", Option);
       } else
       {
         float llsizetmp = llsize;
@@ -788,7 +795,7 @@ cString cPluginUndelete::SVDRPCommand(const char *Command, const char *Option, i
           llsizetmp /= 1024;
         int decimalplaces = Unit < 2 ? 0 : Unit > 2 ? 2 : 1;
         ReplyCode = 904;
-        return cString::sprintf("size of deleted recordings are %1.*f %s", decimalplaces, llsizetmp, strUnit[Unit]);
+        return cString::sprintf("size of deleted recordings is %1.*f %s", decimalplaces, llsizetmp, strUnit[Unit]);
       }
     else
     {
@@ -801,12 +808,12 @@ cString cPluginUndelete::SVDRPCommand(const char *Command, const char *Option, i
     if (oRemoveThread.ActiveWithCancel())
     {
       ReplyCode = 554;
-      return "thread for remove empty directory alredy active";
+      return "thread for removing empty directories already active";
     } else
     {
       oRemoveThread.Start();
       ReplyCode = 905;
-      return "thread for remove empty directory is started";
+      return "thread for removing empty directories is started";
     }
   } else if CMD("PURGE")
   {
@@ -835,8 +842,8 @@ cString cPluginUndelete::SVDRPCommand(const char *Command, const char *Option, i
               isyslog("%s: purge deleted recording (%s)", plugin_name, recording->FileName());
             if (!RemoveVideoFile(recording->FileName()))
             {
-              esyslog("%s: Error while remove deleted recording (%s)", plugin_name, recording->FileName());
-              return cString::sprintf("error while purge the deleted recording \"%s\"  [%s]", Option, recording->Title());
+              esyslog("%s: Error while removing deleted recording (%s)", plugin_name, recording->FileName());
+              return cString::sprintf("error while purging the deleted recording \"%s\"  [%s]", Option, recording->Title());
             }
             NextRemoveThreadStart = time(NULL) + 600;
             char *temp;
@@ -844,7 +851,7 @@ cString cPluginUndelete::SVDRPCommand(const char *Command, const char *Option, i
             freenull(SVDRP_Process);
             SVDRP_Process = temp;
             ReplyCode = 906;
-            return cString::sprintf("purge of deleted recording \"%s\" [%s] is successful", Option, recording->Title());
+            return cString::sprintf("purge of deleted recording \"%s\" [%s] was successful", Option, recording->Title());
           } else
             return cString::sprintf("deleted recording \"%s\" not found%s", Option, DeletedRecordings.Count() ? "" : " (use LSTD before purge)");
         }
@@ -888,15 +895,15 @@ cString cPluginUndelete::SVDRPCommand(const char *Command, const char *Option, i
         bool recordingsavailable = DeletedRecordings.Count();
         DeletedRecordings.Clear();
         if (recordingsavailable)
-          return cString::sprintf("%snot all deleted recordings are purged (see lstd)", list ? (const char *)cString(list, true) : "");
+          return cString::sprintf("%snot all deleted recordings are purged (see LSTD)", list ? (const char *)cString(list, true) : "");
         else if (list)
         {
           ReplyCode = 907;
-          return cString::sprintf("%swarings while purge deleted recordings", (const char *)cString(list, true));
+          return cString::sprintf("%swarnings while purge deleted recordings", (const char *)cString(list, true));
         } else
         {
           ReplyCode = 908;
-          return "all deleted recordings are purged and thread for remove empty directory is started";
+          return "all deleted recordings were purged and thread for removing empty directories is started";
         }
       } else
       {
@@ -906,7 +913,7 @@ cString cPluginUndelete::SVDRPCommand(const char *Command, const char *Option, i
     } else
     {
       ReplyCode = 501;
-      return "number of deleted recoding for purge missing";
+      return "number of deleted recording for purge missing";
     }
   } else if CMD("SALVAGE")
   {
@@ -934,10 +941,10 @@ cString cPluginUndelete::SVDRPCommand(const char *Command, const char *Option, i
             if (verbose.u)
               isyslog("%s: undelete recording (%s)", plugin_name, recording->FileName());
             cString NewName = recording->FileName();
-            char *ext = strrchr(NewName, '.');
+            const char *ext = strrchr(NewName, '.');
             if (!strcmp(ext, DELEXT))
             {
-              strncpy(ext, RECEXT, strlen(ext));
+              strncpy((char *)ext, RECEXT, strlen(ext));
               if (!access(NewName, F_OK))
               {
                 if (verbose.u)
@@ -947,8 +954,8 @@ cString cPluginUndelete::SVDRPCommand(const char *Command, const char *Option, i
               {
                 if (!RenameVideoFile(recording->FileName(), (const char *)NewName))
                 {
-                  esyslog("%s: Error while rename deleted recording (%s) to (%s)", plugin_name, recording->FileName(), (const char *)NewName);
-                  return cString::sprintf("error while rename deleted recording \"%s\" [%s]", Option, recording->Title());
+                  esyslog("%s: Error while renaming deleted recording (%s) to (%s)", plugin_name, recording->FileName(), (const char *)NewName);
+                  return cString::sprintf("error while renaming deleted recording \"%s\" [%s]", Option, recording->Title());
                 }
               }
             }
@@ -956,17 +963,30 @@ cString cPluginUndelete::SVDRPCommand(const char *Command, const char *Option, i
             asprintf(&temp, "%sS#%d#", SVDRP_Process ? SVDRP_Process : "", recnumber);
             free(SVDRP_Process);
             SVDRP_Process = temp;
+#if VDRVERSNUM >= 10703
+            cIndexFile *index = new cIndexFile(NewName, false, recording->IsPesRecording());
+#else
             cIndexFile *index = new cIndexFile(NewName, false);
+#endif
             int LastFrame = index->Last() - 1;
             if (LastFrame > 0) {
+#if VDRVERSNUM >= 10703
+              uint16_t FileNumber = 0;
+              off_t FileOffset = 0;
+#else
               uchar FileNumber = 0;
               int FileOffset = 0;
+#endif
               index->Get(LastFrame, &FileNumber, &FileOffset);
               delete index;
               if (FileNumber == 0)
-                return cString::sprintf("error while read last filenumber for \"%s\" [%s]", Option, recording->Title());
+                return cString::sprintf("error while reading last filenumber for \"%s\" [%s]", Option, recording->Title());
               for (int i = 1; i <= FileNumber; i++) {
+#if VDRVERSNUM >= 10703
+                asprintf(&temp, recording->IsPesRecording() ? "%s/%03d.vdr" : "%s/%05d.ts", (const char *)NewName, i);
+#else
                 asprintf(&temp, "%s/%03d.vdr", (const char *)NewName, i);
+#endif
                 if (access(temp, R_OK) != 0) {
                   free(temp);
                   return cString::sprintf("error accessing vdrfile %03d for \"%s\" [%s]", i, Option, recording->Title());
@@ -1020,15 +1040,15 @@ cString cPluginUndelete::SVDRPCommand(const char *Command, const char *Option, i
         bool recordingsavailable = DeletedRecordings.Count();
         DeletedRecordings.Clear();
         if (recordingsavailable)
-          return cString::sprintf("%snot all deleted recordings are salvaged (see lstd)", list ? (const char *)cString(list, true) : "");
+          return cString::sprintf("%snot all deleted recordings were salvaged (see LSTD)", list ? (const char *)cString(list, true) : "");
         else if (list)
         {
           ReplyCode = 910;
-          return cString::sprintf("%swarings while salvage deleted recordings", (const char *)cString(list, true));
+          return cString::sprintf("%swarnings while salvaging deleted recordings", (const char *)cString(list, true));
         } else
         {
           ReplyCode = 911;
-          return "all deleted recordings are salvaged";
+          return "all deleted recordings were salvaged";
         }
       } else
       {
@@ -1038,7 +1058,7 @@ cString cPluginUndelete::SVDRPCommand(const char *Command, const char *Option, i
     } else
     {
       ReplyCode = 501;
-      return "number of deleted recoding for purge missing";
+      return "number of deleted recording for purge missing";
     }
   }
   return NULL;
diff --git a/vdrtools.c b/vdrtools.c
index a630234..fc44f5b 100644
--- a/vdrtools.c
+++ b/vdrtools.c
@@ -8,7 +8,6 @@
 
 #include "vdrtools.h"
 #include "undelete.h"
-#include "i18n.h"
 #include <vdr/menu.h>
 #include <vdr/interface.h>
 
@@ -85,7 +84,7 @@ char *SkipQuote(char *s)
 
 char *ExchangeChars(char *s, bool ToFileSystem)
 {
-// ToFileSystem is not use, only for comatibility with 'ExchangeChars' from 'recording.c'
+// ToFileSystem is not used, only for compatibility with 'ExchangeChars' from 'recording.c'
   char *p = s;
   while (*p)
   {
@@ -178,7 +177,7 @@ const char *KeyName(eKeys Key)
     case kPurgeRec:   return tr("Purge");          break;
     case kDelLine:    return tr("DeleteLine");     break;
     case kHelpKeys:   return tr("HelpKeys");       break;
-    default:          return tr("unknow");         break;
+    default:          return tr("unknown");         break;
   }
 }
 
@@ -215,7 +214,7 @@ const char *OSStateName(eOSState OSState)
     case osUser8:      return "osUser8";
     case osUser9:      return "osUser9";
     case osUser10:     return "osUser10";
-    default:           return "unknow";
+    default:           return "unknown";
   }
   return "";
 }

-- 
vdr-plugin-undelete packaging repository



More information about the pkg-vdr-dvb-changes mailing list