Index: tools/genlang
===================================================================
--- tools/genlang	(revision 12110)
+++ tools/genlang	(working copy)
@@ -11,7 +11,7 @@
 #
 
 # binary version for the binary lang file
-my $langversion = 3; # 3 was the latest one used in the v1 format
+my $langversion = 4; # 3 was the latest one used in the v1 format
 
 # A note for future users and readers: The original v1 language system allowed
 # the build to create and use a different language than english built-in. We
Index: apps/screens.c
===================================================================
--- apps/screens.c	(revision 12110)
+++ apps/screens.c	(working copy)
@@ -393,7 +393,7 @@
 
     if (display->nb_lines < 4) /* very small screen, just show the pitch value */
     {
-        w = snprintf((char *)buf, sizeof(buf), "%s: %d.%d%%",str(LANG_SYSFONT_PITCH),
+        w = snprintf((char *)buf, sizeof(buf), "%s: %d.%d%%",str(LANG_PITCH),
                   pitch / 10, pitch % 10 );
         display->putsxy((display->width-(w*display->char_width))/2,
                          display->nb_lines/2,buf);
@@ -403,9 +403,9 @@
 
         /* UP: Pitch Up */
         if (pitch_mode == PITCH_MODE_ABSOLUTE) {
-            ptr = str(LANG_SYSFONT_PITCH_UP);
+            ptr = str(LANG_PITCH_UP);
         } else {
-            ptr = str(LANG_SYSFONT_PITCH_UP_SEMITONE);
+            ptr = str(LANG_PITCH_UP_SEMITONE);
         }
         display->getstringsize(ptr,&w,&h);
         display->putsxy((display->width-w)/2, 0, ptr);
@@ -414,9 +414,9 @@
 
         /* DOWN: Pitch Down */
         if (pitch_mode == PITCH_MODE_ABSOLUTE) {
-            ptr = str(LANG_SYSFONT_PITCH_DOWN);
+            ptr = str(LANG_PITCH_DOWN);
         } else {
-            ptr = str(LANG_SYSFONT_PITCH_DOWN_SEMITONE);
+            ptr = str(LANG_PITCH_DOWN_SEMITONE);
         }
         display->getstringsize(ptr,&w,&h);
         display->putsxy((display->width-w)/2, display->height - h, ptr);
@@ -438,7 +438,7 @@
                              w+1, (display->height-h)/2, 7, 8);
 
         /* "Pitch" */
-        snprintf((char *)buf, sizeof(buf), str(LANG_SYSFONT_PITCH));
+        snprintf((char *)buf, sizeof(buf), str(LANG_PITCH));
         display->getstringsize(buf,&w,&h);
         display->putsxy((display->width-w)/2, (display->height/2)-h, buf);
         /* "XX.X%" */
@@ -1148,7 +1148,7 @@
             LANG_ID3_LENGTH,
             LANG_ID3_PLAYLIST,
             LANG_ID3_BITRATE,
-            LANG_ID3_FRECUENCY,
+            LANG_ID3_FREQUENCY,
 #if CONFIG_CODEC == SWCODEC
             LANG_ID3_TRACK_GAIN,
             LANG_ID3_ALBUM_GAIN,
@@ -1207,7 +1207,7 @@
             id3->vbr ? str(LANG_ID3_VBR) : (const unsigned char*) "");
                 info=buffer;
                 break;
-            case 9:/*LANG_ID3_FRECUENCY*/
+            case 9:/*LANG_ID3_FREQUENCY*/
                 snprintf(buffer, MAX_PATH, "%ld Hz", id3->frequency);
                 info=buffer;
                 break;
Index: apps/language.h
===================================================================
--- apps/language.h	(revision 12110)
+++ apps/language.h	(working copy)
@@ -22,7 +22,7 @@
 
 /* both these must match the two initial bytes in the binary lang file */
 #define LANGUAGE_COOKIE  0x1a
-#define LANGUAGE_VERSION 0x03
+#define LANGUAGE_VERSION 0x04
 
 /* Initialize language array with the builtin strings */
 void lang_init(void);
Index: apps/Makefile
===================================================================
--- apps/Makefile	(revision 12110)
+++ apps/Makefile	(working copy)
@@ -195,9 +195,25 @@
     
 include $(TOOLSDIR)/make.inc
 
-$(OBJDIR)/lang.o: lang/$(LANGUAGE).lang
-	@mkdir -p $(dir $@)
-	$(call PRINTS,GENLANG)perl -s $(TOOLSDIR)/genlang -p=$(BUILDDIR)/lang -t=$(ARCHOS) $<
+# apps/features.txt is a file that (is preprocessed and) lists named features
+# based on defines in the config-*.h files. The named features will be passed
+# to genlang and thus (translated) phrases can be used based on those names.
+#
+$(OBJDIR)/features: features.txt
+	$(SILENT)cat $< | $(CC) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) \
+	$(TARGET) $(DEFINES) $(EXTRA_DEFINES) -E -P -include "config.h" - | \
+	grep -v "^\#" > $@; \
+	echo "" >/dev/null 
+
+$(OBJDIR)/lang.o: lang/$(LANGUAGE).lang $(OBJDIR)/features
+	$(SILENT)mkdir -p `dirname $@`
+	$(SILENT)for f in `cat $(OBJDIR)/features`; do \
+	  if test -n "$$feat"; then \
+	    feat="$$feat:"; \
+	  fi; \
+	  feat="$$feat$$f"; \
+	done; \
+	perl -s $(TOOLSDIR)/genlang -p=$(BUILDDIR)/lang -t=$(ARCHOS):$$feat $<
 	$(call PRINTS,CC lang.c)$(CC) $(CFLAGS) -c $(BUILDDIR)/lang.c -o $@
 
 clean:
Index: apps/lang/english.lang
===================================================================
--- apps/lang/english.lang	(revision 12110)
+++ apps/lang/english.lang	(working copy)
@@ -61,7 +61,8 @@
   id: LANG_ON
   desc: Used in a lot of places
   user:
-  <source>
+  <source>    *: NONE
+    radio
     *: "On"
   </source>
   <dest>
@@ -174,13 +175,16 @@
   desc: before acknowledging usb in case an MMC is inserted (Ondio)
   user:
   <source>
-    *: "Please remove inserted MMC"
+    *: NONE
+    ondio: "Please remove inserted MMC"
   </source>
   <dest>
-    *: "Please remove inserted MMC"
+    *: NONE
+    ondio: "Please remove inserted MMC"
   </dest>
   <voice>
-    *: "Please remove multimedia card"
+    *: NONE
+    ondio: "Please remove multimedia card"
   </voice>
 </phrase>
 <phrase>
@@ -286,13 +290,16 @@
   desc: in the main menu
   user:
   <source>
-    *: "FM Radio"
+    *: NONE
+    radio: "FM Radio"
   </source>
   <dest>
-    *: "FM Radio"
+    *: NONE
+    radio: "FM Radio"
   </dest>
   <voice>
-    *: "FM Radio"
+    *: NONE
+    radio: "FM Radio"
   </voice>
 </phrase>
 <phrase>
@@ -300,13 +307,16 @@
   desc: in the main menu
   user:
   <source>
-    *: "Recording"
+    *: NONE
+    recording: "Recording"
   </source>
   <dest>
-    *: "Recording"
+    *: NONE
+    recording: "Recording"
   </dest>
   <voice>
-    *: "Recording"
+    *: NONE
+    recording: "Recording"
   </voice>
 </phrase>
 <phrase>
@@ -678,13 +688,16 @@
   desc: in sound settings
   user:
   <source>
-    *: "Crossfeed"
+    *: NONE
+    swcodec: "Crossfeed"
   </source>
   <dest>
-    *: "Crossfeed"
+    *: NONE
+    swcodec: "Crossfeed"
   </dest>
   <voice>
-    *: "Crossfeed"
+    *: NONE
+    swcodec: "Crossfeed"
   </voice>
 </phrase>
 <phrase>
@@ -692,13 +705,16 @@
   desc: in the sound settings menu
   user:
   <source>
-    *: "Equalizer"
+    *: NONE
+    swcodec: "Equalizer"
   </source>
   <dest>
-    *: "Equalizer"
+    *: NONE
+    swcodec: "Equalizer"
   </dest>
   <voice>
-    *: "Equalizer"
+    *: NONE
+    swcodec: "Equalizer"
   </voice>
 </phrase>
 <phrase>
@@ -814,20 +830,6 @@
   </voice>
 </phrase>
 <phrase>
-  id: LANG_FIRMWARE
-  desc: DEPRECATED
-  user:
-  <source>
-    *: ""
-  </source>
-  <dest>
-    *: deprecated
-  </dest>
-  <voice>
-    *: ""
-  </voice>
-</phrase>
-<phrase>
   id: LANG_RESET
   desc: in system_settings_menu()
   user:
@@ -1008,13 +1010,16 @@
   desc: in the recording sub menu
   user:
   <source>
-    *: "Recording Screen"
+    *: NONE
+    recording: "Recording Screen"
   </source>
   <dest>
-    *: "Recording Screen"
+    *: NONE
+    recording: "Recording Screen"
   </dest>
   <voice>
-    *: "Recording Screen"
+    *: NONE
+    recording: "Recording Screen"
   </voice>
 </phrase>
 <phrase>
@@ -1022,13 +1027,16 @@
   desc: in the main menu
   user:
   <source>
-    *: "Recording Settings"
+    *: NONE
+    recording: "Recording Settings"
   </source>
   <dest>
-    *: "Recording Settings"
+    *: NONE
+    recording: "Recording Settings"
   </dest>
   <voice>
-    *: "Recording Settings"
+    *: NONE
+    recording: "Recording Settings"
   </voice>
 </phrase>
 <phrase>
@@ -1036,13 +1044,16 @@
   desc: in the equalizer settings menu
   user:
   <source>
-    *: "Enable EQ"
+    *: NONE
+    swcodec: "Enable EQ"
   </source>
   <dest>
-    *: "Enable EQ"
+    *: NONE
+    swcodec: "Enable EQ"
   </dest>
   <voice>
-    *: "Enable equalizer"
+    *: NONE
+    swcodec: "Enable equalizer"
   </voice>
 </phrase>
 <phrase>
@@ -1050,13 +1061,16 @@
   desc: in the equalizer settings menu
   user:
   <source>
-    *: "Graphical EQ"
+    *: NONE
+    swcodec: "Graphical EQ"
   </source>
   <dest>
