Difference between revisions of "Dictionary Structure"

From MSX - Wiki
Jump to navigation Jump to search
 
(25 intermediate revisions by the same user not shown)
Line 1: Line 1:
A dictionary can be used to translate the application user interface. It is set as link in the menu or content data. The dictionary data must contain a <code>name</code> property (of type <code>string</code>), a <code>version</code> property (of type <code>string</code>), and a <code>properties</code> property (of type <code>object</code>). Each property is a key-value pair of type <code>string</code>. The currently used dictionary is displayed in the about panel of the Media Station X application.
+
A dictionary can be used to translate the application user interface. It is set as URL in the <code>dictionary</code> property in the menu or content data. The dictionary data must contain a <code>name</code> property (of type <code>string</code>), a <code>version</code> property (of type <code>string</code>), and a <code>properties</code> property (of type <code>object</code>). Each property is a key-value pair of type <code>string</code>. The currently used dictionary is displayed in the about panel of the Media Station X application.
  
 
'''Note: The dictionary is only used if the menu/content data is loaded at startup. If the dictionary only contains parts of the application user interface, the default values are used for the missing entries. For the dictionary support, version 0.1.120 or higher is needed.'''
 
'''Note: The dictionary is only used if the menu/content data is loaded at startup. If the dictionary only contains parts of the application user interface, the default values are used for the missing entries. For the dictionary support, version 0.1.120 or higher is needed.'''
Line 7: Line 7:
 
