diff options
author | Joachim Wilke <vdr@joachim-wilke.de> | 2008-06-14 00:00:00 +0200 |
---|---|---|
committer | Joachim Wilke <vdr@joachim-wilke.de> | 2008-06-14 00:00:00 +0200 |
commit | 4b8b62e70a63206fe269842e9ab6ace76f8e84c9 (patch) | |
tree | a3cf4c38242d1d97d845ea581e3c6607f012b31b | |
parent | b2f99dd7bbb5cd76db0243b59e14852b37db8a38 (diff) | |
download | vdr-plugin-lcdproc-4b8b62e70a63206fe269842e9ab6ace76f8e84c9.tar.gz vdr-plugin-lcdproc-4b8b62e70a63206fe269842e9ab6ace76f8e84c9.tar.bz2 |
Version 0.0.10-jw4v0.0.10-jw4release/v0.0.10-jw4
-rw-r--r-- | Debug/makefile | 58 | ||||
-rw-r--r-- | Debug/objects.mk | 7 | ||||
-rw-r--r-- | Debug/sources.mk | 27 | ||||
-rw-r--r-- | Debug/subdir.mk | 33 | ||||
-rw-r--r-- | HISTORY | 24 | ||||
-rw-r--r-- | Makefile | 92 | ||||
-rw-r--r-- | README | 1 | ||||
-rw-r--r-- | i18n.c | 390 | ||||
-rw-r--r-- | i18n.h | 8 | ||||
-rw-r--r-- | lcd.c | 219 | ||||
-rw-r--r-- | lcd.h | 9 | ||||
-rw-r--r-- | lcdproc.c | 26 | ||||
-rw-r--r-- | po/de_DE.po | 37 | ||||
-rwxr-xr-x[-rw-r--r--] | po/it_IT.po | 80 |
14 files changed, 383 insertions, 628 deletions
diff --git a/Debug/makefile b/Debug/makefile new file mode 100644 index 0000000..3de5df7 --- /dev/null +++ b/Debug/makefile @@ -0,0 +1,58 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +-include ../makefile.init + +RM := rm -rf + +# All of the sources participating in the build are defined here +-include sources.mk +-include subdir.mk +-include objects.mk + +ifneq ($(MAKECMDGOALS),clean) +ifneq ($(strip $(C++_DEPS)),) +-include $(C++_DEPS) +endif +ifneq ($(strip $(C_DEPS)),) +-include $(C_DEPS) +endif +ifneq ($(strip $(CC_DEPS)),) +-include $(CC_DEPS) +endif +ifneq ($(strip $(CPP_DEPS)),) +-include $(CPP_DEPS) +endif +ifneq ($(strip $(CXX_DEPS)),) +-include $(CXX_DEPS) +endif +ifneq ($(strip $(C_UPPER_DEPS)),) +-include $(C_UPPER_DEPS) +endif +endif + +-include ../makefile.defs + +# Add inputs and outputs from these tool invocations to the build variables + +# All Target +all: vdr-lcdproc + +# Tool invocations +vdr-lcdproc: $(OBJS) $(USER_OBJS) + @echo 'Building target: $@' + @echo 'Invoking: GCC C++ Linker' + g++ -o"vdr-lcdproc" $(OBJS) $(USER_OBJS) $(LIBS) + @echo 'Finished building target: $@' + @echo ' ' + +# Other Targets +clean: + -$(RM) $(OBJS)$(C++_DEPS)$(C_DEPS)$(CC_DEPS)$(CPP_DEPS)$(EXECUTABLES)$(CXX_DEPS)$(C_UPPER_DEPS) vdr-lcdproc + -@echo ' ' + +.PHONY: all clean dependents +.SECONDARY: + +-include ../makefile.targets diff --git a/Debug/objects.mk b/Debug/objects.mk new file mode 100644 index 0000000..224ef68 --- /dev/null +++ b/Debug/objects.mk @@ -0,0 +1,7 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +USER_OBJS := + +LIBS := diff --git a/Debug/sources.mk b/Debug/sources.mk new file mode 100644 index 0000000..0f6e7d9 --- /dev/null +++ b/Debug/sources.mk @@ -0,0 +1,27 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +O_SRCS := +CPP_SRCS := +C_UPPER_SRCS := +C_SRCS := +S_SRCS := +OBJ_SRCS := +ASM_SRCS := +CXX_SRCS := +C++_SRCS := +CC_SRCS := +OBJS := +C++_DEPS := +C_DEPS := +CC_DEPS := +CPP_DEPS := +EXECUTABLES := +CXX_DEPS := +C_UPPER_DEPS := + +# Every subdirectory with source files must be described here +SUBDIRS := \ +. \ + diff --git a/Debug/subdir.mk b/Debug/subdir.mk new file mode 100644 index 0000000..40b1099 --- /dev/null +++ b/Debug/subdir.mk @@ -0,0 +1,33 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +# Add inputs and outputs from these tool invocations to the build variables +C_SRCS += \ +../lcd.c \ +../lcdproc.c \ +../setup.c \ +../sockets.c + +OBJS += \ +./lcd.o \ +./lcdproc.o \ +./setup.o \ +./sockets.o + +C_DEPS += \ +./lcd.d \ +./lcdproc.d \ +./setup.d \ +./sockets.d + + +# Each subdirectory must supply rules for building sources it contributes +%.o: ../%.c + @echo 'Building file: $<' + @echo 'Invoking: GCC C++ Compiler' + g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<" + @echo 'Finished building: $<' + @echo ' ' + + @@ -25,3 +25,27 @@ VDR Plugin 'lcdproc' Revision History - Rearranged targets in the makefile - date/time-line can now be disabled (for two line LCDs) (patch provided by Sebastian Frei <sebastian@schnapsleichen.de>) + +2008-06-14: Version 0.0.10-jw4 +- clean up in po-dir +- removed support for old vdr versions (VDR >= 1.6 required) +- rearranged targets in the makefile + according to a discussion in the VDR mailing list +- new makefile target "srcdoc" to generate source code documentation +- Improved the 'i18n' target in the Makefile to avoid unnecessary work as suggested by + vdr-1.5.11 +- updated german translations +- fixed translation of DESCRIPTION +- added italian translation + (provided by Diego Pierotto <vdr-italian@tiscali.it>) +- fixed displaying the the shortend title of the "Schedule" menu +- fixed implementation of cLcdFeed::OsdStatusMessage to handle a call with message = NULL + correctly +- implemented char conversion to support vdr systems running with charsets different + than ISO-8859-1. Remember, that the range of characters which can be displayed is + limited by the lcdproc core and is therefore not extended. + (thanks for debugging and testing to + - Ville Aakko <ville.aakko@gmail.com>, + - MichaelB <http://www.vdr-portal.de/board/profile.php?userid=12822> + - Joe_D <http://vdrportal.de/board/profile.php?userid=20491> ) +
\ No newline at end of file @@ -1,14 +1,16 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 1.7 2003/12/21 15:47:41 kls 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. +# IPORTANT: 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 = lcdproc - + ### The version number of this plugin (taken from the main source file): VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g') @@ -16,11 +18,10 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri ### The C++ compiler and options: CXX ?= g++ -CXXFLAGS ?= -O2 -Wall -Woverloaded-virtual +CXXFLAGS ?= -fPIC -g -O2 -Wall -Woverloaded-virtual ### The directory environment: -DVBDIR = ../../../../DVB VDRDIR = ../../.. LIBDIR = ../../lib TMPDIR = /tmp @@ -29,16 +30,12 @@ TMPDIR = /tmp -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"): -APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') +APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h) VDRVERSNUM = $(shell grep 'define VDRVERSNUM ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') -USE_GETTEXT= $(shell test $(VDRVERSNUM) -ge 10507 && echo yes) -USE_GETTEXT_V2= $(shell test $(VDRVERSNUM) -ge 10508 && echo yes) - -ifeq ($(USE_GETTEXT_V2),yes) -I18N_PREFIX = vdr- -endif +DOXYFILE = Doxyfile +DOXYGEN = doxygen ### The name of the distribution archive: @@ -47,41 +44,24 @@ 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)"' -ifeq ($(shell echo $(APIVERSION)|sed -e 's/\([0-9]\.[0-9]\)\..*/\1/' ),1.2) - DEFINES += -DOLDVDR -endif - -ifdef LCDKEYCONF - DEFINES += -DLCD_EXT_KEY_CONF="\"$(LCDKEYCONF)\"" -endif - - - ### The object files (add further files here): OBJS = $(PLUGIN).o lcd.o sockets.o setup.o -ifneq ($(USE_GETTEXT),yes) -OBJS += i18n.o -endif - ### Targets: -ifeq ($(USE_GETTEXT),yes) all: libvdr-$(PLUGIN).so i18n -else -all: libvdr-$(PLUGIN).so -endif +libvdr-$(PLUGIN).so: $(OBJS) + $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ + @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) + %.o: %.c $(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $< -libvdr-$(PLUGIN).so: $(OBJS) - $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ - @cp $@ $(LIBDIR)/$@.$(APIVERSION) dist: clean @-rm -rf $(TMPDIR)/$(ARCHIVE) @@ -95,37 +75,43 @@ clean: @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ -# Dependencies: - -MAKEDEP = g++ -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) -I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file)))) -I18Ndirs = $(notdir $(foreach file, $(I18Npo), $(basename $(file)))) +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 -F -k -ktr -ktrNOOP --msgid-bugs-address='<vdr@joachim-wilke.de>' -o $@ $(wildcard *.c) + xgettext -C -cTRANSLATORS --no-wrap -F -k -ktr -ktrNOOP --msgid-bugs-address='<vdr@joachim-wilke.de>' -o $@ $^ -$(I18Npo): $(I18Npot) +%.po: $(I18Npot) msgmerge -U --no-wrap -F --backup=none -q $@ $< + @touch $@ + +$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo + @mkdir -p $(dir $@) + cp $< $@ + +.PHONY: i18n +i18n: $(I18Nmsgs) -i18n: $(I18Nmo) - @mkdir -p $(LOCALEDIR) - for i in $(I18Ndirs); do\ - mkdir -p $(LOCALEDIR)/$$i/LC_MESSAGES;\ - cp $(PODIR)/$$i.mo $(LOCALEDIR)/$$i/LC_MESSAGES/$(I18N_PREFIX)$(PLUGIN).mo;\ - done +srcdoc: + @cp $(DOXYFILE) $(DOXYFILE).tmp + @echo PROJECT_NUMBER = $(VERSION) >> $(DOXYFILE).tmp + $(DOXYGEN) $(DOXYFILE).tmp + @rm $(DOXYFILE).tmp + +# Dependencies: + +MAKEDEP = $(CXX) -MM -MG +DEPFILE = .dependencies +$(DEPFILE): Makefile + @$(MAKEDEP) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@ + +-include $(DEPFILE) @@ -1,6 +1,7 @@ This is a "plugin" for the Video Disk Recorder (VDR). Written by: Martin Hammerschmid <martin@hammerschmid.com> +Adapted for recent VDRs by: Joachim Wilke <vdr@joachim-wilke.de> Project's homepage: home.pages.at/linux/dvb.html @@ -1,390 +0,0 @@ -#include "i18n.h" - -const tI18nPhrase Phrases[] = { - { "No EPG info available.", - "Keine EPG Information verfügbar.", - "No EPG info available.",// TODO - "No EPG info available.",// TODO - "No EPG info available.",// TODO - "No EPG info available.",// TODO - "No EPG info available.",// TODO - "No EPG info available.",// TODO - "No EPG info available.",// TODO - "No EPG info available.",// TODO - "No EPG info available.",// TODO - "No EPG info available.",// TODO - "No EPG info available.",// TODO - "No EPG info available.",// TODO - "No EPG info available.",// TODO - "No EPG info available.",// TODO - }, - { "Waiting for EPG info.", - "Suche nach EPG Information.", - "Scanning for EPG info.",// TODO - "Scanning for EPG info.",// TODO - "Scanning for EPG info.",// TODO - "Scanning for EPG info.",// TODO - "Scanning for EPG info.",// TODO - "Scanning for EPG info.",// TODO - "Scanning for EPG info.",// TODO - "Scanning for EPG info.",// TODO - "Scanning for EPG info.",// TODO - "Scanning for EPG info.",// TODO - "Scanning for EPG info.",// TODO - "Scanning for EPG info.",// TODO - "Scanning for EPG info.",// TODO - "Scanning for EPG info.",// TODO - }, - { "FullCycle", - "Zyklusdauer Statuszeile",// TODO - "FullCycle",// TODO - "FullCycle",// TODO - "FullCycle",// TODO - "FullCycle",// TODO - "FullCycle",// TODO - "FullCycle",// TODO - "FullCycle",// TODO - "FullCycle",// TODO - "FullCycle",// TODO - "FullCycle",// TODO - "FullCycle",// TODO - "FullCycle",// TODO - "FullCycle",// TODO - "FullCycle",// TODO - }, - { "TimeDateCycle", - "davon Dauer Zeitanzeige",// TODO - "TimeDateCycle",// TODO - "TimeDateCycle",// TODO - "TimeDateCycle",// TODO - "TimeDateCycle",// TODO - "TimeDateCycle",// TODO - "TimeDateCycle",// TODO - "TimeDateCycle",// TODO - "TimeDateCycle",// TODO - "TimeDateCycle",// TODO - "TimeDateCycle",// TODO - "TimeDateCycle",// TODO - "TimeDateCycle",// TODO - "TimeDateCycle",// TODO - "TimeDateCycle",// TODO - }, - { "VolumeKeep", - "Anzeigedauer Lautstärke",// TODO - "VolumeKeep",// TODO - "VolumeKeep",// TODO - "VolumeKeep",// TODO - "VolumeKeep",// TODO - "VolumeKeep",// TODO - "VolumeKeep",// TODO - "VolumeKeep",// TODO - "VolumeKeep",// TODO - "VolumeKeep",// TODO - "VolumeKeep",// TODO - "VolumeKeep",// TODO - "VolumeKeep",// TODO - "VolumeKeep",// TODO - "VolumeKeep",// TODO - }, - { "Scrollwait", - "Zeit bis Text rollen",// TODO - "Scrollwait",// TODO - "Scrollwait",// TODO - "Scrollwait",// TODO - "Scrollwait",// TODO - "Scrollwait",// TODO - "Scrollwait",// TODO - "Scrollwait",// TODO - "Scrollwait",// TODO - "Scrollwait",// TODO - "Scrollwait",// TODO - "Scrollwait",// TODO - "Scrollwait",// TODO - "Scrollwait",// TODO - "Scrollwait",// TODO - }, - { "Scrollspeed", - "Rollgeschwindigkeit",// TODO - "Scrollspeed",// TODO - "Scrollspeed",// TODO - "Scrollspeed",// TODO - "Scrollspeed",// TODO - "Scrollspeed",// TODO - "Scrollspeed",// TODO - "Scrollspeed",// TODO - "Scrollspeed",// TODO - "Scrollspeed",// TODO - "Scrollspeed",// TODO - "Scrollspeed",// TODO - "Scrollspeed",// TODO - "Scrollspeed",// TODO - "Scrollspeed",// TODO - }, - { "Charmap", - "Zeichenkodierung",// TODO - "Charmap",// TODO - "Charmap",// TODO - "Charmap",// TODO - "Charmap",// TODO - "Charmap",// TODO - "Charmap",// TODO - "Charmap",// TODO - "Charmap",// TODO - "Charmap",// TODO - "Charmap",// TODO - "Charmap",// TODO - "Charmap",// TODO - "Charmap",// TODO - "Charmap",// TODO - }, - { "AltShift", - "Alternative \"Heartbeat\"-Signalisierung",// TODO - "AltShift",// TODO - "AltShift",// TODO - "AltShift",// TODO - "AltShift",// TODO - "AltShift",// TODO - "AltShift",// TODO - "AltShift",// TODO - "AltShift",// TODO - "AltShift",// TODO - "AltShift",// TODO - "AltShift",// TODO - "AltShift",// TODO - "AltShift",// TODO - "AltShift",// TODO - }, - { "BackLight", - "Hintergrundbeleuchtung",// TODO - "BackLight",// TODO - "BackLight",// TODO - "BackLight",// TODO - "BackLight",// TODO - "BackLight",// TODO - "BackLight",// TODO - "BackLight",// TODO - "BackLight",// TODO - "BackLight",// TODO - "BackLight",// TODO - "BackLight",// TODO - "BackLight",// TODO - "BackLight",// TODO - "BackLight",// TODO - }, - { "OutputNumber", - "Zahl der Ausgänge am LCD",// TODO - "OutputNumber",// TODO - "OutputNumber",// TODO - "OutputNumber",// TODO - "OutputNumber",// TODO - "OutputNumber",// TODO - "OutputNumber",// TODO - "OutputNumber",// TODO - "OutputNumber",// TODO - "OutputNumber",// TODO - "OutputNumber",// TODO - "OutputNumber",// TODO - "OutputNumber",// TODO - "OutputNumber",// TODO - "OutputNumber",// TODO - }, - { - "RECORDING", // this string has to be exactly 9 characters long for proper display layout - "AUFNAHME ", - "RECORDING", - "RECORDING", - "RECORDING", - "RECORDING", - "RECORDING", - "RECORDING", - "RECORDING", - "RECORDING", - "RECORDING", - "RECORDING", - "RECORDING", - "RECORDING", - "RECORDING", - "RECORDING", - }, - { - "Recording status", - "Aufnahmestatus", - "Recording status", - "Recording status", - "Recording status", - "Recording status", - "Recording status", - "Recording status", - "Recording status", - "Recording status", - "Recording status", - "Recording status", - "Recording status", - "Recording status", - "Recording status", - "Recording status", - }, - { - "simple", - "einfach", - "simple", - "simple", - "simple", - "simple", - "simple", - "simple", - "simple", - "simple", - "simple", - "simple", - "simple", - "simple", - "simple", - "simple", - }, - { - "detailed", - "ausführlich", - "detailed", - "detailed", - "detailed", - "detailed", - "detailed", - "detailed", - "detailed", - "detailed", - "detailed", - "detailed", - "detailed", - "detailed", - "detailed", - "detailed", - }, - { - "off", - "aus", - "off", - "off", - "off", - "off", - "off", - "off", - "off", - "off", - "off", - "off", - "off", - "off", - "off", - "off", - }, - { - "on", - "an", - "on", - "on", - "on", - "on", - "on", - "on", - "on", - "on", - "on", - "on", - "on", - "on", - "on", - "on", - }, - { - "SetClientPriority", - "Anzeigepriorität auf Normal setzen", - "SetClientPriority", - "SetClientPriority", - "SetClientPriority", - "SetClientPriority", - "SetClientPriority", - "SetClientPriority", - "SetClientPriority", - "SetClientPriority", - "SetClientPriority", - "SetClientPriority", - "SetClientPriority", - "SetClientPriority", - "SetClientPriority", - "SetClientPriority", - }, - { - "NormalClientPriority", - "Normale Anzeigeprorität", - "NormalClientPriority", - "NormalClientPriority", - "NormalClientPriority", - "NormalClientPriority", - "NormalClientPriority", - "NormalClientPriority", - "NormalClientPriority", - "NormalClientPriority", - "NormalClientPriority", - "NormalClientPriority", - "NormalClientPriority", - "NormalClientPriority", - "NormalClientPriority", - "NormalClientPriority", - }, - { - "HighClientPriority", - "Hohe Anzeigepriorität", - "HighClientPriority", - "HighClientPriority", - "HighClientPriority", - "HighClientPriority", - "HighClientPriority", - "HighClientPriority", - "HighClientPriority", - "HighClientPriority", - "HighClientPriority", - "HighClientPriority", - "HighClientPriority", - "HighClientPriority", - "HighClientPriority", - "HighClientPriority", - }, - { - "BackLightWait", - "Dauer Hintergrundbeleuchtung", - "BackLightWait", - "BackLightWait", - "BackLightWait", - "BackLightWait", - "BackLightWait", - "BackLightWait", - "BackLightWait", - "BackLightWait", - "BackLightWait", - "BackLightWait", - "BackLightWait", - "BackLightWait", - "BackLightWait", - "BackLightWait", - }, - { - "Show time", - "Zeit anzeigen", - "Show time", - "Show time", - "Show time", - "Show time", - "Show time", - "Show time", - "Show time", - "Show time", - "Show time", - "Show time", - "Show time", - "Show time", - "Show time", - "Show time", - }, - { NULL } - }; @@ -1,8 +0,0 @@ -#ifndef _I18N__H -#define _I18N__H - -#include <vdr/i18n.h> - -extern const tI18nPhrase Phrases[]; - -#endif //_I18N__H @@ -10,7 +10,6 @@ #include "setup.h" #include "lcd.h" #include "sockets.h" -#include "i18n.h" #include <vdr/plugin.h> #ifdef LCD_EXT_KEY_CONF @@ -45,10 +44,17 @@ cLcd::cLcd() { ThreadStateData.barx=1, ThreadStateData.bary=1, ThreadStateData.barl=0; for (i=0;i<LCDMAXCARDS;i++) ThreadStateData.CardStat[i]=0; channelSwitched = false; + SummaryText = NULL; +//#if VDRVERSNUM < 10701 + conv = new cCharSetConv(cCharSetConv::SystemCharacterTable() ? cCharSetConv::SystemCharacterTable() : "UTF-8", "ISO-8859-1"); +//#else +// conv = new cCharSetConv(NULL, "ISO-8859-1"); +//#endif } cLcd::~cLcd() { - if (connected) { /*cLcd::Stop();*/ cLcd::Close(); } //YYYY + if (connected) { cLcd::Close(); } + if (conv) { delete(conv); } } bool cLcd::Connect( char *host, unsigned int port ) { @@ -111,6 +117,18 @@ void cLcd::Close() { connected=false; sock=wid=hgt=cellwid=cellhgt=0; } +const char* cLcd::Convert(const char *s) { + // do character recoding to ISO-8859-1 + if (!s) return s; + if (strlen(s)==0) return s; + const char *s_converted = conv->Convert(s); + if (s_converted == s) { + esyslog("lcdproc-plugin: conversion from %s to ISO-8859-1 failed.", cCharSetConv::SystemCharacterTable()); + esyslog("lcdproc-plugin: '%s'",s); + } + return s_converted; +} + void cLcd::Info() { // just for testing ... if (connected) printf("sock %d, wid %d, hgt %d, cellwid %d, cellhgt %d\n",sock, wid, hgt, cellwid, cellhgt); @@ -120,86 +138,102 @@ void cLcd::Info() { // just for testing ... void cLcd::SetTitle( const char *string) { if (!connected) return; - + + const char* c_string = Convert(string); + unsigned int i; char title[wid+1]; - const char *trstring=tr("Schedule - %s"); + + // we need to know the length of the translated string "Schedule" + const char *trstring=trVDR("Schedule - %s"); int trstringlength=strlen(trstring)-3; - if (strncmp(trstring,string,trstringlength)==0) { - title[0]='>'; snprintf( title+1, wid,"%s",string+trstringlength); - } else if (strlen(string) > (wid-1)) { - snprintf( title, wid+1,"%s",string); + if (strncmp(trstring,c_string,trstringlength)==0) { + // it is the title of the "Schedule" menu, so we replace "Schedule" with ">" + title[0]='>'; snprintf( title+1, wid,"%s",c_string+trstringlength); + } else if (strlen(c_string) > (wid-1)) { + snprintf( title, wid+1,"%s",c_string); } else { memset(title,' ',wid/2+1); - snprintf(title + ( (wid-strlen(string))/2 ),wid-( (wid-strlen(string))/2 ),"%s",string); // center title + snprintf(title + ( (wid-strlen(c_string))/2 ),wid-( (wid-strlen(c_string))/2 ),"%s",c_string); // center title for (i=0;i<strlen(title);i++) title[i]=toupper(title[i]); // toupper } cLcd::SetLine(LCDMENU,0,title); } -void cLcd::SetMain( unsigned int n, const char *string) { - if (!connected) return; - - char line2[wid+1]; - char line3[wid+1]; - - if (string != NULL) { - cLcd::Copy(ThreadStateData.lcdfullbuffer[n],string,LCDMAXFULLSTRING-3); - int i = strlen(ThreadStateData.lcdfullbuffer[n]); - ThreadStateData.lcdfullbuffer[n][i++]=' '; - ThreadStateData.lcdfullbuffer[n][i++]='*'; - ThreadStateData.lcdfullbuffer[n][i++]=' '; - ThreadStateData.lcdfullbuffer[n][i]='\0'; - ThreadStateData.newscroll=true; - cLcd::Copy(StringBuffer,string,2*wid); - cLcd::Split(StringBuffer,line2,line3); - cLcd::SetBuffer(n,NULL,line2,line3,NULL); - } else { - //cLcd::SetBuffer(n,NULL," \0"," \0",NULL); - ThreadStateData.lcdfullbuffer[n][0]='\0'; - } +void cLcd::SetMain( unsigned int n, const char *string, bool isConverted) { + const char* c_string; + + if (!connected) return; + + if (isConverted) + c_string = string; + else + c_string = Convert(string); + + char line2[wid+1]; + char line3[wid+1]; + + if (c_string != NULL) { + cLcd::Copy(ThreadStateData.lcdfullbuffer[n],c_string,LCDMAXFULLSTRING-3); + int i = strlen(ThreadStateData.lcdfullbuffer[n]); + ThreadStateData.lcdfullbuffer[n][i++]=' '; + ThreadStateData.lcdfullbuffer[n][i++]='*'; + ThreadStateData.lcdfullbuffer[n][i++]=' '; + ThreadStateData.lcdfullbuffer[n][i]='\0'; + ThreadStateData.newscroll=true; + cLcd::Copy(StringBuffer,c_string,2*wid); + cLcd::Split(StringBuffer,line2,line3); + cLcd::SetBuffer(n,NULL,line2,line3,NULL); + } else { + //cLcd::SetBuffer(n,NULL," \0"," \0",NULL); + ThreadStateData.lcdfullbuffer[n][0]='\0'; + } } void cLcd::SetHelp( unsigned int n, const char *Red, const char *Green, const char *Yellow, const char *Blue) { if (!connected) return; - + char help[2*wid], red[wid+1], green[wid+1], yellow[wid+1], blue[wid+1]; unsigned int allchars=0, i,j , empty=0, spacewid=1; char *longest, *longest1, *longest2; - if ( Red==NULL || Red[0]=='\0' ) { + const char* c_Red = Convert(Red); + if ( c_Red==NULL || c_Red[0]=='\0' ) { empty++; red[0]=' '; red[1]='\0'; } else { - j=i=0; while ( (i<wid) && (Red[i] != '\0') ) { - if (Red[i] !=' ') {red[j]=Red[i]; j++; } + j=i=0; while ( (i<wid) && (c_Red[i] != '\0') ) { + if (c_Red[i] !=' ') {red[j]=c_Red[i]; j++; } i++; } red[j]='\0'; allchars+=strlen(red); } - if ( Green==NULL || Green[0]=='\0' ) { + const char* c_Green = Convert(Green); + if ( c_Green==NULL || c_Green[0]=='\0' ) { empty++; green[0]=' '; green[1]='\0'; } else { - j=i=0; while ( (i<wid) && (Green[i] != '\0') ) { - if (Green[i] !=' ') {green[j]=Green[i]; j++; } + j=i=0; while ( (i<wid) && (c_Green[i] != '\0') ) { + if (c_Green[i] !=' ') {green[j]=c_Green[i]; j++; } i++; } green[j]='\0'; allchars+=strlen(green); } - if ( Yellow==NULL || Yellow[0]=='\0' ) { + const char* c_Yellow = Convert(Yellow); + if ( c_Yellow==NULL || c_Yellow[0]=='\0' ) { empty++; yellow[0]=' '; yellow[1]='\0'; } else { - j=i=0; while ( (i<wid) && (Yellow[i] != '\0') ) { - if (Yellow[i] !=' ') {yellow[j]=Yellow[i]; j++; } + j=i=0; while ( (i<wid) && (c_Yellow[i] != '\0') ) { + if (c_Yellow[i] !=' ') {yellow[j]=c_Yellow[i]; j++; } i++; } yellow[j]='\0'; allchars+=strlen(yellow); } - if ( Blue==NULL || Blue[0]=='\0' ) { + const char* c_Blue = Convert(Blue); + if ( c_Blue==NULL || c_Blue[0]=='\0' ) { empty++; blue[0]=' '; blue[1]='\0'; } else { - j=i=0; while ( (i<wid) && (Blue[i] != '\0') ) { - if (Blue[i] !=' ') {blue[j]=Blue[i]; j++; } + j=i=0; while ( (i<wid) && (c_Blue[i] != '\0') ) { + if (c_Blue[i] !=' ') {blue[j]=c_Blue[i]; j++; } i++; } blue[j]='\0'; allchars+=strlen(blue); @@ -234,26 +268,30 @@ void cLcd::SetHelp( unsigned int n, const char *Red, const char *Green, const ch void cLcd::SetStatus( const char *string) { if (!connected) return; + + const char* c_string = Convert(string); char statstring[2*wid+1]; - if (string == NULL) { - cLcd::SetMain(LCDMENU,StringBuffer); + if (c_string == NULL) { + cLcd::SetMain(LCDMENU,StringBuffer,true); } else { - cLcd::Copy(statstring,string,2*wid); + cLcd::Copy(statstring,c_string,2*wid); cLcd::SetMain(LCDMENU,statstring); } } void cLcd::SetWarning( const char *string) { if (!connected) return; + + const char* c_string = Convert(string); char statstring[2*wid+1]; - if (string != NULL) { - cLcd::Copy(statstring,string,2*wid); + if (c_string != NULL) { + cLcd::Copy(statstring,c_string,2*wid); cLcd::Clear(LCDMISC); - cLcd::SetMain(LCDMISC,statstring); + cLcd::SetMain(LCDMISC,statstring,true); cLcd::SetThreadState(Misc); } } @@ -270,7 +308,7 @@ if (!connected) return; EndMutualExclusion(); if (ThreadStateData.muted) { cLcd::SetLine(Vol,0," "); - cLcd::SetLine(Vol,1,tr("Mute")); + cLcd::SetLine(Vol,1,Convert(tr("Mute"))); cLcd::SetLine(Vol,2," "); cLcd::SetLine(Vol,3," "); } else { @@ -285,7 +323,7 @@ if (!connected) return; cLcd::SetLine(Vol,2," "); } } else { - cLcd::SetLine(Vol,0,tr("Volume ")); + cLcd::SetLine(Vol,0,Convert(tr("Volume "))); cLcd::SetLine(Vol,3,"|---|---|---|---|---|---|---|---|---|---"); cLcd::SetLine(Vol,1,"|---|---|---|---|---|---|---|---|---|---"); cLcd::SetLine(Vol,2," "); @@ -325,7 +363,7 @@ void cLcd::SetProgress(const char *begin, const char *end, int percent) { void cLcd::SetLine(unsigned int n, unsigned int l, const char *string) { if (!connected) return; - + BeginMutualExclusion(); if (string != NULL) strncpy(ThreadStateData.lcdbuffer[n][l],string,wid+1); ThreadStateData.lcddirty[n][l]=true; @@ -334,9 +372,11 @@ void cLcd::SetLine(unsigned int n, unsigned int l, const char *string) { void cLcd::SetLineC(unsigned int n, unsigned int l, const char *string) { if (!connected) return; - + + const char* c_string = Convert(string); + BeginMutualExclusion(); - if (string != NULL) cLcd::Copy(ThreadStateData.lcdbuffer[n][l],string,wid); + if (c_string != NULL) cLcd::Copy(ThreadStateData.lcdbuffer[n][l],c_string,wid); ThreadStateData.lcddirty[n][l]=true; EndMutualExclusion(); } @@ -354,20 +394,27 @@ void cLcd::SetBuffer(unsigned int n, const char *l1,const char *l2,const char *l void cLcd::SetRunning( bool nownext, const char *string1, const char *string2, const char *string3) { if (!connected) return; - + char line[1024]; char line1[1024]; static char now1[LCDMAXWID+1]; static char now2[LCDMAXWID+1]; + char *c_string1 = string1 ? strdup(Convert(string1)) : NULL; + char *c_string2 = string2 ? strdup(Convert(string2)) : NULL; + char *c_string3 = string3 ? strdup(Convert(string3)) : NULL; + snprintf(line,1024,"%s %s%s%s", - (string1==NULL || string1[0]=='\0')?" ":string1, - (string2==NULL || string2[0]=='\0')?" ":string2, + (string1==NULL || string1[0]=='\0')?" ":c_string1, + (string2==NULL || string2[0]=='\0')?" ":c_string2, (string3==NULL || string3[0]=='\0')?"":"|", - (string3==NULL || string3[0]=='\0')?" ":string3); + (string3==NULL || string3[0]=='\0')?" ":c_string3); cLcd::Copy(line1,line,2*wid); - + + free(c_string1); + free(c_string2); + free(c_string3); if (nownext) { @@ -393,9 +440,12 @@ void cLcd::SetRunning( bool nownext, const char *string1, const char *string2, c } } -void cLcd::SummaryInit(char *string) { - SummaryText = string; - SummaryTextL = strlen(string); +void cLcd::SummaryInit(const char *string) { + + if (SummaryText) + free(SummaryText); + SummaryText = strdup(Convert(string)); + SummaryTextL = strlen(SummaryText); SummaryCurrent=0; } @@ -479,10 +529,10 @@ void cLcd::BeginMutualExclusion() { } void cLcd::EndMutualExclusion() { - cLcd::CriticalArea.Unlock(); + CriticalArea.Unlock(); } -void cLcd::Copy(char *to, const char *from, unsigned int max) { // eliminates tabs, double blanks ... +void cLcd::Copy(char *to, const char *from, unsigned int max) { // eliminates tabs, double blanks, ... unsigned int i=0 , out=0; @@ -567,6 +617,7 @@ void cLcd::Write(int line, const char *string) { // used for any text output to } else { sprintf(workstring,"widget_set VDR line%d %d %d \"",line,(line==3||line==4)?wid+1:1,(line==1||line==4)?1:2); } + // do lcdtranstbl mapping out=strlen(workstring); for (i=0;(i<strlen(string)) && (i<wid);i++) workstring[out++] = LcdTransTbl[LcdSetup.Charmap][ (unsigned char) string[i] ]; // char mapping see lcdtranstbl.h @@ -591,7 +642,7 @@ void cLcd::GetTimeDateStat( char *string, unsigned int OutStateData[] ) { if ( offset || !( ShowStates && ((t%LcdSetup.FullCycle) >= LcdSetup.TimeCycle) )) { if (wid > 19) snprintf(string,wid+1,"<%s %02d.%02d %02d:%02d:%02d>", - *WeekDayName(now->tm_wday), now->tm_mday, now->tm_mon+1, now->tm_hour, now->tm_min,now->tm_sec); + Convert(*WeekDayName(now->tm_wday)), now->tm_mday, now->tm_mon+1, now->tm_hour, now->tm_min,now->tm_sec); else snprintf(string,wid+1,"<%02d.%02d %02d:%02d:%02d>", now->tm_mday, now->tm_mon+1, now->tm_hour, now->tm_min,now->tm_sec); @@ -605,7 +656,7 @@ void cLcd::GetTimeDateStat( char *string, unsigned int OutStateData[] ) { } } else { - snprintf(string,wid+1,"<%s %02d:%02d:%02d>", tr("RECORDING"), now->tm_hour, now->tm_min,now->tm_sec); + snprintf(string,wid+1,"<%s %02d:%02d:%02d>", Convert(tr("RECORDING")), now->tm_hour, now->tm_min,now->tm_sec); } } @@ -689,38 +740,6 @@ void cLcd::Action(void) { // LCD output thread nextLcdUpdate = 0; //trigger next epg update } -#ifdef OLDVDR - - if ( time(NULL) > nextLcdUpdate ) { - const cEventInfo *Present = NULL; - cMutexLock MutexLock; - const cSchedules *Schedules = cSIProcessor::Schedules(MutexLock); - if (Schedules) { - const cSchedule *Schedule = Schedules->GetSchedule(); - if (Schedule) { - const char *PresentTitle, *PresentSubtitle; - PresentTitle = NULL; PresentSubtitle = NULL; - if ((Present = Schedule->GetPresentEvent()) != NULL) { - nextLcdUpdate=Present->GetTime()+Present->GetDuration(); - PresentTitle = Present->GetTitle(); - PresentSubtitle = Present->GetSubtitle(); - if ( (!isempty(PresentTitle)) && (!isempty(PresentSubtitle)) ) - SetRunning(false,Present->GetTimeString(),PresentTitle,PresentSubtitle); - else if (!isempty(PresentTitle)) SetRunning(false,Present->GetTimeString(),PresentTitle); - } else - SetRunning(false,tr("No EPG info available."), NULL); - if ((Present = Schedule->GetFollowingEvent()) != NULL) - nextLcdUpdate=(Present->GetTime()<nextLcdUpdate)?Present->GetTime():nextLcdUpdate; - rtcycle = 10; // RT - lcrCycle = 10; // LCR - } - } - if ( nextLcdUpdate <= time(NULL) ) - nextLcdUpdate=(time(NULL)/60)*60+60; - } - -#else - if ( time(NULL) > nextLcdUpdate ) { cChannel *channel = Channels.GetByNumber(primaryDvbApi->CurrentChannel()); const cEvent *Present = NULL; @@ -750,9 +769,6 @@ void cLcd::Action(void) { // LCD output thread nextLcdUpdate=(time(NULL)/60)*60+60; } -#endif - -#if VDRVERSNUM >= 10330 // get&display Radiotext if (++rtcycle > 10) { // every 10 times cPlugin *p; @@ -792,7 +808,6 @@ void cLcd::Action(void) { // LCD output thread } } } -#endif // replaying @@ -5,7 +5,6 @@ #include <vdr/device.h> #include <vdr/player.h> #include <vdr/dvbplayer.h> -#include "i18n.h" #define LCDPORT 13666 #define LCDHOST "localhost" @@ -37,7 +36,7 @@ class cLcd : public cThread { void Close(); void Info(); void SetTitle( const char *string); - void SetMain( unsigned int n, const char *string); + void SetMain( unsigned int n, const char *string, bool isConverted = false ); void SetHelp( unsigned int n, const char *Red, const char *Green, const char *Yellow, const char *Blue); void SetStatus( const char *string); void SetWarning( const char *string); @@ -45,9 +44,8 @@ class cLcd : public cThread { void SetProgress(const char *begin=NULL, const char *end=NULL, int percent=0); void SetLine(unsigned int n, unsigned int l, const char *string); void SetLineC(unsigned int n, unsigned int l, const char *string); - void SetBuffer(unsigned int n,const char *l1=NULL,const char *l2=NULL,const char *l3=NULL,const char *l4=NULL); void SetRunning(bool nownext, const char *string1="\0", const char *string2="\0", const char *string3="\0"); - void SummaryInit(char *string); + void SummaryInit(const char *string); void SummaryUp(); void SummaryDown(); void SummaryDisplay(); @@ -68,9 +66,12 @@ class cLcd : public cThread { cMutex CriticalArea; unsigned int sock, wid, hgt, cellwid, cellhgt; char StringBuffer[2*LCDMAXWID+1]; + cCharSetConv *conv; + const char* Convert(const char *s); void BeginMutualExclusion(); void EndMutualExclusion(); void Copy(char *to, const char *from, unsigned int max); + void SetBuffer(unsigned int n,const char *l1=NULL,const char *l2=NULL,const char *l3=NULL,const char *l4=NULL); void Split(char *string, char *string1, char *string2); void Write(int line, const char *string); void GetTimeDateStat( char *string, unsigned int OutStateData[] ); @@ -12,13 +12,12 @@ #include <vdr/status.h> #include <vdr/recording.h> #include "setup.h" -#include "i18n.h" #include "lcd.h" #include "lcdtranstbl.h" -static const char *VERSION = "0.0.10-jw3"; +static const char *VERSION = "0.0.10-jw4"; static const char *MAINMENUENTRY = NULL; -static const char *DESCRIPTION = "LCDproc output"; +static const char *DESCRIPTION = trNOOP("LCDproc output"); cLcd *LCDproc = new cLcd; bool replaymode=false; @@ -134,12 +133,16 @@ void cLcdFeed::OsdTitle(const char *Title) void cLcdFeed::OsdStatusMessage(const char *Message) { - //syslog(LOG_INFO, "lcdproc: cLcdFeed::OsdStatusMessage '%s'", Message); - if ( Message ) - if ( menumode ) - LCDproc->SetStatus(Message); - else - LCDproc->SetWarning(Message); + //syslog(LOG_INFO, "lcdproc: cLcdFeed::OsdStatusMessage '%s'", Message); + if ( Message ) { + if ( menumode ) + LCDproc->SetStatus(Message); + else + LCDproc->SetWarning(Message); + } + else { + OsdClear( ); + } } void cLcdFeed::OsdHelpKeys(const char *Red, const char *Green, const char *Yellow, const char *Blue) @@ -222,7 +225,7 @@ public: cPluginLcd(void); virtual ~cPluginLcd(); virtual const char *Version(void) { return VERSION; } - virtual const char *Description(void) { return DESCRIPTION; } + virtual const char *Description(void) { return tr(DESCRIPTION); } virtual const char *CommandLineHelp(void); virtual bool ProcessArgs(int argc, char *argv[]); virtual bool Start(void); @@ -282,9 +285,6 @@ bool cPluginLcd::ProcessArgs(int argc, char *argv[]) bool cPluginLcd::Start(void) { // Start any background activities the plugin shall perform. -#if VDRVERSNUM < 10507 - RegisterI18n(Phrases); -#endif lcdFeed = new cLcdFeed; if ( LCDproc->Connect(LCDprocHOST,LCDprocPORT) ) { syslog(LOG_INFO, "connection to LCDd at %s:%d established.",LCDprocHOST,LCDprocPORT); diff --git a/po/de_DE.po b/po/de_DE.po index 94c591b..e59a140 100644 --- a/po/de_DE.po +++ b/po/de_DE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.5.7\n" "Report-Msgid-Bugs-To: <vdr@joachim-wilke.de>\n" -"POT-Creation-Date: 2008-03-08 21:12+0100\n" +"POT-Creation-Date: 2008-06-14 18:05+0200\n" "PO-Revision-Date: 2007-08-12 20:41+0200\n" "Last-Translator: Klaus Schmidinger <kls@cadsoft.de>\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -15,50 +15,49 @@ msgstr "" "Content-Type: text/plain; charset=ISO-8859-15\n" "Content-Transfer-Encoding: 8bit\n" -#: lcd.c:126 -#, c-format -msgid "Schedule - %s" -msgstr "" - -#: lcd.c:273 +#: lcd.c:311 msgid "Mute" -msgstr "" +msgstr "Stumm" -#: lcd.c:288 +#: lcd.c:326 msgid "Volume " -msgstr "" +msgstr "Lautstärke " -#: lcd.c:608 +#: lcd.c:659 msgid "RECORDING" -msgstr "" +msgstr "AUFNAHME " -#: lcd.c:711 lcd.c:742 lcdproc.c:202 lcdproc.c:212 +#: lcd.c:761 lcdproc.c:205 lcdproc.c:215 msgid "No EPG info available." msgstr "Keine EPG Information verfügbar." -#: lcdproc.c:72 +#: lcdproc.c:20 +msgid "LCDproc output" +msgstr "LCDproc Ausgabe" + +#: lcdproc.c:71 msgid "Waiting for EPG info." msgstr "Suche nach EPG Information." #: lcdproc.c:345 msgid "off" -msgstr "" +msgstr "aus" #: lcdproc.c:346 msgid "on" -msgstr "" +msgstr "an" #: lcdproc.c:347 msgid "auto" -msgstr "" +msgstr "auto" #: lcdproc.c:348 msgid "detailed" -msgstr "" +msgstr "detailiert" #: lcdproc.c:349 msgid "simple" -msgstr "" +msgstr "einfach" #: lcdproc.c:352 msgid "FullCycle" diff --git a/po/it_IT.po b/po/it_IT.po index 0999dea..02ccc56 100644..100755 --- a/po/it_IT.po +++ b/po/it_IT.po @@ -9,115 +9,117 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.5.7\n" "Report-Msgid-Bugs-To: <vdr@joachim-wilke.de>\n" -"POT-Creation-Date: 2008-03-08 21:12+0100\n" -"PO-Revision-Date: 2007-08-12 20:41+0200\n" -"Last-Translator: Sean Carlos <seanc@libero.it>\n" -"Language-Team: <vdr@linuxtv.org>\n" +"POT-Creation-Date: 2008-06-14 18:05+0200\n" +"PO-Revision-Date: 2008-03-30 19:32+0100\n" +"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n" +"Language-Team: <vdr@linuxtv.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-15\n" "Content-Transfer-Encoding: 8bit\n" -#: lcd.c:126 -#, c-format -msgid "Schedule - %s" -msgstr "" - -#: lcd.c:273 +#: lcd.c:311 msgid "Mute" -msgstr "" +msgstr "Muto" -#: lcd.c:288 +#: lcd.c:326 msgid "Volume " -msgstr "" +msgstr "Volume" -#: lcd.c:608 +#: lcd.c:659 msgid "RECORDING" -msgstr "" +msgstr "REGISTRAZIONE" -#: lcd.c:711 lcd.c:742 lcdproc.c:202 lcdproc.c:212 +#: lcd.c:761 lcdproc.c:205 lcdproc.c:215 msgid "No EPG info available." -msgstr "No EPG info available." +msgstr "Nessun info EPG disponibile." -#: lcdproc.c:72 +#: lcdproc.c:20 +msgid "LCDproc output" +msgstr "" + +#: lcdproc.c:71 msgid "Waiting for EPG info." -msgstr "Scanning for EPG info." +msgstr "Scansione info EPG." #: lcdproc.c:345 msgid "off" -msgstr "" +msgstr "disattivo" #: lcdproc.c:346 msgid "on" -msgstr "" +msgstr "attivo" #: lcdproc.c:347 msgid "auto" -msgstr "" +msgstr "auto" #: lcdproc.c:348 msgid "detailed" -msgstr "" +msgstr "dettagliata" #: lcdproc.c:349 msgid "simple" -msgstr "" +msgstr "semplice" #: lcdproc.c:352 msgid "FullCycle" -msgstr "FullCycle" +msgstr "Ciclo completo" #: lcdproc.c:353 msgid "TimeDateCycle" -msgstr "TimeDateCycle" +msgstr "Ciclo Data/Ora" #: lcdproc.c:354 msgid "VolumeKeep" -msgstr "VolumeKeep" +msgstr "Mantieni volume" #: lcdproc.c:355 msgid "Scrollwait" -msgstr "Scrollwait" +msgstr "Attesa scorrimento" #: lcdproc.c:356 msgid "Scrollspeed" -msgstr "Scrollspeed" +msgstr "Velocità scorrimento" #: lcdproc.c:357 msgid "Charmap" -msgstr "Charmap" +msgstr "Mappa caratteri" #: lcdproc.c:358 msgid "AltShift" -msgstr "AltShift" +msgstr "Alt Shift" #: lcdproc.c:359 msgid "BackLight" -msgstr "BackLight" +msgstr "Luminosità sfondo" #: lcdproc.c:360 msgid "SetClientPriority" -msgstr "" +msgstr "Imposta priorità client" #: lcdproc.c:361 msgid "NormalClientPriority" -msgstr "" +msgstr "Priorità client normale" #: lcdproc.c:362 msgid "HighClientPriority" -msgstr "" +msgstr "Priorità client alta" #: lcdproc.c:363 msgid "BackLightWait" -msgstr "" +msgstr "Attesa luminosità sfondo" #: lcdproc.c:364 lcdproc.c:366 msgid "OutputNumber" -msgstr "OutputNumber" +msgstr "Numero uscita" #: lcdproc.c:369 msgid "Recording status" -msgstr "" +msgstr "Stato registrazione" #: lcdproc.c:370 msgid "Show time" -msgstr "" +msgstr "Mostra ora" + +#~ msgid "Schedule - %s" +#~ msgstr "Programmi - %s" |