-    *: "Graphical EQ"
+    *: NONE
+    swcodec: "Graphical EQ"
   </dest>
   <voice>
-    *: "Graphical equalizer"
+    *: NONE
+    swcodec: "Graphical equalizer"
   </voice>
 </phrase>
 <phrase>
@@ -1064,13 +1078,16 @@
   desc: in eq settings
   user:
   <source>
-    *: "Precut"
+    *: NONE
+    swcodec: "Precut"
   </source>
   <dest>
-    *: "Precut"
+    *: NONE
+    swcodec: "Precut"
   </dest>
   <voice>
-    *: "Pre-cut"
+    *: NONE
+    swcodec: "Pre-cut"
   </voice>
 </phrase>
 <phrase>
@@ -1078,13 +1095,16 @@
   desc: in the equalizer settings menu
   user:
   <source>
-    *: "Simple EQ Settings"
+    *: NONE
+    swcodec: "Simple EQ Settings"
   </source>
   <dest>
-    *: "Simple EQ Settings"
+    *: NONE
+    swcodec: "Simple EQ Settings"
   </dest>
   <voice>
-    *: "Simple equalizer settings"
+    *: NONE
+    swcodec: "Simple equalizer settings"
   </voice>
 </phrase>
 <phrase>
@@ -1092,13 +1112,16 @@
   desc: in the equalizer settings menu
   user:
   <source>
-    *: "Advanced EQ Settings"
+    *: NONE
+    swcodec: "Advanced EQ Settings"
   </source>
   <dest>
-    *: "Advanced EQ Settings"
+    *: NONE
+    swcodec: "Advanced EQ Settings"
   </dest>
   <voice>
-    *: "Advanced equalizer settings"
+    *: NONE
+    swcodec: "Advanced equalizer settings"
   </voice>
 </phrase>
 <phrase>
@@ -1106,13 +1129,16 @@
   desc: in the equalizer settings menu
   user:
   <source>
-    *: "Save EQ Preset"
+    *: NONE
+    swcodec: "Save EQ Preset"
   </source>
   <dest>
-    *: "Save EQ Preset"
+    *: NONE
+    swcodec: "Save EQ Preset"
   </dest>
   <voice>
-    *: "Save equalizer preset"
+    *: NONE
+    swcodec: "Save equalizer preset"
   </voice>
 </phrase>
 <phrase>
@@ -1120,13 +1146,16 @@
   desc: in the equalizer settings menu
   user:
   <source>
-    *: "Browse EQ Presets"
+    *: NONE
+    swcodec: "Browse EQ Presets"
   </source>
   <dest>
-    *: "Browse EQ Presets"
+    *: NONE
+    swcodec: "Browse EQ Presets"
   </dest>
   <voice>
-    *: "Browse equalizer presets"
+    *: NONE
+    swcodec: "Browse equalizer presets"
   </voice>
 </phrase>
 <phrase>
@@ -1134,13 +1163,16 @@
   desc: in the equalizer settings menu
   user:
   <source>
-    *: "Edit mode: %s"
+    *: NONE
+    swcodec: "Edit mode: %s"
   </source>
   <dest>
-    *: "Edit mode: %s"
+    *: NONE
+    swcodec: "Edit mode: %s"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    swcodec: ""
   </voice>
 </phrase>
 <phrase>
@@ -1148,13 +1180,16 @@
   desc: in the equalizer settings menu
   user:
   <source>
-    *: "%d Hz Band Gain"
+    *: NONE
+    swcodec: "%d Hz Band Gain"
   </source>
   <dest>
-    *: "%d Hz Band Gain"
+    *: NONE
+    swcodec: "%d Hz Band Gain"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    swcodec: ""
   </voice>
 </phrase>
 <phrase>
@@ -1162,13 +1197,16 @@
   desc: in the equalizer settings menu
   user:
   <source>
-    *: "Low Shelf Filter"
+    *: NONE
+    swcodec: "Low Shelf Filter"
   </source>
   <dest>
-    *: "Low Shelf Filter"
+    *: NONE
+    swcodec: "Low Shelf Filter"
   </dest>
   <voice>
-    *: "Low shelf filter"
+    *: NONE
+    swcodec: "Low shelf filter"
   </voice>
 </phrase>
 <phrase>
@@ -1176,13 +1214,16 @@
   desc: in the equalizer settings menu
   user:
   <source>
-    *: "Peak Filter %d"
+    *: NONE
+    swcodec: "Peak Filter %d"
   </source>
   <dest>
-    *: "Peak Filter %d"
+    *: NONE
+    swcodec: "Peak Filter %d"
   </dest>
   <voice>
-    *: "Peak filter"
+    *: NONE
+    swcodec: "Peak filter"
   </voice>
 </phrase>
 <phrase>
@@ -1190,13 +1231,16 @@
   desc: in the equalizer settings menu
   user:
   <source>
-    *: "High Shelf Filter"
+    *: NONE
+    swcodec: "High Shelf Filter"
   </source>
   <dest>
-    *: "High Shelf Filter"
+    *: NONE
+    swcodec: "High Shelf Filter"
   </dest>
   <voice>
-    *: "High shelf filter"
+    *: NONE
+    swcodec: "High shelf filter"
   </voice>
 </phrase>
 <phrase>
@@ -1204,13 +1248,16 @@
   desc: in the equalizer settings menu
   user:
   <source>
-    *: "Cutoff Frequency"
+    *: NONE
+    swcodec: "Cutoff Frequency"
   </source>
   <dest>
-    *: "Cutoff Frequency"
+    *: NONE
+    swcodec: "Cutoff Frequency"
   </dest>
   <voice>
-    *: "Cutoff Frequency"
+    *: NONE
+    swcodec: "Cutoff Frequency"
   </voice>
 </phrase>
 <phrase>
@@ -1218,13 +1265,16 @@
   desc: in the equalizer settings menu
   user:
   <source>
-    *: "Center Frequency"
+    *: NONE
+    swcodec: "Center Frequency"
   </source>
   <dest>
-    *: "Center Frequency"
+    *: NONE
+    swcodec: "Center Frequency"
   </dest>
   <voice>
-    *: "Center frequency"
+    *: NONE
+    swcodec: "Center frequency"
   </voice>
 </phrase>
 <phrase>
@@ -1232,13 +1282,16 @@
   desc: in the equalizer settings menu
   user:
   <source>
-    *: "Q"
+    *: NONE
+    swcodec: "Q"
   </source>
   <dest>
-    *: "Q"
+    *: NONE
+    swcodec: "Q"
   </dest>
   <voice>
-    *: "Q"
+    *: NONE
+    swcodec: "Q"
   </voice>
 </phrase>
 <phrase>
@@ -1246,13 +1299,16 @@
   desc: in the equalizer settings menu
   user:
   <source>
-    *: "Gain"
+    *: NONE
+    swcodec: "Gain"
   </source>
   <dest>
-    *: "Gain"
+    *: NONE
+    swcodec: "Gain"
   </dest>
   <voice>
-    *: "Gain"
+    *: NONE
+    swcodec: "Gain"
   </voice>
 </phrase>
 <phrase>
@@ -1540,13 +1596,16 @@
   desc: in playback settings
   user:
   <source>
-    *: "Crossfade"
+    *: NONE
+    swcodec: "Crossfade"
   </source>
   <dest>
-    *: "Crossfade"
+    *: NONE
+    swcodec: "Crossfade"
   </dest>
   <voice>
-    *: "Crossfade"
+    *: NONE
+    swcodec: "Crossfade"
   </voice>
 </phrase>
 <phrase>
@@ -1554,13 +1613,16 @@
   desc: in replaygain
   user:
   <source>
-    *: "Replaygain"
+    *: NONE
+    swcodec: "Replaygain"
   </source>
   <dest>
-    *: "Replaygain"
+    *: NONE
+    swcodec: "Replaygain"
   </dest>
   <voice>
-    *: "Replaygain"
+    *: NONE
+    swcodec: "Replaygain"
   </voice>
 </phrase>
 <phrase>
@@ -1624,13 +1686,16 @@
   desc: in playback settings menu. enable/disable the optical out
   user:
   <source>
-    *: "Optical Output"
+    *: NONE
+    spdif_power: "Optical Output"
   </source>
   <dest>
-    *: "Optical Output"
+    *: NONE
+    spdif_power: "Optical Output"
   </dest>
   <voice>
-    *: "Optical Output"
+    *: NONE
+    spdif_power: "Optical Output"
   </voice>
 </phrase>
 <phrase>
@@ -1704,20 +1769,6 @@
   </voice>
 </phrase>
 <phrase>
-  id: LANG_TAGCACHE_DISK
-  desc:
-  user:
-  <source>
-    *: ""
-  </source>
-  <dest>
-    *: ""
-  </dest>
-  <voice>
-    *: ""
-  </voice>
-</phrase>
-<phrase>
   id: LANG_TAGCACHE_RAM
   desc: in tag cache settings
   user:
@@ -2030,13 +2081,16 @@
   desc: in settings_menu()
   user:
   <source>
-    *: "Browse .rwps files"
+    *: NONE
+    remote: "Browse .rwps files"
   </source>
   <dest>
-    *: "Browse .rwps files"
+    *: NONE
+    remote: "Browse .rwps files"
   </dest>
   <voice>
-    *: "Browse remote while-playing-screen files"
+    *: NONE
+    remote: "Browse remote while-playing-screen files"
   </voice>
 </phrase>
 <phrase>
@@ -2058,13 +2112,16 @@
   desc: in the display sub menu
   user:
   <source>
-    *: "Remote-LCD Settings"
+    *: NONE
+    remote: "Remote-LCD Settings"
   </source>
   <dest>
-    *: "Remote-LCD Settings"
+    *: NONE
+    remote: "Remote-LCD Settings"
   </dest>
   <voice>
-    *: "Remote LCD settings"
+    *: NONE
+    remote: "Remote LCD settings"
   </voice>
 </phrase>
 <phrase>
@@ -2338,13 +2395,16 @@
   desc: in the system sub menu
   user:
   <source>
-    *: "Time & Date"
+    *: NONE
+    rtc: "Time & Date"
   </source>
   <dest>
-    *: "Time & Date"
+    *: NONE
+    rtc: "Time & Date"
   </dest>
   <voice>
-    *: "Time and Date"
+    *: NONE
+    rtc: "Time and Date"
   </voice>
 </phrase>
 <phrase>