{
 
{
 
     "name": "English",
 
     "name": "English",
     "version": "1.0.4",
+
     "version": "1.0.20",
     "properties": {      
+
     "properties": {
 +
        "caption:menu": "menu",
 +
        "caption:options": "opt/menu",
 +
        "caption:player": "player",
 
         "format:date": "mm/dd/yy",
 
         "format:date": "mm/dd/yy",
 
         "format:day": "D mm/dd",
 
         "format:day": "D mm/dd",
Line 33: Line 36:
 
         "label:config_error": "Config Error",
 
         "label:config_error": "Config Error",
 
         "label:config_not_available": "Config Not Available",
 
         "label:config_not_available": "Config Not Available",
 +
        "label:confirm": "Confirm",
 
         "label:contact": "Contact",
 
         "label:contact": "Contact",
 
         "label:content_guide": "Content Guide",
 
         "label:content_guide": "Content Guide",
 
         "label:content_info": "Content Info",
 
         "label:content_info": "Content Info",
 
         "label:content_not_available": "Content Not Available",
 
         "label:content_not_available": "Content Not Available",
         "label:content_server": "Content Server",
+
         "label:content_server": "Content Server",      
 
         "label:continue": "Continue",
 
         "label:continue": "Continue",
 
         "label:copyright": "Copyright",
 
         "label:copyright": "Copyright",
 +
        "label:corner_controls": "Corner Controls",
 
         "label:current_time": "Current Time",
 
         "label:current_time": "Current Time",
 +
        "label:custom": "Custom",
 
         "label:data_load_error": "Data Load Error",
 
         "label:data_load_error": "Data Load Error",
 
         "label:debug": "Debug",
 
         "label:debug": "Debug",
Line 56: Line 62:
 
         "label:fixed": "Fixed",
 
         "label:fixed": "Fixed",
 
         "label:framework": "Framework",
 
         "label:framework": "Framework",
 +
        "label:full_rotation": "Full Rotation",
 
         "label:fullscreen": "Fullscreen",
 
         "label:fullscreen": "Fullscreen",
 
         "label:home": "Home",
 
         "label:home": "Home",
Line 61: Line 68:
 
         "label:hover_effect": "Hover Effect",
 
         "label:hover_effect": "Hover Effect",
 
         "label:http_server": "HTTP Server",
 
         "label:http_server": "HTTP Server",
 +
        "label:id": "ID",
 +
        "label:image_options": "Image Options",
 +
        "label:immersive_mode": "Immersive Mode",
 
         "label:info": "{ico:msx-blue:info} Info",
 
         "label:info": "{ico:msx-blue:info} Info",
 
         "label:input_type": "Input Type",
 
         "label:input_type": "Input Type",
 
         "label:layout": "Layout",
 
         "label:layout": "Layout",
 
         "label:leave": "Leave",
 
         "label:leave": "Leave",
 +
        "label:left_rotation": "Left Rotation",
 
         "label:link_validation": "Link Validation",
 
         "label:link_validation": "Link Validation",
 
         "label:load_error": "Load Error",
 
         "label:load_error": "Load Error",
Line 72: Line 83:
 
         "label:menu_not_available": "Menu Not Available",
 
         "label:menu_not_available": "Menu Not Available",
 
         "label:minimalistic": "Minimalistic",
 
         "label:minimalistic": "Minimalistic",
 +
        "label:move_and_execute": "Move & Execute",
 
         "label:name": "Name",
 
         "label:name": "Name",
 
         "label:navigation_frame": "Navigation Frame",
 
         "label:navigation_frame": "Navigation Frame",
Line 79: Line 91:
 
         "label:not_available": "Not Available",
 
         "label:not_available": "Not Available",
 
         "label:not_fixed": "Not Fixed",
 
         "label:not_fixed": "Not Fixed",
 +
        "label:not_rotated": "Not Rotated",
 
         "label:off": "Off",
 
         "label:off": "Off",
 
         "label:ok": "OK",
 
         "label:ok": "OK",
 
         "label:on": "On",
 
         "label:on": "On",
 
         "label:options": "Options",
 
         "label:options": "Options",
         "label:parameter": "Parameter",
+
         "label:parameter": "Parameter",       
 +
        "label:pause_slideshow": "Pause Slideshow",
 +
        "label:plain": "Plain",
 
         "label:platform": "Platform",
 
         "label:platform": "Platform",
 
         "label:platform_options": "Platform Options",
 
         "label:platform_options": "Platform Options",
 +
        "label:play_slideshow": "Play Slideshow",
 
         "label:player": "Player",
 
         "label:player": "Player",
 +
        "label:preselect": "Preselect",
 
         "label:random_playback": "Random Playback",
 
         "label:random_playback": "Random Playback",
 
         "label:reload": "Reload",
 
         "label:reload": "Reload",
Line 92: Line 109:
 
         "label:remote_only": "Remote Only",
 
         "label:remote_only": "Remote Only",
 
         "label:reset": "Reset",
 
         "label:reset": "Reset",
 +
        "label:reset_rotation": "Reset Rotation",
 
         "label:reset_settings": "Reset Settings",
 
         "label:reset_settings": "Reset Settings",
 
         "label:reset_start_parameter": "Reset Start Parameter",
 
         "label:reset_start_parameter": "Reset Start Parameter",
 +
        "label:resolution": "Resolution",
 
         "label:restart": "Restart",
 
         "label:restart": "Restart",
 +
        "label:right_rotation": "Right Rotation",
 +
        "label:rounded_style": "Rounded Style",
 
         "label:scale": "Scale Factor",
 
         "label:scale": "Scale Factor",
 
         "label:settings": "Settings",
 
         "label:settings": "Settings",
Line 103: Line 124:
 
         "label:start_data_not_available": "Start Data Not Available",
 
         "label:start_data_not_available": "Start Data Not Available",
 
         "label:start_error": "Start Error",
 
         "label:start_error": "Start Error",
         "label:start_parameter": "Start Parameter",
+
         "label:start_parameter": "Start Parameter",      
 
         "label:success": "{ico:msx-green:check-circle} Success",
 
         "label:success": "{ico:msx-green:check-circle} Success",
 +
        "label:support": "Support",
 
         "label:transformations": "Transformations",
 
         "label:transformations": "Transformations",
 
         "label:tv_control": "TV Control",
 
         "label:tv_control": "TV Control",
Line 111: Line 133:
 
         "label:user_agent": "User Agent",
 
         "label:user_agent": "User Agent",
 
         "label:validate_links": "Validate Links",
 
         "label:validate_links": "Validate Links",
 +
        "label:validate_settings": "Validate Settings",
 
         "label:version": "Version",
 
         "label:version": "Version",
 
         "label:very_fast": "Very Fast",
 
         "label:very_fast": "Very Fast",
Line 162: Line 185:
 
         "message:action_warning_31": "Invalid player button action: '{ACTION}'.",
 
         "message:action_warning_31": "Invalid player button action: '{ACTION}'.",
 
         "message:action_warning_32": "Unknown player video action: '{ACTION}'.",
 
         "message:action_warning_32": "Unknown player video action: '{ACTION}'.",
 +
        "message:action_warning_33": "Unknown player info action: '{ACTION}'.",
 +
        "message:action_warning_34": "Invalid delay action: '{ACTION}'.",
 +
        "message:action_warning_35": "Unknown replace action: '{ACTION}'.",
 +
        "message:action_warning_36": "Invalid replace action: '{ACTION}'.",
 +
        "message:action_warning_37": "Unknown slider options action: '{ACTION}'.",
 +
        "message:action_warning_38": "Unknown player control action: '{ACTION}'.",
 
         "message:animate_info": "The type of animations. {dic:submessage:performance_info} {dic:submessage:preset_recommended}",
 
         "message:animate_info": "The type of animations. {dic:submessage:performance_info} {dic:submessage:preset_recommended}",
         "message:animate_set": "Animations has been set to: {txt:msx-white:{ANIMATE}}.",
+
         "message:animate_set": "Animations have been set to: {txt:msx-white:{ANIMATE}}.",
 
         "message:animate_set_error": "Set animations failed: Invalid value: {txt:msx-white:'{ANIMATE}'}.",
 
         "message:animate_set_error": "Set animations failed: Invalid value: {txt:msx-white:'{ANIMATE}'}.",
 
         "message:audio_not_available": "Audio is not available.",
 
         "message:audio_not_available": "Audio is not available.",
Line 170: Line 199:
 
         "message:config_error_1": "Invalid config data.",
 
         "message:config_error_1": "Invalid config data.",
 
         "message:config_error_2": "Missing config data.",
 
         "message:config_error_2": "Missing config data.",
 +
        "message:connection_success": "Network connection has been established.",
 +
        "message:connection_warning": "Network connection has been lost.",
 
         "message:content_missing": "Content is missing.",
 
         "message:content_missing": "Content is missing.",
 
         "message:content_not_available": "No content available.",
 
         "message:content_not_available": "No content available.",
Line 183: Line 214:
 
         "message:content_warning_10": "Page[{PAGE_INDEX}] has no selectable items.",
 
         "message:content_warning_10": "Page[{PAGE_INDEX}] has no selectable items.",
 
         "message:content_warning_11": "Content has no selectable items.",
 
         "message:content_warning_11": "Content has no selectable items.",
 +
        "message:content_warning_12": "{ITEM}[{REF}]: Maximum page items reached: {COUNT}.",
 
         "message:data_load_error": "Data could not be loaded.",
 
         "message:data_load_error": "Data could not be loaded.",
 
         "message:dialog_warning": "Unknown dialog: '{DIALOG}'.",
 
         "message:dialog_warning": "Unknown dialog: '{DIALOG}'.",
 
         "message:exit_info": "Do you want to exit the application?",
 
         "message:exit_info": "Do you want to exit the application?",
 
         "message:feature_not_available": "This feature is not yet available.",
 
         "message:feature_not_available": "This feature is not yet available.",
         "message:hover_effect_info": "Indicates whether a hover effect should be used. If you control the application with a pointer device, this effect helps you to select items. You can ignore this settings if you control the application with a physical remote control or with touch.",
+
         "message:hover_effect_info": "The type of the hover effect. If you control the application with a pointer device, this effect helps you to select items. You can ignore this setting if you control the application with a standard remote control or with touch.",
 
         "message:hover_effect_set": "Hover effect has been set to: {txt:msx-white:{HOVER_EFFECT}}.",
 
         "message:hover_effect_set": "Hover effect has been set to: {txt:msx-white:{HOVER_EFFECT}}.",
 
         "message:hover_effect_set_error": "Set hover effect failed: Invalid value: {txt:msx-white:'{HOVER_EFFECT}'}.",
 
         "message:hover_effect_set_error": "Set hover effect failed: Invalid value: {txt:msx-white:'{HOVER_EFFECT}'}.",
         "message:image_list_missing": "Image list is missing.",
+
         "message:image_list_missing": "Image list is missing.",     
         "message:input_info": "The type of the on-screen input. If you control the application with a physical remote control, you can ignore this settings. {dic:submessage:reload_required}",
+
        "message:immersive_mode_info": "The immersive mode can be used for devices that do not have a 16:9 screen ratio (e.g. mobile and desktop devices). If it is enabled, the background and video will be stretched to fill the entire screen. Please note that some plugins may not support this mode.",
 +
        "message:immersive_mode_set": "Immersive mode has been set to: {txt:msx-white:{IMMERSIVE_MODE}}.",
 +
        "message:immersive_mode_set_error": "Set immersive mode failed: Invalid value: {txt:msx-white:'{IMMERSIVE_MODE}'}.",
 +
         "message:input_info": "The type of the on-screen input. If you control the application with a standard remote control, you can ignore this setting. {dic:submessage:reload_required}",
 
         "message:input_set": "Input type has been set to: {txt:msx-white:{INPUT}}.{br}{dic:submessage:reload_request}",
 
         "message:input_set": "Input type has been set to: {txt:msx-white:{INPUT}}.{br}{dic:submessage:reload_request}",
 
         "message:input_set_error": "Set input type failed: Invalid value: {txt:msx-white:'{INPUT}'}.",
 
         "message:input_set_error": "Set input type failed: Invalid value: {txt:msx-white:'{INPUT}'}.",
Line 203: Line 238:
 
         "message:layout_set": "Layout has been set to: {txt:msx-white:{LAYOUT}}.{br}{dic:submessage:reload_request}",
 
         "message:layout_set": "Layout has been set to: {txt:msx-white:{LAYOUT}}.{br}{dic:submessage:reload_request}",
 
         "message:layout_set_error": "Set layout failed: Invalid value: {txt:msx-white:'{LAYOUT}'}.",
 
         "message:layout_set_error": "Set layout failed: Invalid value: {txt:msx-white:'{LAYOUT}'}.",
 +
        "message:leave_info": "Do you want to leave the application?",
 
         "message:live_action_not_available": "No live action available.",
 
         "message:live_action_not_available": "No live action available.",
 
         "message:menu_button_info": "The menu button is used to quickly access all major controls or additional options. By default, the menu {ico:msx-white:menu} and the blue {ico:msx-blue:stop} button is mapped to this function. Additionally, you can define an extra button here. Press {txt:msx-white:OK} to reset the entry.",
 
         "message:menu_button_info": "The menu button is used to quickly access all major controls or additional options. By default, the menu {ico:msx-white:menu} and the blue {ico:msx-blue:stop} button is mapped to this function. Additionally, you can define an extra button here. Press {txt:msx-white:OK} to reset the entry.",
Line 215: Line 251:
 
         "message:player_commit_error": "Commit player data failed.",
 
         "message:player_commit_error": "Commit player data failed.",
 
         "message:player_commit_warning": "Commit player data is not supported.",
 
         "message:player_commit_warning": "Commit player data is not supported.",
         "message:player_error_1": "Video or audio file could not be played:{br}{CONTEXT}",
+
         "message:player_error_1": "Video or audio could not be played:{br}{CONTEXT}",
         "message:player_error_2": "Loading of video or audio file has been aborted:{br}{CONTEXT}",
+
         "message:player_error_2": "Loading of video or audio has been aborted:{br}{CONTEXT}",
         "message:player_error_3": "Video or audio file could not be played, because of network issues:{br}{CONTEXT}",
+
         "message:player_error_3": "Video or audio could not be played, because of network issues:{br}{CONTEXT}",
         "message:player_error_4": "An error has occured while playing the video or audio file:{br}{CONTEXT}",
+
         "message:player_error_4": "An error has occured while playing the video or audio:{br}{CONTEXT}",
         "message:player_error_5": "Video or audio file could not be played, because the source is not supported:{br}{CONTEXT}",
+
         "message:player_error_5": "Video or audio could not be played, because the source is not supported:{br}{CONTEXT}",
         "message:player_info_1": "No video or audio file loaded, please load one to open the player.",
+
         "message:player_info_1": "No video or audio loaded, please load one to open the player.",
         "message:player_info_2": "No video or audio file loaded, please load one to use player functions.",
+
         "message:player_info_2": "No video or audio loaded, please load one to use player functions.",
 
         "message:playlist_empty": "Playlist is empty.",
 
         "message:playlist_empty": "Playlist is empty.",
 
         "message:playlist_missing": "Playlist is missing.",
 
         "message:playlist_missing": "Playlist is missing.",
Line 228: Line 264:
 
         "message:random_playback_set_error": "Set random playback failed: Invalid value: {txt:msx-white:'{RANDOM_PLAYBACK}'}.",
 
         "message:random_playback_set_error": "Set random playback failed: Invalid value: {txt:msx-white:'{RANDOM_PLAYBACK}'}.",
 
         "message:reload_info": "Do you want to reload the application?",
 
         "message:reload_info": "Do you want to reload the application?",
         "message:remote_info": "The type of the on-screen remote control. If you control the application with a physical remote control, you can ignore this settings. {dic:submessage:reload_required}",
+
         "message:remote_info": "The type of the on-screen remote control. If you control the application with a standard remote control, you can ignore this setting. {dic:submessage:reload_required}",
 
         "message:remote_set": "Remote control has been set to: {txt:msx-white:{REMOTE}}.{br}{dic:submessage:reload_request}",
 
         "message:remote_set": "Remote control has been set to: {txt:msx-white:{REMOTE}}.{br}{dic:submessage:reload_request}",
 
         "message:remote_set_error": "Set remote control failed: Invalid value: {txt:msx-white:'{REMOTE}'}.",
 
         "message:remote_set_error": "Set remote control failed: Invalid value: {txt:msx-white:'{REMOTE}'}.",
 
         "message:reset_settings_info": "Do you want to reset settings and reload the application?",
 
         "message:reset_settings_info": "Do you want to reset settings and reload the application?",
 
         "message:reset_start_parameter_info": "Do you want to reset the start parameter and reload the application?",
 
         "message:reset_start_parameter_info": "Do you want to reset the start parameter and reload the application?",
         "message:restart_info": "Do you want to restart the application?",
+
        "message:resolution_info": "The resolution settings of the user interface. Please note that these settings do not affect the video resolution (e.g. if the layout resolution is set to 720p, 1080p or higher resolution videos can still be watched). It is recommended to keep the preset values.",
 +
         "message:restart_info": "Do you want to restart the application?",     
 +
        "message:rounded_style_info": "The rounded style gives the entire application a new look and feel by rounding most of the corners.",
 +
        "message:rounded_style_set": "Rounded style has been set to: {txt:msx-white:{ROUNDED_STYLE}}.",
 +
        "message:rounded_style_set_error": "Set rounded style failed: Invalid value: {txt:msx-white:'{ROUNDED_STYLE}'}.",
 
         "message:scale_info": "The scale factor of the layout. By default, this is detected automatically. Depending on the platform, the auto-detection may not work correctly. If the layout does not fit into the screen, you can set this factor to a fixed value. {dic:submessage:reload_required}",
 
         "message:scale_info": "The scale factor of the layout. By default, this is detected automatically. Depending on the platform, the auto-detection may not work correctly. If the layout does not fit into the screen, you can set this factor to a fixed value. {dic:submessage:reload_required}",
 
         "message:scale_set": "Scale factor has been set to: {txt:msx-white:'{SCALE}'}.{br}{dic:submessage:reload_request}",
 
         "message:scale_set": "Scale factor has been set to: {txt:msx-white:'{SCALE}'}.{br}{dic:submessage:reload_request}",
Line 268: Line 308:
 
         "message:time_warning_2": "Unexpected time zone: {CLIENT} != {SERVER}. A time zone offset is applied to fix this issue.",
 
         "message:time_warning_2": "Unexpected time zone: {CLIENT} != {SERVER}. A time zone offset is applied to fix this issue.",
 
         "message:transform_info": "The type of transformations. {dic:submessage:performance_info} {dic:submessage:reload_required} {dic:submessage:preset_recommended}",
 
         "message:transform_info": "The type of transformations. {dic:submessage:performance_info} {dic:submessage:reload_required} {dic:submessage:preset_recommended}",
         "message:transform_set": "Transformations has been set to: {txt:msx-white:{TRANSFORM}}.{br}{dic:submessage:reload_request}",
+
         "message:transform_set": "Transformations have been set to: {txt:msx-white:{TRANSFORM}}.{br}{dic:submessage:reload_request}",
 
         "message:transform_set_error": "Set transformations failed: Invalid value: {txt:msx-white:'{TRANSFORM}'}.",
 
         "message:transform_set_error": "Set transformations failed: Invalid value: {txt:msx-white:'{TRANSFORM}'}.",
 
         "message:validate_link": "A link is opened. This can freeze the application, because not every link is suitable for each platform. Additionally, it may happen that it is not possible to return to the current page. Please validate the link and press continue if you want to open it.{br}{br}Link: {str:msx-white:{LINK}}",
 
         "message:validate_link": "A link is opened. This can freeze the application, because not every link is suitable for each platform. Additionally, it may happen that it is not possible to return to the current page. Please validate the link and press continue if you want to open it.{br}{br}Link: {str:msx-white:{LINK}}",
Line 274: Line 314:
 
         "message:validate_links_set": "Validate links has been set to: {txt:msx-white:{VALIDATE_LINKS}}.",
 
         "message:validate_links_set": "Validate links has been set to: {txt:msx-white:{VALIDATE_LINKS}}.",
 
         "message:validate_links_set_error": "Set validate links failed: Invalid value: {txt:msx-white:'{VALIDATE_LINKS}'}.",
 
         "message:validate_links_set_error": "Set validate links failed: Invalid value: {txt:msx-white:'{VALIDATE_LINKS}'}.",
 +
        "message:validate_settings_info": "Some important settings (e.g. resolution, scaling, input, etc.) have been changed that could make the application inoperable.{br}{br}Please confirm the changes within the next {col:msx-white}{SECONDS}{col}, otherwise the settings will be reset and the application will be reloaded.",
 
         "message:video_not_available": "Video is not available.",
 
         "message:video_not_available": "Video is not available.",
 
         "message:video_url_missing": "Video URL is missing.",
 
         "message:video_url_missing": "Video URL is missing.",

Latest revision as of 14:33, 4 April 2024

A dictionary can be used to translate the application user interface. It is set as URL in the dictionary property in the menu or content data. The dictionary data must contain a name property (of type string), a version property (of type string), and a properties property (of type object). Each property is a key-value pair of type string. The currently used dictionary is displayed in the about panel of the Media Station X application.

Note: The dictionary is only used if the menu/content data is loaded at startup. If the dictionary only contains parts of the application user interface, the default values are used for the missing entries. For the dictionary support, version 0.1.120 or higher is needed.

Template[edit]

{
    "name": "English",
    "version": "1.0.20",
    "properties": {
        "caption:menu": "menu",
        "caption:options": "opt/menu",
        "caption:player": "player",
        "format:date": "mm/dd/yy",
        "format:day": "D mm/dd",
        "format:full_day": "DD, MM d, yyyy",
        "format:long_date": "MM d, yyyy",
        "format:long_day": "D mm/dd/yyyy",
        "format:long_time": "h:mm:ss/ampm",
        "format:separator": ", ",
        "format:time": "h:mm/ampm",
        "label:about": "About",
        "label:animations": "Animations",
        "label:application": "Application",
        "label:apply": "Apply",
        "label:audio": "Audio",
        "label:auto": "Auto",
        "label:auto_and_fixed": "Auto & Fixed",
        "label:cancel": "Cancel",
        "label:clear": "Clear",
        "label:click_and_swipe": "Click & Swipe",
        "label:client": "Client",
        "label:code": "Code",
        "label:complete_start_parameter": "Complete Start Parameter",
        "label:complex": "Complex",
        "label:config_error": "Config Error",
        "label:config_not_available": "Config Not Available",
        "label:confirm": "Confirm",
        "label:contact": "Contact",
        "label:content_guide": "Content Guide",
        "label:content_info": "Content Info",
        "label:content_not_available": "Content Not Available",
        "label:content_server": "Content Server",       
        "label:continue": "Continue",
        "label:copyright": "Copyright",
        "label:corner_controls": "Corner Controls",
        "label:current_time": "Current Time",
        "label:custom": "Custom",
        "label:data_load_error": "Data Load Error",
        "label:debug": "Debug",
        "label:default": "Default",
        "label:detected": "Detected",
        "label:detected_and_fixed": "Detected & Fixed",
        "label:device": "Device",
        "label:dictionary": "Dictionary",
        "label:drag_and_drop": "Drag & Drop",
        "label:enter_code": "Enter Code",
        "label:error": "{ico:msx-red:error} Error",
        "label:exit": "Exit",
        "label:extended_information": "Extended Information",
        "label:fast": "Fast",
        "label:fixed": "Fixed",
        "label:framework": "Framework",
        "label:full_rotation": "Full Rotation",
        "label:fullscreen": "Fullscreen",
        "label:home": "Home",
        "label:host_server": "Host Server",
        "label:hover_effect": "Hover Effect",
        "label:http_server": "HTTP Server",
        "label:id": "ID",
        "label:image_options": "Image Options",
        "label:immersive_mode": "Immersive Mode",
        "label:info": "{ico:msx-blue:info} Info",
        "label:input_type": "Input Type",
        "label:layout": "Layout",
        "label:leave": "Leave",
        "label:left_rotation": "Left Rotation",
        "label:link_validation": "Link Validation",
        "label:load_error": "Load Error",
        "label:log": "Log",
        "label:menu": "Menu",
        "label:menu_button": "Menu Button",
        "label:menu_not_available": "Menu Not Available",
        "label:minimalistic": "Minimalistic",
        "label:move_and_execute": "Move & Execute",
        "label:name": "Name",
        "label:navigation_frame": "Navigation Frame",
        "label:no": "No",
        "label:none": "None",
        "label:normal": "Normal",
        "label:not_available": "Not Available",
        "label:not_fixed": "Not Fixed",
        "label:not_rotated": "Not Rotated",
        "label:off": "Off",
        "label:ok": "OK",
        "label:on": "On",
        "label:options": "Options",
        "label:parameter": "Parameter",        
        "label:pause_slideshow": "Pause Slideshow",
        "label:plain": "Plain",
        "label:platform": "Platform",
        "label:platform_options": "Platform Options",
        "label:play_slideshow": "Play Slideshow",
        "label:player": "Player",
        "label:preselect": "Preselect",
        "label:random_playback": "Random Playback",
        "label:reload": "Reload",
        "label:remote_control": "Remote Control",
        "label:remote_only": "Remote Only",
        "label:reset": "Reset",
        "label:reset_rotation": "Reset Rotation",
        "label:reset_settings": "Reset Settings",
        "label:reset_start_parameter": "Reset Start Parameter",
        "label:resolution": "Resolution",
        "label:restart": "Restart",
        "label:right_rotation": "Right Rotation",
        "label:rounded_style": "Rounded Style",
        "label:scale": "Scale Factor",
        "label:settings": "Settings",
        "label:setup": "Setup",
        "label:setup_start_parameter": "Setup Start Parameter",
        "label:slideshow_interval": "Slideshow Interval",
        "label:slow": "Slow",
        "label:start_data_not_available": "Start Data Not Available",
        "label:start_error": "Start Error",
        "label:start_parameter": "Start Parameter",       
        "label:success": "{ico:msx-green:check-circle} Success",
        "label:support": "Support",
        "label:transformations": "Transformations",
        "label:tv_control": "TV Control",
        "label:unknown": "Unknown",
        "label:url_parameters": "URL Parameters",
        "label:user_agent": "User Agent",
        "label:validate_links": "Validate Links",
        "label:validate_settings": "Validate Settings",
        "label:version": "Version",
        "label:very_fast": "Very Fast",
        "label:very_slow": "Very Slow",
        "label:video": "Video",
        "label:video_speed": "Playback Speed",
        "label:volume": "Volume",
        "label:warning": "{ico:msx-yellow:warning} Warning",
        "label:web": "Web",
        "label:welcome": "Welcome Pages",
        "label:yes": "Yes",
        "label:zoom": "Zoom Factor",
        "list:day_long_names": "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday",
        "list:day_names": "Son,Mon,Tue,Wed,Thu,Fri,Sat",
        "list:month_long_names": "January,February,March,April,May,June,July,August,September,October,November,December",
        "list:month_names": "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec",
        "message:action_error_1": "Execution error: Code is invalid.",
        "message:action_error_2": "Execution error: Action is missing or empty.",
        "message:action_not_available": "No action available.",
        "message:action_not_available_for_platform": "The current platform does not support this action.",
        "message:action_warning_1": "Skip action '{ACTION}', because max action call stack has been reached.",
        "message:action_warning_2": "Unknown action: '{ACTION}'.",
        "message:action_warning_3": "Live action is invalid in this context.",
        "message:action_warning_4": "Invalid data action: Data is missing.",
        "message:action_warning_5": "Invalid data action: Actions are missing.",
        "message:action_warning_6": "Unknown logger action: '{ACTION}'.",
        "message:action_warning_7": "Invalid trigger action: '{ACTION}'.",
        "message:action_warning_8": "Unknown system action: '{ACTION}'.",
        "message:action_warning_9": "Unknown history action: '{ACTION}'.",
        "message:action_warning_10": "Unknown settings action: '{ACTION}'.",
        "message:action_warning_11": "Unknown volume action: '{ACTION}'.",
        "message:action_warning_12": "Unknown player action: '{ACTION}'.",
        "message:action_warning_13": "Unknown player progress action: '{ACTION}'.",
        "message:action_warning_14": "Unknown player label action: '{ACTION}'.",
        "message:action_warning_15": "Unknown player commit action: '{ACTION}'.",
        "message:action_warning_16": "Unknown player speed action: '{ACTION}'.",
        "message:action_warning_17": "Unknown busy action: '{ACTION}'.",
        "message:action_warning_18": "Unknown invalidate action: '{ACTION}'.",
        "message:action_warning_19": "Unknown update action: '{ACTION}'.",
        "message:action_warning_20": "Unknown reload action: '{ACTION}'.",
        "message:action_warning_21": "Unknown resume action: '{ACTION}'.",
        "message:action_warning_22": "Unknown ticking action: '{ACTION}'.",
        "message:action_warning_23": "Unknown release action: '{ACTION}'.",
        "message:action_warning_24": "Unknown time action: '{ACTION}'.",
        "message:action_warning_25": "Unknown slider action: '{ACTION}'.",
        "message:action_warning_26": "Unknown slider labels action: '{ACTION}'.",
        "message:action_warning_27": "Unknown interaction action: '{ACTION}'.",
        "message:action_warning_28": "Unknown interaction commit action: '{ACTION}'.",
        "message:action_warning_29": "Unknown log action: '{ACTION}'.",
        "message:action_warning_30": "Unknown player button action: '{ACTION}'.",
        "message:action_warning_31": "Invalid player button action: '{ACTION}'.",
        "message:action_warning_32": "Unknown player video action: '{ACTION}'.",
        "message:action_warning_33": "Unknown player info action: '{ACTION}'.",
        "message:action_warning_34": "Invalid delay action: '{ACTION}'.",
        "message:action_warning_35": "Unknown replace action: '{ACTION}'.",
        "message:action_warning_36": "Invalid replace action: '{ACTION}'.",
        "message:action_warning_37": "Unknown slider options action: '{ACTION}'.",
        "message:action_warning_38": "Unknown player control action: '{ACTION}'.",
        "message:animate_info": "The type of animations. {dic:submessage:performance_info} {dic:submessage:preset_recommended}",
        "message:animate_set": "Animations have been set to: {txt:msx-white:{ANIMATE}}.",
        "message:animate_set_error": "Set animations failed: Invalid value: {txt:msx-white:'{ANIMATE}'}.",
        "message:audio_not_available": "Audio is not available.",
        "message:audio_url_missing": "Audio URL is missing.",
        "message:complete_start_parameter_info": "Start parameter successfully loaded. Do you want to set it up and reload the application?",
        "message:config_error_1": "Invalid config data.",
        "message:config_error_2": "Missing config data.",
        "message:connection_success": "Network connection has been established.",
        "message:connection_warning": "Network connection has been lost.",
        "message:content_missing": "Content is missing.",
        "message:content_not_available": "No content available.",
        "message:content_warning_1": "Maximum page offset reached: {POSITION}.",
        "message:content_warning_2": "{ITEM}[{REF}] ID is already registered: '{ID}'.",
        "message:content_warning_3": "{ITEM}[{REF}] ID is invalid: '{ID}'.",
        "message:content_warning_4": "{ITEM}[{REF}] type is invalid: '{TYPE}': For the overlay/underlay page, only items of type 'space' are allowed.",
        "message:content_warning_5": "{ITEM}[{REF}] layout is invalid: '{LAYOUT}': Position is already registered.",
        "message:content_warning_6": "{ITEM}[{REF}] layout is invalid: '{LAYOUT}': Values are out of range.",
        "message:content_warning_7": "{ITEM}[{REF}] layout is invalid: '{LAYOUT}': Some values are invalid.",
        "message:content_warning_8": "{ITEM}[{REF}] layout is invalid: '{LAYOUT}'.",
        "message:content_warning_9": "{ITEM}[{REF}] layout is missing.",
        "message:content_warning_10": "Page[{PAGE_INDEX}] has no selectable items.",
        "message:content_warning_11": "Content has no selectable items.",
        "message:content_warning_12": "{ITEM}[{REF}]: Maximum page items reached: {COUNT}.",
        "message:data_load_error": "Data could not be loaded.",
        "message:dialog_warning": "Unknown dialog: '{DIALOG}'.",
        "message:exit_info": "Do you want to exit the application?",
        "message:feature_not_available": "This feature is not yet available.",
        "message:hover_effect_info": "The type of the hover effect. If you control the application with a pointer device, this effect helps you to select items. You can ignore this setting if you control the application with a standard remote control or with touch.",
        "message:hover_effect_set": "Hover effect has been set to: {txt:msx-white:{HOVER_EFFECT}}.",
        "message:hover_effect_set_error": "Set hover effect failed: Invalid value: {txt:msx-white:'{HOVER_EFFECT}'}.",
        "message:image_list_missing": "Image list is missing.",       
        "message:immersive_mode_info": "The immersive mode can be used for devices that do not have a 16:9 screen ratio (e.g. mobile and desktop devices). If it is enabled, the background and video will be stretched to fill the entire screen. Please note that some plugins may not support this mode.",
        "message:immersive_mode_set": "Immersive mode has been set to: {txt:msx-white:{IMMERSIVE_MODE}}.",
        "message:immersive_mode_set_error": "Set immersive mode failed: Invalid value: {txt:msx-white:'{IMMERSIVE_MODE}'}.",
        "message:input_info": "The type of the on-screen input. If you control the application with a standard remote control, you can ignore this setting. {dic:submessage:reload_required}",
        "message:input_set": "Input type has been set to: {txt:msx-white:{INPUT}}.{br}{dic:submessage:reload_request}",
        "message:input_set_error": "Set input type failed: Invalid value: {txt:msx-white:'{INPUT}'}.",
        "message:interaction_commit_error": "Commit interaction data failed.",
        "message:interaction_commit_warning": "Commit interaction data is not possible, because no interaction plugin is loaded.",
        "message:interaction_error": "Invalid interaction URL: '{SOURCE}': URL must be a valid HTTP(S) URL.",
        "message:interaction_info": "No interaction plugin loaded, please load one to use interaction functions.",
        "message:key_warning_1": "Unknown key: '{KEY}'.",
        "message:key_warning_2": "Invalid key code: '{CODE}'.",
        "message:layout_info": "The resolution of the layout. {dic:submessage:performance_info} {dic:submessage:reload_required} {dic:submessage:preset_recommended}",
        "message:layout_set": "Layout has been set to: {txt:msx-white:{LAYOUT}}.{br}{dic:submessage:reload_request}",
        "message:layout_set_error": "Set layout failed: Invalid value: {txt:msx-white:'{LAYOUT}'}.",
        "message:leave_info": "Do you want to leave the application?",
        "message:live_action_not_available": "No live action available.",
        "message:menu_button_info": "The menu button is used to quickly access all major controls or additional options. By default, the menu {ico:msx-white:menu} and the blue {ico:msx-blue:stop} button is mapped to this function. Additionally, you can define an extra button here. Press {txt:msx-white:OK} to reset the entry.",
        "message:menu_button_set": "Menu button has been set to: {txt:msx-white:{MENU_BUTTON}}.",
        "message:menu_button_set_error_1": "Set menu button failed: Invalid action value: {txt:msx-white:'{MENU_BUTTON_ACTION}'}.",
        "message:menu_button_set_error_2": "Set menu button failed: Invalid key code value: {txt:msx-white:'{MENU_BUTTON_KEY_CODE}'}.",
        "message:menu_missing": "Menu is missing.",
        "message:menu_warning_1": "Maximum menu position reached: {POSITION}.",
        "message:menu_warning_2": "Menu item ID is already registered: '{ID}'.",
        "message:menu_warning_3": "Menu item ID is invalid: '{ID}'.",
        "message:menu_warning_4": "Menu has no selectable items.",
        "message:player_commit_error": "Commit player data failed.",
        "message:player_commit_warning": "Commit player data is not supported.",
        "message:player_error_1": "Video or audio could not be played:{br}{CONTEXT}",
        "message:player_error_2": "Loading of video or audio has been aborted:{br}{CONTEXT}",
        "message:player_error_3": "Video or audio could not be played, because of network issues:{br}{CONTEXT}",
        "message:player_error_4": "An error has occured while playing the video or audio:{br}{CONTEXT}",
        "message:player_error_5": "Video or audio could not be played, because the source is not supported:{br}{CONTEXT}",
        "message:player_info_1": "No video or audio loaded, please load one to open the player.",
        "message:player_info_2": "No video or audio loaded, please load one to use player functions.",
        "message:playlist_empty": "Playlist is empty.",
        "message:playlist_missing": "Playlist is missing.",
        "message:random_playback_info": "Indicates whether playlist items are played in random order.",
        "message:random_playback_set": "Random playback has been set to: {txt:msx-white:{RANDOM_PLAYBACK}}.",
        "message:random_playback_set_error": "Set random playback failed: Invalid value: {txt:msx-white:'{RANDOM_PLAYBACK}'}.",
        "message:reload_info": "Do you want to reload the application?",
        "message:remote_info": "The type of the on-screen remote control. If you control the application with a standard remote control, you can ignore this setting. {dic:submessage:reload_required}",
        "message:remote_set": "Remote control has been set to: {txt:msx-white:{REMOTE}}.{br}{dic:submessage:reload_request}",
        "message:remote_set_error": "Set remote control failed: Invalid value: {txt:msx-white:'{REMOTE}'}.",
        "message:reset_settings_info": "Do you want to reset settings and reload the application?",
        "message:reset_start_parameter_info": "Do you want to reset the start parameter and reload the application?",
        "message:resolution_info": "The resolution settings of the user interface. Please note that these settings do not affect the video resolution (e.g. if the layout resolution is set to 720p, 1080p or higher resolution videos can still be watched). It is recommended to keep the preset values.",
        "message:restart_info": "Do you want to restart the application?",       
        "message:rounded_style_info": "The rounded style gives the entire application a new look and feel by rounding most of the corners.",
        "message:rounded_style_set": "Rounded style has been set to: {txt:msx-white:{ROUNDED_STYLE}}.",
        "message:rounded_style_set_error": "Set rounded style failed: Invalid value: {txt:msx-white:'{ROUNDED_STYLE}'}.",
        "message:scale_info": "The scale factor of the layout. By default, this is detected automatically. Depending on the platform, the auto-detection may not work correctly. If the layout does not fit into the screen, you can set this factor to a fixed value. {dic:submessage:reload_required}",
        "message:scale_set": "Scale factor has been set to: {txt:msx-white:'{SCALE}'}.{br}{dic:submessage:reload_request}",
        "message:scale_set_error": "Set scale factor failed: Invalid value: {txt:msx-white:'{SCALE}'}.",
        "message:see_log": "Please see log for further details.",
        "message:setup_start_parameter_info": "Do you want to set up the following start parameter and reload the application?",
        "message:slider_info": "No slideshow loaded, please load one to use slider functions.",
        "message:slider_warning": "Image list has no visible items.",
        "message:slideshow_interval_info": "The time until the next image is changed in the slideshow.",
        "message:slideshow_interval_set": "Slideshow interval has been set to: {txt:msx-white:{SLIDESHOW_INTERVAL}}.",
        "message:slideshow_interval_set_error": "Set slideshow interval failed: Invalid value: {txt:msx-white:'{SLIDESHOW_INTERVAL}'}.",
        "message:start_parameter_error_1": "Invalid start parameter: '{PARAMETER}'.{br}Parameter must start with 'menu:' or 'content:'.",
        "message:start_parameter_error_2": "Invalid start parameter: '{PARAMETER}'.{br}Parameter must be a full string.",
        "message:start_parameter_error_3": "Missing start parameter.",
        "message:start_parameter_error_4": "Invalid start parameter name: '{NAME}'.{br}Start parameter name must be a full string.",
        "message:start_parameter_error_5": "Missing start parameter name.",
        "message:start_parameter_error_6": "Invalid start parameter version: '{VERSION}'.{br}Start parameter version must be a full string.",
        "message:start_parameter_error_7": "Missing start parameter version.",
        "message:start_parameter_error_8": "Missing start data.",
        "message:start_parameter_info": "The start parameter specifies which menu or content is loaded at startup. Once you have completed the start parameter setup, your content is loaded every time you start the application. For more information, please visit {txt:msx-white:http://msx.benzac.de/info/}.",
        "message:start_parameter_warning": "Start parameter must be loaded via HTTPS, because the application was loaded in a secure context.{br}Please set the security lock and try it again.",
        "message:start_parameter_welcome_info_1": "{ico:msx-blue:info} This start parameter is also set as welcome pages start action in the settings.",
        "message:start_parameter_welcome_info_2": "{ico:msx-blue:info} This start parameter is also set as welcome pages content in the settings.",
        "message:start_parameter_welcome_info_3": "{ico:msx-blue:info} The start parameter {col:msx-white}{NAME} {VERSION}{col} is also set as welcome pages start action in the settings.",
        "message:start_parameter_welcome_info_4": "{ico:msx-blue:info} The start parameter {col:msx-white}{NAME} {VERSION}{col} is also set as welcome pages content in the settings.",
        "message:template_warning_1": "Template area is invalid: '{AREA}': Values are out of range.",
        "message:template_warning_2": "Template area is invalid: '{AREA}': Some values are invalid.",
        "message:template_warning_3": "Template layout is invalid: '{LAYOUT}': Values are out of range.",
        "message:template_warning_4": "Template layout is invalid: '{LAYOUT}': Some values are invalid.",
        "message:template_warning_5": "Template layout is invalid: '{LAYOUT}'.",
        "message:template_warning_6": "Template layout is missing.",
        "message:time_success": "Time initialization completed.",
        "message:time_warning_1": "Unexpected timestamp difference: {DIFF}. A time offset is applied to fix this issue.",
        "message:time_warning_2": "Unexpected time zone: {CLIENT} != {SERVER}. A time zone offset is applied to fix this issue.",
        "message:transform_info": "The type of transformations. {dic:submessage:performance_info} {dic:submessage:reload_required} {dic:submessage:preset_recommended}",
        "message:transform_set": "Transformations have been set to: {txt:msx-white:{TRANSFORM}}.{br}{dic:submessage:reload_request}",
        "message:transform_set_error": "Set transformations failed: Invalid value: {txt:msx-white:'{TRANSFORM}'}.",
        "message:validate_link": "A link is opened. This can freeze the application, because not every link is suitable for each platform. Additionally, it may happen that it is not possible to return to the current page. Please validate the link and press continue if you want to open it.{br}{br}Link: {str:msx-white:{LINK}}",
        "message:validate_links_info": "Indicates whether links should be checked with a short validation panel. Opening links can freeze the application, because not every link is suitable for each platform. Additionally, it may happen that it is not possible to return to the current page. Therefore, it is recommended to validate links, before they are opened.",
        "message:validate_links_set": "Validate links has been set to: {txt:msx-white:{VALIDATE_LINKS}}.",
        "message:validate_links_set_error": "Set validate links failed: Invalid value: {txt:msx-white:'{VALIDATE_LINKS}'}.",
        "message:validate_settings_info": "Some important settings (e.g. resolution, scaling, input, etc.) have been changed that could make the application inoperable.{br}{br}Please confirm the changes within the next {col:msx-white}{SECONDS}{col}, otherwise the settings will be reset and the application will be reloaded.",
        "message:video_not_available": "Video is not available.",
        "message:video_url_missing": "Video URL is missing.",
        "message:zoom_info": "The zoom factor of the layout. By default, the resolution of the layout is set via the {txt:msx-white:Layout} settings and no additional zooming is performed. If the layout does not fit into the screen, you can set this factor to {txt:msx-white:Auto}. {dic:submessage:reload_required}",
        "message:zoom_set": "Zoom factor has been set to: {txt:msx-white:'{ZOOM}'}.{br}{dic:submessage:reload_request}",
        "message:zoom_set_error": "Set zoom factor failed: Invalid value: {txt:msx-white:'{ZOOM}'}.",
        "submessage:performance_info": "Depending on the platform, changing this value may increase or decrease the performance.",
        "submessage:preset_recommended": "It is recommended to keep the preset value.",
        "submessage:reload_request": "Please reload the application for the changes to take effect.",
        "submessage:reload_required": "A reload of the application is required, after this value has been changed.",
        "unit:am": " AM",
        "unit:day": " day",
        "unit:days": " days",
        "unit:hours": " hr",
        "unit:minutes": " min",
        "unit:pm": " PM",
        "unit:seconds": " sec"
    }
}