@@ -2380,13 +2440,16 @@
   desc: The name of the additional entry in the main menu for the RTC alarm mod.
   user:
   <source>
-    *: "Wake-Up Alarm"
+    *: NONE
+    alarm: "Wake-Up Alarm"
   </source>
   <dest>
-    *: "Wake-Up Alarm"
+    *: NONE
+    alarm: "Wake-Up Alarm"
   </dest>
   <voice>
-    *: "Wake-Up Alarm"
+    *: NONE
+    alarm: "Wake-Up Alarm"
   </voice>
 </phrase>
 <phrase>
@@ -2647,7 +2710,7 @@
   user:
   <source>
     *: "Mic"
-    h100,h120,h300: "Internal Mic"
+    recording: "Internal Mic"
   </source>
   <dest>
     *: "Mic"
@@ -2655,7 +2718,7 @@
   </dest>
   <voice>
     *: "Microphone"
-    h100,h120,h300: "Internal Microphone"
+    recording: "Internal Microphone"
   </voice>
 </phrase>
 <phrase>
@@ -2831,13 +2894,16 @@
   desc: in record settings menu.
   user:
   <source>
-    *: "Remote Unit Only"
+    *: NONE
+    remote: "Remote Unit Only"
   </source>
   <dest>
-    *: "Remote Unit Only"
+    *: NONE
+    remote: "Remote Unit Only"
   </dest>
   <voice>
-    *: "Remote unit only"
+    *: NONE
+    remote: "Remote unit only"
   </voice>
 </phrase>
 <phrase>
@@ -2845,13 +2911,16 @@
   desc: in record settings menu.
   user:
   <source>
-    *: "Main and Remote Unit"
+    *: NONE
+    remote: "Main and Remote Unit"
   </source>
   <dest>
-    *: "Main and Remote Unit"
+    *: NONE
+    remote: "Main and Remote Unit"
   </dest>
   <voice>
-    *: "Main and remote unit"
+    *: NONE
+    remote: "Main and remote unit"
   </voice>
 </phrase>
 <phrase>
@@ -2999,13 +3068,16 @@
   desc: in replaygain
   user:
   <source>
-    *: "Enable Replaygain"
+    *: NONE
+    swcodec: "Enable Replaygain"
   </source>
   <dest>
-    *: "Enable Replaygain"
+    *: NONE
+    swcodec: "Enable Replaygain"
   </dest>
   <voice>
-    *: "Enable Replaygain"
+    *: NONE
+    swcodec: "Enable Replaygain"
   </voice>
 </phrase>
 <phrase>
@@ -3013,13 +3085,16 @@
   desc: in replaygain
   user:
   <source>
-    *: "Prevent Clipping"
+    *: NONE
+    swcodec: "Prevent Clipping"
   </source>
   <dest>
-    *: "Prevent Clipping"
+    *: NONE
+    swcodec: "Prevent Clipping"
   </dest>
   <voice>
-    *: "Prevent Clipping"
+    *: NONE
+    swcodec: "Prevent Clipping"
   </voice>
 </phrase>
 <phrase>
@@ -3027,13 +3102,16 @@
   desc: in replaygain
   user:
   <source>
-    *: "Replaygain Type"
+    *: NONE
+    swcodec: "Replaygain Type"
   </source>
   <dest>
-    *: "Replaygain Type"
+    *: NONE
+    swcodec: "Replaygain Type"
   </dest>
   <voice>
-    *: "Replaygain Type"
+    *: NONE
+    swcodec: "Replaygain Type"
   </voice>
 </phrase>
 <phrase>
@@ -3041,13 +3119,16 @@
   desc: in replaygain
   user:
   <source>
-    *: "Album Gain"
+    *: NONE
+    swcodec: "Album Gain"
   </source>
   <dest>
-    *: "Album Gain"
+    *: NONE
+    swcodec: "Album Gain"
   </dest>
   <voice>
-    *: "Album Gain"
+    *: NONE
+    swcodec: "Album Gain"
   </voice>
 </phrase>
 <phrase>
@@ -3055,13 +3136,16 @@
   desc: in replaygain
   user:
   <source>
-    *: "Track Gain"
+    *: NONE
+    swcodec: "Track Gain"
   </source>
   <dest>
-    *: "Track Gain"
+    *: NONE
+    swcodec: "Track Gain"
   </dest>
   <voice>
-    *: "Track Gain"
+    *: NONE
+    swcodec: "Track Gain"
   </voice>
 </phrase>
 <phrase>
@@ -3069,27 +3153,33 @@
   desc: use track gain if shuffle mode is on, album gain otherwise
   user:
   <source>
-    *: "Track Gain if Shuffling"
+    *: NONE
+    swcodec: "Track Gain if Shuffling"
   </source>
   <dest>
-    *: "Track Gain if Shuffling"
+    *: NONE
+    swcodec: "Track Gain if Shuffling"
   </dest>
   <voice>
-    *: "Track Gain if Shuffling"
+    *: NONE
+    swcodec: "Track Gain if Shuffling"
   </voice>
 </phrase>
 <phrase>
   id: LANG_REPLAYGAIN_PREAMP
   desc: in replaygain settings
-  user:
+  user:    *: NONE
+    swcodec
   <source>
     *: "Pre-amp"
   </source>
   <dest>
-    *: "Pre-amp"
+    *: NONE
+    swcodec: "Pre-amp"
   </dest>
   <voice>
-    *: "Preamp"
+    *: NONE
+    swcodec: "Preamp"
   </voice>
 </phrase>
 <phrase>
@@ -3209,13 +3299,16 @@
   desc: in settings_menu
   user:
   <source>
-    *: "LCD Mode"
+    *: NONE
+    lcd_invert: "LCD Mode"
   </source>
   <dest>
-    *: "LCD Mode"
+    *: NONE
+    lcd_invert: "LCD Mode"
   </dest>
   <voice>
-    *: "LCD Mode"
+    *: NONE
+    lcd_invert: "LCD Mode"
   </voice>
 </phrase>
 <phrase>
@@ -3223,13 +3316,16 @@
   desc: in settings_menu
   user:
   <source>
-    *: "Normal"
+    *: NONE
+    lcd_invert: "Normal"
   </source>
   <dest>
-    *: "Normal"
+    *: NONE
+    lcd_invert: "Normal"
   </dest>
   <voice>
-    *: "Normal"
+    *: NONE
+    lcd_invert: "Normal"
   </voice>
 </phrase>
 <phrase>
@@ -3237,13 +3333,16 @@
   desc: in settings_menu
   user:
   <source>
-    *: "Inverse"
+    *: NONE
+    lcd_invert: "Inverse"
   </source>
   <dest>
-    *: "Inverse"
+    *: NONE
+    lcd_invert: "Inverse"
   </dest>
   <voice>
-    *: "Inverse"
+    *: NONE
+    lcd_invert: "Inverse"
   </voice>
 </phrase>
 <phrase>
@@ -3251,13 +3350,16 @@
   desc: in settings_menu, option to turn display+buttos by 180 degreed
   user:
   <source>
-    *: "Upside Down"
+    *: NONE
+    lcd_flip: "Upside Down"
   </source>
   <dest>
-    *: "Upside Down"
+    *: NONE
+    lcd_flip: "Upside Down"
   </dest>
   <voice>
-    *: "Upside Down"
+    *: NONE
+    lcd_flip: "Upside Down"
   </voice>
 </phrase>
 <phrase>
@@ -3307,13 +3409,16 @@
   desc: text for LCD settings menu
   user:
   <source>
-    *: "Clear Backdrop"
+    *: NONE
+    lcd_color: "Clear Backdrop"
   </source>
   <dest>
-    *: "Clear Backdrop"
+    *: NONE
+    lcd_color: "Clear Backdrop"
   </dest>
   <voice>
-    *: "Clear Backdrop"
+    *: NONE
+    lcd_color: "Clear Backdrop"
   </voice>
 </phrase>
 <phrase>
@@ -3321,13 +3426,16 @@
   desc: menu entry to set the background color
   user:
   <source>
-    *: "Background Colour"
+    *: NONE
+    lcd_color: "Background Colour"
   </source>
   <dest>
-    *: "Background Colour"
+    *: NONE
+    lcd_color: "Background Colour"
   </dest>
   <voice>
-    *: "Background Colour"
+    *: NONE
+    lcd_color: "Background Colour"
   </voice>
 </phrase>
 <phrase>
@@ -3335,13 +3443,16 @@
   desc: menu entry to set the foreground color
   user:
   <source>
-    *: "Foreground Colour"
+    *: NONE
+    lcd_color: "Foreground Colour"
   </source>
   <dest>
-    *: "Foreground Colour"
+    *: NONE
+    lcd_color: "Foreground Colour"
   </dest>
   <voice>
-    *: "Foreground Colour"
+    *: NONE
+    lcd_color: "Foreground Colour"
   </voice>
 </phrase>
 <phrase>
@@ -3349,13 +3460,16 @@
   desc: menu
   user:
   <source>
-    *: "Reset Colours"
+    *: NONE
+    lcd_color: "Reset Colours"
   </source>
   <dest>
-    *: "Reset Colours"
+    *: NONE
+    lcd_color: "Reset Colours"
   </dest>
   <voice>
-    *: "Reset Colours"
+    *: NONE
+    lcd_color: "Reset Colours"
   </voice>
 </phrase>
 <phrase>
@@ -3363,13 +3477,16 @@
   desc: in remote lcd settings menu
   user:
   <source>
-    *: "Reduce Ticking"
+    *: NONE
+    remote_ticking: "Reduce Ticking"
   </source>
   <dest>
-    *: "Reduce Ticking"
+    *: NONE
+    remote_ticking: "Reduce Ticking"
   </dest>
   <voice>
-    *: "Reduce Ticking"
+    *: NONE
+    remote_ticking: "Reduce Ticking"
   </voice>
 </phrase>
 <phrase>
@@ -3461,13 +3578,16 @@
   desc: (player) menu altarnative for jump scroll
   user:
   <source>
-    *: "Jump Scroll"
+    *: NONE
+    lcd_charcell: "Jump Scroll"
   </source>
   <dest>
-    *: "Jump Scroll"
+    *: NONE
+    lcd_charcell: "Jump Scroll"
   </dest>
   <voice>
-    *: "Jump Scroll"
+    *: NONE
+    lcd_charcell: "Jump Scroll"
   </voice>
 </phrase>
 <phrase>
@@ -3475,13 +3595,16 @@
   desc: (player) the jump scroll shall be done "one time"
   user:
   <source>
-    *: "One time"
+    *: NONE
+    lcd_charcell: "One time"
   </source>
   <dest>
-    *: "One time"
+    *: NONE
+    lcd_charcell: "One time"
   </dest>
   <voice>
-    *: "One time"
+    *: NONE
+    lcd_charcell: "One time"
   </voice>
 </phrase>
 <phrase>
@@ -3489,13 +3612,16 @@
   desc: (player) Delay before making a jump scroll
   user:
   <source>
-    *: "Jump Scroll Delay"
+    *: NONE
+    lcd_charcell: "Jump Scroll Delay"
   </source>
   <dest>
-    *: "Jump Scroll Delay"
+    *: NONE
+    lcd_charcell: "Jump Scroll Delay"
   </dest>
   <voice>
-    *: "Jump Scroll Delay"
+    *: NONE
+    lcd_charcell: "Jump Scroll Delay"
   </voice>
 </phrase>
 <phrase>
@@ -3849,20 +3975,6 @@
   </voice>
 </phrase>
 <phrase>
-  id: LANG_POWEROFF
-  desc: DEPRECATED
-  user:
-  <source>
-    *: ""
-  </source>
-  <dest>
-    *: deprecated
-  </dest>
-  <voice>
-    *: ""
-  </voice>
-</phrase>
-<phrase>
   id: LANG_DIRCACHE_ENABLE
   desc: in directory cache settings
   user:
@@ -3877,20 +3989,6 @@
   </voice>
 </phrase>
 <phrase>
-  id: LANG_DIRCACHE_REBOOT
-  desc: DEPRECATED
-  user:
-  <source>
-    *: ""
-  </source>
-  <dest>
-    *: ""
-  </dest>
-  <voice>
-    *: ""
-  </voice>
-</phrase>
-<phrase>
   id: LANG_DIRCACHE_BUILDING
   desc: when booting up and rebuilding the cache
   user:
@@ -3909,13 +4007,16 @@
   desc: in settings_menu
   user:
   <source>
-    *: "Set Time/Date"
+    *: NONE
+    rtc: "Set Time/Date"
   </source>
   <dest>
-    *: "Set Time/Date"
+    *: NONE
+    rtc: "Set Time/Date"
   </dest>
   <voice>
-    *: "Set Time and Date"
+    *: NONE
+    rtc: "Set Time and Date"
   </voice>
 </phrase>
 <phrase>
@@ -3923,13 +4024,16 @@
   desc: select the time format of time in status bar
   user:
   <source>
-    *: "Time Format"
+    *: NONE
+    rtc: "Time Format"
   </source>
   <dest>
-    *: "Time Format"
+    *: NONE
+    rtc: "Time Format"
   </dest>
   <voice>
-    *: "Time Format"
+    *: NONE
+    rtc: "Time Format"
   </voice>
 </phrase>
 <phrase>
@@ -3937,13 +4041,16 @@
   desc: option for 12 hour clock
   user:
   <source>
-    *: "12 Hour Clock"
+    *: NONE
+    rtc: "12 Hour Clock"
   </source>
   <dest>
-    *: "12 Hour Clock"
+    *: NONE
+    rtc: "12 Hour Clock"
   </dest>
   <voice>
-    *: "12 Hour Clock"
+    *: NONE
+    rtc: "12 Hour Clock"
   </voice>
 </phrase>
 <phrase>
@@ -3951,13 +4058,16 @@
   desc: option for 24 hour clock
   user:
   <source>
-    *: "24 Hour Clock"
+    *: NONE
+    rtc: "24 Hour Clock"
   </source>
   <dest>
-    *: "24 Hour Clock"
+    *: NONE
+    rtc: "24 Hour Clock"
   </dest>
   <voice>
-    *: "24 Hour Clock"
+    *: NONE
+    rtc: "24 Hour Clock"
   </voice>
 </phrase>
 <phrase>
@@ -4147,13 +4257,16 @@
   desc: text for onplay menu entry
   user:
   <source>
-    *: "Set As Backdrop"
+    *: NONE
+    lcd_color: "Set As Backdrop"
   </source>
   <dest>
-    *: "Set As Backdrop"
+    *: NONE
+    lcd_color: "Set As Backdrop"
   </dest>
   <voice>
-    *: "Set As Backdrop"
+    *: NONE
+    lcd_color: "Set As Backdrop"
   </voice>
 </phrase>
 <phrase>
@@ -4227,20 +4340,6 @@
   </voice>
 </phrase>
 <phrase>
-  id: LANG_PITCH
-  desc: "pitch" in the pitch screen
-  user:
-  <source>
-    *: "Pitch"
-  </source>
-  <dest>
-    *: "Pitch"
-  </dest>
-  <voice>
-    *: "Pitch"
-  </voice>
-</phrase>
-<phrase>
   id: LANG_VIEW
   desc: in on+play menu
   user:
@@ -4567,13 +4666,16 @@
   desc: in info menu; name for internal disk with multivolume (keep short!)
   user:
   <source>
-    *: "Int:"
+    *: NONE
+    multivolume: "Int:"
   </source>
   <dest>
-    *: "Int:"
+    *: NONE
+    multivolume: "Int:"
   </dest>
   <voice>
-    *: "Internal"
+    *: NONE
+    multivolume: "Internal"
   </voice>
 </phrase>
 <phrase>
@@ -4581,13 +4683,16 @@
   desc: in info menu;  name for external disk with multivolume (Ondio; keep short!)
   user:
   <source>
-    *: "MMC:"
+    *: NONE
+    ondio: "MMC:"
   </source>
   <dest>
-    *: "MMC:"
+    *: NONE
+    ondio: "MMC:"
   </dest>
   <voice>
-    *: "Multimedia card"
+    *: NONE
+    ondio: "Multimedia card"
   </voice>
 </phrase>
 <phrase>
@@ -4605,17 +4710,37 @@
   </voice>
 </phrase>
 <phrase>
+  id: LANG_PITCH
+  desc: "pitch" in the pitch screen
+  user:
+  <source>
+    *: NONE
+    pitchscreen: "Pitch"
+  </source>
+  <dest>
+    *: NONE
+    pitchscreen: "Pitch"
+  </dest>
+  <voice>
+    *: NONE
+    pitchscreen: "Pitch"
+  </voice>
+</phrase>
+<phrase>
   id: LANG_PITCH_UP
   desc: in wps
   user:
   <source>
-    *: "Pitch Up"
+    *: NONE
+    pitchscreen: "Pitch Up"
   </source>
   <dest>
-    *: "Pitch Up"
+    *: NONE
+    pitchscreen: "Pitch Up"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    pitchscreen: ""
   </voice>
 </phrase>
 <phrase>
@@ -4623,16 +4748,52 @@
   desc: in wps
   user:
   <source>
-    *: "Pitch Down"
+    *: NONE
+    pitchscreen: "Pitch Down"
   </source>
   <dest>
-    *: "Pitch Down"
+    *: NONE
+    pitchscreen: "Pitch Down"
   </dest>
   <voice>
     *: ""
   </voice>
 </phrase>
 <phrase>
+  id: LANG_PITCH_UP_SEMITONE
+  desc: in wps
+  user:
+  <source>
+    *: NONE
+    pitchscreen: "Semitone Up"
+  </source>
+  <dest>
+    *: NONE
+    pitchscreen: "Semitone Up"
+  </dest>
+  <voice>
+    *: NONE
+    pitchscreen: ""
+  </voice>
+</phrase>
+<phrase>
+  id: LANG_PITCH_DOWN_SEMITONE
+  desc: in wps
+  user:
+  <source>
+    *: NONE
+    pitchscreen: "Semitone Down"
+  </source>
+  <dest>
+    *: NONE
+    pitchscreen: "Semitone Down"
+  </dest>
+  <voice>
+    *: NONE
+    pitchscreen: ""
+  </voice>
+</phrase>
+<phrase>
   id: LANG_PAUSE
   desc: in wps
   user:
@@ -5126,11 +5287,11 @@
   user:
   <source>
     *: "The disk is full. Press OFF to continue."
-    h100,h120,h300: "The disk is full. Press STOP to continue."
+    recording: "The disk is full. Press STOP to continue."
   </source>
   <dest>
     *: "The disk is full. Press OFF to continue."
-    h100,h120,h300: "The disk is full. Press STOP to continue."
+    recording: "The disk is full. Press STOP to continue."
   </dest>
   <voice>
     *: ""
@@ -5295,13 +5456,16 @@
   desc: The current alarm time shown in the alarm menu for the RTC alarm mod.
   user:
   <source>
-    *: "Alarm Time: %02d:%02d"
+    *: NONE
+    alarm: "Alarm Time: %02d:%02d"
   </source>
   <dest>
-    *: "Alarm Time: %02d:%02d"
+    *: NONE
+    alarm: "Alarm Time: %02d:%02d"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    alarm: ""
   </voice>
 </phrase>
 <phrase>
@@ -5309,13 +5473,16 @@
   desc: The time until the alarm will go off shown in the alarm menu for the RTC alarm mod.
   user:
   <source>
-    *: "Waking Up In %d:%02d"
+    *: NONE
+    alarm: "Waking Up In %d:%02d"
   </source>
   <dest>
-    *: "Waking Up In %d:%02d"
+    *: NONE
+    alarm: "Waking Up In %d:%02d"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    alarm: ""
   </voice>
 </phrase>
 <phrase>
@@ -5323,13 +5490,16 @@
   desc: The text that tells the user that the alarm time is ok and the device shuts off (for the RTC alarm mod).
   user:
   <source>
-    *: "Alarm Set"
+    *: NONE
+    alarm: "Alarm Set"
   </source>
   <dest>
-    *: "Alarm Set"
+    *: NONE
+    alarm: "Alarm Set"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    alarm: ""
   </voice>
 </phrase>
 <phrase>
@@ -5337,13 +5507,16 @@
   desc: The text that tells that the time is incorrect (for the RTC alarm mod).
   user:
   <source>
-    *: "Alarm Time Is Too Soon!"
+    *: NONE
+    alarm: "Alarm Time Is Too Soon!"
   </source>
   <dest>
-    *: "Alarm Time Is Too Soon!"
+    *: NONE
+    alarm: "Alarm Time Is Too Soon!"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    alarm: ""
   </voice>
 </phrase>
 <phrase>
@@ -5351,13 +5524,16 @@
   desc: Shown key functions in alarm menu (for the RTC alarm mod).
   user:
   <source>
-    *: "PLAY=Set OFF=Cancel"
+    *: NONE
+    alarm: "PLAY=Set OFF=Cancel"
   </source>
   <dest>
-    *: "PLAY=Set OFF=Cancel"
+    *: NONE
+    alarm: "PLAY=Set OFF=Cancel"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    alarm: ""
   </voice>
 </phrase>
 <phrase>
@@ -5365,13 +5541,16 @@
   desc: Announce that the RTC alarm has been turned off
   user:
   <source>
-    *: "Alarm Disabled"
+    *: NONE
+    alarm: "Alarm Disabled"
   </source>
   <dest>
-    *: "Alarm Disabled"
+    *: NONE
+    alarm: "Alarm Disabled"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    alarm: ""
   </voice>
 </phrase>
 <phrase>
@@ -5379,13 +5558,16 @@
   desc: what to show for the 'R' 'G' 'B' ONE LETTER EACH
   user:
   <source>
-    *: "RGB"
+    *: NONE
+    lcd_color: "RGB"
   </source>
   <dest>
-    *: "RGB"
+   *: NONE
+    lcd_color: "RGB"
   </dest>
   <voice>
-    *: ""
+   *: NONE
+    lcd_color: ""
   </voice>
 </phrase>
 <phrase>
@@ -5393,13 +5575,16 @@
   desc: in color screen
   user:
   <source>
-    *: "RGB: %02X%02X%02X"
+   *: NONE
+    lcd_color: "RGB: %02X%02X%02X"
   </source>
   <dest>
-    *: "RGB: %02X%02X%02X"
+   *: NONE
+    lcd_color: "RGB: %02X%02X%02X"
   </dest>
   <voice>
-    *: ""
+   *: NONE
+    lcd_color: ""
   </voice>
 </phrase>
 <phrase>
@@ -5407,13 +5592,16 @@
   desc: splash when user selects an invalid colour
   user:
   <source>
-    *: "Invalid colour"
+   *: NONE
+    lcd_color: "Invalid colour"
   </source>
   <dest>
-    *: "Invalid colour"
+   *: NONE
+    lcd_color: "Invalid colour"
   </dest>
   <voice>
-    *: ""
+   *: NONE
+    lcd_color: ""
   </voice>
 </phrase>
 <phrase>
@@ -5571,7 +5759,7 @@
   </voice>
 </phrase>
 <phrase>
-  id: LANG_ID3_FRECUENCY
+  id: LANG_ID3_FREQUENCY
   desc: in tag viewer
   user:
   <source>
@@ -7465,13 +7653,16 @@
   desc: in radio screen
   user:
   <source>
-    *: "Station: %d.%02d MHz"
+    *: NONE
+    radio: "Station: %d.%02d MHz"
   </source>
   <dest>
-    *: "Station: %d.%02d MHz"
+    *: NONE
+    radio: "Station: %d.%02d MHz"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    radio: ""
   </voice>
 </phrase>
 <phrase>
@@ -7479,13 +7670,16 @@
   desc: error when preset list is empty
   user:
   <source>
-    *: "No presets"
+    *: NONE
+    radio: "No presets"
   </source>
   <dest>
-    *: "No presets"
+    *: NONE
+    radio: "No presets"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    radio: ""
   </voice>
 </phrase>
 <phrase>
@@ -7493,13 +7687,16 @@
   desc: in radio menu
   user:
   <source>
-    *: "Add Preset"
+    *: NONE
+    radio: "Add Preset"
   </source>
   <dest>
-    *: "Add Preset"
+    *: NONE
+    radio: "Add Preset"
   </dest>
   <voice>
-    *: "Add Preset"
+    *: NONE
+    radio: "Add Preset"
   </voice>
 </phrase>
 <phrase>
@@ -7507,13 +7704,16 @@
   desc: in radio screen
   user:
   <source>
-    *: "Edit Preset"
+    *: NONE
+    radio: "Edit Preset"
   </source>
   <dest>
-    *: "Edit Preset"
+    *: NONE
+    radio: "Edit Preset"
   </dest>
   <voice>
-    *: "Edit Preset"
+    *: NONE
+    radio: "Edit Preset"
   </voice>
 </phrase>
 <phrase>
@@ -7521,13 +7721,16 @@
   desc: in radio screen
   user:
   <source>
-    *: "Remove Preset"
+    *: NONE
+    radio: "Remove Preset"
   </source>
   <dest>
-    *: "Remove Preset"
+    *: NONE
+    radio: "Remove Preset"
   </dest>
   <voice>
-    *: "Remove Preset"
+    *: NONE
+    radio: "Remove Preset"
   </voice>
 </phrase>
 <phrase>
@@ -7535,13 +7738,16 @@
   desc: in radio screen
   user:
   <source>
-    *: "Preset Save Failed"
+    *: NONE
+    radio: "Preset Save Failed"
   </source>
   <dest>
-    *: "Preset Save Failed"
+    *: NONE
+    radio: "Preset Save Failed"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    radio: ""
   </voice>
 </phrase>
 <phrase>
@@ -7549,13 +7755,16 @@
   desc: in radio screen
   user:
   <source>
-    *: "The Preset List is Full"
+    *: NONE
+    radio: "The Preset List is Full"
   </source>
   <dest>
-    *: "The Preset List is Full"
+    *: NONE
+    radio: "The Preset List is Full"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    radio: ""
   </voice>
 </phrase>
 <phrase>
@@ -7577,13 +7786,16 @@
   desc: in radio screen
   user:
   <source>
-    *: "Exit"
+    *: NONE
+    radio: "Exit"
   </source>
   <dest>
-    *: "Exit"
+    *: NONE
+    radio: "Exit"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    radio: ""
   </voice>
 </phrase>
 <phrase>
@@ -7591,13 +7803,16 @@
   desc: in radio screen
   user:
   <source>
-    *: "Action"
+    *: NONE
+    radio: "Action"
   </source>
   <dest>
-    *: "Action"
+    *: NONE
+    radio: "Action"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    radio: ""
   </voice>
 </phrase>
 <phrase>
@@ -7605,13 +7820,16 @@
   desc: in button bar
   user:
   <source>
-    *: "Preset"
+    *: NONE
+    radio: "Preset"
   </source>
   <dest>
-    *: "Preset"
+    *: NONE
+    radio: "Preset"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    radio: ""
   </voice>
 </phrase>
 <phrase>
@@ -7619,13 +7837,16 @@
   desc: in radio screen
   user:
   <source>
-    *: "Add"
+    *: NONE
+    radio: "Add"
   </source>
   <dest>
-    *: "Add"
+    *: NONE
+    radio: "Add"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    radio: ""
   </voice>
 </phrase>
 <phrase>
@@ -7633,13 +7854,16 @@
   desc: in radio screen
   user:
   <source>
-    *: "Record"
+    *: NONE
+    radio: "Record"
   </source>
   <dest>
-    *: "Record"
+    *: NONE
+    radio: "Record"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    radio: ""
   </voice>
 </phrase>
 <phrase>
@@ -7647,13 +7871,16 @@
   desc: in radio screen
   user:
   <source>
-    *: "Force mono"
+    *: NONE
+    radio: "Force mono"
   </source>
   <dest>
-    *: "Force mono"
+    *: NONE
+    radio: "Force mono"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    radio: ""
   </voice>
 </phrase>
 <phrase>
@@ -7661,13 +7888,16 @@
   desc: splash screen during freeze in radio mode
   user:
   <source>
-    *: "Screen frozen!"
+    *: NONE
+    radio: "Screen frozen!"
   </source>
   <dest>
-    *: "Screen frozen!"
+    *: NONE
+    radio: "Screen frozen!"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    radio: ""
   </voice>
 </phrase>
 <phrase>
@@ -7675,13 +7905,16 @@
   desc: in radio menu
   user:
   <source>
-    *: "Auto-Scan Presets"
+    *: NONE
+    radio: "Auto-Scan Presets"
   </source>
   <dest>
-    *: "Auto-Scan Presets"
+    *: NONE
+    radio: "Auto-Scan Presets"
   </dest>
   <voice>
-    *: "Auto scan presets"
+    *: NONE
+    radio: "Auto scan presets"
   </voice>
 </phrase>
 <phrase>
@@ -7689,13 +7922,16 @@
   desc: confirmation if presets can be cleared
   user:
   <source>
-    *: "Clear Current Presets?"
+    *: NONE
+    radio: "Clear Current Presets?"
   </source>
   <dest>
-    *: "Clear Current Presets?"
+    *: NONE
+    radio: "Clear Current Presets?"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    radio: ""
   </voice>
 </phrase>
 <phrase>
@@ -7703,13 +7939,16 @@
   desc: during auto scan
   user:
   <source>
-    *: "Scanning %d.%02d MHz"
+    *: NONE
+    radio: "Scanning %d.%02d MHz"
   </source>
   <dest>
-    *: "Scanning %d.%02d MHz"
+    *: NONE
+    radio: "Scanning %d.%02d MHz"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    radio: ""
   </voice>
 </phrase>
 <phrase>
@@ -7717,13 +7956,16 @@
   desc: default preset name for auto scan mode
   user:
   <source>
-    *: "%d.%02d MHz"
+    *: NONE
+    radio: "%d.%02d MHz"
   </source>
   <dest>
-    *: "%d.%02d MHz"
+    *: NONE
+    radio: "%d.%02d MHz"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    radio: ""
   </voice>
 </phrase>
 <phrase>
@@ -7731,13 +7973,16 @@
   desc: in radio screen / menu
   user:
   <source>
-    *: "Mode:"
+    *: NONE
+    radio: "Mode:"
   </source>
   <dest>
-    *: "Mode:"
+    *: NONE
+    radio: "Mode:"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    radio: ""
   </voice>
 </phrase>
 <phrase>
@@ -7745,13 +7990,16 @@
   desc: in radio screen / menu
   user:
   <source>
-    *: "Scan"
+    *: NONE
+    radio: "Scan"
   </source>
   <dest>
-    *: "Scan"
+    *: NONE
+    radio: "Scan"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    radio: ""
   </voice>
 </phrase>
 <phrase>
@@ -7759,58 +8007,19 @@
   desc: in radio screen / menu
   user:
   <source>
-    *: "Preset"
+    *: NONE
+    radio: "Preset"
   </source>
   <dest>
-    *: "Preset"
+    *: NONE
+    radio: "Preset"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    radio: ""
   </voice>
 </phrase>
 <phrase>
-  id: LANG_DIRBROWSE_F1
-  desc: in dir browser, F1 button bar text
-  user:
-  <source>
-    *: "Menu"
-  </source>
-  <dest>
-    *: "Menu"
-  </dest>
-  <voice>
-    *: ""
-  </voice>
-</phrase>
-<phrase>
-  id: LANG_DIRBROWSE_F2
-  desc: in dir browser, F2 button bar text
-  user:
-  <source>
-    *: "Option"
-  </source>
-  <dest>
-    *: "Option"
-  </dest>
-  <voice>
-    *: ""
-  </voice>
-</phrase>
-<phrase>
-  id: LANG_DIRBROWSE_F3
-  desc: in dir browser, F3 button bar text
-  user:
-  <source>
-    *: "LCD"
-  </source>
-  <dest>
-    *: "LCD"
-  </dest>
-  <voice>
-    *: ""
-  </voice>
-</phrase>
-<phrase>
   id: LANG_SHOWDIR_BUFFER_FULL
   desc: in showdir(), displayed on screen when you reach buffer limit
   user:
@@ -7949,13 +8158,16 @@
   desc: text for splash to indicate a new backdrop has been loaded successfully
   user:
   <source>
-    *: "Backdrop Loaded"
+    *: NONE
+    lcd_color: "Backdrop Loaded"
   </source>
   <dest>
-    *: "Backdrop Loaded"
+    *: NONE
+    lcd_color: "Backdrop Loaded"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    lcd_color: ""
   </voice>
 </phrase>
 <phrase>
@@ -7963,13 +8175,16 @@
   desc: text for splash to indicate a failure to load a bitmap as backdrop
   user:
   <source>
-    *: "Backdrop Failed"
+    *: NONE
+    lcd_color: "Backdrop Failed"
   </source>
   <dest>
-    *: "Backdrop Failed"
+    *: NONE
+    lcd_color: "Backdrop Failed"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    lcd_color: ""
   </voice>
 </phrase>
 <phrase>
@@ -8383,13 +8598,16 @@
   desc: load preset list in fm radio
   user:
   <source>
-    *: "Load Preset List"
+    *: NONE
+    radio: "Load Preset List"
   </source>
   <dest>
-    *: "Load Preset List"
+    *: NONE
+    radio: "Load Preset List"
   </dest>
   <voice>
-    *: "Load Preset List"
+    *: NONE
+    radio: "Load Preset List"
   </voice>
 </phrase>
 <phrase>
@@ -8397,13 +8615,16 @@
   desc: Save preset list in fm radio
   user:
   <source>
-    *: "Save Preset List"
+    *: NONE
+    radio: "Save Preset List"
   </source>
   <dest>
-    *: "Save Preset List"
+    *: NONE
+    radio: "Save Preset List"
   </dest>
   <voice>
-    *: "Save Preset List"
+    *: NONE
+    radio: "Save Preset List"
   </voice>
 </phrase>
 <phrase>
@@ -8411,13 +8632,16 @@
   desc: clear preset list in fm radio
   user:
   <source>
-    *: "Clear Preset List"
+    *: NONE
+    radio: "Clear Preset List"
   </source>
   <dest>
-    *: "Clear Preset List"
+    *: NONE
+    radio: "Clear Preset List"
   </dest>
   <voice>
-    *: "Clear Preset List"
+    *: NONE
+    radio: "Clear Preset List"
   </voice>
 </phrase>
 <phrase>
@@ -8425,13 +8649,16 @@
   desc: Used when you need to say Preset List, also voiced
   user:
   <source>
-    *: "Preset List"
+    *: NONE
+    radio: "Preset List"
   </source>
   <dest>
-    *: "Preset List"
+    *: NONE
+    radio: "Preset List"
   </dest>
   <voice>
-    *: "Preset List"
+    *: NONE
+    radio: "Preset List"
   </voice>
 </phrase>
 <phrase>
@@ -8439,13 +8666,16 @@
   desc: When you run the radio without an fmr file in settings
   user:
   <source>
-    *: "No settings found. Autoscan?"
+    *: NONE
+    radio: "No settings found. Autoscan?"
   </source>
   <dest>
-    *: "No settings found. Autoscan?"
+    *: NONE
+    radio: "No settings found. Autoscan?"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    radio: ""
   </voice>
 </phrase>
 <phrase>
@@ -8453,13 +8683,16 @@
   desc: When you try to exit radio to confirm save
   user:
   <source>
-    *: "Save Changes?"
+    *: NONE
+    radio: "Save Changes?"
   </source>
   <dest>
-    *: "Save Changes?"
+    *: NONE
+    radio: "Save Changes?"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    radio: ""
   </voice>
 </phrase>
 <phrase>
@@ -8467,13 +8700,16 @@
   desc: In the settings menu
   user:
   <source>
-    *: "pixels"
+    *: NONE
+    lcd_bitmap: "pixels"
   </source>
   <dest>
-    *: "pixels"
+    *: NONE
+    lcd_bitmap: "pixels"
   </dest>
   <voice>
-    *: "pixels"
+    *: NONE
+    lcd_bitmap: "pixels"
   </voice>
 </phrase>
 <phrase>
@@ -8481,52 +8717,64 @@
   desc: in crossfeed settings
   user:
   <source>
-    *: "Direct Gain"
+    *: NONE
+    swcodec: "Direct Gain"
   </source>
   <dest>
-    *: "Direct Gain"
+    *: NONE
+    swcodec: "Direct Gain"
   </dest>
   <voice>
-    *: "Direct gain"
+    *: NONE
+    swcodec: "Direct gain"
   </voice>
 </phrase>
 <phrase>
   id: LANG_CROSSFEED_CROSS_GAIN
   desc: in crossfeed settings
   <source>
-    *: "Cross Gain"
+    *: NONE
+    swcodec: "Cross Gain"
   </source>
   <dest>
-    *: "Cross Gain"
+    *: NONE
+    swcodec: "Cross Gain"
   </dest>
   <voice>
-    *: "Cross gain"
+    *: NONE
+    swcodec: "Cross gain"
   </voice>
 </phrase>
 <phrase>
   id: LANG_CROSSFEED_HF_ATTENUATION
   desc: in crossfeed settings
   <source>
-    *: "High-Frequency Attenuation"
+    *: NONE
+    swcodec: "High-Frequency Attenuation"
   </source>
   <dest>
-    *: "High-Frequency Attenuation"
+    *: NONE
+    swcodec: "High-Frequency Attenuation"
   </dest>
   <voice>
-    *: "High-frequency attenuation"
+    *: NONE
+    swcodec: "High-frequency attenuation"
   </voice>
 </phrase>
 <phrase>
   id: LANG_CROSSFEED_HF_CUTOFF
   desc: in crossfeed settings
   <source>
-    *: "High-Frequency Cutoff"
+    *: NONE
+    swcodec: "High-Frequency Cutoff"
   </source>
   <dest>
-    *: "High-Frequency Cutoff"
+    *: NONE
+    swcodec: "High-Frequency Cutoff"
   </dest>
   <voice>
-    *: "High-frequency cutoff"
+    *: NONE
+    swcodec: "High-frequency cutoff"
   </voice>
 </phrase>
 <phrase>
@@ -8588,13 +8836,16 @@
   desc: "Remote Scrolling Options" Submenu in "Scrolling Options" menu
   user:
   <source>
-    *: "Remote Scrolling Options"
+    *: NONE
+    remote: "Remote Scrolling Options"
   </source>
   <dest>
-    *: "Remote Scrolling Options"
+    *: NONE
+    remote: "Remote Scrolling Options"
   </dest>
   <voice>
-    *: "Remote Scrolling Options"
+    *: NONE
+    remote: "Remote Scrolling Options"
   </voice>
 </phrase>
 <phrase>
@@ -9032,13 +9283,16 @@
   desc: in the equalizer settings menu
   user:
   <source>
-    *: "Edit mode: %s"
+    *: NONE
+    swcodec: "Edit mode: %s"
   </source>
   <dest>
-    *: "Edit mode: %s"
+    *: NONE
+    swcodec: "Edit mode: %s"
   </dest>
   <voice>
-    *: ""
+    *: NONE
+    swcodec: ""
   </voice>
 </phrase>
 <phrase>
@@ -9046,13 +9300,16 @@
   desc: in the equalizer settings menu
   user:
   <source>
-    *: "Cutoff Frequency"
+    *: NONE
+    swcodec: "Cutoff Frequency"
   </source>
   <dest>
-    *: "Cutoff Frequency"
+    *: NONE
+    swcodec: "Cutoff Frequency"
   </dest>
   <voice>
-    *: "Cutoff Frequency"
+    *: NONE
+    swcodec: "Cutoff Frequency"
   </voice>
 </phrase>
 <phrase>
@@ -9060,13 +9317,16 @@
   desc: in the equalizer settings menu
   user:
   <source>
-    *: "Gain"
+    *: NONE
+    swcodec: "Gain"
   </source>
   <dest>
-    *: "Gain"
+    *: NONE
+    swcodec: "Gain"
   </dest>
   <voice>
-    *: "Gain"
+    *: NONE
+    swcodec: "Gain"
   </voice>
 </phrase>
 <phrase>
@@ -9378,48 +9638,6 @@
   </voice>
 </phrase>
 <phrase>
-  id: LANG_SYSFONT_PITCH
-  desc: "pitch" in the pitch screen
-  user:
-  <source>
-    *: "Pitch"
-  </source>
-  <dest>
-    *: "Pitch"
-  </dest>
-  <voice>
-    *: "Pitch"
-  </voice>
-</phrase>
-<phrase>
-  id: LANG_SYSFONT_PITCH_UP
-  desc: in wps
-  user:
-  <source>
-    *: "Pitch Up"
-  </source>
-  <dest>
-    *: "Pitch Up"
-  </dest>
-  <voice>
-    *: ""
-  </voice>
-</phrase>
-<phrase>
-  id: LANG_SYSFONT_PITCH_DOWN
-  desc: in wps
-  user:
-  <source>
-    *: "Pitch Down"
-  </source>
-  <dest>
-    *: "Pitch Down"
-  </dest>
-  <voice>
-    *: ""
-  </voice>
-</phrase>
-<phrase>
   id: LANG_SYSFONT_F2_MODE
   desc: in wps F2 pressed
   user:
@@ -9537,11 +9755,11 @@
   user:
   <source>
     *: "The disk is full. Press OFF to continue."
-    h100,h120,h300: "The disk is full. Press STOP to continue."
+    recording: "The disk is full. Press STOP to continue."
   </source>
   <dest>
     *: "The disk is full. Press OFF to continue."
-    h100,h120,h300: "The disk is full. Press STOP to continue."
+    recording: "The disk is full. Press STOP to continue."
   </dest>
   <voice>
     *: ""
@@ -9621,13 +9839,16 @@
   desc: in the sound settings menu
   user:
   <source>
-    *: "Hardware Equalizer"
+    *: NONE
+    ipodvideo: "Hardware Equalizer"
   </source>
   <dest>
-    *: "Hardware Equalizer"
+    *: NONE
+    ipodvideo: "Hardware Equalizer"
   </dest>
   <voice>
-    *: "Hardware equalizer"
+    *: NONE
+    ipodvideo: "Hardware equalizer"
   </voice>
 </phrase>
 <phrase>
@@ -9635,13 +9856,16 @@
   desc: in the equalizer settings menu
   user:
   <source>
-    *: "Enable Hardware EQ"
+    *: NONE
+    ipodvideo: "Enable Hardware EQ"
   </source>
   <dest>
-    *: "Enable Hardware EQ"
+    *: NONE
+    ipodvideo: "Enable Hardware EQ"
   </dest>
   <voice>
-    *: "Enable hardware equalizer"
+    *: NONE
+    ipodvideo: "Enable hardware equalizer"
   </voice>
 </phrase>
 <phrase>
@@ -9663,13 +9887,16 @@
   desc: in the equalizer settings menu
   user:
   <source>
-    *: "Narrow"
+    *: NONE
+    ipodvideo: "Narrow"
   </source>
   <dest>
-    *: "Narrow"
+    *: NONE
+    ipodvideo: "Narrow"
   </dest>
   <voice>
-    *: "Narrow"
+    *: NONE
+    ipodvideo: "Narrow"
   </voice>
 </phrase>
 <phrase>
@@ -9677,13 +9904,16 @@
   desc: in the equalizer settings menu
   user:
   <source>
-    *: "Wide"
+    *: NONE
+    ipodvideo: "Wide"
   </source>
   <dest>
-    *: "Wide"
+    *: NONE
+    ipodvideo: "Wide"
   </dest>
   <voice>
-    *: "Wide"
+    *: NONE
+    ipodvideo: "Wide"
   </voice>
 </phrase>
 <phrase>
@@ -9732,117 +9962,144 @@
   id: LANG_RECORD_AGC_PRESET
   desc: automatic gain control in record settings
   <source>
-    *: "Automatic Gain Control"
+    *: NONE
+    agc: "Automatic Gain Control"
   </source>
   <dest>
-    *: "Automatic Gain Control"
+    *: NONE
+    agc: "Automatic Gain Control"
   </dest>
   <voice>
-    *: "Automatic gain control"
+    *: NONE
+    agc: "Automatic gain control"
   </voice>
 </phrase>
 <phrase>
   id: LANG_AGC_SAFETY
   desc: AGC preset
   <source>
-    *: "Safety (clip)"
+    *: NONE
+    agc: "Safety (clip)"
   </source>
   <dest>
-    *: "Safety (clip)"
+    *: NONE
+    agc: "Safety (clip)"
   </dest>
   <voice>
-    *: "Safety (clip)"
+    *: NONE
+    agc: "Safety (clip)"
   </voice>
 </phrase>
 <phrase>
   id: LANG_AGC_LIVE
   desc: AGC preset
   <source>
-    *: "Live (slow)"
+    *: NONE
+    agc: "Live (slow)"
   </source>
   <dest>
-    *: "Live (slow)"
+    *: NONE
+    agc: "Live (slow)"
   </dest>
   <voice>
-    *: "Live (slow)"
+    *: NONE
+    agc: "Live (slow)"
   </voice>
 </phrase>
 <phrase>
   id: LANG_AGC_DJSET
   desc: AGC preset
   <source>
-    *: "DJ-Set (slow)"
+    *: NONE
+    agc: "DJ-Set (slow)"
   </source>
   <dest>
-    *: "DJ-Set (slow)"
+    *: NONE
+    agc: "DJ-Set (slow)"
   </dest>
   <voice>
-    *: "DJ set (slow)"
+    *: NONE
+    agc: "DJ set (slow)"
   </voice>
 </phrase>
 <phrase>
   id: LANG_AGC_MEDIUM
   desc: AGC preset
   <source>
-    *: "Medium"
+    *: NONE
+    agc: "Medium"
   </source>
   <dest>
-    *: "Medium"
+    *: NONE
+    agc: "Medium"
   </dest>
   <voice>
-    *: "Medium"
+    *: NONE
+    agc: "Medium"
   </voice>
 </phrase>
 <phrase>
   id: LANG_AGC_VOICE
   desc: AGC preset
   <source>
-    *: "Voice (fast)"
+    *: NONE
+    agc: "Voice (fast)"
   </source>
   <dest>
-    *: "Voice (fast)"
+    *: NONE
+    agc: "Voice (fast)"
   </dest>
   <voice>
-    *: "Voice (fast)"
+    *: NONE
+    agc: "Voice (fast)"
   </voice>
 </phrase>
 <phrase>
   id: LANG_RECORD_AGC_CLIPTIME
   desc: in record settings
   <source>
-    *: "AGC clip time"
+    *: NONE
+    agc: "AGC clip time"
   </source>
   <dest>
-    *: "AGC clip time"
+    *: NONE
+    agc: "AGC clip time"
   </dest>
   <voice>
-    *: "AGC clip time"
+    *: NONE
+    agc: "AGC clip time"
   </voice>
 </phrase>
 <phrase>
   id: LANG_SYSFONT_RECORDING_AGC_PRESET
   desc: automatic gain control in recording screen
   <source>
-    *: "AGC"
+    *: NONE
+    agc: "AGC"
   </source>
   <dest>
-    *: "AGC"
+    *: NONE
+    agc: "AGC"
   </dest>
   <voice>
-    *: "AGC"
+    *: NONE
+    agc: "AGC"
   </voice>
 </phrase>
 <phrase>
   id: LANG_RECORDING_AGC_MAXGAIN
   desc: AGC maximum gain in recording screen
   <source>
-    *: "AGC max. gain"
+    *: NONE
+    agc: "AGC max. gain"
   </source>
   <dest>
-    *: "AGC max. gain"
+    *: NONE
+    agc: "AGC max. gain"
   </dest>
   <voice>
-    *: "AGC maximum gain"
+    *: NONE
+    agc: "AGC maximum gain"
   </voice>
 </phrase>
 <phrase>
@@ -9874,124 +10131,151 @@
   </voice>
 </phrase>
 <phrase>
-  id: LANG_UNPLUG
+  id: LANG_HEADPHONE_UNPLUG
   desc: in settings_menu.
   user:
   <source>
-    *: "Pause on Headphone Unplug"
+    *: NONE
+    headphone_detection: "Pause on Headphone Unplug"
   </source>
   <dest>
-    *: "Pause on Headphone Unplug"
+    *: NONE
+    headphone_detection: "Pause on Headphone Unplug"
   </dest>
   <voice>
-    *: "Pause on Headphone Unplug"
+    *: NONE
+    headphone_detection: "Pause on Headphone Unplug"
   </voice>
 </phrase>
 <phrase>
-  id: LANG_UNPLUG_RESUME
+  id: LANG_HEADPHONE_UNPLUG_RESUME
   desc: in pause_phones_menu.
   user:
   <source>
-    *: "Pause and Resume"
+    *: NONE
+    headphone_detection: "Pause and Resume"
   </source>
   <dest>
-    *: "Pause and Resume"
+    *: NONE
+    headphone_detection: "Pause and Resume"
   </dest>
   <voice>
-    *: "Pause and Resume"
+    *: NONE
+    headphone_detection: "Pause and Resume"
   </voice>
 </phrase>
 <phrase>
-  id: LANG_UNPLUG_RW
+  id: LANG_HEADPHONE_UNPLUG_RW
   desc: in pause_phones_menu.
   user:
   <source>
-    *: "Duration to Rewind"
+    *: NONE
+    headphone_detection: "Duration to Rewind"
   </source>
   <dest>
-    *: "Duration to Rewind"
+    *: NONE
+    headphone_detection: "Duration to Rewind"
   </dest>
   <voice>
-    *: "Duration to Rewind"
+    *: NONE
+    headphone_detection: "Duration to Rewind"
   </voice>
 </phrase>
 <phrase>
-  id: LANG_UNPLUG_DISABLE_AUTORESUME
+  id: LANG_HEADPHONE_UNPLUG_DISABLE_AUTORESUME
   desc: in pause_phones_menu.
   user:
   <source>
-    *: "Disable resume on startup if phones unplugged"
+    *: NONE
+    headphone_detection: "Disable resume on startup if phones unplugged"
   </source>
   <dest>
-    *: "Disable resume on startup if phones unplugged"
+    *: NONE
+    headphone_detection: "Disable resume on startup if phones unplugged"
   </dest>
   <voice>
-    *: "Disable resume on startup if phones unplugged"
+    *: NONE
+    headphone_detection: "Disable resume on startup if phones unplugged"
   </voice>
 </phrase>
 <phrase>
   id: LANG_FM_REGION
   desc: fm tuner region setting
   <source>
-    *: "Region"
+    *: NONE
+    radio: "Region"
   </source>
   <dest>
-    *: "Region"
+    *: NONE
+    radio: "Region"
   </dest>
   <voice>
-    *: "Region"
+    *: NONE
+    radio: "Region"
   </voice>
 </phrase>
 <phrase>
   id: LANG_FM_EUROPE
   desc: fm tuner region europe
   <source>
-    *: "Europe"
+    *: NONE
+    radio: "Europe"
   </source>
   <dest>
-    *: "Europe"
+    *: NONE
+    radio: "Europe"
   </dest>
   <voice>
-    *: "Europe"
+    *: NONE
+    radio: "Europe"
   </voice>
 </phrase>
 <phrase>
   id: LANG_FM_US
   desc: fm region us / canada
   <source>
-    *: "US / Canada"
+    *: NONE
+    radio: "US / Canada"
   </source>
   <dest>
-    *: "US / Canada"
+    *: NONE
+    radio: "US / Canada"
   </dest>
   <voice>
-    *: "US / Canada"
+    *: NONE
+    radio: "US / Canada"
   </voice>
 </phrase>
 <phrase>
   id: LANG_FM_JAPAN
   desc: fm region japan
   <source>
-    *: "Japan"
+    *: NONE
+    radio: "Japan"
   </source>
   <dest>
-    *: "Japan"
+    *: NONE
+    radio: "Japan"
   </dest>
   <voice>
-    *: "Japan"
+    *: NONE
+    radio: "Japan"
   </voice>
 </phrase>
 <phrase>
   id: LANG_FM_KOREA
   desc: fm region korea
   <source>
-    *: "Korea"
+    *: NONE
+    radio: "Korea"
   </source>
   <dest>
-    *: "Korea"
+    *: NONE
+    radio: "Korea"
   </dest>
   <voice>
-    *: "Korea"
+    *: NONE
+    radio: "Korea"
   </voice>
 </phrase>
 <phrase>
@@ -10050,34 +10334,6 @@
   </voice>
 </phrase>
 <phrase>
-  id: LANG_SYSFONT_PITCH_UP_SEMITONE
-  desc: in wps
-  user:
-  <source>
-    *: "Semitone Up"
-  </source>
-  <dest>
-    *: "Semitone Up"
-  </dest>
-  <voice>
-    *: ""
-  </voice>
-</phrase>
-<phrase>
-  id: LANG_SYSFONT_PITCH_DOWN_SEMITONE
-  desc: in wps
-  user:
-  <source>
-    *: "Semitone Down"
-  </source>
-  <dest>
-    *: "Semitone Down"
-  </dest>
-  <voice>
-    *: ""
-  </voice>
-</phrase>
-<phrase>
   id: LANG_RECORDING_FORMAT
   desc: audio format item in recording menu
   user:
@@ -10124,16 +10380,36 @@
   desc: audio format description
   user:
   <source>
-    *: "WavPack"
+    *: NONE
+    swcodec: "WavPack"
   </source>
   <dest>
-    *: "WavPack"
+    *: NONE
+    swcodec: "WavPack"
   </dest>
   <voice>
-    *: "WavPack"
+    *: NONE
+    swcodec: "WavPack"
   </voice>
 </phrase>
 <phrase>
+  id: LANG_AFMT_AIFF
+  desc: audio format description
+  user:
+  <source>
+    *: NONE
+    swcodec: "AIFF"
+  </source>
+  <dest>
+    *: NONE
+    swcodec: "AIFF"
+  </dest>
+  <voice>
+    *: NONE
+    swcodec: "AIFF"
+  </voice>
+</phrase>
+<phrase>
   id: LANG_ENCODER_SETTINGS
   desc: encoder settings
   user:
@@ -10270,95 +10546,99 @@
   </voice>
 </phrase>
 <phrase>
-  id: LANG_AFMT_AIFF
-  desc: audio format description
-  user:
-  <source>
-    *: "AIFF"
-  </source>
-  <dest>
-    *: "AIFF"
-  </dest>
-  <voice>
-    *: "AIFF"
-  </voice>
-</phrase>
-<phrase>
   id: LANG_SYSFONT_AGC_SAFETY
   desc: AGC preset
   <source>
-    *: "Safety (clip)"
+    *: NONE
+    agc: "Safety (clip)"
   </source>
   <dest>
-    *: "Safety (clip)"
+    *: NONE
+    agc: "Safety (clip)"
   </dest>
   <voice>
-    *: "Safety (clip)"
+    *: NONE
+    agc: "Safety (clip)"
   </voice>
 </phrase>
 <phrase>
   id: LANG_SYSFONT_AGC_LIVE
   desc: AGC preset
   <source>
-    *: "Live (slow)"
+    *: NONE
+    agc: "Live (slow)"
   </source>
   <dest>
-    *: "Live (slow)"
+    *: NONE
+    agc: "Live (slow)"
   </dest>
   <voice>
-    *: "Live (slow)"
+    *: NONE
+    agc: "Live (slow)"
   </voice>
 </phrase>
 <phrase>
   id: LANG_SYSFONT_AGC_DJSET
   desc: AGC preset
   <source>
-    *: "DJ-Set (slow)"
+    *: NONE
+    agc: "DJ-Set (slow)"
   </source>
   <dest>
-    *: "DJ-Set (slow)"
+    *: NONE
+    agc: "DJ-Set (slow)"
   </dest>
   <voice>
-    *: "DJ set (slow)"
+    *: NONE
+    agc: "DJ set (slow)"
   </voice>
 </phrase>
 <phrase>
   id: LANG_SYSFONT_AGC_MEDIUM
   desc: AGC preset
   <source>
-    *: "Medium"
+    *: NONE
+    agc: "Medium"
   </source>
   <dest>
-    *: "Medium"
+    *: NONE
+    agc: "Medium"
   </dest>
   <voice>
-    *: "Medium"
+    *: NONE
+    agc: "Medium"
   </voice>
 </phrase>
 <phrase>
   id: LANG_SYSFONT_AGC_VOICE
   desc: AGC preset
   <source>
-    *: "Voice (fast)"
+    *: NONE
+    agc: "Voice (fast)"
   </source>
   <dest>
-    *: "Voice (fast)"
+    *: NONE
+    agc: "Voice (fast)"
   </dest>
   <voice>
-    *: "Voice (fast)"
+    *: NONE
+    agc: "Voice (fast)"
   </voice>
 </phrase>
 <phrase>
   id: LANG_SYSFONT_RECORDING_AGC_MAXGAIN
   desc: AGC maximum gain in recording screen
   <source>
-    *: "AGC max. gain"
+    *: NONE
+    agc: "AGC max. gain"
   </source>
   <dest>
-    *: "AGC max. gain"
+    *: NONE
+    agc: "AGC max. gain"
   </dest>
   <voice>
-    *: "AGC maximum gain"
+    *: NONE
+    agc: "AGC maximum gain"
   </voice>
 </phrase>
 <phrase>
@@ -10380,13 +10660,16 @@
   desc: in settings_menu
   user:
   <source>
-    *: "Shuffle and Track Skip"
+    *: NONE
+    swcodec: "Shuffle and Track Skip"
   </source>
   <dest>
-    *: "Shuffle and Track Skip"
+    *: NONE
+    swcodec: "Shuffle and Track Skip"
   </dest>
   <voice>
-    *: "Shuffle and Track Skip"
+    *: NONE
+    swcodec: "Shuffle and Track Skip"
   </voice>
 </phrase>
 <phrase>
Index: apps/settings_menu.c
===================================================================
--- apps/settings_menu.c	(revision 12110)
+++ apps/settings_menu.c	(working copy)
@@ -1700,10 +1700,10 @@
     static const struct opt_items names[] = {
         { STR(LANG_OFF) },
         { STR(LANG_PAUSE) },
-        { STR(LANG_UNPLUG_RESUME) },
+        { STR(LANG_HEADPHONE_UNPLUG_RESUME) },
     };
     bool ret;
-    ret=set_option( str(LANG_UNPLUG),
+    ret=set_option( str(LANG_HEADPHONE_UNPLUG),
                     &global_settings.unplug_mode, INT, names, 3, NULL);
 
     return ret;
@@ -1713,7 +1713,7 @@
 {
     bool ret;
 
-    ret = set_int(str(LANG_UNPLUG_RW), "s", UNIT_SEC,
+    ret = set_int(str(LANG_HEADPHONE_UNPLUG_RW), "s", UNIT_SEC,
                    &global_settings.unplug_rw,
                    NULL, 1, 0, 15, NULL );
     audio_set_crossfade(global_settings.unplug_rw);
@@ -1722,7 +1722,7 @@
 
 static bool unplug_autoresume(void)
 {
-    return set_bool( str(LANG_UNPLUG_DISABLE_AUTORESUME),
+    return set_bool( str(LANG_HEADPHONE_UNPLUG_DISABLE_AUTORESUME),
                     &global_settings.unplug_autoresume );
 }
 
@@ -1732,9 +1732,9 @@
     bool result;
 
     static const struct menu_item items[] = {
-        { ID2P(LANG_UNPLUG), unplug_mode },
-        { ID2P(LANG_UNPLUG_RW), unplug_rw },
-        { ID2P(LANG_UNPLUG_DISABLE_AUTORESUME), unplug_autoresume },
+        { ID2P(LANG_HEADPHONE_UNPLUG), unplug_mode },
+        { ID2P(LANG_HEADPONE_UNPLUG_RW), unplug_rw },
+        { ID2P(LANG_HEADPHONE_UNPLUG_DISABLE_AUTORESUME), unplug_autoresume },
     };
 
     m=menu_init( items, sizeof(items) / sizeof(*items), NULL,
Index: apps/features.txt
===================================================================
--- apps/features.txt	(revision 0)
+++ apps/features.txt	(revision 0)
@@ -0,0 +1,80 @@
+#if defined(HAVE_AGC)
+agc
+#endif
+
+#if defined(HAVE_ALARM_MOD)
+alarm
+#endif
+
+#if defined(HAVE_LCD_CHARCELLS)
+lcd_charcell
+#endif
+
+#if defined(HAVE_LCD_BITMAP)
+lcd_bitmap
+#endif
+
+#if LCD_DEPTH > 1
+lcd_color
+#endif
+
+#if defined(HAVE_PITCHSCREEN)
+pitchscreen
+#endif
+
+#if defined(HAVE_HEADPHONE_DETECTION)
+headphone_detection
+#endif
+
+#if defined(HAVE_LCD_CONTRAST)
+lcd_constrast
+#endif
+
+#if defined(HAVE_LCD_FLIP)
+lcd_flip
+#endif
+
+#if defined(HAVE_LCD_INVERT)
+lcd_invert
+#endif
+
+#if defined(HAVE_MULTIVOLUME)
+multivolume
+#endif
+
+#if defined(HAVE_QUICKSCREEN)
+quickscreen
+#endif
+
+#if defined(CONFIG_TUNER)
+radio
+#endif
+
+#if defined(HAVE_RECORDING)
+recording
+#endif
+
+#if defined(HAVE_REMOTE_LCD)
+remote
+#endif
+
+#if defined(HAVE_REMOTE_LCD_TICKING)
+remote_ticking
+#endif
+
+#if defined(CONFIG_RTC)
+rtc
+#endif
+
+#if defined(HAVE_SPDIF_POWER)
+spdif_power
+#endif
+
+#if CONFIG_CODEC == SWCODEC
+swcodec
+#endif
+
+#if defined(HAVE_TAGCACHE)
+tagcache
+#endif
+
