From 9204f8a3133c859865aa168ef1ed710c6660a7e9 Mon Sep 17 00:00:00 2001 From: Murat Date: Mon, 7 Sep 2020 21:34:14 +0200 Subject: [PATCH 1/7] ENABLE_AVAHI is not included in WebServer --- include/flatbufserver/FlatBufferServer.h | 2 ++ libsrc/flatbufserver/FlatBufferServer.cpp | 35 +++++++++++++++++------ libsrc/jsonserver/JsonServer.cpp | 2 ++ libsrc/webserver/WebServer.cpp | 1 + 4 files changed, 32 insertions(+), 8 deletions(-) diff --git a/include/flatbufserver/FlatBufferServer.h b/include/flatbufserver/FlatBufferServer.h index c5390c52..8149e1fb 100644 --- a/include/flatbufserver/FlatBufferServer.h +++ b/include/flatbufserver/FlatBufferServer.h @@ -7,6 +7,7 @@ // qt #include +class BonjourServiceRegister; class QTcpServer; class FlatBufferClient; class NetOrigin; @@ -63,6 +64,7 @@ private: int _timeout; quint16 _port; const QJsonDocument _config; + BonjourServiceRegister * _serviceRegister = nullptr; QVector _openConnections; }; diff --git a/libsrc/flatbufserver/FlatBufferServer.cpp b/libsrc/flatbufserver/FlatBufferServer.cpp index a9661066..d18e8271 100644 --- a/libsrc/flatbufserver/FlatBufferServer.cpp +++ b/libsrc/flatbufserver/FlatBufferServer.cpp @@ -1,10 +1,16 @@ #include #include "FlatBufferClient.h" +#include "HyperionConfig.h" // util #include #include +// bonjour +#ifdef ENABLE_AVAHI +#include +#endif + // qt #include #include @@ -93,14 +99,27 @@ void FlatBufferServer::startServer() { if(!_server->isListening()) { - if(!_server->listen(QHostAddress::Any, _port)) - { - Error(_log,"Failed to bind port %d", _port); - } - else - { - Info(_log,"Started on port %d", _port); - } + if(!_server->listen(QHostAddress::Any, _port)) + { + Error(_log,"Failed to bind port %d", _port); + } + else + { + Info(_log,"Started on port %d", _port); +#ifdef ENABLE_AVAHI + if(_serviceRegister == nullptr) + { + _serviceRegister = new BonjourServiceRegister(this); + _serviceRegister->registerService("_hyperiond-flatbuf._tcp", _port); + } + else if(_serviceRegister->getPort() != _port) + { + delete _serviceRegister; + _serviceRegister = new BonjourServiceRegister(this); + _serviceRegister->registerService("_hyperiond-flatbuf._tcp", _port); + } +#endif + } } } diff --git a/libsrc/jsonserver/JsonServer.cpp b/libsrc/jsonserver/JsonServer.cpp index 2ee9986b..a9237da8 100644 --- a/libsrc/jsonserver/JsonServer.cpp +++ b/libsrc/jsonserver/JsonServer.cpp @@ -2,6 +2,7 @@ #include // project includes +#include "HyperionConfig.h" #include #include "JsonClientConnection.h" @@ -49,6 +50,7 @@ void JsonServer::start() return; } Info(_log, "Started on port %d", _port); + #ifdef ENABLE_AVAHI if(_serviceRegister == nullptr) { diff --git a/libsrc/webserver/WebServer.cpp b/libsrc/webserver/WebServer.cpp index 1470cd07..beeecbea 100644 --- a/libsrc/webserver/WebServer.cpp +++ b/libsrc/webserver/WebServer.cpp @@ -1,4 +1,5 @@ #include "webserver/WebServer.h" +#include "HyperionConfig.h" #include "StaticFileServing.h" #include "QtHttpServer.h" From 510af27e764f0044090627cb86f24bb4610f7206 Mon Sep 17 00:00:00 2001 From: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com> Date: Tue, 15 Sep 2020 20:49:54 +0200 Subject: [PATCH 2/7] added libcec to deb/rpm dependency list --- cmake/packages.cmake | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/cmake/packages.cmake b/cmake/packages.cmake index b5a5d24d..755865aa 100644 --- a/cmake/packages.cmake +++ b/cmake/packages.cmake @@ -58,13 +58,15 @@ ENDIF() # https://cmake.org/Wiki/CMake:CPackPackageGenerators # .deb files for apt SET ( CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/cmake/debian/preinst;${CMAKE_CURRENT_SOURCE_DIR}/cmake/debian/postinst;${CMAKE_CURRENT_SOURCE_DIR}/cmake/debian/prerm" ) +SET ( CPACK_DEBIAN_PACKAGE_DEPENDS "libcec4" ) SET ( CPACK_DEBIAN_PACKAGE_SECTION "Miscellaneous" ) # .rpm for rpm # https://cmake.org/cmake/help/v3.5/module/CPackRPM.html -SET ( CPACK_RPM_PACKAGE_RELEASE 1) -SET ( CPACK_RPM_PACKAGE_LICENSE "MIT") -SET ( CPACK_RPM_PACKAGE_GROUP "Applications") +SET ( CPACK_RPM_PACKAGE_RELEASE 1 ) +SET ( CPACK_RPM_PACKAGE_LICENSE "MIT" ) +SET ( CPACK_RPM_PACKAGE_GROUP "Applications" ) +SET ( CPACK_RPM_PACKAGE_REQUIRES "libcec4" ) SET ( CPACK_RPM_PRE_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/cmake/rpm/preinst" ) SET ( CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/cmake/rpm/postinst" ) SET ( CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/cmake/rpm/prerm" ) From 90a29145cfb14201b829087cb024f51d9ac13d6d Mon Sep 17 00:00:00 2001 From: Hyperion-Bot Date: Tue, 15 Sep 2020 22:16:24 +0200 Subject: [PATCH 3/7] Update en.json (POEditor.com) --- assets/webconfig/i18n/en.json | 1840 ++++++++++++++++----------------- 1 file changed, 919 insertions(+), 921 deletions(-) diff --git a/assets/webconfig/i18n/en.json b/assets/webconfig/i18n/en.json index 2487fd58..f02c59b6 100644 --- a/assets/webconfig/i18n/en.json +++ b/assets/webconfig/i18n/en.json @@ -1,922 +1,920 @@ { - "general_webui_title" : "Hyperion - Web Configuration", - "general_country_de" : "Germany", - "general_country_us" : "United States", - "general_country_uk" : "United Kingdom", - "general_country_fr" : "France", - "general_country_es" : "Spain", - "general_country_it" : "Italy", - "general_country_nl" : "Netherlands", - "general_speech_de" : "German", - "general_speech_en" : "English", - "general_speech_es" : "Spanish", - "general_speech_it" : "Italian", - "general_speech_cs" : "Czech", - "general_speech_sv" : "Swedish", - "general_speech_nl" : "Dutch", - "general_speech_pl" : "Polish", - "general_speech_ro" : "Romanian", - "general_speech_tr" : "Turkish", - "general_speech_vi" : "Vietnamese", - "general_speech_fr" : "French", - "general_access_default" : "Default", - "general_access_advanced" : "Advanced", - "general_access_expert" : "Expert", - "general_comp_SMOOTHING" : "Smoothing", - "general_comp_BLACKBORDER" : "Blackbar Detection", - "general_comp_FORWARDER" : "Forwarder", - "general_comp_BOBLIGHTSERVER" : "Boblight Server", - "general_comp_FLATBUFSERVER" : "Flatbuffers Server", - "general_comp_PROTOSERVER" : "Protocol Buffers Server", - "general_comp_GRABBER" : "Platform Capture", - "general_comp_V4L" : "USB Capture", - "general_comp_LEDDEVICE" : "LED device", - "general_col_red" : "red", - "general_col_green" : "green", - "general_col_blue" : "blue", - "general_button_savesettings" : "Save settings", - "general_btn_yes" : "Yes", - "general_btn_ok" : "OK", - "general_btn_start" : "Start", - "general_btn_stop" : "Stop", - "general_btn_cancel" : "Cancel", - "general_btn_delete" : "Delete", - "general_btn_rename" : "Rename", - "general_btn_continue" : "Continue", - "general_btn_save" : "Save", - "general_btn_saverestart" : "Save and restart", - "general_btn_saveandreload" : "Save and reload", - "general_btn_restarthyperion" : "Restart Hyperion", - "general_btn_off" : "Off", - "general_btn_on" : "On", - "general_btn_next" : "Next", - "general_btn_back" : "Back", - "general_btn_iswitch" : "Switch", - "general_btn_grantAccess": "Grant Access", - "general_btn_denyAccess": "Deny Access", - "general_chars_needed": "more characters needed", - "general_wiki_moreto" : "More informations to \"$1\" at our Wiki", - "dashboard_label_intro" : "The dashboard give you a quick overview about the status of Hyperion and show you the latest news of the Hyperion Blog.", - "dashboard_infobox_label_title" : "Information", - "dashboard_infobox_label_currenthyp" : "Your Hyperion version:", - "dashboard_infobox_label_latesthyp" : "Latest Hyperion version:", - "dashboard_infobox_label_platform" : "Platform:", - "dashboard_infobox_label_instance" : "Instance:", - "dashboard_infobox_label_ports" : "Ports (flat|proto):", - "dashboard_infobox_label_watchedversionbranch" : "Watched version branch:", - "dashboard_infobox_message_updatewarning" : "A newer version of Hyperion is available! ($1)", - "dashboard_infobox_message_updatesuccess" : "You run the latest version of Hyperion.", - "dashboard_infobox_label_statush" : "Hyperion status:", - "dashboard_infobox_label_smartacc" : "Smart Access", - "dashboard_infobox_label_enableh" : "Enable Instance: $1", - "dashboard_infobox_label_disableh" : "Disable Instance: $1", - "dashboard_componentbox_label_title" : "Components status", - "dashboard_componentbox_label_comp" : "Component", - "dashboard_componentbox_label_status" : "Status", - "dashboard_newsbox_label_title" : "Hyperion-Blog", - "dashboard_newsbox_visitblog" : "Visit Hyperion-Blog", - "dashboard_newsbox_noconn" : "Can't connect to Hyperion Server to retrieve latest posts, does your internet connection work?", - "dashboard_newsbox_readmore" : "Read more", - "dashboard_alert_message_confedit_t" : "Configuration modified", - "dashboard_alert_message_confedit" : "Your Hyperion configuration has been modified. To apply it, restart Hyperion.", - "dashboard_alert_message_disabled_t" : "LED hardware instance disabled", - "dashboard_alert_message_disabled" : "This instance is currently disabled! To use it again, enable it at the dashboard.", - "dashboard_alert_message_confsave_success_t" : "Configuration saved", - "dashboard_alert_message_confsave_success" : "Your Hyperion configuration has been saved successfully. Your changes are now active.", - "dashboard_message_global_setting_t": "Instance independent setting", - "dashboard_message_global_setting": "The settings on this page are not depending on a specific instance. Changes will be stored globally for all instances.", - "dashboard_message_default_password_t": "WebUi default password is set", - "dashboard_message_default_password": "The default password for the WebUi is set. We strongly recommend to change this.", - "dashboard_message_do_not_show_again": "Do not show this message again", - "dashboard_active_instance": "Selected instance", - "main_menu_dashboard_token" : "Dashboard", - "main_menu_configuration_token" : "Configuration", - "main_menu_general_conf_token" : "General", - "main_menu_leds_conf_token" : "LED Hardware", - "main_menu_grabber_conf_token" : "Capturing Hardware", - "main_menu_effect_conf_token" : "Effects", - "main_menu_colors_conf_token" : "Image Processing", - "main_menu_network_conf_token" : "Network Services", - "main_menu_remotecontrol_token" : "Remote Control", - "main_menu_effectsconfigurator_token" : "Effects Configurator", - "main_menu_support_token" : "Support", - "main_menu_update_token" : "Update", - "main_menu_system_token" : "System", - "main_menu_input_selection_token" : "Input Selection", - "main_menu_logging_token" : "Log", - "main_menu_webconfig_token" : "Web configuration", - "main_menu_about_token" : "About Hyperion", - "main_ledsim_title" : "LED Visualization", - "main_ledsim_text" : "Live visualization of led colors and optional the current video stream of your capture device.", - "main_ledsim_btn_toggleleds" : "Show LEDs", - "main_ledsim_btn_togglelednumber" : "LED numbers", - "main_ledsim_btn_togglelivevideo" : "Live video", - "conf_general_label_title" : "General settings", - "conf_general_intro" : "Basic settings around Hyperion and WebUI that don't fit into another category.", - "conf_general_impexp_title" : "Import/Export Configuration", - "conf_general_impexp_l1" : "Import a configuration by selecting a configuration file below and click on \"Import\".", - "conf_general_impexp_l2" : "Export a configuration by clicking on \"Export\". Your browser starts a download.", - "conf_general_impexp_impbtn" : "Import", - "conf_general_impexp_expbtn" : "Export", - "conf_general_inst_title" : "LED Hardware Instance Management", - "conf_general_inst_desc" : "Use different LED hardware at the same time. Each instance runs independent of each other which allows different LED layouts and calibration settings. Running instances are available at the top icon bar", - "conf_general_inst_namehead" : "Instance name", - "conf_general_inst_actionhead" : "Action", - "conf_general_inst_name_title" : "New Instance name", - "conf_general_createInst_btn" : "Create Instance", - "conf_general_inst_renreq_t" : "Enter a new name for your instance in the field below.", - "conf_general_inst_delreq_h" : "Delete LED Hardware instance", - "conf_general_inst_delreq_t" : "Are you sure that you want to delete instance \"$1\"? All settings will be deleted too.", - "conf_helptable_option" : "Option", - "conf_helptable_expl" : "Explanation", - "conf_effect_path_intro" : "Load effects from the defined paths. Additional you can disable single effects by name to hide them from all effect lists.", - "conf_effect_fgeff_intro" : "Define a booteffect or color, which is shown during Hyperion startup for the defined duration.", - "conf_effect_bgeff_intro" : "Define a background effect/color, which is shown during Hyperion \"idle\". Sarts always with priority channel 255.", - "conf_leds_device_intro" : "Hyperion supports a lot of controllers to transmit data to your target device. Select a LED controller out of the sorted list and configure it. We have chosen the best default settings for each device.", - "conf_leds_layout_intro" : "You need also a led layout, which reflects your led positions. The classic layout is the usual used tv frame, but we also support led matrix (led walls) creation. The view on this layout is ALWAYS of the FRONT of your TV.", - "conf_leds_nav_label_ledcontroller" : "LED Controller", - "conf_leds_nav_label_ledlayout" : "LED Layout", - "conf_leds_contr_label_contrtype" : "Controller type:", - "conf_leds_optgroup_RPiSPI" : "RPi SPI", - "conf_leds_optgroup_RPiPWM" : "RPi PWM", - "conf_leds_optgroup_RPiGPIO" : "RPi GPIO", - "conf_leds_optgroup_network" : "Network", - "conf_leds_optgroup_usb" : "USB/Serial", - "conf_leds_optgroup_debug" : "Debug", - "conf_leds_layout_btn_checklist" : "Show checklist", - "conf_leds_layout_checkp1" : "The black led is your first led, the first led is the point where you input your data signal.", - "conf_leds_layout_checkp2" : "The layout is always the front view of your TV, never the back view.", - "conf_leds_layout_checkp3" : "Make sure the direction is right. The grey leds indicate led number 2 and 3 to visualize the data direction.", - "conf_leds_layout_checkp4" : "Case Gap: To create a gap, ignore it first when you define Top/Bottom/Left/Right and set afterwards your gap length to remove a amount of leds. Modify the gap position until it matches.", - "conf_leds_layout_frame" : "Classic Layout (LED Frame)", - "conf_leds_layout_matrix" : "Matrix Layout (LED Wall)", - "conf_leds_layout_generatedconf" : "Generated/Current LED Configuration", - "conf_leds_layout_button_savelay" : "Save Layout", - "conf_leds_layout_button_updsim" : "Update Preview", - "conf_leds_layout_peview" : "LED Layout Preview", - "conf_leds_layout_advanced" : "Advanced Settings", - "conf_leds_layout_preview_originCL" : "Created from: Classic Layout (LED Frame)", - "conf_leds_layout_preview_originTEXT" : "Created from: Textfield", - "conf_leds_layout_preview_originMA" : "Created from: Matrix Layout(LED wall)", - "conf_leds_layout_preview_totalleds" : "Totel LEDs: $1", - "conf_leds_layout_preview_ledpower" : "Max. power consumption: $1 A", - "conf_leds_layout_preview_l1" : "This is your first led (input position)", - "conf_leds_layout_preview_l2" : "This visualizes the data direction (second/third led)", - "conf_leds_layout_cl_top": "Top", - "conf_leds_layout_cl_topleft": "Top Left (Corner)", - "conf_leds_layout_cl_topright": "Top Right (Corner)", - "conf_leds_layout_cl_bottom": "Bottom", - "conf_leds_layout_cl_bottomleft": "Bottom Left (Corner)", - "conf_leds_layout_cl_bottomright": "Bottom Right (Corner)", - "conf_leds_layout_cl_left": "Left", - "conf_leds_layout_cl_lefttop": "Left 0% - 50% Top", - "conf_leds_layout_cl_leftmiddle": "Left 25% - 75% Middle", - "conf_leds_layout_cl_leftbottom": "Left 50% - 100% Bottom", - "conf_leds_layout_cl_right": "Right", - "conf_leds_layout_cl_righttop": "Right 0% - 50% Top", - "conf_leds_layout_cl_rightmiddle": "Right 25% - 75% Middle", - "conf_leds_layout_cl_rightbottom": "Right 50% - 100% Bottom", - "conf_leds_layout_cl_gaglength" : "Gap length", - "conf_leds_layout_cl_gappos" : "gap position", - "conf_leds_layout_cl_inppos" : "Input position", - "conf_leds_layout_cl_reversdir" : "Reverse direction", - "conf_leds_layout_cl_hleddepth" : "Horizontal LED depth", - "conf_leds_layout_cl_vleddepth" : "Vertical LED depth", - "conf_leds_layout_cl_edgegap" : "Edge Gap", - "conf_leds_layout_cl_cornergap" : "Corner Gap", - "conf_leds_layout_cl_overlap" : "Overlap", - "conf_leds_layout_ma_horiz" : "Horizontal", - "conf_leds_layout_ma_vert" : "Vertical", - "conf_leds_layout_ma_cabling" : "Cabling", - "conf_leds_layout_ma_optsnake" : "Snake", - "conf_leds_layout_ma_optparallel" : "Parallel", - "conf_leds_layout_ma_order" : "Order", - "conf_leds_layout_ma_opthoriz" : "Horizontal", - "conf_leds_layout_ma_optvert" : "Vertical", - "conf_leds_layout_ma_position" : "Input", - "conf_leds_layout_ma_opttopleft" : "Top Left", - "conf_leds_layout_ma_opttopright" : "Top right", - "conf_leds_layout_ma_optbottomleft" : "Bottom left", - "conf_leds_layout_ma_optbottomright" : "Bottom right", - "conf_leds_layout_textf1" : "This textfield shows by default your current loaded layout and will be overwritten if you generate a new one with the options above. Optional you could perform further edits.", - "conf_grabber_fg_intro" : "Platform capture is your local system capture as input source, Hyperion is installed on.", - "conf_grabber_v4l_intro" : "USB capture is a (capture)device connected via USB which is used to input source pictures for processing.", - "conf_colors_color_intro" : "Create one or more calibration profiles, adjust each color, brightness, linearization and more.", - "conf_colors_smoothing_intro" : "Smoothing flattens color/brightness changes to reduce annoying distraction.", - "conf_colors_blackborder_intro" : "Skip black bars wherever they are. Each mode use another detection algorithm which is tuned for special situations. Higher the threshold if it doesn't work for you.", - "conf_network_net_intro" : "Network related settings which are applied to all network services.", - "conf_network_json_intro" : "The JSON-RPC-Port of all Hyperion instances, used for remote control.", - "conf_network_bobl_intro" : "Receiver for Boblight", - "conf_network_fbs_intro" : "Google Flatbuffers Receiver. Used for fast image transmission.", - "conf_network_proto_intro" : "The PROTO-Port of all Hyperion instances, used for picture streams (HyperionScreenCap, Kodi Addon, Android Hyperion Grabber, ...)", - "conf_network_forw_intro" : "Forward all input to a second Hyperion instance which could be driven with another led controller", - "conf_network_tok_title" : "Token Management", - "conf_network_tok_desc" : "Tokens grant other applications access to the Hyperion API, an application can request a token where you need to accept it or you create them on your own below. These tokens are just required when \"API Authorization\" is enabled in network settings.", - "conf_network_tok_cidhead" : "Description", - "conf_network_tok_lastuse" : "Last use", - "conf_network_tok_comment_title" : "Token description", - "conf_network_createToken_btn" : "Create Token", - "conf_network_tok_diaTitle" : "New Token created!", - "conf_network_tok_diaMsg" : "Here is your new token which can be used to grant an application access to the Hyperion API. For security reasons you can't view it again so use/note it down.", - "conf_network_tok_intro" : "Here you can create and delete tokens for API authentication. Created tokens will only be displayed once.", - "conf_network_tok_grantT": "App Requests Token", - "conf_network_tok_grantMsg": "An App requested a token to get access to the Hyperion API. Do you want to grant access? Please verify the provided information!", - "conf_logging_label_intro" : "Area to check log messages, you will see more or less information depending on the set logging level .", - "conf_logging_btn_pbupload" : "Upload a report for support requests", - "conf_logging_btn_autoscroll" : "Auto scrolling", - "conf_logging_nomessage" : "No log messages available.", - "conf_logging_uploading" : "Prepare data...", - "conf_logging_yourlink" : "Link to your report", - "conf_logging_uplfailed" : "Upload failed! Please check your internet connection!", - "conf_logging_report" : "Report", - "conf_logging_lastreports" : "Previous reports", - "conf_logging_uplpolicy" : "By clicking this button you accept the", - "conf_logging_contpolicy" : "Report Privacy Policy", - "conf_webconfig_label_intro" : "Webconfiguration settings. Edit wisely.", - "remote_losthint" : "Note: All changes are lost after a restart.", - "remote_color_label" : "Colors/Effects", - "remote_color_intro" : "Set an effect or color. Also your self created effects are listed (if available). $1", - "remote_color_button_reset" : "Reset Color/Effect", - "remote_color_label_color" : "Color:", - "remote_effects_label_effects" : "Effect:", - "remote_effects_label_picture" : "Picture:", - "remote_adjustment_label" : "Color adjustment", - "remote_adjustment_intro" : "Modifiy color/brightness/compensation during runtime. $1", - "remote_videoMode_label" : "Video mode", - "remote_videoMode_intro" : "Switch between different video modes to enjoy 3D movies! Supported are all capture devices. $1", - "remote_videoMode_3DSBS" : "3DSBS", - "remote_videoMode_3DTAB" : "3DTAB", - "remote_videoMode_2D" : "2D", - "remote_input_label" : "Source Selection", - "remote_input_intro" : "Hyperion uses a priority system to select a source. Everything you set has a priority (Effect/Color/Platform capture/USB capture and network sources). By default, Hyperion select sources depending on priority (lowest number reflects the current active source). Now you have the opportunity to select sources on your own. $1", - "remote_input_label_autoselect" : "Auto Selection", - "remote_input_setsource_btn" : "Select Source", - "remote_input_sourceactiv_btn" : "Source active", - "remote_input_origin" : "Origin", - "remote_input_owner" : "Type", - "remote_input_priority" : "Priority", - "remote_input_status" : "Status/Action", - "remote_input_duration" : "Duration:", - "remote_input_ip" : "IP:", - "remote_input_clearall" : "Clear all Effects/Colors", - "remote_components_label" : "Components control", - "remote_components_intro" : "Enable and disable components of Hyperion during runtime. $1", - "remote_optgroup_usreffets" : "User Effects", - "remote_optgroup_syseffets" : "Provided Effects", - "remote_maptype_label" : "Mapping type", - "remote_maptype_intro" : "Usually the led layout is responsible which led has a specific picture area, you could change it here. $1.", - "remote_maptype_label_multicolor_mean" : "Multicolor", - "remote_maptype_label_unicolor_mean" : "Unicolor", - "effectsconfigurator_label_intro" : "Create out of the base effects new effects that are tuned to your liking. Depending on Effect there are options like color, speed, direction and more available.", - "effectsconfigurator_label_chooseeff" : "Choose Template", - "effectsconfigurator_editdeleff" : "Delete/Load Effect", - "effectsconfigurator_button_saveeffect" : "Save Effect", - "effectsconfigurator_label_effectname" : "Effect name", - "effectsconfigurator_button_starttest" : "Start test", - "effectsconfigurator_button_stoptest" : "Stop test", - "effectsconfigurator_button_conttest" : "Continuous test", - "effectsconfigurator_button_deleffect" : "Delete Effect", - "effectsconfigurator_button_editeffect" : "Load Effect", - "support_label_title" : "Support Hyperion", - "support_label_intro" : "Hyperion is a free non-profit software. A small team is working on it and this is why we need your steady support.", - "support_label_spreadtheword" : "Spread the word", - "support_label_fbtext" : "Share our Hyperion Facebook page and get a notice when new updates are released", - "support_label_twtext" : "Share and follow on Twitter, be always up to date with latest post about the Hyperion development", - "support_label_ggtext" : "Circle us on Google +!", - "support_label_yttext" : "Bored from pictures? Check out our Youtube channel!", - "support_label_igtext" : "Visit us on Instagram to watch the latest Hyperion pictures!", - "support_label_donate" : "Donate or use our affiliate links", - "support_label_affinstr1" : "Click on the appropriate link of your country", - "support_label_affinstr2" : "Everything you buy (doesn't matter what) we get a small fee based on your turnover", - "support_label_affinstr3" : "You ALWAYS pay the same price, there is absolutely no difference. Try it out!", - "support_label_btctext" : "Address:", - "support_label_donationpp" : "Donation:", - "support_label_webrestitle" : "Information and help resources", - "support_label_webpagetitle" : "Webpage", - "support_label_webpagetext" : "Home of Hyperion", - "support_label_wikititle" : "Wiki", - "support_label_wikitext" : "The A to Z source for almost everything Hyperion related", - "support_label_forumtitle" : "Forum", - "support_label_forumtext" : "Showcases, discussions, help and more", - "support_label_ghtext" : "Visit us on Github", - "update_label_intro" : "Overview about all available Hyperion versions. On top you could update or downgrade your version of Hyperion whenever you want. Sorted from newest to oldest", - "update_label_description" : "Description:", - "update_button_install" : "Install", - "update_button_changelog" : "Full changelog", - "update_label_type" : "Type:", - "update_versreminder" : "Your version: $1", - "update_error_getting_versions" : "We had trouble determining the latest available Version.", - "update_no_updates_for_branch": "No updates for selected version channel.", - "about_version" : "Version", - "about_build" : "Build", - "about_builddate" : "Build date", - "about_translations" : "Translations", - "about_resources" : "$1 libraries", - "about_contribute" : "Develop Hyperion further with us!", - "about_credits" : "Credits to all these developers!", - "about_3rd_party_licenses": "3rd party licenses", - "about_3rd_party_licenses_error": "We had trouble collecting 3rd party licenses information from web.
Please follow this link to the GitHub Resource.", - "info_conlost_label_title" : "Lost connection to Hyperion service!", - "info_conlost_label_reason" : "Possible reasons:", - "info_conlost_label_reason1" : "- Bad WLAN connection", - "info_conlost_label_reason2" : "- You perform an update", - "info_conlost_label_reason3" : "- Hyperion isn't running", - "info_conlost_label_autorecon" : "We reconnect again after Hyperion is available.", - "info_conlost_label_autorefresh" : "This page will be automatically refreshed.", - "info_conlost_label_reload" : "Auto reconnect stopped - limit exceeded, please refresh page or click me.", - "info_restart_title" : "Restarts currently...", - "info_restart_rightback" : "Hyperion will be right back immediately!", - "info_restart_contus" : "If you still hang around here after 20 seconds and you have no clue why please open a new topic at our support forum...", - "info_restart_contusa" : "...with your last steps. Thank you!", - "info_404" : "The page you requested is not available!", - "infoDialog_general_success_title" : "Success", - "infoDialog_general_error_title" : "Error", - "infoDialog_general_warning_title" : "Warning", - "infoDialog_checklist_title" : "Checklist!", - "infoDialog_effconf_deleted_text" : "The effect \"$1\" has been deleted successfully!", - "infoDialog_effconf_created_text" : "The effect \"$1\" has been created successfully!", - "InfoDialog_lang_title" : "Language setting", - "InfoDialog_lang_text" : "If you don't like the result of the automatic language detection you could overwrite it here.", - "InfoDialog_access_title" : "Settings level", - "InfoDialog_changePassword_title" : "Change Password", - "InfoDialog_changePassword_success" : "Password successfully saved!", - "InfoDialog_access_text" : "Depending on settings level you could adjust more options or get access to more features. Recommended is the \"Default\" level.", - "InfoDialog_nowrite_title" : "write permission error!", - "InfoDialog_nowrite_text" : "Hyperion can't write to your current loaded configuration file. Please repair the file permissions to proceed.", - "InfoDialog_nowrite_foottext" : "The WebUI will be unlocked automatically after you solved the problem!", - "infoDialog_wizrgb_text" : "Your RGB Byte Order is already well adjusted.", - "infoDialog_writeimage_error_text": "The selected file \"$1\" is no image file or it's corrupted! Please select another image file.", - "infoDialog_writeconf_error_text" : "Saving your configuration failed.", - "infoDialog_import_jsonerror_text" : "The selected configuration file \"$1\" is no .json file or it's corrupted. Error message: ($2)", - "infoDialog_import_hyperror_text" : "The selected configuration file \"$1\" can't be imported. It's not compatible with Hyperion 2.0 and higher!", - "infoDialog_import_comperror_text" : "Sad! Your browser doesn't support a import. Please try again with another browser.", - "infoDialog_import_confirm_title" : "Confirm import", - "infoDialog_import_confirm_text" : "Are you sure to import \"$1\"? This process can't be reverted!", - "InfoDialog_iswitch_title" : "Hyperion switcher", - "InfoDialog_iswitch_text" : "If you run Hyperion more than once in your local network, you could switch between the web configurations. Select the Hyperion instance below and switch!", - "wiz_wizavail" : "Wizard available", - "wiz_guideyou" : "The $1 will guide you through the settings. Just press the button!", - "wiz_rgb_title" : "RGB Byte Order Wizard", - "wiz_rgb_intro1" : "This wizard will guide you through the finding process of the correct color order for your leds. Click on continue to begin.", - "wiz_rgb_intro2" : "When do you need this wizard? Example: You set the color red, but you get green or blue. You could also use it for first configuration.", - "wiz_rgb_expl" : "The color dot switches every x seconds the color (red, green), at the same time your leds switch the color too. Answer the questions at the bottom to check/correct your byte order.", - "wiz_rgb_switchevery" : "Switch color every...", - "wiz_rgb_q" : "Which color show your leds, when the color dot above shows...", - "wiz_rgb_qrend" : "...red?", - "wiz_rgb_qgend" : "...green?", - "wiz_hue_title" : "Philips Hue Wizard", - "wiz_hue_intro1" : "This wizards configures Hyperion for the well known Philips Hue system. Features are Hue Bridge auto detection, user creation, set each hue light to a specific position on your picture or disable it and tune the Hyperion settings automatically! So in short: All you need are some clicks and you are done!", - "wiz_hue_desc1" : "It searches automatically for a hue bridge, in case it can't find one you need to provide the ip address and push the reload button on the right. Now you need a user id, if you don't have one create a new one.", - "wiz_hue_desc2" : "Now choose which lamps should be added. The position assigns the lamp to a specific position on your \"picture\". Disabled lamps won't be added. To identify single lamps press the button on the right.", - "wiz_hue_ip" : "Hue Bridge IP:", - "wiz_hue_username" : "User ID:", - "wiz_hue_clientkey" : "Clientkey:", - "wiz_hue_create_user" : "Create new User", - "wiz_hue_failure_ip" : "No Bridge found, please type in a valid ip", - "wiz_hue_failure_connection" : "Timeout: Please press the bridge button within the period of 30 seconds", - "wiz_hue_failure_user" : "User not found, create a new one with the button below or input a valid user id and press the \"reload\" symbol.", - "wiz_hue_press_link" : "Please press link button on the Hue Bridge.", - "wiz_hue_noids" : "This Hue bridge has no bulbs/stripes, please pair them before with the Hue Apps", - "wiz_hue_searchb": "Searching for bridge...", - "wiz_hue_blinkblue": "Let ID $1 light up blue", - "wiz_hue_e_create_user" : "Create new User and clientkey", - "wiz_hue_e_clientkey_needed": "A clientkey that matches the username is required to use the entertainment API. Please enter an existing one or use the button below to create a new one.", - "wiz_hue_e_use_groupid": "Use group ID $1", - "wiz_hue_e_noegrpids": "No entertainment groups in this Hue bridge defined.", - "wiz_hue_e_nogrpids": "This Hue bridge has no groups defined, please create at least one before with the Hue Apps.", - "wiz_hue_e_noapisupport": "The Wizard has disabled entertainment API support and will continue in classic mode.", - "wiz_hue_e_noapisupport_hint": "The option \"Use Hue Entertainment API\" was unchecked.", - "wiz_hue_e_title" : "Philips Hue Entertainment Wizard", - "wiz_hue_e_intro1" : "This wizards configures Hyperion for the well known Philips Hue Entertainment system. Features are Hue Bridge auto detection, user and clientkey creation, entertainment group selection and set group lights to a specific position on your picture and tune the Hyperion settings automatically! So in short: All you need are some clicks and you are done!", - "wiz_hue_e_desc1" : "It searches automatically for a hue bridge, in case it can't find one you need to provide the ip address and push the reload button on the right. Now you need a user id and the clientkey, if you don't have both, create a new one.", - "wiz_hue_e_desc2" : "Now choose your entertainment group, which has all your lights inside for use with Hyperion.", - "wiz_hue_e_desc3": "Now you can choose in which position the respective lamp should be \"in the picture\". A preselection of the position was made based on the configured positions of the lights in the entertainment group. This is just a recommendation and can be customized as desired. You can therefore highlight them briefly by clicking on the right button to improve the selection.", - "wiz_hue_e_use_group" : "Use group", - "wiz_yeelight_title" : "Yeelight Wizard", - "wiz_yeelight_intro1" : "This wizards configures Hyperion for the Yeelight system. Features are the Yeelighs' auto detection, setting each light to a specific position on your picture or disable it and tune the Hyperion settings automatically! So in short: All you need are some clicks and you are done!", - "wiz_yeelight_desc2" : "Now choose which lamps should be added. The position assigns the lamp to a specific position on your \"picture\". Disabled lamps won't be added. To identify single lamps press the button on the right.", - "wiz_yeelight_noLights": "No Yeelights found! Please get the lights connected to the network or configure them mannually.", - "wiz_yeelight_unsupported" : "Unsupported", - "wiz_atmoorb_title" : "AtmoOrb Wizard", - "wiz_atmoorb_intro1" : "This wizards configures Hyperion for AtmoOrbs. Features are the AtmoOrb auto detection, setting each light to a specific position on your picture or disable it and tune the Hyperion settings automatically! So in short: All you need are some clicks and you are done!", - "wiz_atmoorb_desc2" : "Now choose which Orbs should be added. The position assigns the lamp to a specific position on your \"picture\". Disabled lamps won't be added. To identify single lamps press the button on the right.", - "wiz_atmoorb_noLights": "No AtmoOrbs found! Please get the lights connected to the network or configure them mannually.", - "wiz_pos": "Position/State", - "wiz_ids_disabled" : "Deactivated", - "wiz_ids_entire" : "Whole picture", - "wiz_identify" : "Identify", - "wiz_identify_light": "Identify $1", - "wiz_cc_title" : "Colour calibration wizard", - "wiz_cc_intro1" : "This wizard will guide you through your led calibration. If you are using Kodi, the calibration pictures and videos can be sent directly to it without further actions on your side. If not, you will need to download these files yourself and display them when the wizard needs you to adjust the setting.", - "wiz_cc_kwebs" : "Kodi webserver (IP:Port)", - "wiz_cc_kodidiscon" : "Kodi webserver not found, proceed without Kodi support.", - "wiz_cc_kodidisconlink" : "Download link pictures:", - "wiz_cc_kodicon" : "Kodi webserver found, proceed with Kodi support.", - "wiz_cc_kodimsg_start" : "Test success - time to proceed!", - "wiz_cc_kodishould" : "Kodi should show the following picture: $1", - "wiz_cc_lettvshow" : "Let your TV show the following picture: $1", - "wiz_cc_lettvshowm" : "Check this with the following pictures: $1", - "wiz_cc_adjustit" : "Adjust your \"$1\", until your are fine with it. Take notice: The more you adjust away from the default value the color spectrum will be limited (Also for all colors in between). Depending on TV/LED color spectrum the results will vary.", - "wiz_cc_adjustgamma" : "Gamma: What you have to do is, adjust gamma levels of each channel until you have the same perceived amount of each channel. Hint: Neutral is 1.0! For example, if your Grey is a bit reddish it means that you have to increase red gamma to reduce the amount of red (the more gamma, the less amount of color).", - "wiz_cc_chooseid" : "Define a name for this color profile.", - "wiz_cc_btn_switchpic" : "Switch picture", - "wiz_cc_backlight" : "Additional you could define a backlight to sort out \"bad colors\" on nearly dark areas or if you don't like the switch between color and off during watching. Additional you could define if there should be some color in it or just white. This is disabled during the state \"Off\" ,\"Color\" and \"Effect\".", - "wiz_cc_testintro" : "Time for a real test!", - "wiz_cc_testintrok" : "Push on a button below to start a test video.", - "wiz_cc_testintrowok" : "Check out the following link to download test videos:", - "wiz_cc_link" : "Click me!", - "wiz_cc_morethanone" : "You have more than one profile, please choose the profile you want to calibrate.", - "wiz_cc_btn_stop" : "Stop video", - "wiz_cc_summary" : "A conclusion of your settings. During video playback, you could change or test values again. If you are done, click on save.", - "edt_dev_auth_key_title" : "Authentication Token", - "edt_dev_enum_subtract_minimum" : "Substract minimum", - "edt_dev_enum_sub_min_cool_adjust" : "Subtract cool white", - "edt_dev_enum_sub_min_warm_adjust" : "Subtract warm white", - "edt_dev_enum_white_off" : "White off", - "edt_dev_general_heading_title" : "General Settings", - "edt_dev_general_name_title" : "Configuration name", - "edt_dev_general_hardwareLedCount_title" : "Hardware LED count", - "edt_dev_general_colorOrder_title" : "RGB byte order", - "edt_dev_general_rewriteTime_title" : "Refresh time", - "edt_dev_spec_header_title" : "Specific Settings", - "edt_dev_spec_baudrate_title" : "Baudrate", - "edt_dev_spec_spipath_title" : "SPI path", - "edt_dev_spec_invert_title" : "Invert signal", - "edt_dev_spec_multicastGroup_title" : "Multicast group", - "edt_dev_spec_numberOfLeds_title" : "Number of LEDs", - "edt_dev_spec_port_title" : "Port", - "edt_dev_spec_orbIds_title" : "Orb ID(s)", - "edt_dev_spec_useOrbSmoothing_title" : "Use orb smoothing", - "edt_dev_spec_targetIp_title" : "Target IP", - "edt_dev_spec_targetIpHost_title" : "Target IP/Hostname", - "edt_dev_spec_networkDeviceName_title" : "Network devicename", - "edt_dev_spec_networkDevicePort_title" : "Port", - "edt_dev_spec_outputPath_title" : "Output path", - "edt_dev_spec_delayAfterConnect_title" : "Delay after connect", - "edt_dev_spec_FCsetConfig_title" : "Set fadecandy configuration", - "edt_dev_spec_FCmanualControl_title" : "Manual control of fadecandy LED", - "edt_dev_spec_FCledToOn_title" : "Fadecandy LED set to on", - "edt_dev_spec_interpolation_title" : "Interpolation", - "edt_dev_spec_dithering_title" : "Dithering", - "edt_dev_spec_gamma_title" : "Gamma", - "edt_dev_spec_whitepoint_title" : "Whitepoint", - "edt_dev_spec_username_title" : "Username", - "edt_dev_spec_lightid_title" : "Light ID(s)", - "edt_dev_spec_lightid_itemtitle" : "ID", - "edt_dev_spec_lights_title" : "Light(s)", - "edt_dev_spec_lights_itemtitle" : "Light", - "edt_dev_spec_lights_name" : "Name", - "edt_dev_spec_transistionTime_title" : "Transition time", - "edt_dev_spec_blackLightsTimeout_title": "Signal detection timeout on black", - "edt_dev_spec_transistionTimeExtra_title" : "Extra time darkness", - "edt_dev_spec_transeffect_title" : "Transition effect", - "edt_conf_enum_transeffect_smooth" : "Smooth", - "edt_conf_enum_transeffect_sudden" : "Sudden", - "edt_dev_spec_debugLevel_title" : "Debug level", - "edt_conf_enum_dl_nodebug" : "No Debug output", - "edt_conf_enum_dl_verbose1" : "Verbosity level 1", - "edt_conf_enum_dl_verbose2" : "Verbosity level 2", - "edt_conf_enum_dl_verbose3" : "Verbosity level 3", - "edt_dev_spec_brightnessThreshold_title": "Signal detection brightness minimum", - "edt_dev_spec_switchOffOnBlack_title" : "Switch off on black", - "edt_dev_spec_switchOffOnbelowMinBrightness_title" : "Switch-off, below minimum", - "edt_dev_spec_brightnessFactor_title" : "Brightness factor", - "edt_dev_spec_brightnessMin_title": "Brightness minimum", - "edt_dev_spec_brightnessMax_title": "Brightness maximum", - "edt_dev_spec_sslReadTimeout_title" : "Streamer read timeout", - "edt_dev_spec_sslHSTimeoutMin_title" : "Streamer handshake timeout minimum", - "edt_dev_spec_sslHSTimeoutMax_title" : "Streamer handshake timeout maximum", - "edt_dev_spec_verbose_title": "Log all Hue commands", - "edt_dev_spec_debugStreamer_title": "Streamer Debug", - "edt_dev_spec_debugLevel_title": "Streamer Connection Debug Level", - "edt_dev_spec_restoreOriginalState_title" : "Restore lights' original state when disabled", - "edt_dev_spec_useEntertainmentAPI_title": "Use Hue Entertainment API", - "edt_dev_spec_ledType_title" : "LED Type", - "edt_dev_spec_uid_title" : "UID", - "edt_dev_spec_intervall_title" : "Intervall", - "edt_dev_spec_latchtime_title" : "Latch time", - "edt_dev_spec_maxPacket_title" : "Max packet", - "edt_dev_spec_serial_title" : "Serial number", - "edt_dev_spec_vid_title" : "VID", - "edt_dev_spec_pid_title" : "PID", - "edt_dev_spec_cid_title" : "CID", - "edt_dev_spec_LBap102Mode_title" : "LightBerry APA102 Mode", - "edt_dev_spec_universe_title" : "Universe", - "edt_dev_spec_chanperfixture_title" : "Channels per Fixture", - "edt_dev_spec_whiteLedAlgor_title" : "White LED algorithm", - "edt_dev_spec_useRgbwProtocol_title" : "Use RGBW protocol", - "edt_dev_spec_maximumLedCount_title" : "Maximum LED count", - "edt_dev_spec_gpioNumber_title" : "GPIO number", - "edt_dev_spec_dmaNumber_title" : "DMA channel", - "edt_dev_spec_pwmChannel_title": "PWM channel", - "edt_dev_spec_gpioMap_title" : "GPIO mapping", - "edt_dev_spec_PBFiFo_title" : "Pi-Blaster FiFo", - "edt_dev_spec_gpioBcm_title" : "GPIO Pin", - "edt_dev_spec_ledIndex_title" : "LED index", - "edt_dev_spec_colorComponent_title" : "Colour component", - "edt_dev_spec_printTimeStamp_title" : "Add timestamp", - "edt_dev_spec_clientKey_title" : "Clientkey", - "edt_dev_spec_groupId_title" : "Group Id", - "edt_dev_spec_panelorganisation_title" : "Panel numbering sequence", - "edt_dev_spec_order_top_down_title" : "1.", - "edt_dev_spec_order_left_right_title" : "2.", - "edt_dev_spec_panel_start_position" : "Startpanel [0-max panels]", - "edt_conf_general_enable_title" : "Activate", - "edt_conf_general_enable_expl" : "If checked, the component is enabled.", - "edt_conf_general_priority_title" : "Priority channel", - "edt_conf_general_priority_expl" : "The priority of this component", - "edt_conf_general_port_title" : "Port", - "edt_conf_general_port_expl" : "The port that is used.", - "edt_conf_enum_color" : "Color", - "edt_conf_enum_effect" : "Effect", - "edt_conf_enum_multicolor_mean" : "Multicolor", - "edt_conf_enum_unicolor_mean" : "Unicolor", - "edt_conf_enum_rgb" : "RGB", - "edt_conf_enum_bgr" : "BGR", - "edt_conf_enum_rbg" : "RBG", - "edt_conf_enum_brg" : "BRG", - "edt_conf_enum_gbr" : "GBR", - "edt_conf_enum_grb" : "GRB", - "edt_conf_enum_hsv" : "HSV", - "edt_conf_enum_linear" : "Linear", - "edt_conf_enum_PAL" : "PAL", - "edt_conf_enum_NTSC" : "NTSC", - "edt_conf_enum_SECAM" : "SECAM", - "edt_conf_enum_NO_CHANGE" : "Automatic", - "edt_conf_enum_logsilent" : "Silent", - "edt_conf_enum_logwarn" : "Warning", - "edt_conf_enum_logverbose" : "Verbose", - "edt_conf_enum_logdebug" : "Debug", - "edt_conf_enum_bbdefault" : "Default", - "edt_conf_enum_bbclassic" : "Classic", - "edt_conf_enum_bbosd" : "OSD", - "edt_conf_enum_automatic" : "Automatic", - "edt_conf_enum_dl_nodebug": "No Debug", - "edt_conf_enum_dl_error": "Error", - "edt_conf_enum_dl_statechange": "State Change", - "edt_conf_enum_dl_informational": "Informational", - "edt_conf_enum_dl_verbose": "Verbose", - "edt_conf_enum_custom": "Custom", - "edt_conf_enum_bottom_up": "Bottom up", - "edt_conf_enum_top_down": "Top down", - "edt_conf_enum_right_left": "Right to left", - "edt_conf_enum_left_right": "Left to right", - "edt_conf_gen_heading_title" : "General Settings", - "edt_conf_gen_name_title" : "Configuration name", - "edt_conf_gen_name_expl" : "A user defined name which is used to detect Hyperion. (Helpful with more than one Hyperion instance)", - "edt_conf_gen_showOptHelp_title" : "Show explanations", - "edt_conf_gen_showOptHelp_expl" : "Show all available explanations in each section. Highly recommended for beginners!", - "edt_conf_gen_watchedVersionBranch_title" : "Watched version branch", - "edt_conf_gen_watchedVersionBranch_expl" : "Selects which version branch should be used for searching new Hyperion versions.", - "edt_conf_color_heading_title" : "Color Calibration", - "edt_conf_color_channelAdjustment_header_itemtitle" : "Profile", - "edt_conf_color_channelAdjustment_header_title" : "Color channel adjustments", - "edt_conf_color_channelAdjustment_header_expl": "Create color profiles that could be assigned to a specific component. Adjust color, gamma, brightness, compensation and more.", - "edt_conf_color_imageToLedMappingType_title" : "Led area assignment", - "edt_conf_color_imageToLedMappingType_expl" : "Overwrites the led area assignment of your led layout if it's not \"multicolor\"", - "edt_conf_color_id_title" : "ID", - "edt_conf_color_id_expl" : "User given name", - "edt_conf_color_leds_title" : "LED index", - "edt_conf_color_leds_expl" : "Assign this adjustment to all leds (*) or just some (0-24).", - "edt_conf_color_black_title" : "Black", - "edt_conf_color_black_expl" : "The calibrated black value.", - "edt_conf_color_white_title" : "White", - "edt_conf_color_white_expl" : "The calibrated white value.", - "edt_conf_color_red_title" : "Red", - "edt_conf_color_red_expl" : "The calibrated red value.", - "edt_conf_color_green_title" : "Green", - "edt_conf_color_green_expl" : "The calibrated green value.", - "edt_conf_color_blue_title" : "Blue", - "edt_conf_color_blue_expl" : "The calibrated blue value.", - "edt_conf_color_cyan_title" : "Cyan", - "edt_conf_color_cyan_expl" : "The calibrated cyan value.", - "edt_conf_color_magenta_title" : "Magenta", - "edt_conf_color_magenta_expl" : "The calibrated magenta value.", - "edt_conf_color_yellow_title" : "Yellow", - "edt_conf_color_yellow_expl" : "The calibrated yellow value.", - "edt_conf_color_gammaRed_title" : "Gamma red", - "edt_conf_color_gammaRed_expl" : "The gamma of red. 1.0 is neutral. Over 1.0 it reduces red, lower than 1.0 it adds red.", - "edt_conf_color_gammaGreen_title" : "Gamma green", - "edt_conf_color_gammaGreen_expl" : "The gamma of green. 1.0 is neutral. Over 1.0 it reduces green, lower than 1.0 it adds green.", - "edt_conf_color_gammaBlue_title" : "Gamma blue", - "edt_conf_color_gammaBlue_expl" : "The gamma of blue. 1.0 is neutral. Over 1.0 it reduces blue, lower than 1.0 it adds blue.", - "edt_conf_color_backlightThreshold_title" : "Backlight threshold", - "edt_conf_color_backlightThreshold_expl" : "The minimum amount of brightness (backlight). Disabled during effects, colors and in status \"Off\"", - "edt_conf_color_backlightColored_title" : "Colored backlight", - "edt_conf_color_backlightColored_expl" : "Add some color to your backlight.", - "edt_conf_color_brightness_title" : "Brightness", - "edt_conf_color_brightness_expl" : "set overall brightness of leds", - "edt_conf_color_brightnessComp_title" : "Brightness compensation", - "edt_conf_color_brightnessComp_expl" : "Compensates bightness differences between red green blue, cyan magenta yellow and white. 100 means full compensation, 0 no compensation", - "edt_conf_smooth_heading_title" : "Smoothing", - "edt_conf_smooth_type_title" : "Type", - "edt_conf_smooth_type_expl" : "Type of smoothing.", - "edt_conf_smooth_time_ms_title" : "Time", - "edt_conf_smooth_time_ms_expl" : "How long should the smoothing gather pictures?", - "edt_conf_smooth_updateFrequency_title" : "Update frequency", - "edt_conf_smooth_updateFrequency_expl" : "The output speed to your led controller.", - "edt_conf_smooth_updateDelay_title" : "Update delay", - "edt_conf_smooth_updateDelay_expl" : "Delay the output in case your ambient light is faster than your TV.", - "edt_conf_smooth_continuousOutput_title" : "Continuous output", - "edt_conf_smooth_continuousOutput_expl" : "Update the leds even there is no changed picture.", - "edt_conf_v4l2_heading_title" : "USB Capture", - "edt_conf_v4l2_device_title" : "Device", - "edt_conf_v4l2_device_expl" : "The path to the USB capture interface. Set to 'Automatic' for automatic detection. Example: '/dev/video0'", - "edt_conf_v4l2_input_title": "Input", - "edt_conf_v4l2_input_expl": "Select the video input of your device. 'Automatic' keeps the value chosen by the v4l2 interface.", - "edt_conf_v4l2_standard_title" : "Video standard", - "edt_conf_v4l2_standard_expl" : "Select the video standard for your region. 'Automatic' keeps the value chosen by the v4l2 interface.", - "edt_conf_v4l2_resolution_title" : "Device Resolution", - "edt_conf_v4l2_resolution_expl" : "A list of supported resolutions of the active device", - "edt_conf_v4l2_framerate_title": "Frames per second", - "edt_conf_v4l2_framerate_expl": "The supported frames per second of the active device", - "edt_conf_v4l2_sizeDecimation_title" : "Size decimation", - "edt_conf_v4l2_sizeDecimation_expl" : "The factor of size decimation. 1 means no decimation (keep original size)", - "edt_conf_v4l2_cropLeft_title" : "Crop left", - "edt_conf_v4l2_cropLeft_expl" : "Count of pixels on the left side that are removed from the picture.", - "edt_conf_v4l2_cropRight_title" : "Crop right", - "edt_conf_v4l2_cropRight_expl" : "Count of pixels on the right side that are removed from the picture.", - "edt_conf_v4l2_cropTop_title" : "Crop top", - "edt_conf_v4l2_cropTop_expl" : "Count of pixels on the top side that are removed from the picture.", - "edt_conf_v4l2_cropBottom_title" : "Crop bottom", - "edt_conf_v4l2_cropBottom_expl" : "Count of pixels on the bottom side that are removed from the picture.", - "edt_conf_v4l2_cecDetection_title" : "CEC detection", - "edt_conf_v4l2_cecDetection_expl" : "If enabled, usb capture will be temporarily disabled when CEC standby event received from HDMI bus.", - "edt_conf_v4l2_signalDetection_title" : "Signal detection", - "edt_conf_v4l2_signalDetection_expl" : "If enabled, usb capture will be temporarily disabled when no signal was found. This will happen when the picture fall below the threshold value for a period of 4 seconds.", - "edt_conf_v4l2_redSignalThreshold_title" : "Red signal threshold", - "edt_conf_v4l2_redSignalThreshold_expl" : "Darkens low red values (recognized as black)", - "edt_conf_v4l2_greenSignalThreshold_title" : "Green signal threshold", - "edt_conf_v4l2_greenSignalThreshold_expl" : "Darkens low green values (recognized as black)", - "edt_conf_v4l2_blueSignalThreshold_title" : "Blue signal threshold", - "edt_conf_v4l2_blueSignalThreshold_expl" : "Darkens low blue values (recognized as black)", - "edt_conf_v4l2_sDVOffsetMin_title" : "Signal Detection VMin", - "edt_conf_v4l2_sDVOffsetMin_expl" : "Signal detection area vertical minimum (0.0-1.0)", - "edt_conf_v4l2_sDHOffsetMin_title" : "Signal Detection HMin", - "edt_conf_v4l2_sDHOffsetMin_expl" : "Signal detection area horizontal minimum (0.0-1.0)", - "edt_conf_v4l2_sDVOffsetMax_title" : "Signal Detection VMax", - "edt_conf_v4l2_sDVOffsetMax_expl" : "Signal detection area vertical maximum (0.0-1.0)", - "edt_conf_v4l2_sDHOffsetMax_title" : "Signal Detection HMax", - "edt_conf_v4l2_sDHOffsetMax_expl" : "Signal detection area horizontal maximum (0.0-1.0)", - "edt_conf_instCapture_heading_title" : "Instance Capture", - "edt_conf_instC_systemEnable_title" : "Enable platform capture", - "edt_conf_instC_systemEnable_expl" : "Enables the platform capture for this led hardware instance", - "edt_conf_instC_v4lEnable_title" : "Enable USB capture", - "edt_conf_instC_v4lEnable_expl" : "Enables the USB capture for this led hardware instance", - "edt_conf_fg_heading_title" : "Platform Capture", - "edt_conf_fg_type_title" : "Type", - "edt_conf_fg_type_expl" : "Type of platform capture, default is 'auto'", - "edt_conf_fg_frequency_Hz_title" : "Capture frequency", - "edt_conf_fg_frequency_Hz_expl" : "How fast new pictures are captured", - "edt_conf_fg_width_title" : "Width", - "edt_conf_fg_width_expl" : "Shrink picture to this width, as raw picture needs a lot of cpu time.", - "edt_conf_fg_height_title" : "Height", - "edt_conf_fg_height_expl" : "Shrink picture to this height, as raw picture needs a lot of cpu time.", - "edt_conf_fg_pixelDecimation_title" : "Picture decimation", - "edt_conf_fg_pixelDecimation_expl" : "Reduce picture size (factor) based on original size. A factor of 1 means no change", - "edt_conf_fg_device_title" : "Device", - "edt_conf_fg_display_title" : "Display", - "edt_conf_fg_display_expl" : "Select which desktop should be captured (multi monitor setup)", - "edt_conf_bb_heading_title" : "Blackbar detector", - "edt_conf_bb_threshold_title" : "Threshold", - "edt_conf_bb_threshold_expl" : "If the detection doesn't work, higher the threshold to adjust on 'greyish' black", - "edt_conf_bb_unknownFrameCnt_title" : "Unknown frames", - "edt_conf_bb_unknownFrameCnt_expl" : "Number of frames without any detection before the border is set to 0.", - "edt_conf_bb_borderFrameCnt_title" : "Border frames", - "edt_conf_bb_borderFrameCnt_expl" : "Number of frames before a consistent detected border gets set.", - "edt_conf_bb_maxInconsistentCnt_title" : "Inconsistent frames", - "edt_conf_bb_maxInconsistentCnt_expl" : "Number of inconsistent frames that are ignored before a new border gets a chance to proof consistency.", - "edt_conf_bb_blurRemoveCnt_title" : "Blur pixel", - "edt_conf_bb_blurRemoveCnt_expl" : "Number of pixels that get removed from the detected border to cut away blur.", - "edt_conf_bb_mode_title" : "Mode", - "edt_conf_bb_mode_expl" : "Algorithm for processing. (see Wiki)", - "edt_conf_fge_heading_title" : "Boot Effect/Color", - "edt_conf_fge_type_title" : "Type", - "edt_conf_fge_type_expl" : "Choose between a color or effect.", - "edt_conf_fge_color_title" : "Color", - "edt_conf_fge_color_expl" : "If type is \"Color\", set a color of your choice here.", - "edt_conf_fge_effect_title" : "Effect", - "edt_conf_fge_effect_expl" : "If type is \"Effect\", select a effect of your choice (Also self created effects).", - "edt_conf_fge_duration_ms_title" : "Duration", - "edt_conf_fge_duration_ms_expl" : "Duration of Effect/Color during Hyperion startup.", - "edt_conf_bge_heading_title" : "Background Effect/Color", - "edt_conf_fw_heading_title" : "Forwarder", - "edt_conf_fw_json_title" : "List of json clients", - "edt_conf_fw_json_expl" : "One json target per line. Contains IP:PORT (Example: 127.0.0.1:19446)", - "edt_conf_fw_json_itemtitle" : "Json target", - "edt_conf_fw_flat_title" : "List of flatbuffer clients", - "edt_conf_fw_flat_expl" : "One flatbuffer target per line. Contains IP:PORT (Example: 127.0.0.1:19401)", - "edt_conf_fw_flat_itemtitle" : "flatbuffer target", - "edt_conf_net_heading_title" : "Network", - "edt_conf_net_internetAccessAPI_title":"Internet API Access", - "edt_conf_net_internetAccessAPI_expl":"Allow access to the Hyperion API/Webinterface from the internet, disable for higher security.", - "edt_conf_net_ipWhitelist_title":"Whitelisted IP's", - "edt_conf_net_ipWhitelist_expl":"You can whitelist IP addresses instead allowing all connections from internet to connect to the Hyperion API/Webinterface.", - "edt_conf_net_ip_itemtitle":"IP", - "edt_conf_net_apiAuth_title":"API Authentication", - "edt_conf_net_apiAuth_expl":"Enforce all applications that use the Hyperion API to authenticate themself against Hyperion (Exception see \"Local API Authentication\"). Higher security, as you control the access and revoke it at any time.", - "edt_conf_net_localApiAuth_title" : "Local API Authentication", - "edt_conf_net_localApiAuth_expl" : "When enabled, connections from your home network needs to authenticate themself against Hyperion with a token.", - "edt_conf_net_localAdminAuth_title":"Local Admin API Authentication", - "edt_conf_net_localAdminAuth_expl":"When enabled, administration access from your home network needs a password.", - "edt_conf_net_restirctedInternetAccessAPI_title" : "Restrict to IP's", - "edt_conf_net_restirctedInternetAccessAPI_expl": "You can restrict the access to the API through the internet to certain IP's.", - "edt_conf_js_heading_title" : "JSON Server", - "edt_conf_fbs_heading_title" : "Flatbuffers Server", - "edt_conf_fbs_timeout_title" : "Timeout", - "edt_conf_fbs_timeout_expl" : "If no data are received for the given period, the component will be (soft) disabled.", - "edt_conf_pbs_heading_title" : "Protocol Buffers Server", - "edt_conf_pbs_timeout_title" : "Timeout", - "edt_conf_pbs_timeout_expl" : "If no data are received for the given period, the component will be (soft) disabled.", - "edt_conf_bobls_heading_title" : "Boblight Server", - "edt_conf_webc_heading_title" : "Web Configuration", - "edt_conf_webc_docroot_title" : "Document Root", - "edt_conf_webc_docroot_expl" : "Local webinterface root path (just for webui developer)", - "edt_conf_webc_sslport_title" : "HTTPS Port", - "edt_conf_webc_sslport_expl" : "Port oft the HTTPS webserver", - "edt_conf_webc_crtPath_title" : "Certificate path", - "edt_conf_webc_crtPath_expl" : "Path to the certification file (format should be PEM)", - "edt_conf_webc_keyPath_title" : "Private key path", - "edt_conf_webc_keyPath_expl" : "Path to the key file (format PEM, encrypted with RSA)", - "edt_conf_webc_keyPassPhrase_title" : "Key password", - "edt_conf_webc_keyPassPhrase_expl" : "Optional: The key might be protected with a password", - "edt_conf_effp_heading_title" : "Effect Paths", - "edt_conf_effp_paths_title" : "Effect Path(s)", - "edt_conf_effp_paths_expl" : "You could define more folders that contain effects. The effect configurator will always save inside the first folder.", - "edt_conf_effp_paths_itemtitle" : "Path", - "edt_conf_effp_disable_title" : "Disabled Effects", - "edt_conf_effp_disable_expl" : "Add effect names here to disable/hide them from all effect lists.", - "edt_conf_effp_disable_itemtitle" : "Effect", - "edt_conf_log_heading_title" : "Logging", - "edt_conf_log_level_title" : "Log-Level", - "edt_conf_log_level_expl" : "Depending on loglevel you see less or more messages in your log.", - "edt_eff_smooth_custom" : "Enable smoothing", - "edt_eff_smooth_time_ms" : "Smoothing time", - "edt_eff_smooth_updateFrequency" : "Smoothing update frequency", - "edt_eff_waves_header" : "Waves", - "edt_eff_waves_header_desc" : "Waves of color! Choose your colors, rotation time, direction reverse and more.", - "edt_eff_gif_header" : "GIF's", - "edt_eff_gif_header_desc" : "This effect plays .gif files, provide a simple video like loop as effect.", - "edt_eff_candle_header" : "Candle", - "edt_eff_candle_header_desc" : "Shimmering candles", - "edt_eff_ledtest_header" : "Led Test", - "edt_eff_ledtest_header_desc" : "Rotating output: Red, Blue, Green, White, Black", - "edt_eff_police_header" : "Police", - "edt_eff_police_header_desc" : "Lights like a police car in action", - "edt_eff_fade_header" : "Fade", - "edt_eff_fade_header_desc" : "Fades between colors", - "edt_eff_rainbowmood_header" : "Rainbow Mood", - "edt_eff_rainbowmood_header_desc" : "All leds rainbow mood", - "edt_eff_knightrider_header" : "Knight Rider", - "edt_eff_knightrider_header_desc" : "K.I.T.T is back! The front-scanner of the well known car, this time not just in red.", - "edt_eff_lightclock_header" : "Light Clock", - "edt_eff_lightclock_header_desc" : "A real clock as light! Adjsut the colors of hours, minute, seconds. A optional 3/6/9/12 o'clock marker is also available. In case the clock is wrong, you need to check your system clock.", - "edt_eff_pacman_header" : "Pac-Man", - "edt_eff_pacman_header_desc" : "Small hungry and yellow. Who will survive?", - "edt_eff_moodblobs_header" : "Mood Blobs", - "edt_eff_moodblobs_header_desc" : "Relax at the evening with slow moving and color changing blobs.", - "edt_eff_swirl_header" : "Color Swirl", - "edt_eff_swirl_header_desc" : "A swirl with custom colors. Colors are even spread to 360°, in between colors shifts will be calcualted. Additional you can add a second swirl on top, be aware that you need partly transparency! Hint: A reapeat of the same color results in a \"hugher\" color area and a reduced color shift area.", - "edt_eff_random_header" : "Random", - "edt_eff_random_header_desc" : "Pixel Dot, dot, dot...", - "edt_eff_systemshutdown_header" : "System Shutdown", - "edt_eff_systemshutdown_header_desc" : "A short animation with probably a real system shutdown", - "edt_eff_snake_header" : "Snake", - "edt_eff_snake_header_desc" : "Where is something to eat?", - "edt_eff_sparks_header" : "Sparks", - "edt_eff_sparks_header_desc" : "Star-Sparking, choose between a static color or random. You could also adjust brightness, staturation and speed.", - "edt_eff_traces_header" : "Color Traces", - "edt_eff_traces_header_desc" : "Requires redesign", - "edt_eff_x-mas_header" : "X-Mas", - "edt_eff_x-mas_header_desc" : "Touch of christmas", - "edt_eff_trails_header" : "Falling stars", - "edt_eff_trails_header_desc" : "Colored stars that fall from top to bottom", - "edt_eff_flag_header" : "Flags", - "edt_eff_flag_header_desc" : "Let your leds shine bright in the colours of your country. You can select more than one flag and they will change based on the interval time.", - "edt_eff_collision_header": "colour collision", - "edt_eff_collision_header_desc": "Two colour projectiles are sent from random positions and collide with each other", - "edt_eff_plasma_header": "Plasma", - "edt_eff_plasma_header_desc": "Color distortion in different directions", - "edt_eff_explodeRadius": "Detonation Range ", - "edt_eff_enum_all" : "All", - "edt_eff_enum_all-together" : "All together", - "edt_eff_enum_list" : "LED List", - "edt_eff_count" : "Count", - "edt_eff_color" : "Color", - "edt_eff_colorrandom" : "Random color", - "edt_eff_colorone" : "Color one", - "edt_eff_colortwo" : "Color two", - "edt_eff_colorcount" : "Color length", - "edt_eff_rotationtime" : "Rotation time", - "edt_eff_sleeptime" : "Sleep time", - "edt_eff_image" : "Image file", - "edt_eff_fps" : "Frames per seconds", - "edt_eff_reversedirection" : "Reverse direction", - "edt_eff_fadeintime" : "Fade in time", - "edt_eff_fadeouttime" : "Fade out time", - "edt_eff_repeat" : "Repeat", - "edt_eff_repeatcount" : "Repeat count", - "edt_eff_colorendtime" : "Time to hold start color", - "edt_eff_colorstarttime" : "Time to hold end color", - "edt_eff_colorstart" : "Color start", - "edt_eff_colorend" : "Color end", - "edt_eff_maintain_end_color" : "Keep endcolor", - "edt_eff_colorshift" : "Color Shift", - "edt_eff_whichleds" : "Which Leds", - "edt_eff_ledlist" : "Led List", - "edt_eff_speed" : "Speed", - "edt_eff_fadefactor" : "Fade factor", - "edt_eff_showseconds" : "Show seconds", - "edt_eff_blobcount" : "Blob count", - "edt_eff_huechange" : "Color change", - "edt_eff_basecolorchange" : "Base color change", - "edt_eff_basecolorchangerate" : "BC change rate", - "edt_eff_basecolorrangeleft" : "BC range left", - "edt_eff_basecolorrangeright" : "BC range right", - "edt_eff_brightness" : "Brightness", - "edt_eff_centerx" : "Center X-Axis", - "edt_eff_centery" : "Center Y-Axis", - "edt_eff_saturation" : "Saturation", - "edt_eff_colorevel" : "Color level", - "edt_eff_whitelevel" : "White level", - "edt_eff_alarmcolor" : "Alarm color", - "edt_eff_postcolor" : "Post color", - "edt_eff_enableshutdown" : "Real shutdown", - "edt_eff_length" : "Length", - "edt_eff_frequency" : "Frequency", - "edt_eff_min_len" : "Minimal length", - "edt_eff_max_len" : "Maximal length", - "edt_eff_height" : "Height", - "edt_eff_offset" : "Offset", - "edt_eff_colorHour" : "Color hour", - "edt_eff_colorMinute" : "Color minute", - "edt_eff_colorSecond" : "Color second", - "edt_eff_colorMarker" : "Marker color", - "edt_eff_markerWidth" : "Marker width", - "edt_eff_markerDepth" : "Marker depth", - "edt_eff_markerEnable" : "Show Marker", - "edt_eff_backgroundColor" : "Background Color", - "edt_eff_countries" : "Countries", - "edt_eff_interval" : "Interval", - "edt_eff_margin" : "Margin", - "edt_eff_customColor" : "Custom Color", - "edt_eff_randomCenter" : "Random Center", - "edt_eff_enableSecondSwirl":"Second Swirl", - "edt_eff_reverseRandomTime":"Reverse every", - "edt_append_ns" : "ns", - "edt_append_ms" : "ms", - "edt_append_s" : "s", - "edt_append_hz" : "Hz", - "edt_append_pixel" : "Pixel", - "edt_append_percent" : "%", - "edt_append_percent_h": "% hori", - "edt_append_percent_v": "% vert", - "edt_append_degree" : "°", - "edt_append_sdegree" : "s/degree", - "edt_append_leds" : "LEDs", - "edt_msg_error_notset" : "Property must be set", - "edt_msg_error_notempty" : "Value required", - "edt_msg_error_enum" : "Value must be one of the enumerated values", - "edt_msg_error_anyOf" : "Value must validate against at least one of the provided schemas", - "edt_msg_error_oneOf" : "Value must validate against exactly one of the provided schemas. It currently validates against $1 of the schemas.", - "edt_msg_error_not" : "Value must not validate against the provided schema", - "edt_msg_error_type_union" : "Value must be one of the provided types", - "edt_msg_error_type" : "Value must be of type $1", - "edt_msg_error_disallow_union" : "Value must not be one of the provided disallowed types", - "edt_msg_error_disallow" : "Value must not be of type $1", - "edt_msg_error_multipleOf" : "Value must be a multiple of $1", - "edt_msg_error_maximum_excl" : "Value must be less than $1", - "edt_msg_error_maximum_incl" : "Value must be at most $1", - "edt_msg_error_minimum_excl" : "Value must be greater than $1", - "edt_msg_error_minimum_incl" : "Value must be at least $1", - "edt_msg_error_maxLength" : "Value must be at most $1 characters long", - "edt_msg_error_minLength" : "Value must be at least $1 characters long", - "edt_msg_error_pattern" : "Value must match the pattern", - "edt_msg_error_additionalItems" : "No additional items allowed in this array", - "edt_msg_error_maxItems" : "Value must have at most $1 items", - "edt_msg_error_minItems" : "Value must have at least $1 items", - "edt_msg_error_uniqueItems" : "Array must have unique items", - "edt_msg_error_maxProperties" : "Object must have at most $1 properties", - "edt_msg_error_minProperties" : "Object must have at least $1 properties", - "edt_msg_error_required" : "Object is missing the required property '$1'", - "edt_msg_error_additional_properties" : "No additional properties allowed, but property $1 is set", - "edt_msg_error_dependency" : "Must have property $1", - "edt_msg_button_delete_all" : "All", - "edt_msg_button_delete_all_title" : "Delete All", - "edt_msg_button_delete_last" : "Last $1", - "edt_msg_button_delete_last_title" : "Delete Last $1", - "edt_msg_button_add_row_title" : "Add $1", - "edt_msg_button_move_down_title" : "Move down", - "edt_msg_button_move_up_title" : "Move up", - "edt_msg_button_delete_row_title" : "Delete $1", - "edt_msg_button_delete_row_title_short" : "Delete", - "edt_msg_button_collapse" : "Collapse", - "edt_msg_button_expand": "Expand", - "conf_leds_layout_ptln": "Trapezpoints", - "conf_leds_layout_ptlh": "Horizontal", - "conf_leds_layout_ptlv": "Vertical", - "conf_leds_layout_ptl": "Point Top Left", - "conf_leds_layout_ptr": "Point Top Right", - "conf_leds_layout_pbl": "Point Bottom Left", - "conf_leds_layout_pbr": "Point Botton Right" -} + "InfoDialog_access_text": "Depending on settings level you could adjust more options or get access to more features. Recommended is the \"Default\" level.", + "InfoDialog_access_title": "Settings level", + "InfoDialog_changePassword_success": "Password successfully saved!", + "InfoDialog_changePassword_title": "Change Password", + "InfoDialog_iswitch_text": "If you run Hyperion more than once in your local network, you could switch between the web configurations. Select the Hyperion instance below and switch!", + "InfoDialog_iswitch_title": "Hyperion switcher", + "InfoDialog_lang_text": "If you don't like the result of the automatic language detection you could overwrite it here.", + "InfoDialog_lang_title": "Language setting", + "InfoDialog_nowrite_foottext": "The WebUI will be unlocked automatically after you solved the problem!", + "InfoDialog_nowrite_text": "Hyperion can't write to your current loaded configuration file. Please repair the file permissions to proceed.", + "InfoDialog_nowrite_title": "write permission error!", + "about_3rd_party_licenses": "3rd party licenses", + "about_3rd_party_licenses_error": "We had trouble collecting 3rd party licenses information from web.
Please follow this link to the GitHub Resource.", + "about_build": "Build", + "about_builddate": "Build date", + "about_contribute": "Develop Hyperion further with us!", + "about_credits": "Credits to all these developers!", + "about_resources": "$1 libraries", + "about_translations": "Translations", + "about_version": "Version", + "conf_colors_blackborder_intro": "Skip black bars wherever they are. Each mode use another detection algorithm which is tuned for special situations. Higher the threshold if it doesn't work for you.", + "conf_colors_color_intro": "Create one or more calibration profiles, adjust each color, brightness, linearization and more.", + "conf_colors_smoothing_intro": "Smoothing flattens color/brightness changes to reduce annoying distraction.", + "conf_effect_bgeff_intro": "Define a background effect/color, which is shown during Hyperion \"idle\". Sarts always with priority channel 255.", + "conf_effect_fgeff_intro": "Define a booteffect or color, which is shown during Hyperion startup for the defined duration.", + "conf_effect_path_intro": "Load effects from the defined paths. Additional you can disable single effects by name to hide them from all effect lists.", + "conf_general_createInst_btn": "Create Instance", + "conf_general_impexp_expbtn": "Export", + "conf_general_impexp_impbtn": "Import", + "conf_general_impexp_l1": "Import a configuration by selecting a configuration file below and click on \"Import\".", + "conf_general_impexp_l2": "Export a configuration by clicking on \"Export\". Your browser starts a download.", + "conf_general_impexp_title": "Import/Export Configuration", + "conf_general_inst_actionhead": "Action", + "conf_general_inst_delreq_h": "Delete LED Hardware instance", + "conf_general_inst_delreq_t": "Are you sure that you want to delete instance \"$1\"? All settings will be deleted too.", + "conf_general_inst_desc": "Use different LED hardware at the same time. Each instance runs independent of each other which allows different LED layouts and calibration settings. Running instances are available at the top icon bar", + "conf_general_inst_name_title": "New Instance name", + "conf_general_inst_namehead": "Instance name", + "conf_general_inst_renreq_t": "Enter a new name for your instance in the field below.", + "conf_general_inst_title": "LED Hardware Instance Management", + "conf_general_intro": "Basic settings around Hyperion and WebUI that don't fit into another category.", + "conf_general_label_title": "General settings", + "conf_grabber_fg_intro": "Platform capture is your local system capture as input source, Hyperion is installed on.", + "conf_grabber_v4l_intro": "USB capture is a (capture)device connected via USB which is used to input source pictures for processing.", + "conf_helptable_expl": "Explanation", + "conf_helptable_option": "Option", + "conf_leds_contr_label_contrtype": "Controller type:", + "conf_leds_device_intro": "Hyperion supports a lot of controllers to transmit data to your target device. Select a LED controller out of the sorted list and configure it. We have chosen the best default settings for each device.", + "conf_leds_layout_advanced": "Advanced Settings", + "conf_leds_layout_btn_checklist": "Show checklist", + "conf_leds_layout_button_savelay": "Save Layout", + "conf_leds_layout_button_updsim": "Update Preview", + "conf_leds_layout_checkp1": "The black led is your first led, the first led is the point where you input your data signal.", + "conf_leds_layout_checkp2": "The layout is always the front view of your TV, never the back view.", + "conf_leds_layout_checkp3": "Make sure the direction is right. The grey leds indicate led number 2 and 3 to visualize the data direction.", + "conf_leds_layout_checkp4": "Case Gap: To create a gap, ignore it first when you define Top/Bottom/Left/Right and set afterwards your gap length to remove a amount of leds. Modify the gap position until it matches.", + "conf_leds_layout_cl_bottom": "Bottom", + "conf_leds_layout_cl_bottomleft": "Bottom Left (Corner)", + "conf_leds_layout_cl_bottomright": "Bottom Right (Corner)", + "conf_leds_layout_cl_cornergap": "Corner Gap", + "conf_leds_layout_cl_edgegap": "Edge Gap", + "conf_leds_layout_cl_gaglength": "Gap length", + "conf_leds_layout_cl_gappos": "gap position", + "conf_leds_layout_cl_hleddepth": "Horizontal LED depth", + "conf_leds_layout_cl_inppos": "Input position", + "conf_leds_layout_cl_left": "Left", + "conf_leds_layout_cl_leftbottom": "Left 50% - 100% Bottom", + "conf_leds_layout_cl_leftmiddle": "Left 25% - 75% Middle", + "conf_leds_layout_cl_lefttop": "Left 0% - 50% Top", + "conf_leds_layout_cl_overlap": "Overlap", + "conf_leds_layout_cl_reversdir": "Reverse direction", + "conf_leds_layout_cl_right": "Right", + "conf_leds_layout_cl_rightbottom": "Right 50% - 100% Bottom", + "conf_leds_layout_cl_rightmiddle": "Right 25% - 75% Middle", + "conf_leds_layout_cl_righttop": "Right 0% - 50% Top", + "conf_leds_layout_cl_top": "Top", + "conf_leds_layout_cl_topleft": "Top Left (Corner)", + "conf_leds_layout_cl_topright": "Top Right (Corner)", + "conf_leds_layout_cl_vleddepth": "Vertical LED depth", + "conf_leds_layout_frame": "Classic Layout (LED Frame)", + "conf_leds_layout_generatedconf": "Generated/Current LED Configuration", + "conf_leds_layout_intro": "You need also a led layout, which reflects your led positions. The classic layout is the usual used tv frame, but we also support led matrix (led walls) creation. The view on this layout is ALWAYS of the FRONT of your TV.", + "conf_leds_layout_ma_cabling": "Cabling", + "conf_leds_layout_ma_horiz": "Horizontal", + "conf_leds_layout_ma_optbottomleft": "Bottom left", + "conf_leds_layout_ma_optbottomright": "Bottom right", + "conf_leds_layout_ma_opthoriz": "Horizontal", + "conf_leds_layout_ma_optparallel": "Parallel", + "conf_leds_layout_ma_optsnake": "Snake", + "conf_leds_layout_ma_opttopleft": "Top Left", + "conf_leds_layout_ma_opttopright": "Top right", + "conf_leds_layout_ma_optvert": "Vertical", + "conf_leds_layout_ma_order": "Order", + "conf_leds_layout_ma_position": "Input", + "conf_leds_layout_ma_vert": "Vertical", + "conf_leds_layout_matrix": "Matrix Layout (LED Wall)", + "conf_leds_layout_pbl": "Point Bottom Left", + "conf_leds_layout_pbr": "Point Botton Right", + "conf_leds_layout_peview": "LED Layout Preview", + "conf_leds_layout_preview_l1": "This is your first led (input position)", + "conf_leds_layout_preview_l2": "This visualizes the data direction (second/third led)", + "conf_leds_layout_preview_ledpower": "Max. power consumption: $1 A", + "conf_leds_layout_preview_originCL": "Created from: Classic Layout (LED Frame)", + "conf_leds_layout_preview_originMA": "Created from: Matrix Layout(LED wall)", + "conf_leds_layout_preview_originTEXT": "Created from: Textfield", + "conf_leds_layout_preview_totalleds": "Total LEDs: $1", + "conf_leds_layout_ptl": "Point Top Left", + "conf_leds_layout_ptlh": "Horizontal", + "conf_leds_layout_ptln": "Trapezpoints", + "conf_leds_layout_ptlv": "Vertical", + "conf_leds_layout_ptr": "Point Top Right", + "conf_leds_layout_textf1": "This textfield shows by default your current loaded layout and will be overwritten if you generate a new one with the options above. Optional you could perform further edits.", + "conf_leds_nav_label_ledcontroller": "LED Controller", + "conf_leds_nav_label_ledlayout": "LED Layout", + "conf_leds_optgroup_RPiGPIO": "RPi GPIO", + "conf_leds_optgroup_RPiPWM": "RPi PWM", + "conf_leds_optgroup_RPiSPI": "RPi SPI", + "conf_leds_optgroup_debug": "Debug", + "conf_leds_optgroup_network": "Network", + "conf_leds_optgroup_usb": "USB/Serial", + "conf_logging_btn_autoscroll": "Auto scrolling", + "conf_logging_btn_pbupload": "Upload a report for support requests", + "conf_logging_contpolicy": "Report Privacy Policy", + "conf_logging_label_intro": "Area to check log messages, you will see more or less information depending on the logging level set.", + "conf_logging_lastreports": "Previous reports", + "conf_logging_nomessage": "No log messages available.", + "conf_logging_report": "Report", + "conf_logging_uplfailed": "Upload failed! Please check your internet connection!", + "conf_logging_uploading": "Prepare data...", + "conf_logging_uplpolicy": "By clicking this button you accept the", + "conf_logging_yourlink": "Link to your report", + "conf_network_bobl_intro": "Receiver for Boblight", + "conf_network_createToken_btn": "Create Token", + "conf_network_fbs_intro": "Google Flatbuffers Receiver. Used for fast image transmission.", + "conf_network_forw_intro": "Forward all input to a second Hyperion instance which could be driven with another led controller", + "conf_network_json_intro": "The JSON-RPC-Port of all Hyperion instances, used for remote control.", + "conf_network_net_intro": "Network related settings which are applied to all network services.", + "conf_network_proto_intro": "The PROTO-Port of all Hyperion instances, used for picture streams (HyperionScreenCap, Kodi Addon, Android Hyperion Grabber, ...)", + "conf_network_tok_cidhead": "Description", + "conf_network_tok_comment_title": "Token description", + "conf_network_tok_desc": "Tokens grant other applications access to the Hyperion API, an application can request a token where you need to accept it or you create them on your own below. These tokens are just required when \"API Authorization\" is enabled in network settings.", + "conf_network_tok_diaMsg": "Here is your new token which can be used to grant an application access to the Hyperion API. For security reasons you can't view it again so use/note it down.", + "conf_network_tok_diaTitle": "New Token created!", + "conf_network_tok_grantMsg": "An App requested a token to get access to the Hyperion API. Do you want to grant access? Please verify the provided information!", + "conf_network_tok_grantT": "App Requests Token", + "conf_network_tok_intro": "Here you can create and delete tokens for API authentication. Created tokens will only be displayed once.", + "conf_network_tok_lastuse": "Last use", + "conf_network_tok_title": "Token Management", + "conf_webconfig_label_intro": "Webconfiguration settings. Edit wisely.", + "dashboard_active_instance": "Selected instance", + "dashboard_alert_message_confedit": "Your Hyperion configuration has been modified. To apply it, restart Hyperion.", + "dashboard_alert_message_confedit_t": "Configuration modified", + "dashboard_alert_message_confsave_success": "Your Hyperion configuration has been saved successfully. Your changes are now active.", + "dashboard_alert_message_confsave_success_t": "Configuration saved", + "dashboard_alert_message_disabled": "This instance is currently disabled! To use it again, enable it at the dashboard.", + "dashboard_alert_message_disabled_t": "LED hardware instance disabled", + "dashboard_componentbox_label_comp": "Component", + "dashboard_componentbox_label_status": "Status", + "dashboard_componentbox_label_title": "Components status", + "dashboard_infobox_label_currenthyp": "Your Hyperion version:", + "dashboard_infobox_label_disableh": "Disable Instance: $1", + "dashboard_infobox_label_enableh": "Enable Instance: $1", + "dashboard_infobox_label_instance": "Instance:", + "dashboard_infobox_label_latesthyp": "Latest Hyperion version:", + "dashboard_infobox_label_platform": "Platform:", + "dashboard_infobox_label_ports": "Ports (flat|proto):", + "dashboard_infobox_label_smartacc": "Smart Access", + "dashboard_infobox_label_statush": "Hyperion status:", + "dashboard_infobox_label_title": "Information", + "dashboard_infobox_label_watchedversionbranch": "Watched version branch:", + "dashboard_infobox_message_updatesuccess": "You run the latest version of Hyperion.", + "dashboard_infobox_message_updatewarning": "A newer version of Hyperion is available! ($1)", + "dashboard_label_intro": "The dashboard give you a quick overview about the status of Hyperion and show you the latest news of the Hyperion Blog.", + "dashboard_message_default_password": "The default password for the WebUi is set. We strongly recommend to change this.", + "dashboard_message_default_password_t": "WebUI default password is set", + "dashboard_message_do_not_show_again": "Do not show this message again", + "dashboard_message_global_setting": "The settings on this page are not depending on a specific instance. Changes will be stored globally for all instances.", + "dashboard_message_global_setting_t": "Instance independent setting", + "dashboard_newsbox_label_title": "Hyperion-Blog", + "dashboard_newsbox_noconn": "Can't connect to Hyperion Server to retrieve latest posts, does your internet connection work?", + "dashboard_newsbox_readmore": "Read more", + "dashboard_newsbox_visitblog": "Visit Hyperion-Blog", + "edt_append_degree": "°", + "edt_append_hz": "Hz", + "edt_append_leds": "LEDs", + "edt_append_ms": "ms", + "edt_append_ns": "ns", + "edt_append_percent": "%", + "edt_append_percent_h": "% hori", + "edt_append_percent_v": "% vert", + "edt_append_pixel": "Pixel", + "edt_append_s": "s", + "edt_append_sdegree": "s/degree", + "edt_conf_bb_blurRemoveCnt_expl": "Number of pixels that get removed from the detected border to cut away blur.", + "edt_conf_bb_blurRemoveCnt_title": "Blur pixel", + "edt_conf_bb_borderFrameCnt_expl": "Number of frames before a consistent detected border is set.", + "edt_conf_bb_borderFrameCnt_title": "Border frames", + "edt_conf_bb_heading_title": "Blackbar detector", + "edt_conf_bb_maxInconsistentCnt_expl": "Number of inconsistent frames that are ignored before a new border gets a chance to proof consistency.", + "edt_conf_bb_maxInconsistentCnt_title": "Inconsistent frames", + "edt_conf_bb_mode_expl": "Algorithm for processing. (see Wiki)", + "edt_conf_bb_mode_title": "Mode", + "edt_conf_bb_threshold_expl": "If the detection doesn't work, higher the threshold to adjust on 'greyish' black", + "edt_conf_bb_threshold_title": "Threshold", + "edt_conf_bb_unknownFrameCnt_expl": "Number of frames without any detection before the border is set to 0.", + "edt_conf_bb_unknownFrameCnt_title": "Unknown frames", + "edt_conf_bge_heading_title": "Background Effect/Color", + "edt_conf_bobls_heading_title": "Boblight Server", + "edt_conf_color_backlightColored_expl": "Add some color to your backlight.", + "edt_conf_color_backlightColored_title": "Colored backlight", + "edt_conf_color_backlightThreshold_expl": "The minimum amount of brightness (backlight). Disabled during effects, colors and in status \"Off\"", + "edt_conf_color_backlightThreshold_title": "Backlight threshold", + "edt_conf_color_black_expl": "The calibrated black value.", + "edt_conf_color_black_title": "Black", + "edt_conf_color_blue_expl": "The calibrated blue value.", + "edt_conf_color_blue_title": "Blue", + "edt_conf_color_brightnessComp_expl": "Compensates bightness differences between red green blue, cyan magenta yellow and white. 100 means full compensation, 0 no compensation", + "edt_conf_color_brightnessComp_title": "Brightness compensation", + "edt_conf_color_brightness_expl": "set overall brightness of leds", + "edt_conf_color_brightness_title": "Brightness", + "edt_conf_color_channelAdjustment_header_expl": "Create color profiles that could be assigned to a specific component. Adjust color, gamma, brightness, compensation and more.", + "edt_conf_color_channelAdjustment_header_itemtitle": "Profile", + "edt_conf_color_channelAdjustment_header_title": "Color channel adjustments", + "edt_conf_color_cyan_expl": "The calibrated cyan value.", + "edt_conf_color_cyan_title": "Cyan", + "edt_conf_color_gammaBlue_expl": "The gamma of blue. 1.0 is neutral. Over 1.0 it reduces blue, lower than 1.0 it adds blue.", + "edt_conf_color_gammaBlue_title": "Gamma blue", + "edt_conf_color_gammaGreen_expl": "The gamma of green. 1.0 is neutral. Over 1.0 it reduces green, lower than 1.0 it adds green.", + "edt_conf_color_gammaGreen_title": "Gamma green", + "edt_conf_color_gammaRed_expl": "The gamma of red. 1.0 is neutral. Over 1.0 it reduces red, lower than 1.0 it adds red.", + "edt_conf_color_gammaRed_title": "Gamma red", + "edt_conf_color_green_expl": "The calibrated green value.", + "edt_conf_color_green_title": "Green", + "edt_conf_color_heading_title": "Color Calibration", + "edt_conf_color_id_expl": "User given name", + "edt_conf_color_id_title": "ID", + "edt_conf_color_imageToLedMappingType_expl": "Overwrites the led area assignment of your led layout if it's not \"multicolor\"", + "edt_conf_color_imageToLedMappingType_title": "Led area assignment", + "edt_conf_color_leds_expl": "Assign this adjustment to all leds (*) or just some (0-24).", + "edt_conf_color_leds_title": "LED index", + "edt_conf_color_magenta_expl": "The calibrated magenta value.", + "edt_conf_color_magenta_title": "Magenta", + "edt_conf_color_red_expl": "The calibrated red value.", + "edt_conf_color_red_title": "Red", + "edt_conf_color_white_expl": "The calibrated white value.", + "edt_conf_color_white_title": "White", + "edt_conf_color_yellow_expl": "The calibrated yellow value.", + "edt_conf_color_yellow_title": "Yellow", + "edt_conf_effp_disable_expl": "Add effect names here to disable/hide them from all effect lists.", + "edt_conf_effp_disable_itemtitle": "Effect", + "edt_conf_effp_disable_title": "Disabled Effects", + "edt_conf_effp_heading_title": "Effect Paths", + "edt_conf_effp_paths_expl": "You could define more folders that contain effects. The effect configurator will always save inside the first folder.", + "edt_conf_effp_paths_itemtitle": "Path", + "edt_conf_effp_paths_title": "Effect Path(s)", + "edt_conf_enum_NO_CHANGE": "Automatic", + "edt_conf_enum_NTSC": "NTSC", + "edt_conf_enum_PAL": "PAL", + "edt_conf_enum_SECAM": "SECAM", + "edt_conf_enum_automatic": "Automatic", + "edt_conf_enum_bbclassic": "Classic", + "edt_conf_enum_bbdefault": "Default", + "edt_conf_enum_bbosd": "OSD", + "edt_conf_enum_bgr": "BGR", + "edt_conf_enum_bottom_up": "Bottom up", + "edt_conf_enum_brg": "BRG", + "edt_conf_enum_color": "Color", + "edt_conf_enum_custom": "Custom", + "edt_conf_enum_dl_error": "Error", + "edt_conf_enum_dl_informational": "Informational", + "edt_conf_enum_dl_nodebug": "No Debug", + "edt_conf_enum_dl_statechange": "State Change", + "edt_conf_enum_dl_verbose": "Verbose", + "edt_conf_enum_dl_verbose1": "Verbosity level 1", + "edt_conf_enum_dl_verbose2": "Verbosity level 2", + "edt_conf_enum_dl_verbose3": "Verbosity level 3", + "edt_conf_enum_effect": "Effect", + "edt_conf_enum_gbr": "GBR", + "edt_conf_enum_grb": "GRB", + "edt_conf_enum_hsv": "HSV", + "edt_conf_enum_left_right": "Left to right", + "edt_conf_enum_linear": "Linear", + "edt_conf_enum_logdebug": "Debug", + "edt_conf_enum_logsilent": "Silent", + "edt_conf_enum_logverbose": "Verbose", + "edt_conf_enum_logwarn": "Warning", + "edt_conf_enum_multicolor_mean": "Multicolor", + "edt_conf_enum_rbg": "RBG", + "edt_conf_enum_rgb": "RGB", + "edt_conf_enum_right_left": "Right to left", + "edt_conf_enum_top_down": "Top down", + "edt_conf_enum_transeffect_smooth": "Smooth", + "edt_conf_enum_transeffect_sudden": "Sudden", + "edt_conf_enum_unicolor_mean": "Unicolor", + "edt_conf_fbs_heading_title": "Flatbuffers Server", + "edt_conf_fbs_timeout_expl": "If no data are received for the given period, the component will be (soft) disabled.", + "edt_conf_fbs_timeout_title": "Timeout", + "edt_conf_fg_device_title": "Device", + "edt_conf_fg_display_expl": "Select which desktop should be captured (multi monitor setup)", + "edt_conf_fg_display_title": "Display", + "edt_conf_fg_frequency_Hz_expl": "How fast new pictures are captured", + "edt_conf_fg_frequency_Hz_title": "Capture frequency", + "edt_conf_fg_heading_title": "Platform Capture", + "edt_conf_fg_height_expl": "Shrink picture to this height, as raw picture needs a lot of cpu time.", + "edt_conf_fg_height_title": "Height", + "edt_conf_fg_pixelDecimation_expl": "Reduce picture size (factor) based on original size. A factor of 1 means no change", + "edt_conf_fg_pixelDecimation_title": "Picture decimation", + "edt_conf_fg_type_expl": "Type of platform capture, default is 'auto'", + "edt_conf_fg_type_title": "Type", + "edt_conf_fg_width_expl": "Shrink picture to this width, as raw picture needs a lot of cpu time.", + "edt_conf_fg_width_title": "Width", + "edt_conf_fge_color_expl": "If type is \"Color\", set a color of your choice here.", + "edt_conf_fge_color_title": "Color", + "edt_conf_fge_duration_ms_expl": "Duration of Effect/Color during Hyperion startup.", + "edt_conf_fge_duration_ms_title": "Duration", + "edt_conf_fge_effect_expl": "If type is \"Effect\", select an effect of your choice (Also self created effects).", + "edt_conf_fge_effect_title": "Effect", + "edt_conf_fge_heading_title": "Boot Effect/Color", + "edt_conf_fge_type_expl": "Choose between a color or effect.", + "edt_conf_fge_type_title": "Type", + "edt_conf_fw_flat_expl": "One flatbuffer target per line. Contains IP:PORT (Example: 127.0.0.1:19401)", + "edt_conf_fw_flat_itemtitle": "flatbuffer target", + "edt_conf_fw_flat_title": "List of flatbuffer clients", + "edt_conf_fw_heading_title": "Forwarder", + "edt_conf_fw_json_expl": "One json target per line. Contains IP:PORT (Example: 127.0.0.1:19446)", + "edt_conf_fw_json_itemtitle": "Json target", + "edt_conf_fw_json_title": "List of json clients", + "edt_conf_gen_heading_title": "General Settings", + "edt_conf_gen_name_expl": "A user defined name which is used to detect Hyperion. (Helpful with more than one Hyperion instance)", + "edt_conf_gen_name_title": "Configuration name", + "edt_conf_gen_showOptHelp_expl": "Show all available explanations in each section. Highly recommended for beginners!", + "edt_conf_gen_showOptHelp_title": "Show explanations", + "edt_conf_gen_watchedVersionBranch_expl": "Selects which version branch should be used for searching new Hyperion versions.", + "edt_conf_gen_watchedVersionBranch_title": "Watched version branch", + "edt_conf_general_enable_expl": "If checked, the component is enabled.", + "edt_conf_general_enable_title": "Activate", + "edt_conf_general_port_expl": "The port that is used.", + "edt_conf_general_port_title": "Port", + "edt_conf_general_priority_expl": "The priority of this component", + "edt_conf_general_priority_title": "Priority channel", + "edt_conf_instC_systemEnable_expl": "Enables the platform capture for this led hardware instance", + "edt_conf_instC_systemEnable_title": "Enable platform capture", + "edt_conf_instC_v4lEnable_expl": "Enables the USB capture for this led hardware instance", + "edt_conf_instC_v4lEnable_title": "Enable USB capture", + "edt_conf_instCapture_heading_title": "Instance Capture", + "edt_conf_js_heading_title": "JSON Server", + "edt_conf_log_heading_title": "Logging", + "edt_conf_log_level_expl": "Depending on loglevel you see less or more messages in your log.", + "edt_conf_log_level_title": "Log-Level", + "edt_conf_net_apiAuth_expl": "Enforce all applications that use the Hyperion API to authenticate themself against Hyperion (Exception see \"Local API Authentication\"). Higher security, as you control the access and revoke it at any time.", + "edt_conf_net_apiAuth_title": "API Authentication", + "edt_conf_net_heading_title": "Network", + "edt_conf_net_internetAccessAPI_expl": "Allow access to the Hyperion API/Webinterface from the internet, disable for higher security.", + "edt_conf_net_internetAccessAPI_title": "Internet API Access", + "edt_conf_net_ipWhitelist_expl": "You can whitelist IP addresses instead allowing all connections from internet to connect to the Hyperion API/Webinterface.", + "edt_conf_net_ipWhitelist_title": "Whitelisted IP's", + "edt_conf_net_ip_itemtitle": "IP", + "edt_conf_net_localAdminAuth_expl": "When enabled, administration access from your local network needs a password.", + "edt_conf_net_localAdminAuth_title": "Local Admin API Authentication", + "edt_conf_net_localApiAuth_expl": "When enabled, connections from your home network needs to authenticate themself against Hyperion with a token.", + "edt_conf_net_localApiAuth_title": "Local API Authentication", + "edt_conf_net_restirctedInternetAccessAPI_expl": "You can restrict the access to the API through the internet to certain IP's.", + "edt_conf_net_restirctedInternetAccessAPI_title": "Restrict to IP's", + "edt_conf_pbs_heading_title": "Protocol Buffers Server", + "edt_conf_pbs_timeout_expl": "If no data are received for the given period, the component will be (soft) disabled.", + "edt_conf_pbs_timeout_title": "Timeout", + "edt_conf_smooth_continuousOutput_expl": "Update the leds even there is no changed picture.", + "edt_conf_smooth_continuousOutput_title": "Continuous output", + "edt_conf_smooth_heading_title": "Smoothing", + "edt_conf_smooth_time_ms_expl": "How long should the smoothing gather pictures?", + "edt_conf_smooth_time_ms_title": "Time", + "edt_conf_smooth_type_expl": "Type of smoothing.", + "edt_conf_smooth_type_title": "Type", + "edt_conf_smooth_updateDelay_expl": "Delay the output in case your ambient light is faster than your TV.", + "edt_conf_smooth_updateDelay_title": "Update delay", + "edt_conf_smooth_updateFrequency_expl": "The output speed to your led controller.", + "edt_conf_smooth_updateFrequency_title": "Update frequency", + "edt_conf_v4l2_blueSignalThreshold_expl": "Darkens low blue values (recognized as black)", + "edt_conf_v4l2_blueSignalThreshold_title": "Blue signal threshold", + "edt_conf_v4l2_cecDetection_expl": "If enabled, usb capture will be temporarily disabled when CEC standby event received from HDMI bus.", + "edt_conf_v4l2_cecDetection_title": "CEC detection", + "edt_conf_v4l2_cropBottom_expl": "Count of pixels on the bottom side that are removed from the picture.", + "edt_conf_v4l2_cropBottom_title": "Crop bottom", + "edt_conf_v4l2_cropLeft_expl": "Count of pixels on the left side that are removed from the picture.", + "edt_conf_v4l2_cropLeft_title": "Crop left", + "edt_conf_v4l2_cropRight_expl": "Count of pixels on the right side that are removed from the picture.", + "edt_conf_v4l2_cropRight_title": "Crop right", + "edt_conf_v4l2_cropTop_expl": "Count of pixels on the top side that are removed from the picture.", + "edt_conf_v4l2_cropTop_title": "Crop top", + "edt_conf_v4l2_device_expl": "The path to the USB capture interface. Set to 'Automatic' for automatic detection. Example: '/dev/video0'", + "edt_conf_v4l2_device_title": "Device", + "edt_conf_v4l2_framerate_expl": "The supported frames per second of the active device", + "edt_conf_v4l2_framerate_title": "Frames per second", + "edt_conf_v4l2_greenSignalThreshold_expl": "Darkens low green values (recognized as black)", + "edt_conf_v4l2_greenSignalThreshold_title": "Green signal threshold", + "edt_conf_v4l2_heading_title": "USB Capture", + "edt_conf_v4l2_input_expl": "Select the video input of your device. 'Automatic' keeps the value chosen by the v4l2 interface.", + "edt_conf_v4l2_input_title": "Input", + "edt_conf_v4l2_redSignalThreshold_expl": "Darkens low red values (recognized as black)", + "edt_conf_v4l2_redSignalThreshold_title": "Red signal threshold", + "edt_conf_v4l2_resolution_expl": "A list of supported resolutions of the active device", + "edt_conf_v4l2_resolution_title": "Device Resolution", + "edt_conf_v4l2_sDHOffsetMax_expl": "Signal detection area horizontal maximum (0.0-1.0)", + "edt_conf_v4l2_sDHOffsetMax_title": "Signal Detection HMax", + "edt_conf_v4l2_sDHOffsetMin_expl": "Signal detection area horizontal minimum (0.0-1.0)", + "edt_conf_v4l2_sDHOffsetMin_title": "Signal Detection HMin", + "edt_conf_v4l2_sDVOffsetMax_expl": "Signal detection area vertical maximum (0.0-1.0)", + "edt_conf_v4l2_sDVOffsetMax_title": "Signal Detection VMax", + "edt_conf_v4l2_sDVOffsetMin_expl": "Signal detection area vertical minimum (0.0-1.0)", + "edt_conf_v4l2_sDVOffsetMin_title": "Signal Detection VMin", + "edt_conf_v4l2_signalDetection_expl": "If enabled, usb capture will be temporarily disabled when no signal was found. This will happen when the picture fall below the threshold value for a period of 4 seconds.", + "edt_conf_v4l2_signalDetection_title": "Signal detection", + "edt_conf_v4l2_sizeDecimation_expl": "The factor of size decimation. 1 means no decimation (keep original size)", + "edt_conf_v4l2_sizeDecimation_title": "Size decimation", + "edt_conf_v4l2_standard_expl": "Select the video standard for your region. 'Automatic' keeps the value chosen by the v4l2 interface.", + "edt_conf_v4l2_standard_title": "Video standard", + "edt_conf_webc_crtPath_expl": "Path to the certification file (format should be PEM)", + "edt_conf_webc_crtPath_title": "Certificate path", + "edt_conf_webc_docroot_expl": "Local webinterface root path (just for webui developer)", + "edt_conf_webc_docroot_title": "Document Root", + "edt_conf_webc_heading_title": "Web Configuration", + "edt_conf_webc_keyPassPhrase_expl": "Optional: The key might be protected with a password", + "edt_conf_webc_keyPassPhrase_title": "Key password", + "edt_conf_webc_keyPath_expl": "Path to the key file (format PEM, encrypted with RSA)", + "edt_conf_webc_keyPath_title": "Private key path", + "edt_conf_webc_sslport_expl": "Port oft the HTTPS-Webserver", + "edt_conf_webc_sslport_title": "HTTPS Port", + "edt_dev_auth_key_title": "Authentication Token", + "edt_dev_enum_sub_min_cool_adjust": "Subtract cool white", + "edt_dev_enum_sub_min_warm_adjust": "Subtract warm white", + "edt_dev_enum_subtract_minimum": "Substract minimum", + "edt_dev_enum_white_off": "White off", + "edt_dev_general_colorOrder_title": "RGB byte order", + "edt_dev_general_hardwareLedCount_title": "Hardware LED count", + "edt_dev_general_heading_title": "General Settings", + "edt_dev_general_name_title": "Configuration name", + "edt_dev_general_rewriteTime_title": "Refresh time", + "edt_dev_spec_FCledToOn_title": "Fadecandy LED set to on", + "edt_dev_spec_FCmanualControl_title": "Manual control of fadecandy LED", + "edt_dev_spec_FCsetConfig_title": "Set fadecandy configuration", + "edt_dev_spec_LBap102Mode_title": "LightBerry APA102 Mode", + "edt_dev_spec_PBFiFo_title": "Pi-Blaster FiFo", + "edt_dev_spec_baudrate_title": "Baudrate", + "edt_dev_spec_blackLightsTimeout_title": "Signal detection timeout on black", + "edt_dev_spec_brightnessFactor_title": "Brightness factor", + "edt_dev_spec_brightnessMax_title": "Brightness maximum", + "edt_dev_spec_brightnessMin_title": "Brightness minimum", + "edt_dev_spec_brightnessThreshold_title": "Signal detection brightness minimum", + "edt_dev_spec_chanperfixture_title": "Channels per Fixture", + "edt_dev_spec_cid_title": "CID", + "edt_dev_spec_clientKey_title": "Clientkey", + "edt_dev_spec_colorComponent_title": "Colour component", + "edt_dev_spec_debugLevel_title": "Streamer Connection Debug Level", + "edt_dev_spec_debugStreamer_title": "Streamer Debug", + "edt_dev_spec_delayAfterConnect_title": "Delay after connect", + "edt_dev_spec_dithering_title": "Dithering", + "edt_dev_spec_dmaNumber_title": "DMA channel", + "edt_dev_spec_gamma_title": "Gamma", + "edt_dev_spec_gpioBcm_title": "GPIO Pin", + "edt_dev_spec_gpioMap_title": "GPIO mapping", + "edt_dev_spec_gpioNumber_title": "GPIO number", + "edt_dev_spec_groupId_title": "Group ID", + "edt_dev_spec_header_title": "Specific Settings", + "edt_dev_spec_interpolation_title": "Interpolation", + "edt_dev_spec_intervall_title": "Interval", + "edt_dev_spec_invert_title": "Invert signal", + "edt_dev_spec_latchtime_title": "Latch time", + "edt_dev_spec_ledIndex_title": "LED index", + "edt_dev_spec_ledType_title": "LED Type", + "edt_dev_spec_lightid_itemtitle": "ID", + "edt_dev_spec_lightid_title": "Light ID(s)", + "edt_dev_spec_lights_itemtitle": "Light", + "edt_dev_spec_lights_name": "Name", + "edt_dev_spec_lights_title": "Light(s)", + "edt_dev_spec_maxPacket_title": "Max packet", + "edt_dev_spec_maximumLedCount_title": "Maximum LED count", + "edt_dev_spec_multicastGroup_title": "Multicast group", + "edt_dev_spec_networkDeviceName_title": "Network devicename", + "edt_dev_spec_networkDevicePort_title": "Port", + "edt_dev_spec_numberOfLeds_title": "Number of LEDs", + "edt_dev_spec_orbIds_title": "Orb ID(s)", + "edt_dev_spec_order_left_right_title": "2.", + "edt_dev_spec_order_top_down_title": "1.", + "edt_dev_spec_outputPath_title": "Output path", + "edt_dev_spec_panel_start_position": "Start panel [0-max panels]", + "edt_dev_spec_panelorganisation_title": "Panel numbering sequence", + "edt_dev_spec_pid_title": "PID", + "edt_dev_spec_port_title": "Port", + "edt_dev_spec_printTimeStamp_title": "Add timestamp", + "edt_dev_spec_pwmChannel_title": "PWM channel", + "edt_dev_spec_restoreOriginalState_title": "Restore lights' original state when disabled", + "edt_dev_spec_serial_title": "Serial number", + "edt_dev_spec_spipath_title": "SPI path", + "edt_dev_spec_sslHSTimeoutMax_title": "Streamer handshake timeout maximum", + "edt_dev_spec_sslHSTimeoutMin_title": "Streamer handshake timeout minimum", + "edt_dev_spec_sslReadTimeout_title": "Streamer read timeout", + "edt_dev_spec_switchOffOnBlack_title": "Switch off on black", + "edt_dev_spec_switchOffOnbelowMinBrightness_title": "Switch-off, below minimum", + "edt_dev_spec_targetIpHost_title": "Target IP/Hostname", + "edt_dev_spec_targetIp_title": "Target IP", + "edt_dev_spec_transeffect_title": "Transition effect", + "edt_dev_spec_transistionTimeExtra_title": "Extra time darkness", + "edt_dev_spec_transistionTime_title": "Transition time", + "edt_dev_spec_uid_title": "UID", + "edt_dev_spec_universe_title": "Universe", + "edt_dev_spec_useEntertainmentAPI_title": "Use Hue Entertainment API", + "edt_dev_spec_useOrbSmoothing_title": "Use orb smoothing", + "edt_dev_spec_useRgbwProtocol_title": "Use RGBW protocol", + "edt_dev_spec_username_title": "Username", + "edt_dev_spec_verbose_title": "Log all Hue commands", + "edt_dev_spec_vid_title": "VID", + "edt_dev_spec_whiteLedAlgor_title": "White LED algorithm", + "edt_dev_spec_whitepoint_title": "Whitepoint", + "edt_eff_alarmcolor": "Alarm color", + "edt_eff_backgroundColor": "Background Color", + "edt_eff_basecolorchange": "Base color change", + "edt_eff_basecolorchangerate": "BC change rate", + "edt_eff_basecolorrangeleft": "BC range left", + "edt_eff_basecolorrangeright": "BC range right", + "edt_eff_blobcount": "Blob count", + "edt_eff_brightness": "Brightness", + "edt_eff_candle_header": "Candle", + "edt_eff_candle_header_desc": "Shimmering candles", + "edt_eff_centerx": "Center X-Axis", + "edt_eff_centery": "Center Y-Axis", + "edt_eff_collision_header": "colour collision", + "edt_eff_collision_header_desc": "Two colour projectiles are sent from random positions and collide with each other", + "edt_eff_color": "Color", + "edt_eff_colorHour": "Color hour", + "edt_eff_colorMarker": "Marker color", + "edt_eff_colorMinute": "Color minute", + "edt_eff_colorSecond": "Color second", + "edt_eff_colorcount": "Color length", + "edt_eff_colorend": "Color end", + "edt_eff_colorendtime": "Time to hold start color", + "edt_eff_colorevel": "Color level", + "edt_eff_colorone": "Color one", + "edt_eff_colorrandom": "Random color", + "edt_eff_colorshift": "Color Shift", + "edt_eff_colorstart": "Color start", + "edt_eff_colorstarttime": "Time to hold end color", + "edt_eff_colortwo": "Color two", + "edt_eff_count": "Count", + "edt_eff_countries": "Countries", + "edt_eff_customColor": "Custom Color", + "edt_eff_enableSecondSwirl": "Second Swirl", + "edt_eff_enableshutdown": "Real shutdown", + "edt_eff_enum_all": "All", + "edt_eff_enum_all-together": "All together", + "edt_eff_enum_list": "LED List", + "edt_eff_explodeRadius": "Detonation Range ", + "edt_eff_fade_header": "Fade", + "edt_eff_fade_header_desc": "Fades between colors", + "edt_eff_fadefactor": "Fade factor", + "edt_eff_fadeintime": "Fade in time", + "edt_eff_fadeouttime": "Fade out time", + "edt_eff_flag_header": "Flags", + "edt_eff_flag_header_desc": "Let your leds shine bright in the colours of your country. You can select more than one flag and they will change based on the interval time.", + "edt_eff_fps": "Frames per seconds", + "edt_eff_frequency": "Frequency", + "edt_eff_gif_header": "GIF's", + "edt_eff_gif_header_desc": "This effect plays .gif files, provide a simple video like loop as effect.", + "edt_eff_height": "Height", + "edt_eff_huechange": "Color change", + "edt_eff_image": "Image file", + "edt_eff_interval": "Interval", + "edt_eff_knightrider_header": "Knight Rider", + "edt_eff_knightrider_header_desc": "K.I.T.T is back! The front-scanner of the well known car, this time not just in red.", + "edt_eff_ledlist": "Led List", + "edt_eff_ledtest_header": "Led Test", + "edt_eff_ledtest_header_desc": "Rotating output: Red, Blue, Green, White, Black", + "edt_eff_length": "Length", + "edt_eff_lightclock_header": "Light Clock", + "edt_eff_lightclock_header_desc": "A real clock as light! Adjsut the colors of hours, minute, seconds. A optional 3/6/9/12 o'clock marker is also available. In case the clock is wrong, you need to check your system clock.", + "edt_eff_maintain_end_color": "Keep endcolor", + "edt_eff_margin": "Margin", + "edt_eff_markerDepth": "Marker depth", + "edt_eff_markerEnable": "Show Marker", + "edt_eff_markerWidth": "Marker width", + "edt_eff_max_len": "Maximal length", + "edt_eff_min_len": "Minimal length", + "edt_eff_moodblobs_header": "Mood Blobs", + "edt_eff_moodblobs_header_desc": "Relax at the evening with slow moving and color changing blobs.", + "edt_eff_offset": "Offset", + "edt_eff_pacman_header": "Pac-Man", + "edt_eff_pacman_header_desc": "Small hungry and yellow. Who will survive?", + "edt_eff_plasma_header": "Plasma", + "edt_eff_plasma_header_desc": "Color distortion in different directions", + "edt_eff_police_header": "Police", + "edt_eff_police_header_desc": "Lights like a police car in action", + "edt_eff_postcolor": "Post color", + "edt_eff_rainbowmood_header": "Rainbow Mood", + "edt_eff_rainbowmood_header_desc": "All leds rainbow mood", + "edt_eff_randomCenter": "Random Center", + "edt_eff_random_header": "Random", + "edt_eff_random_header_desc": "Pixel Dot, dot, dot...", + "edt_eff_repeat": "Repeat", + "edt_eff_repeatcount": "Repeat count", + "edt_eff_reverseRandomTime": "Reverse every", + "edt_eff_reversedirection": "Reverse direction", + "edt_eff_rotationtime": "Rotation time", + "edt_eff_saturation": "Saturation", + "edt_eff_showseconds": "Show seconds", + "edt_eff_sleeptime": "Sleep time", + "edt_eff_smooth_custom": "Enable smoothing", + "edt_eff_smooth_time_ms": "Smoothing time", + "edt_eff_smooth_updateFrequency": "Smoothing update frequency", + "edt_eff_snake_header": "Snake", + "edt_eff_snake_header_desc": "Where is something to eat?", + "edt_eff_sparks_header": "Sparks", + "edt_eff_sparks_header_desc": "Star-Sparking, choose between a static color or random. You could also adjust brightness, staturation and speed.", + "edt_eff_speed": "Speed", + "edt_eff_swirl_header": "Color Swirl", + "edt_eff_swirl_header_desc": "A swirl with custom colors. Colors are even spread to 360°, in between colors shifts will be calcualted. Additional you can add a second swirl on top, be aware that you need partly transparency! Hint: A reapeat of the same color results in a \"hugher\" color area and a reduced color shift area.", + "edt_eff_systemshutdown_header": "System Shutdown", + "edt_eff_systemshutdown_header_desc": "A short animation with probably a real system shutdown", + "edt_eff_traces_header": "Color Traces", + "edt_eff_traces_header_desc": "Requires redesign", + "edt_eff_trails_header": "Falling stars", + "edt_eff_trails_header_desc": "Colored stars that fall from top to bottom", + "edt_eff_waves_header": "Waves", + "edt_eff_waves_header_desc": "Waves of color! Choose your colors, rotation time, direction reverse and more.", + "edt_eff_whichleds": "Which Leds", + "edt_eff_whitelevel": "White level", + "edt_eff_x-mas_header": "X-Mas", + "edt_eff_x-mas_header_desc": "Touch of christmas", + "edt_msg_button_add_row_title": "Add $1", + "edt_msg_button_collapse": "Collapse", + "edt_msg_button_delete_all": "All", + "edt_msg_button_delete_all_title": "Delete All", + "edt_msg_button_delete_last": "Last $1", + "edt_msg_button_delete_last_title": "Delete Last $1", + "edt_msg_button_delete_row_title": "Delete $1", + "edt_msg_button_delete_row_title_short": "Delete", + "edt_msg_button_expand": "Expand", + "edt_msg_button_move_down_title": "Move down", + "edt_msg_button_move_up_title": "Move up", + "edt_msg_error_additionalItems": "No additional items allowed in this array", + "edt_msg_error_additional_properties": "No additional properties allowed, but property $1 is set", + "edt_msg_error_anyOf": "Value must validate against at least one of the provided schemas", + "edt_msg_error_dependency": "Must have property $1", + "edt_msg_error_disallow": "Value must not be of type $1", + "edt_msg_error_disallow_union": "Value must not be one of the provided disallowed types", + "edt_msg_error_enum": "Value must be one of the enumerated values", + "edt_msg_error_maxItems": "Value must have at most $1 items", + "edt_msg_error_maxLength": "Value must be at most $1 characters long", + "edt_msg_error_maxProperties": "Object must have at most $1 properties", + "edt_msg_error_maximum_excl": "Value must be less than $1", + "edt_msg_error_maximum_incl": "Value must be at most $1", + "edt_msg_error_minItems": "Value must have at least $1 items", + "edt_msg_error_minLength": "Value must be at least $1 characters long", + "edt_msg_error_minProperties": "Object must have at least $1 properties", + "edt_msg_error_minimum_excl": "Value must be greater than $1", + "edt_msg_error_minimum_incl": "Value must be at least $1", + "edt_msg_error_multipleOf": "Value must be a multiple of $1", + "edt_msg_error_not": "Value must not validate against the provided schema", + "edt_msg_error_notempty": "Value required", + "edt_msg_error_notset": "Property must be set", + "edt_msg_error_oneOf": "Value must validate against exactly one of the provided schemas. It currently validates against $1 of the schemas.", + "edt_msg_error_pattern": "Value must match the pattern", + "edt_msg_error_required": "Object is missing the required property '$1'", + "edt_msg_error_type": "Value must be of type $1", + "edt_msg_error_type_union": "Value must be one of the provided types", + "edt_msg_error_uniqueItems": "Array must have unique items", + "effectsconfigurator_button_conttest": "Continuous test", + "effectsconfigurator_button_deleffect": "Delete Effect", + "effectsconfigurator_button_editeffect": "Load Effect", + "effectsconfigurator_button_saveeffect": "Save Effect", + "effectsconfigurator_button_starttest": "Start test", + "effectsconfigurator_button_stoptest": "Stop test", + "effectsconfigurator_editdeleff": "Delete/Load Effect", + "effectsconfigurator_label_chooseeff": "Choose Template", + "effectsconfigurator_label_effectname": "Effect name", + "effectsconfigurator_label_intro": "Create out of the base effects new effects that are tuned to your liking. Depending on Effect there are options like color, speed, direction and more available.", + "general_access_advanced": "Advanced", + "general_access_default": "Default", + "general_access_expert": "Expert", + "general_btn_back": "Back", + "general_btn_cancel": "Cancel", + "general_btn_continue": "Continue", + "general_btn_delete": "Delete", + "general_btn_denyAccess": "Deny Access", + "general_btn_grantAccess": "Grant Access", + "general_btn_iswitch": "Switch", + "general_btn_next": "Next", + "general_btn_off": "Off", + "general_btn_ok": "OK", + "general_btn_on": "On", + "general_btn_rename": "Rename", + "general_btn_restarthyperion": "Restart Hyperion", + "general_btn_save": "Save", + "general_btn_saveandreload": "Save and reload", + "general_btn_saverestart": "Save and restart", + "general_btn_start": "Start", + "general_btn_stop": "Stop", + "general_btn_yes": "Yes", + "general_button_savesettings": "Save settings", + "general_chars_needed": "more characters needed", + "general_col_blue": "blue", + "general_col_green": "green", + "general_col_red": "red", + "general_comp_BLACKBORDER": "Blackbar Detection", + "general_comp_BOBLIGHTSERVER": "Boblight Server", + "general_comp_FLATBUFSERVER": "Flatbuffers Server", + "general_comp_FORWARDER": "Forwarder", + "general_comp_GRABBER": "Platform Capture", + "general_comp_LEDDEVICE": "LED device", + "general_comp_PROTOSERVER": "Protocol Buffers Server", + "general_comp_SMOOTHING": "Smoothing", + "general_comp_V4L": "USB Capture", + "general_country_de": "Germany", + "general_country_es": "Spain", + "general_country_fr": "France", + "general_country_it": "Italy", + "general_country_nl": "Netherlands", + "general_country_uk": "United Kingdom", + "general_country_us": "United States", + "general_speech_cs": "Czech", + "general_speech_de": "German", + "general_speech_en": "English", + "general_speech_es": "Spanish", + "general_speech_fr": "French", + "general_speech_it": "Italian", + "general_speech_nl": "Dutch", + "general_speech_pl": "Polish", + "general_speech_ro": "Romanian", + "general_speech_sv": "Swedish", + "general_speech_tr": "Turkish", + "general_speech_vi": "Vietnamese", + "general_webui_title": "Hyperion - Web Configuration", + "general_wiki_moreto": "More informations to \"$1\" at our Wiki", + "infoDialog_checklist_title": "Checklist!", + "infoDialog_effconf_created_text": "The effect \"$1\" has been created successfully!", + "infoDialog_effconf_deleted_text": "The effect \"$1\" has been deleted successfully!", + "infoDialog_general_error_title": "Error", + "infoDialog_general_success_title": "Success", + "infoDialog_general_warning_title": "Warning", + "infoDialog_import_comperror_text": "Sad! Your browser doesn't support a import. Please try again with another browser.", + "infoDialog_import_confirm_text": "Are you sure to import \"$1\"? This process can't be reverted!", + "infoDialog_import_confirm_title": "Confirm import", + "infoDialog_import_hyperror_text": "The selected configuration file \"$1\" can't be imported. It's not compatible with Hyperion 2.0 and higher!", + "infoDialog_import_jsonerror_text": "The selected configuration file \"$1\" is no .json file or it's corrupted. Error message: ($2)", + "infoDialog_wizrgb_text": "Your RGB Byte Order is already well adjusted.", + "infoDialog_writeconf_error_text": "Saving your configuration failed.", + "infoDialog_writeimage_error_text": "The selected file \"$1\" is no image file or it's corrupted! Please select another image file.", + "info_404": "The page you requested is not available!", + "info_conlost_label_autorecon": "We reconnect again after Hyperion is available.", + "info_conlost_label_autorefresh": "This page will be automatically refreshed.", + "info_conlost_label_reason": "Possible reasons:", + "info_conlost_label_reason1": "- Bad WLAN connection", + "info_conlost_label_reason2": "- You perform an update", + "info_conlost_label_reason3": "- Hyperion isn't running", + "info_conlost_label_reload": "Auto reconnect stopped - limit exceeded, please refresh page or click me.", + "info_conlost_label_title": "Lost connection to Hyperion service!", + "info_restart_contus": "If you still hang around here after 20 seconds and you have no clue why please open a new topic at our support forum...", + "info_restart_contusa": "...with your last steps. Thank you!", + "info_restart_rightback": "Hyperion will be right back immediately!", + "info_restart_title": "Restarts currently...", + "main_ledsim_btn_togglelednumber": "LED numbers", + "main_ledsim_btn_toggleleds": "Show LEDs", + "main_ledsim_btn_togglelivevideo": "Live video", + "main_ledsim_text": "Live visualization of led colors and optional the current video stream of your capture device.", + "main_ledsim_title": "LED Visualization", + "main_menu_about_token": "About Hyperion", + "main_menu_colors_conf_token": "Image Processing", + "main_menu_configuration_token": "Configuration", + "main_menu_dashboard_token": "Dashboard", + "main_menu_effect_conf_token": "Effects", + "main_menu_effectsconfigurator_token": "Effects Configurator", + "main_menu_general_conf_token": "General", + "main_menu_grabber_conf_token": "Capturing Hardware", + "main_menu_input_selection_token": "Input Selection", + "main_menu_leds_conf_token": "LED Hardware", + "main_menu_logging_token": "Log", + "main_menu_network_conf_token": "Network Services", + "main_menu_remotecontrol_token": "Remote Control", + "main_menu_support_token": "Support", + "main_menu_system_token": "System", + "main_menu_update_token": "Update", + "main_menu_webconfig_token": "Web configuration", + "remote_adjustment_intro": "Modifiy color/brightness/compensation during runtime. $1", + "remote_adjustment_label": "Color adjustment", + "remote_color_button_reset": "Reset Color/Effect", + "remote_color_intro": "Set an effect or color. Also your self created effects are listed (if available). $1", + "remote_color_label": "Colors/Effects", + "remote_color_label_color": "Color:", + "remote_components_intro": "Enable and disable components of Hyperion during runtime. $1", + "remote_components_label": "Components control", + "remote_effects_label_effects": "Effect:", + "remote_effects_label_picture": "Picture:", + "remote_input_clearall": "Clear all Effects/Colors", + "remote_input_duration": "Duration:", + "remote_input_intro": "Hyperion uses a priority system to select a source. Everything you set has a priority (Effect/Color/Platform capture/USB capture and network sources). By default, Hyperion select sources depending on priority (lowest number reflects the current active source). Now you have the opportunity to select sources on your own. $1", + "remote_input_ip": "IP:", + "remote_input_label": "Source Selection", + "remote_input_label_autoselect": "Auto Selection", + "remote_input_origin": "Origin", + "remote_input_owner": "Type", + "remote_input_priority": "Priority", + "remote_input_setsource_btn": "Select Source", + "remote_input_sourceactiv_btn": "Source active", + "remote_input_status": "Status/Action", + "remote_losthint": "Note: All changes are lost after a restart.", + "remote_maptype_intro": "Usually the led layout defines which LED covers a specific picture area, you could change it here: $1.", + "remote_maptype_label": "Mapping type", + "remote_maptype_label_multicolor_mean": "Multicolor", + "remote_maptype_label_unicolor_mean": "Unicolor", + "remote_optgroup_syseffets": "Provided Effects", + "remote_optgroup_usreffets": "User Effects", + "remote_videoMode_2D": "2D", + "remote_videoMode_3DSBS": "3DSBS", + "remote_videoMode_3DTAB": "3DTAB", + "remote_videoMode_intro": "Switch between different video modes to enjoy 3D movies! Supported are all capture devices. $1", + "remote_videoMode_label": "Video mode", + "support_label_affinstr1": "Click on the appropriate link of your country", + "support_label_affinstr2": "Everything you buy (doesn't matter what) we get a small fee based on your turnover", + "support_label_affinstr3": "You ALWAYS pay the same price, there is absolutely no difference. Try it out!", + "support_label_btctext": "Address:", + "support_label_donate": "Donate or use our affiliate links", + "support_label_donationpp": "Donation:", + "support_label_fbtext": "Share our Hyperion Facebook page and get a notice when new updates are released", + "support_label_forumtext": "Showcases, discussions, help and more", + "support_label_forumtitle": "Forum", + "support_label_ggtext": "Circle us on Google +!", + "support_label_ghtext": "Visit us on Github", + "support_label_igtext": "Visit us on Instagram to watch the latest Hyperion pictures!", + "support_label_intro": "Hyperion is a free non-profit software. A small team is working on it and this is why we need your steady support.", + "support_label_spreadtheword": "Spread the word", + "support_label_title": "Support Hyperion", + "support_label_twtext": "Share and follow on Twitter, be always up to date with latest post about the Hyperion development", + "support_label_webpagetext": "Home of Hyperion", + "support_label_webpagetitle": "Webpage", + "support_label_webrestitle": "Information and help resources", + "support_label_wikitext": "The A to Z source for almost everything Hyperion related", + "support_label_wikititle": "Wiki", + "support_label_yttext": "Bored from pictures? Check out our Youtube channel!", + "update_button_changelog": "Full changelog", + "update_button_install": "Install", + "update_error_getting_versions": "We had trouble determining the latest available Version.", + "update_label_description": "Description:", + "update_label_intro": "Overview about all available Hyperion versions. On top you could update or downgrade your version of Hyperion whenever you want. Sorted from newest to oldest", + "update_label_type": "Type:", + "update_no_updates_for_branch": "No updates for selected version channel.", + "update_versreminder": "Your version: $1", + "wiz_atmoorb_desc2": "Now choose which Orbs should be added. The position assigns the lamp to a specific position on your \"picture\". Disabled lamps won't be added. To identify single lamps press the button on the right.", + "wiz_atmoorb_intro1": "This wizards configures Hyperion for AtmoOrbs. Features are the AtmoOrb auto detection, setting each light to a specific position on your picture or disable it and optimise the Hyperion settings automatically! So in short: All you need are some clicks and you are done!", + "wiz_atmoorb_noLights": "No AtmoOrbs found! Please get the lights connected to the network or configure them mannually.", + "wiz_atmoorb_title": "AtmoOrb Wizard", + "wiz_cc_adjustgamma": "Gamma: What you have to do is, adjust gamma levels of each channel until you have the same perceived amount of each channel. Hint: Neutral is 1.0! For example, if your Grey is a bit reddish it means that you have to increase red gamma to reduce the amount of red (the more gamma, the less amount of color).", + "wiz_cc_adjustit": "Adjust your \"$1\", until your are fine with it. Take notice: The more you adjust away from the default value the color spectrum will be limited (Also for all colors in between). Depending on TV/LED color spectrum the results will vary.", + "wiz_cc_backlight": "Additional you could define a backlight to sort out \"bad colors\" on nearly dark areas or if you don't like the switch between color and off during watching. Additional you could define if there should be some color in it or just white. This is disabled during the state \"Off\" ,\"Color\" and \"Effect\".", + "wiz_cc_btn_stop": "Stop video", + "wiz_cc_btn_switchpic": "Switch picture", + "wiz_cc_chooseid": "Define a name for this color profile.", + "wiz_cc_intro1": "This wizard will guide you through your led calibration. If you are using Kodi, the calibration pictures and videos can be sent directly to it without further actions on your side. If not, you will need to download these files yourself and display them when the wizard needs you to adjust the setting.", + "wiz_cc_kodicon": "Kodi webserver found, proceed with Kodi support.", + "wiz_cc_kodidiscon": "Kodi webserver not found, proceed without Kodi support.", + "wiz_cc_kodidisconlink": "Download link pictures:", + "wiz_cc_kodimsg_start": "Test success - time to proceed!", + "wiz_cc_kodishould": "Kodi should show the following picture: $1", + "wiz_cc_kwebs": "Kodi webserver (IP:Port)", + "wiz_cc_lettvshow": "Let your TV show the following picture: $1", + "wiz_cc_lettvshowm": "Check this with the following pictures: $1", + "wiz_cc_link": "Click me!", + "wiz_cc_morethanone": "You have more than one profile, please choose the profile you want to calibrate.", + "wiz_cc_summary": "A conclusion of your settings. During video playback, you could change or test values again. If you are done, click on save.", + "wiz_cc_testintro": "Time for a real test!", + "wiz_cc_testintrok": "Push on a button below to start a test video.", + "wiz_cc_testintrowok": "Check out the following link to download test videos:", + "wiz_cc_title": "Colour calibration wizard", + "wiz_guideyou": "The $1 will guide you through the settings. Just press the button!", + "wiz_hue_blinkblue": "Let ID $1 light up blue", + "wiz_hue_clientkey": "Clientkey:", + "wiz_hue_create_user": "Create new User", + "wiz_hue_desc1": "It searches automatically for a hue bridge, in case it can't find one you need to provide the ip address and push the reload button on the right. Now you need a user id, if you don't have one create a new one.", + "wiz_hue_desc2": "Now choose which lamps should be added. The position assigns the lamp to a specific position on your \"picture\". Disabled lamps won't be added. To identify single lamps press the button on the right.", + "wiz_hue_e_clientkey_needed": "A clientkey that matches the username is required to use the entertainment API. Please enter an existing one or use the button below to create a new one.", + "wiz_hue_e_create_user": "Create new User and clientkey", + "wiz_hue_e_desc1": "It searches automatically for a hue bridge, in case it can't find one you need to provide the ip address and push the reload button on the right. Now you need a user id and the clientkey, if you don't have both, create a new one.", + "wiz_hue_e_desc2": "Now choose your entertainment group, which has all your lights inside for use with Hyperion.", + "wiz_hue_e_desc3": "Now you can choose in which position the respective lamp should be \"in the picture\". A preselection of the position was made based on the configured positions of the lights in the entertainment group. This is just a recommendation and can be customized as desired. You can therefore highlight them briefly by clicking on the right button to improve the selection.", + "wiz_hue_e_intro1": "This wizards configures Hyperion for the well known Philips Hue Entertainment system. Features are: Hue Bridge auto detection, user and clientkey creation, entertainment group selection, setting group lights to a specific position on your picture and optimise the Hyperion settings automatically! So in short: All you need are some clicks and you are done!", + "wiz_hue_e_noapisupport": "The Wizard has disabled entertainment API support and will continue in classic mode.", + "wiz_hue_e_noapisupport_hint": "The option \"Use Hue Entertainment API\" was unchecked.", + "wiz_hue_e_noegrpids": "No entertainment groups in this Hue bridge defined.", + "wiz_hue_e_nogrpids": "This Hue bridge has no groups defined, please create at least one before with the Hue Apps.", + "wiz_hue_e_title": "Philips Hue Entertainment Wizard", + "wiz_hue_e_use_group": "Use group", + "wiz_hue_e_use_groupid": "Use group ID $1", + "wiz_hue_failure_connection": "Timeout: Please press the bridge button within the period of 30 seconds", + "wiz_hue_failure_ip": "No Bridge found, please type in a valid ip", + "wiz_hue_failure_user": "User not found, create a new one with the button below or input a valid user id and press the \"reload\" symbol.", + "wiz_hue_intro1": "This wizards configures Hyperion for the well known Philips Hue system. Features are Hue Bridge auto detection, user creation, set each hue light to a specific position on your picture or disable it and tune the Hyperion settings automatically! So in short: All you need are some clicks and you are done!", + "wiz_hue_ip": "Hue Bridge IP:", + "wiz_hue_noids": "This Hue bridge has no bulbs/stripes, please pair them before with the Hue Apps", + "wiz_hue_press_link": "Please press link button on the Hue Bridge.", + "wiz_hue_searchb": "Searching for bridge...", + "wiz_hue_title": "Philips Hue Wizard", + "wiz_hue_username": "User ID:", + "wiz_identify": "Identify", + "wiz_identify_light": "Identify $1", + "wiz_ids_disabled": "Deactivated", + "wiz_ids_entire": "Whole picture", + "wiz_pos": "Position/State", + "wiz_rgb_expl": "The color dot switches every x seconds the color (red, green), at the same time your leds switch the color too. Answer the questions at the bottom to check/correct your byte order.", + "wiz_rgb_intro1": "This wizard will guide you through the finding process of the correct color order for your leds. Click on continue to begin.", + "wiz_rgb_intro2": "When do you need this wizard? Example: You set the color red, but you get green or blue. You could also use it for first configuration.", + "wiz_rgb_q": "Which color show your leds, when the color dot above shows...", + "wiz_rgb_qgend": "...green?", + "wiz_rgb_qrend": "...red?", + "wiz_rgb_switchevery": "Switch color every...", + "wiz_rgb_title": "RGB Byte Order Wizard", + "wiz_wizavail": "Wizard available", + "wiz_yeelight_desc2": "Now choose which lamps should be added. The position assigns the lamp to a specific position on your \"picture\". Disabled lamps won't be added. To identify single lamps press the button on the right.", + "wiz_yeelight_intro1": "This wizards configures Hyperion for the Yeelight system. Features are the Yeelighs' auto detection, setting each light to a specific position on your picture or disable it and tune the Hyperion settings automatically! So in short: All you need are some clicks and you are done!", + "wiz_yeelight_noLights": "No Yeelights found! Please get the lights connected to the network or configure them manually.", + "wiz_yeelight_title": "Yeelight Wizard", + "wiz_yeelight_unsupported": "Unsupported" +} \ No newline at end of file From e53760bcad1607bd6cbd92a9233f4703515bf020 Mon Sep 17 00:00:00 2001 From: Hyperion-Bot Date: Tue, 15 Sep 2020 23:02:28 +0200 Subject: [PATCH 4/7] Update en.json (POEditor.com) --- assets/webconfig/i18n/en.json | 68 +++++++++++++++++------------------ 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/assets/webconfig/i18n/en.json b/assets/webconfig/i18n/en.json index f02c59b6..47ac6882 100644 --- a/assets/webconfig/i18n/en.json +++ b/assets/webconfig/i18n/en.json @@ -22,8 +22,8 @@ "conf_colors_blackborder_intro": "Skip black bars wherever they are. Each mode use another detection algorithm which is tuned for special situations. Higher the threshold if it doesn't work for you.", "conf_colors_color_intro": "Create one or more calibration profiles, adjust each color, brightness, linearization and more.", "conf_colors_smoothing_intro": "Smoothing flattens color/brightness changes to reduce annoying distraction.", - "conf_effect_bgeff_intro": "Define a background effect/color, which is shown during Hyperion \"idle\". Sarts always with priority channel 255.", - "conf_effect_fgeff_intro": "Define a booteffect or color, which is shown during Hyperion startup for the defined duration.", + "conf_effect_bgeff_intro": "Define a background effect/color, which is shown during Hyperion \"idle\". Starts always with priority channel 255.", + "conf_effect_fgeff_intro": "Define a boot-effect or color, which is shown during Hyperion startup for the defined duration.", "conf_effect_path_intro": "Load effects from the defined paths. Additional you can disable single effects by name to hide them from all effect lists.", "conf_general_createInst_btn": "Create Instance", "conf_general_impexp_expbtn": "Export", @@ -53,7 +53,7 @@ "conf_leds_layout_button_updsim": "Update Preview", "conf_leds_layout_checkp1": "The black led is your first led, the first led is the point where you input your data signal.", "conf_leds_layout_checkp2": "The layout is always the front view of your TV, never the back view.", - "conf_leds_layout_checkp3": "Make sure the direction is right. The grey leds indicate led number 2 and 3 to visualize the data direction.", + "conf_leds_layout_checkp3": "Make sure the direction is right. The grey LEDs indicate LED number 2 and 3 to visualise the data direction.", "conf_leds_layout_checkp4": "Case Gap: To create a gap, ignore it first when you define Top/Bottom/Left/Right and set afterwards your gap length to remove a amount of leds. Modify the gap position until it matches.", "conf_leds_layout_cl_bottom": "Bottom", "conf_leds_layout_cl_bottomleft": "Bottom Left (Corner)", @@ -96,7 +96,7 @@ "conf_leds_layout_ma_vert": "Vertical", "conf_leds_layout_matrix": "Matrix Layout (LED Wall)", "conf_leds_layout_pbl": "Point Bottom Left", - "conf_leds_layout_pbr": "Point Botton Right", + "conf_leds_layout_pbr": "Point Bottom Right", "conf_leds_layout_peview": "LED Layout Preview", "conf_leds_layout_preview_l1": "This is your first led (input position)", "conf_leds_layout_preview_l2": "This visualizes the data direction (second/third led)", @@ -107,10 +107,10 @@ "conf_leds_layout_preview_totalleds": "Total LEDs: $1", "conf_leds_layout_ptl": "Point Top Left", "conf_leds_layout_ptlh": "Horizontal", - "conf_leds_layout_ptln": "Trapezpoints", + "conf_leds_layout_ptln": "Tripplepoints", "conf_leds_layout_ptlv": "Vertical", "conf_leds_layout_ptr": "Point Top Right", - "conf_leds_layout_textf1": "This textfield shows by default your current loaded layout and will be overwritten if you generate a new one with the options above. Optional you could perform further edits.", + "conf_leds_layout_textf1": "This text field shows by default your current loaded layout and will be overwritten if you generate a new one with the options above. Optional you could perform further edits.", "conf_leds_nav_label_ledcontroller": "LED Controller", "conf_leds_nav_label_ledlayout": "LED Layout", "conf_leds_optgroup_RPiGPIO": "RPi GPIO", @@ -215,9 +215,9 @@ "edt_conf_color_black_title": "Black", "edt_conf_color_blue_expl": "The calibrated blue value.", "edt_conf_color_blue_title": "Blue", - "edt_conf_color_brightnessComp_expl": "Compensates bightness differences between red green blue, cyan magenta yellow and white. 100 means full compensation, 0 no compensation", + "edt_conf_color_brightnessComp_expl": "Compensates brightness differences between red green blue, cyan magenta yellow and white. 100 means full compensation, 0 no compensation", "edt_conf_color_brightnessComp_title": "Brightness compensation", - "edt_conf_color_brightness_expl": "set overall brightness of leds", + "edt_conf_color_brightness_expl": "set overall brightness of LEDs", "edt_conf_color_brightness_title": "Brightness", "edt_conf_color_channelAdjustment_header_expl": "Create color profiles that could be assigned to a specific component. Adjust color, gamma, brightness, compensation and more.", "edt_conf_color_channelAdjustment_header_itemtitle": "Profile", @@ -237,7 +237,7 @@ "edt_conf_color_id_title": "ID", "edt_conf_color_imageToLedMappingType_expl": "Overwrites the led area assignment of your led layout if it's not \"multicolor\"", "edt_conf_color_imageToLedMappingType_title": "Led area assignment", - "edt_conf_color_leds_expl": "Assign this adjustment to all leds (*) or just some (0-24).", + "edt_conf_color_leds_expl": "Assign this adjustment to all LEDs (*) or just some (0-24).", "edt_conf_color_leds_title": "LED index", "edt_conf_color_magenta_expl": "The calibrated magenta value.", "edt_conf_color_magenta_title": "Magenta", @@ -269,7 +269,7 @@ "edt_conf_enum_custom": "Custom", "edt_conf_enum_dl_error": "Error", "edt_conf_enum_dl_informational": "Informational", - "edt_conf_enum_dl_nodebug": "No Debug", + "edt_conf_enum_dl_nodebug": "No Debug output", "edt_conf_enum_dl_statechange": "State Change", "edt_conf_enum_dl_verbose": "Verbose", "edt_conf_enum_dl_verbose1": "Verbosity level 1", @@ -302,7 +302,7 @@ "edt_conf_fg_frequency_Hz_expl": "How fast new pictures are captured", "edt_conf_fg_frequency_Hz_title": "Capture frequency", "edt_conf_fg_heading_title": "Platform Capture", - "edt_conf_fg_height_expl": "Shrink picture to this height, as raw picture needs a lot of cpu time.", + "edt_conf_fg_height_expl": "Shrink picture to this height, as raw picture needs a lot of CPU time.", "edt_conf_fg_height_title": "Height", "edt_conf_fg_pixelDecimation_expl": "Reduce picture size (factor) based on original size. A factor of 1 means no change", "edt_conf_fg_pixelDecimation_title": "Picture decimation", @@ -312,7 +312,7 @@ "edt_conf_fg_width_title": "Width", "edt_conf_fge_color_expl": "If type is \"Color\", set a color of your choice here.", "edt_conf_fge_color_title": "Color", - "edt_conf_fge_duration_ms_expl": "Duration of Effect/Color during Hyperion startup.", + "edt_conf_fge_duration_ms_expl": "Duration of Effect/Color during Hyperion start-up.", "edt_conf_fge_duration_ms_title": "Duration", "edt_conf_fge_effect_expl": "If type is \"Effect\", select an effect of your choice (Also self created effects).", "edt_conf_fge_effect_title": "Effect", @@ -365,7 +365,7 @@ "edt_conf_pbs_heading_title": "Protocol Buffers Server", "edt_conf_pbs_timeout_expl": "If no data are received for the given period, the component will be (soft) disabled.", "edt_conf_pbs_timeout_title": "Timeout", - "edt_conf_smooth_continuousOutput_expl": "Update the leds even there is no changed picture.", + "edt_conf_smooth_continuousOutput_expl": "Update the LEDs even there is no changed picture.", "edt_conf_smooth_continuousOutput_title": "Continuous output", "edt_conf_smooth_heading_title": "Smoothing", "edt_conf_smooth_time_ms_expl": "How long should the smoothing gather pictures?", @@ -378,7 +378,7 @@ "edt_conf_smooth_updateFrequency_title": "Update frequency", "edt_conf_v4l2_blueSignalThreshold_expl": "Darkens low blue values (recognized as black)", "edt_conf_v4l2_blueSignalThreshold_title": "Blue signal threshold", - "edt_conf_v4l2_cecDetection_expl": "If enabled, usb capture will be temporarily disabled when CEC standby event received from HDMI bus.", + "edt_conf_v4l2_cecDetection_expl": "If enabled, USB capture will be temporarily disabled when CEC standby event received from HDMI bus.", "edt_conf_v4l2_cecDetection_title": "CEC detection", "edt_conf_v4l2_cropBottom_expl": "Count of pixels on the bottom side that are removed from the picture.", "edt_conf_v4l2_cropBottom_title": "Crop bottom", @@ -429,7 +429,7 @@ "edt_dev_auth_key_title": "Authentication Token", "edt_dev_enum_sub_min_cool_adjust": "Subtract cool white", "edt_dev_enum_sub_min_warm_adjust": "Subtract warm white", - "edt_dev_enum_subtract_minimum": "Substract minimum", + "edt_dev_enum_subtract_minimum": "Subtract minimum", "edt_dev_enum_white_off": "White off", "edt_dev_general_colorOrder_title": "RGB byte order", "edt_dev_general_hardwareLedCount_title": "Hardware LED count", @@ -451,7 +451,7 @@ "edt_dev_spec_cid_title": "CID", "edt_dev_spec_clientKey_title": "Clientkey", "edt_dev_spec_colorComponent_title": "Colour component", - "edt_dev_spec_debugLevel_title": "Streamer Connection Debug Level", + "edt_dev_spec_debugLevel_title": "Debug Level", "edt_dev_spec_debugStreamer_title": "Streamer Debug", "edt_dev_spec_delayAfterConnect_title": "Delay after connect", "edt_dev_spec_dithering_title": "Dithering", @@ -524,8 +524,8 @@ "edt_eff_candle_header_desc": "Shimmering candles", "edt_eff_centerx": "Center X-Axis", "edt_eff_centery": "Center Y-Axis", - "edt_eff_collision_header": "colour collision", - "edt_eff_collision_header_desc": "Two colour projectiles are sent from random positions and collide with each other", + "edt_eff_collision_header": "color collision", + "edt_eff_collision_header_desc": "Two color projectiles are sent from random positions and collide with each other", "edt_eff_color": "Color", "edt_eff_colorHour": "Color hour", "edt_eff_colorMarker": "Marker color", @@ -556,7 +556,7 @@ "edt_eff_fadeintime": "Fade in time", "edt_eff_fadeouttime": "Fade out time", "edt_eff_flag_header": "Flags", - "edt_eff_flag_header_desc": "Let your leds shine bright in the colours of your country. You can select more than one flag and they will change based on the interval time.", + "edt_eff_flag_header_desc": "Let your LEDs shine bright in the colours of your country. You can select more than one flag and they will change based on the interval time.", "edt_eff_fps": "Frames per seconds", "edt_eff_frequency": "Frequency", "edt_eff_gif_header": "GIF's", @@ -572,7 +572,7 @@ "edt_eff_ledtest_header_desc": "Rotating output: Red, Blue, Green, White, Black", "edt_eff_length": "Length", "edt_eff_lightclock_header": "Light Clock", - "edt_eff_lightclock_header_desc": "A real clock as light! Adjsut the colors of hours, minute, seconds. A optional 3/6/9/12 o'clock marker is also available. In case the clock is wrong, you need to check your system clock.", + "edt_eff_lightclock_header_desc": "A real clock as light! Adjust the colors of hours, minute, seconds. A optional 3/6/9/12 o'clock marker is also available. In case the clock is wrong, you need to check your system clock.", "edt_eff_maintain_end_color": "Keep endcolor", "edt_eff_margin": "Margin", "edt_eff_markerDepth": "Marker depth", @@ -591,7 +591,7 @@ "edt_eff_police_header_desc": "Lights like a police car in action", "edt_eff_postcolor": "Post color", "edt_eff_rainbowmood_header": "Rainbow Mood", - "edt_eff_rainbowmood_header_desc": "All leds rainbow mood", + "edt_eff_rainbowmood_header_desc": "All LEDs rainbow mood", "edt_eff_randomCenter": "Random Center", "edt_eff_random_header": "Random", "edt_eff_random_header_desc": "Pixel Dot, dot, dot...", @@ -609,10 +609,10 @@ "edt_eff_snake_header": "Snake", "edt_eff_snake_header_desc": "Where is something to eat?", "edt_eff_sparks_header": "Sparks", - "edt_eff_sparks_header_desc": "Star-Sparking, choose between a static color or random. You could also adjust brightness, staturation and speed.", + "edt_eff_sparks_header_desc": "Star-Sparking, choose between a static color or random. You could also adjust brightness, saturation and speed.", "edt_eff_speed": "Speed", "edt_eff_swirl_header": "Color Swirl", - "edt_eff_swirl_header_desc": "A swirl with custom colors. Colors are even spread to 360°, in between colors shifts will be calcualted. Additional you can add a second swirl on top, be aware that you need partly transparency! Hint: A reapeat of the same color results in a \"hugher\" color area and a reduced color shift area.", + "edt_eff_swirl_header_desc": "A swirl with custom colors. Colors are even spread to 360°, in between colors shifts will be calculated. Additional you can add a second swirl on top, be aware that you need partly transparency! Hint: A repeat of the same color results in a \"higher\" color area and a reduced color shift area.", "edt_eff_systemshutdown_header": "System Shutdown", "edt_eff_systemshutdown_header_desc": "A short animation with probably a real system shutdown", "edt_eff_traces_header": "Color Traces", @@ -621,10 +621,10 @@ "edt_eff_trails_header_desc": "Colored stars that fall from top to bottom", "edt_eff_waves_header": "Waves", "edt_eff_waves_header_desc": "Waves of color! Choose your colors, rotation time, direction reverse and more.", - "edt_eff_whichleds": "Which Leds", + "edt_eff_whichleds": "Which LEDs", "edt_eff_whitelevel": "White level", "edt_eff_x-mas_header": "X-Mas", - "edt_eff_x-mas_header_desc": "Touch of christmas", + "edt_eff_x-mas_header_desc": "Touch of Christmas", "edt_msg_button_add_row_title": "Add $1", "edt_msg_button_collapse": "Collapse", "edt_msg_button_delete_all": "All", @@ -729,7 +729,7 @@ "general_speech_tr": "Turkish", "general_speech_vi": "Vietnamese", "general_webui_title": "Hyperion - Web Configuration", - "general_wiki_moreto": "More informations to \"$1\" at our Wiki", + "general_wiki_moreto": "More information to \"$1\" at our Wiki", "infoDialog_checklist_title": "Checklist!", "infoDialog_effconf_created_text": "The effect \"$1\" has been created successfully!", "infoDialog_effconf_deleted_text": "The effect \"$1\" has been deleted successfully!", @@ -779,7 +779,7 @@ "main_menu_system_token": "System", "main_menu_update_token": "Update", "main_menu_webconfig_token": "Web configuration", - "remote_adjustment_intro": "Modifiy color/brightness/compensation during runtime. $1", + "remote_adjustment_intro": "Modify color/brightness/compensation during runtime. $1", "remote_adjustment_label": "Color adjustment", "remote_color_button_reset": "Reset Color/Effect", "remote_color_intro": "Set an effect or color. Also your self created effects are listed (if available). $1", @@ -823,7 +823,7 @@ "support_label_forumtext": "Showcases, discussions, help and more", "support_label_forumtitle": "Forum", "support_label_ggtext": "Circle us on Google +!", - "support_label_ghtext": "Visit us on Github", + "support_label_ghtext": "Visit us on GitHub", "support_label_igtext": "Visit us on Instagram to watch the latest Hyperion pictures!", "support_label_intro": "Hyperion is a free non-profit software. A small team is working on it and this is why we need your steady support.", "support_label_spreadtheword": "Spread the word", @@ -834,7 +834,7 @@ "support_label_webrestitle": "Information and help resources", "support_label_wikitext": "The A to Z source for almost everything Hyperion related", "support_label_wikititle": "Wiki", - "support_label_yttext": "Bored from pictures? Check out our Youtube channel!", + "support_label_yttext": "Bored from pictures? Check out our YouTube channel!", "update_button_changelog": "Full changelog", "update_button_install": "Install", "update_error_getting_versions": "We had trouble determining the latest available Version.", @@ -845,7 +845,7 @@ "update_versreminder": "Your version: $1", "wiz_atmoorb_desc2": "Now choose which Orbs should be added. The position assigns the lamp to a specific position on your \"picture\". Disabled lamps won't be added. To identify single lamps press the button on the right.", "wiz_atmoorb_intro1": "This wizards configures Hyperion for AtmoOrbs. Features are the AtmoOrb auto detection, setting each light to a specific position on your picture or disable it and optimise the Hyperion settings automatically! So in short: All you need are some clicks and you are done!", - "wiz_atmoorb_noLights": "No AtmoOrbs found! Please get the lights connected to the network or configure them mannually.", + "wiz_atmoorb_noLights": "No AtmoOrbs found! Please get the lights connected to the network or configure them manually.", "wiz_atmoorb_title": "AtmoOrb Wizard", "wiz_cc_adjustgamma": "Gamma: What you have to do is, adjust gamma levels of each channel until you have the same perceived amount of each channel. Hint: Neutral is 1.0! For example, if your Grey is a bit reddish it means that you have to increase red gamma to reduce the amount of red (the more gamma, the less amount of color).", "wiz_cc_adjustit": "Adjust your \"$1\", until your are fine with it. Take notice: The more you adjust away from the default value the color spectrum will be limited (Also for all colors in between). Depending on TV/LED color spectrum the results will vary.", @@ -873,7 +873,7 @@ "wiz_hue_blinkblue": "Let ID $1 light up blue", "wiz_hue_clientkey": "Clientkey:", "wiz_hue_create_user": "Create new User", - "wiz_hue_desc1": "It searches automatically for a hue bridge, in case it can't find one you need to provide the ip address and push the reload button on the right. Now you need a user id, if you don't have one create a new one.", + "wiz_hue_desc1": "It searches automatically for a Hue-Bridge, in case it can't find one you need to provide the IP-address and push the reload button on the right. Now you need a user ID, if you don't have one create a new one.", "wiz_hue_desc2": "Now choose which lamps should be added. The position assigns the lamp to a specific position on your \"picture\". Disabled lamps won't be added. To identify single lamps press the button on the right.", "wiz_hue_e_clientkey_needed": "A clientkey that matches the username is required to use the entertainment API. Please enter an existing one or use the button below to create a new one.", "wiz_hue_e_create_user": "Create new User and clientkey", @@ -889,7 +889,7 @@ "wiz_hue_e_use_group": "Use group", "wiz_hue_e_use_groupid": "Use group ID $1", "wiz_hue_failure_connection": "Timeout: Please press the bridge button within the period of 30 seconds", - "wiz_hue_failure_ip": "No Bridge found, please type in a valid ip", + "wiz_hue_failure_ip": "No Bridge found, please type in a valid IP-Address", "wiz_hue_failure_user": "User not found, create a new one with the button below or input a valid user id and press the \"reload\" symbol.", "wiz_hue_intro1": "This wizards configures Hyperion for the well known Philips Hue system. Features are Hue Bridge auto detection, user creation, set each hue light to a specific position on your picture or disable it and tune the Hyperion settings automatically! So in short: All you need are some clicks and you are done!", "wiz_hue_ip": "Hue Bridge IP:", @@ -903,10 +903,10 @@ "wiz_ids_disabled": "Deactivated", "wiz_ids_entire": "Whole picture", "wiz_pos": "Position/State", - "wiz_rgb_expl": "The color dot switches every x seconds the color (red, green), at the same time your leds switch the color too. Answer the questions at the bottom to check/correct your byte order.", + "wiz_rgb_expl": "The color dot switches every x seconds the color (red, green), at the same time your LEDs switch the color too. Answer the questions at the bottom to check/correct your byte order.", "wiz_rgb_intro1": "This wizard will guide you through the finding process of the correct color order for your leds. Click on continue to begin.", "wiz_rgb_intro2": "When do you need this wizard? Example: You set the color red, but you get green or blue. You could also use it for first configuration.", - "wiz_rgb_q": "Which color show your leds, when the color dot above shows...", + "wiz_rgb_q": "Which color show your LEDs, when the color dot above shows...", "wiz_rgb_qgend": "...green?", "wiz_rgb_qrend": "...red?", "wiz_rgb_switchevery": "Switch color every...", From 28c12a86a814f30cab4a067f2e8f2ab4be82c1ee Mon Sep 17 00:00:00 2001 From: Hyperion-Bot Date: Thu, 17 Sep 2020 18:08:02 +0200 Subject: [PATCH 5/7] Update de.json (POEditor.com) --- assets/webconfig/i18n/de.json | 276 +++++++++++++++++----------------- 1 file changed, 138 insertions(+), 138 deletions(-) diff --git a/assets/webconfig/i18n/de.json b/assets/webconfig/i18n/de.json index 168876cd..3ff99434 100644 --- a/assets/webconfig/i18n/de.json +++ b/assets/webconfig/i18n/de.json @@ -4,27 +4,27 @@ "InfoDialog_changePassword_success": "Passwort erfolgreich gespeichert!", "InfoDialog_changePassword_title": "Ändere Passwort", "InfoDialog_iswitch_text": "Sollte in deinem lokalen Netzwerk Hyperion mehr als einmal laufen, kannst du hier zwischen den Web Konfigurationen hin und her schalten. Wähle dazu die Instanz unten aus und switche!", - "InfoDialog_iswitch_title": "Hyperion switcher", + "InfoDialog_iswitch_title": "Hyperion-Switcher", "InfoDialog_lang_text": "Sollte dir die Vorauswahl der automatischen Spracherkennung nicht gefallen, kannst du die Sprache hier manuell festlegen.", "InfoDialog_lang_title": "Spracheinstellung", "InfoDialog_nowrite_foottext": "Die Webkonfiguration wird automatisch wieder freigegeben, sobald das Problem behoben wurde!", - "InfoDialog_nowrite_text": "Hyperion hat keinen Schreibzugriff auf die aktuell geladene Konfiguration. Bitte korrigiere die Dateizugriffsrechte um fortzufahren.", + "InfoDialog_nowrite_text": "Hyperion hat keinen Schreibzugriff auf die aktuell geladene Konfiguration. Bitte korrigiere die Dateizugriffsrechte, um fortzufahren.", "InfoDialog_nowrite_title": "Fehler beim Schreibzugriff!", "about_3rd_party_licenses": "Drittanbieter Lizenzen", - "about_3rd_party_licenses_error": "Wir hatten Probleme beim Laden der Drittanbieter Lizenzen aus dem Internet.
Klicke hier um die Datei auf GitHub aufzurufen.", + "about_3rd_party_licenses_error": "Wir hatten Probleme beim Laden der Drittanbieter Lizenzen aus dem Internet.
Klicke hier, um die Datei auf GitHub aufzurufen.", "about_build": "Build", "about_builddate": "Build Datum", - "about_contribute": "Entwickel Hyperion mit uns weiter!", + "about_contribute": "Entwickle Hyperion mit uns weiter!", "about_credits": "Einen Dank an alle Entwickler!", "about_resources": "$1 Bibliotheken", "about_translations": "Übersetzungen", "about_version": "Version", - "conf_colors_blackborder_intro": "Ignoriere schwarze Balken, jeder Modus nutzt einen anderen Algorithmus um diese zu erkennen. Erhöhe die Schwelle, sollte es nicht funktionieren.", - "conf_colors_color_intro": "Erstelle Kalibrierungsprofile die einzelnen Komponenten zugewisen werden können. Passe dabei Farben, Gamma, Helligkeit, Kompensation und mehr an.", + "conf_colors_blackborder_intro": "Ignoriere schwarze Balken, jeder Modus nutzt einen anderen Algorithmus, um diese zu erkennen. Erhöhe die Schwelle, sollte es nicht funktionieren.", + "conf_colors_color_intro": "Erstelle Kalibrierungsprofile die einzelnen Komponenten zugewiesen werden können. Passe dabei Farben, Gamma, Helligkeit, Kompensation und mehr an.", "conf_colors_smoothing_intro": "Glätte den Farbverlauf und Helligkeitsänderungen um nicht von schnellen Übergängen abgelenkt zu werden.", "conf_effect_bgeff_intro": "Definiere einen Hintergrund Effekt/Farbe. Dieser wird aktiv, wenn Hyperion sich im Leerlauf befindet. Wird immer mit Priorität 255 gestartet.", "conf_effect_fgeff_intro": "Definiere einen Start Effekt/Farbe, dieser wird angezeigt, wenn Hyperion startet für die angegebene Dauer.", - "conf_effect_path_intro": "Hier kannst du Ordner angeben, die beim Laden von Effekten berücksichtig werden sollen. Zusätzlich können Effekte anhand ihres Namens deaktiviert werden um sie aus Listen zu löschen.", + "conf_effect_path_intro": "Hier kannst du Ordner angeben, die beim Laden von Effekten berücksichtigt werden sollen. Zusätzlich können Effekte anhand ihres Namens deaktiviert werden, um sie aus Listen zu löschen.", "conf_general_createInst_btn": "Instanz erstellen", "conf_general_impexp_expbtn": "Exportieren", "conf_general_impexp_impbtn": "Importieren", @@ -32,28 +32,28 @@ "conf_general_impexp_l2": "Exportiere eine Konfiguration, indem du auf \"Exportieren\" klickst. Dein Browser startet einen Download.", "conf_general_impexp_title": "Importiere/Exportiere Konfiguration", "conf_general_inst_actionhead": "Aktionen", - "conf_general_inst_delreq_h": "LED Hardware Instanz löschen", - "conf_general_inst_delreq_t": "Bist du dir sicher, das du die Instanz \"$1\" löschen möchtest? Alle Einstellungen zu dieser Instanz gehen verloren.", - "conf_general_inst_desc": "Verwende mehrere LED Hardware gleichzeitig. Jede Instanz läuft unabhängig voneinander, wodurch unterschiedliche LED-Layouts und Kalibrierungseinstellungen möglich sind. Laufende Instanzen sind in der oberen Symbolleiste verfügbar.", + "conf_general_inst_delreq_h": "LED-Hardware Instanz löschen", + "conf_general_inst_delreq_t": "Bist du dir sicher, dass du die Instanz \"$1\" löschen möchtest? Alle Einstellungen zu dieser Instanz gehen verloren.", + "conf_general_inst_desc": "Verwende mehrere LED-Hardware gleichzeitig. Jede Instanz läuft unabhängig voneinander, wodurch unterschiedliche LED-Layouts und Kalibrierungseinstellungen möglich sind. Laufende Instanzen sind in der oberen Symbolleiste verfügbar.", "conf_general_inst_name_title": "Neuer Instanzname", "conf_general_inst_namehead": "Instanzname", "conf_general_inst_renreq_t": "Gib in das untere Feld deinen neuen Instanznamen ein.", - "conf_general_inst_title": "LED Hardware Instanzverwaltung", + "conf_general_inst_title": "LED-Hardware Instanzverwaltung", "conf_general_intro": "Grundsätzliche Einstellungen zu Hyperion oder WebUI, die in keine andere Kategorie passen.", "conf_general_label_title": "Allgemeine Einstellungen", "conf_grabber_fg_intro": "Plattform Aufnahme ist das lokale System auf dem Hyperion installiert wurde, welches als Bildquelle dient.", - "conf_grabber_v4l_intro": "USB Aufnahme ist ein Gerät, welches via USB angeschlossen ist und als Bildquelle dient.", + "conf_grabber_v4l_intro": "USB-Aufnahme ist ein Gerät, welches via USB angeschlossen ist und als Bildquelle dient.", "conf_helptable_expl": "Erklärung", "conf_helptable_option": "Option", "conf_leds_contr_label_contrtype": "Steuerungstyp:", - "conf_leds_device_intro": "Wähle eine Methode zur Steuerung deiner LEDs aus, sie sind unterteilt in verschiedene Kategorien. Neben den allgemeinen Optionen die für alle gültig sind, gibt es auch spezfische die sich unterscheiden je nach Wahl.", + "conf_leds_device_intro": "Wähle eine Methode zur Steuerung deiner LEDs aus, sie sind unterteilt in verschiedene Kategorien. Neben den allgemeinen Optionen die für alle gültig sind, gibt es auch spezifische, die sich unterscheiden je nach Wahl.", "conf_leds_layout_advanced": "Erweiterte Optionen", "conf_leds_layout_btn_checklist": "Zeige Checkliste", "conf_leds_layout_button_savelay": "Speichere Layout", "conf_leds_layout_button_updsim": "Aktualisiere Vorschau", "conf_leds_layout_checkp1": "Die schwarze eingefärbte LED ist die erste LED. Das ist der Punkt, an dem die Daten eingespeist werden.", "conf_leds_layout_checkp2": "Das Layout ist die Ansicht vor dem Fernseher stehend, nicht dahinter.", - "conf_leds_layout_checkp3": "Stelle sicher, dass die Richtung richtig eingestellt ist, dazu ist die zweite und dritte LED grau markiert um den Datenfluss anzuzeigen.", + "conf_leds_layout_checkp3": "Stelle sicher, dass die Richtung richtig eingestellt ist, dazu ist die zweite und dritte LED grau markiert, um den Datenfluss anzuzeigen.", "conf_leds_layout_checkp4": "Vorgang Lücke: Solltest du eine Lücke benötigen, ignoriere diese bei der LED Angabe Oben/Unten/Rechts/Links und gebe anschließend unter Lückenlänge an, wieviel LEDs du abziehen möchtest. Verändere jetzt die Lückenposition, um die Lücke an die richtige Stelle zu rücken.", "conf_leds_layout_cl_bottom": "Unten", "conf_leds_layout_cl_bottomleft": "Unten Links (Ecke)", @@ -62,7 +62,7 @@ "conf_leds_layout_cl_edgegap": "Rahmenabstand", "conf_leds_layout_cl_gaglength": "Lückenlänge", "conf_leds_layout_cl_gappos": "Lückenposition", - "conf_leds_layout_cl_hleddepth": "Horizontale LED Tiefe", + "conf_leds_layout_cl_hleddepth": "Horizontale LED-Tiefe", "conf_leds_layout_cl_inppos": "Einspeisepunkt", "conf_leds_layout_cl_left": "Links", "conf_leds_layout_cl_leftbottom": "Links unten (50% bis 100%)", @@ -77,10 +77,10 @@ "conf_leds_layout_cl_top": "Oben", "conf_leds_layout_cl_topleft": "Oben Links (Ecke)", "conf_leds_layout_cl_topright": "Oben Rechts (Ecke)", - "conf_leds_layout_cl_vleddepth": "Vertikale LED Tiefe", + "conf_leds_layout_cl_vleddepth": "Vertikale LED-Tiefe", "conf_leds_layout_frame": "Klassisches Layout (Rahmen)", - "conf_leds_layout_generatedconf": "Generierte/Aktuelle LED Konfiguration", - "conf_leds_layout_intro": "Du benötigst ebenfalls ein LED Layout, welches deine LED-Positionen wiederspiegelt. Das klassische Layout wird für gewöhnlichen für TVs verwendet, Hyperion unterstützt aber auch LED Wände (Matrix). Die Ansicht des LAYOUTS ist die perspektive VOR dem Fernseher, nicht dahinter.", + "conf_leds_layout_generatedconf": "Generierte/Aktuelle LED-Konfiguration", + "conf_leds_layout_intro": "Du benötigst ebenfalls ein LED-Layout, welches deine LED-Positionen wiederspiegelt. Das klassische Layout wird für gewöhnlichen für TVs verwendet, Hyperion unterstützt aber auch LED-Wände (Matrix). Die Ansicht des Layouts ist die Perspektive VOR dem Fernseher, nicht dahinter.", "conf_leds_layout_ma_cabling": "Verkabelung", "conf_leds_layout_ma_horiz": "Horizontal", "conf_leds_layout_ma_optbottomleft": "Unten links", @@ -92,17 +92,17 @@ "conf_leds_layout_ma_opttopright": "Oben rechts", "conf_leds_layout_ma_optvert": "Vertikal", "conf_leds_layout_ma_order": "Reihenfolge", - "conf_leds_layout_ma_position": "Einpeisepunkt", + "conf_leds_layout_ma_position": "Einspeisepunkt", "conf_leds_layout_ma_vert": "Vertikal", - "conf_leds_layout_matrix": "Matrix Layout (LED Wand)", + "conf_leds_layout_matrix": "Matrix Layout (LED-Wand)", "conf_leds_layout_pbl": "Punkt unten links", "conf_leds_layout_pbr": "Punkt unten rechts", - "conf_leds_layout_peview": "LED Layout Vorschau", + "conf_leds_layout_peview": "LED-Layout Vorschau", "conf_leds_layout_preview_l1": "Das ist die erste LED (Einspeisung)", "conf_leds_layout_preview_l2": "Das visualisiert die Richtung des Datenstroms (zweite/dritte LED)", "conf_leds_layout_preview_ledpower": "Max. Stromstärke: $1 A", "conf_leds_layout_preview_originCL": "Erstellt von: Klassisches Layout (Rahmen)", - "conf_leds_layout_preview_originMA": "Erstellt von: Matrix Layout (LED Wand)", + "conf_leds_layout_preview_originMA": "Erstellt von: Matrix Layout (LED-Wand)", "conf_leds_layout_preview_originTEXT": "Erstellt von: Textfeld", "conf_leds_layout_preview_totalleds": "LEDs gesamt: $1", "conf_leds_layout_ptl": "Punkt oben links", @@ -111,8 +111,8 @@ "conf_leds_layout_ptlv": "Vertikal", "conf_leds_layout_ptr": "Punkt oben rechts", "conf_leds_layout_textf1": "Das Textfeld zeigt dir dein aktuell geladenes Layout, sofern du kein neues Layout mit den Optionen oben erstellt hast. Optional kann man die Werte hier weiter bearbeiten.", - "conf_leds_nav_label_ledcontroller": "LED Steuerung", - "conf_leds_nav_label_ledlayout": "LED Layout", + "conf_leds_nav_label_ledcontroller": "LED-Steuerung", + "conf_leds_nav_label_ledlayout": "LED-Layout", "conf_leds_optgroup_RPiGPIO": "RPi GPIO", "conf_leds_optgroup_RPiPWM": "RPi PWM", "conf_leds_optgroup_RPiSPI": "RPi SPI", @@ -122,7 +122,7 @@ "conf_logging_btn_autoscroll": "Automatisch scrollen", "conf_logging_btn_pbupload": "Bericht für Supportanfrage hochladen", "conf_logging_contpolicy": "Berichts-Datenschutzerklärung", - "conf_logging_label_intro": "Überprüfe die Meldungen im Prokotoll um zu erfahren was Hyperion gerade beschäftigt. Je nach eingestellter Protokoll-Stufe siehst du mehr oder weniger Informationen.", + "conf_logging_label_intro": "Überprüfe die Meldungen im Protokoll um zu erfahren was Hyperion gerade beschäftigt. Je nach eingestellter Protokoll-Stufe siehst du mehr oder weniger Informationen.", "conf_logging_lastreports": "Frühere Berichte", "conf_logging_nomessage": "Keine Einträge vorhanden.", "conf_logging_report": "Bericht", @@ -133,18 +133,18 @@ "conf_network_bobl_intro": "Boblight Empfänger", "conf_network_createToken_btn": "Erstelle Token", "conf_network_fbs_intro": "Google Flatbuffers Empfänger. Wird genutzt für schnellen Bildempfang.", - "conf_network_forw_intro": "Leite alles an eine zweite Hyperion Instanz weiter, diese kann dann mit einer anderen LED Steuerung genutzt werden", + "conf_network_forw_intro": "Leite alles an eine zweite Hyperion Instanz weiter, diese kann dann mit einer anderen LED-Steuerung genutzt werden", "conf_network_json_intro": "Der JSON-RPC-Port aller Hyperion-Instanzen, wird genutzt zur Fernsteuerung.", "conf_network_net_intro": "Einstellungen zum Netzwerk die für alle Netzwerk-Dienste gelten", - "conf_network_proto_intro": "Der PROTO-Port aller Hyperion-Instanzen, wird genutzt für \"Bildstreams\" (HyperionScreenCap, Kodi Addon, Android Hyperion Grabber, ...)", + "conf_network_proto_intro": "Der PROTO-Port aller Hyperion-Instanzen, wird genutzt für \"Bildstreams\" (HyperionScreenCap, Kodi Add-on, Android Hyperion Grabber, ...)", "conf_network_tok_cidhead": "Beschreibung", "conf_network_tok_comment_title": "Token Beschreibung", - "conf_network_tok_desc": "Tokens erlauben andere Anwendungen auf die Hyperion API zuzugreifen. Eine Anwendung kann ein Token anfordern welches von dir bestätigt werden muss oder du erstellst dir selbst ein neues Token. Diese Tokens werden nur benötigt, wenn \"API Autorisierung\" in den Netzwerkeinstellungen aktiviert ist.", + "conf_network_tok_desc": "Tokens erlauben andere Anwendungen auf die Hyperion API zuzugreifen. Eine Anwendung kann ein Token anfordern, welches von dir bestätigt werden muss oder du erstellst dir selbst ein neues Token. Diese Tokens werden nur benötigt, wenn \"API-Autorisierung\" in den Netzwerkeinstellungen aktiviert ist.", "conf_network_tok_diaMsg": "Hier ist dein neues Token, welches für den Zugriff auf die Hyperion API verwendet werden kann. Aus Sicherheitsgründen können Tokens nach der Erstellung nur einmalig eingesehen werden, notiere es dir daher jetzt.", "conf_network_tok_diaTitle": "Neues Token erstellt!", "conf_network_tok_grantMsg": "Eine App fordert Zugriff auf die Hyperion API durch ein Token. Möchtest du dies zulassen? Bitte überprüfe die angegebenen Informationen!", "conf_network_tok_grantT": "App Token angefordert", - "conf_network_tok_intro": "Hier kannst du Token zur API Authentifizierung erstellen oder löschen. Neu erstellte Token werden einmalig angezeigt.", + "conf_network_tok_intro": "Hier kannst du Token zur API-Authentifizierung erstellen oder löschen. Neu erstellte Token werden einmalig angezeigt.", "conf_network_tok_lastuse": "Zuletzt genutzt", "conf_network_tok_title": "Token Management", "conf_webconfig_label_intro": "Einstellungen zur Webkonfiguration. Änderungen können die Erreichbarkeit des Webinterfaces beeinflussen.", @@ -154,7 +154,7 @@ "dashboard_alert_message_confsave_success": "Deine Hyperion Konfiguration wurde erfolgreich gespeichert. Deine Änderungen sind somit übernommen.", "dashboard_alert_message_confsave_success_t": "Konfiguration gespeichert", "dashboard_alert_message_disabled": "Diese Instanz ist momentan deaktiviert! Um sie zu nutzen, musst du sie zuerst wieder im Dashboard aktivieren.", - "dashboard_alert_message_disabled_t": "LED Hardware instanz deaktiviert", + "dashboard_alert_message_disabled_t": "LED-Hardware Instanz deaktiviert", "dashboard_componentbox_label_comp": "Komponente", "dashboard_componentbox_label_status": "Status", "dashboard_componentbox_label_title": "Komponenten Status", @@ -172,13 +172,13 @@ "dashboard_infobox_message_updatesuccess": "Du nutzt die aktuellste Version von Hyperion.", "dashboard_infobox_message_updatewarning": "Eine aktuellere Version von Hyperion ist verfügbar! ($1)", "dashboard_label_intro": "Das Dashboard zeigt dir Informationen zum Systemstatus, ob Updates verfügbar sind, den Komponentenstatus sowie die letzten Blog-Posts vom Hyperion Team.", - "dashboard_message_default_password": "Das Standardpasswort der WebUi ist gesetzt. Wir empfehlen dringend, dieses zu ändern.", - "dashboard_message_default_password_t": "WebUi Standardpasswort gesetzt", + "dashboard_message_default_password": "Das Standardpasswort der WebUI ist gesetzt. Wir empfehlen dringend, dieses zu ändern.", + "dashboard_message_default_password_t": "WebUI Standardpasswort gesetzt", "dashboard_message_do_not_show_again": "Diese Meldung nicht mehr anzeigen", "dashboard_message_global_setting": "Die Einstellungen auf dieser Seite sind instanzunabhängig. Änderungen werden global übernommen.", "dashboard_message_global_setting_t": "Instanzunabhängige Einstellung", "dashboard_newsbox_label_title": "Hyperion-Blog", - "dashboard_newsbox_noconn": "Fehler bei dem Versuch die letzten Blog-Posts zu laden, funtkioniert dein Internet?", + "dashboard_newsbox_noconn": "Fehler bei dem Versuch die letzten Blog-Posts zu laden, funktioniert dein Internet?", "dashboard_newsbox_readmore": "Weiterlesen", "dashboard_newsbox_visitblog": "Besuche den Hyperion-Blog", "edt_append_degree": "°", @@ -198,47 +198,47 @@ "edt_conf_bb_borderFrameCnt_title": "Randbilder", "edt_conf_bb_heading_title": "Schwarze Balken Erkennung", "edt_conf_bb_maxInconsistentCnt_expl": "Anzahl der zu ignorierenden Bilder bis ein neuer Rand überprüft wird.", - "edt_conf_bb_maxInconsistentCnt_title": "Inkosistente Bilder", + "edt_conf_bb_maxInconsistentCnt_title": "Inkonsistente Bilder", "edt_conf_bb_mode_expl": "Algorithmus zur Auswertung. (siehe Wiki)", "edt_conf_bb_mode_title": "Modus", - "edt_conf_bb_threshold_expl": "Wenn die Erkennung nicht funktioniert, erhöhe die Schwelle um auf 'graues' schwarz zu reagieren.", + "edt_conf_bb_threshold_expl": "Wenn die Erkennung nicht funktioniert, erhöhe die Schwelle, um auf 'graues' schwarz zu reagieren.", "edt_conf_bb_threshold_title": "Schwelle", "edt_conf_bb_unknownFrameCnt_expl": "Anzahl an Bildern die negativ sind, welche den Rand auf 0 zurücksetzen.", "edt_conf_bb_unknownFrameCnt_title": "Unbekannte Bilder", "edt_conf_bge_heading_title": "Hintergrund Effekt/Farbe", "edt_conf_bobls_heading_title": "Boblight Server", "edt_conf_color_backlightColored_expl": "Die Hintergrundbeleuchtung kann mit oder ohne Farbanteile genutzt werden.", - "edt_conf_color_backlightColored_title": "Farbige Hintergrund - beleuchtung", + "edt_conf_color_backlightColored_title": "Farbige Hintergrundbeleuchtung", "edt_conf_color_backlightThreshold_expl": "Eine Beleuchtung die dauerhaft aktiv ist. (Automatisch deaktiviert bei Effekten, Farben oder im Zustand \"Aus\")", - "edt_conf_color_backlightThreshold_title": "Hintergrund - beleuchtung", + "edt_conf_color_backlightThreshold_title": "Hintergrundbeleuchtung", "edt_conf_color_black_expl": "Kalibrierter Schwarzwert.", "edt_conf_color_black_title": "Schwarz", "edt_conf_color_blue_expl": "Kalibrierter Blauwert.", "edt_conf_color_blue_title": "Blau", - "edt_conf_color_brightnessComp_expl": "Kompensiert unterschiede in der Helligkeit zwischen Rot Grün Blau, Cyan Magenta Gelb und weiß. 100 ist volle Kompensation, 0 keine Kompensation", - "edt_conf_color_brightnessComp_title": "Helligkeits Kompensation", + "edt_conf_color_brightnessComp_expl": "Kompensiert Unterschiede in der Helligkeit zwischen Rot Grün Blau, Cyan Magenta Gelb und weiß. 100 ist volle Kompensation, 0 keine Kompensation", + "edt_conf_color_brightnessComp_title": "Helligkeitsabgleich", "edt_conf_color_brightness_expl": "Die gesamte Helligkeit", "edt_conf_color_brightness_title": "Helligkeit", - "edt_conf_color_channelAdjustment_header_expl": "Passe die Farbkanäle deinen LEDs an", + "edt_conf_color_channelAdjustment_header_expl": "Passe die Farbkanäle deiner LEDs an", "edt_conf_color_channelAdjustment_header_itemtitle": "Profil", "edt_conf_color_channelAdjustment_header_title": "Anpassung Farbkanäle", "edt_conf_color_cyan_expl": "Kalibrierter Cyanwert.", "edt_conf_color_cyan_title": "Cyan", - "edt_conf_color_gammaBlue_expl": "Gamma von blau. 1.0 ist neutral. Über 1.0 wird blau reduziert, unter 1.0 wird blau erhöht.", + "edt_conf_color_gammaBlue_expl": "Gamma Blau. 1.0 ist neutral. Über 1.0 wird der Blauanteil reduziert, unter 1.0 wird der Blauanteil erhöht.", "edt_conf_color_gammaBlue_title": "Gamma Blau", - "edt_conf_color_gammaGreen_expl": "Gamma von grün. 1.0 ist neutral. Über 1.0 wird grün reduziert, unter 1.0 wird grün erhöht.", + "edt_conf_color_gammaGreen_expl": "Gamma Grün. 1.0 ist neutral. Über 1.0 wird der Grünanteil reduziert, unter 1.0 wird der Grünanteil erhöht.", "edt_conf_color_gammaGreen_title": "Gamma Grün", - "edt_conf_color_gammaRed_expl": "Gamma von rot. 1.0 ist neutral. Über 1.0 wird rot reduziert, unter 1.0 wird rot erhöht.", + "edt_conf_color_gammaRed_expl": "Gamma Rot. 1.0 ist neutral. Über 1.0 wird der Rotanteil reduziert, unter 1.0 wird der Rotanteil erhöht.", "edt_conf_color_gammaRed_title": "Gamma Rot", "edt_conf_color_green_expl": "Kalibrierter Grünwert.", "edt_conf_color_green_title": "Grün", "edt_conf_color_heading_title": "Farbkalibrierung", "edt_conf_color_id_expl": "Eine vom Benutzer frei angegebene ID.", "edt_conf_color_id_title": "ID", - "edt_conf_color_imageToLedMappingType_expl": "Sofern nicht \"Mehrfarbig\", wird dein LED Layout mit einer anderen Bildzuweisung überschrieben", + "edt_conf_color_imageToLedMappingType_expl": "Sofern nicht \"Mehrfarbig\", wird dein LED-Layout mit einer anderen Bildzuweisung überschrieben", "edt_conf_color_imageToLedMappingType_title": "LED-Bereich Zuordnungstyp", "edt_conf_color_leds_expl": "Zugewiesen zu allen (*) LEDs oder nur zu bestimmten LED Nummern (0-17).", - "edt_conf_color_leds_title": "LED index", + "edt_conf_color_leds_title": "LED-Iindex", "edt_conf_color_magenta_expl": "Kalibrierter Magentawert.", "edt_conf_color_magenta_title": "Magenta", "edt_conf_color_red_expl": "Kalibrierter Rotwert.", @@ -271,7 +271,7 @@ "edt_conf_enum_dl_informational": "informativ", "edt_conf_enum_dl_nodebug": "keine Debugausgabe", "edt_conf_enum_dl_statechange": "bei Änderungen", - "edt_conf_enum_dl_verbose": "sehr detailiert", + "edt_conf_enum_dl_verbose": "sehr detailliert", "edt_conf_enum_dl_verbose1": "Stufe 1", "edt_conf_enum_dl_verbose2": "Stufe 2", "edt_conf_enum_dl_verbose3": "Stufe 3", @@ -297,16 +297,16 @@ "edt_conf_fbs_timeout_expl": "Wenn für die angegebene Zeit keine Daten empfangen werden, wird die Komponente (vorübergehend) deaktiviert", "edt_conf_fbs_timeout_title": "Zeitüberschreitung", "edt_conf_fg_device_title": "Device", - "edt_conf_fg_display_expl": "Gebe an von welchem Desktop aufgenommen werden soll. (Multi Monitor Setup)", + "edt_conf_fg_display_expl": "Gebe an, von welchem Desktop aufgenommen werden soll. (Multi Monitor Setup)", "edt_conf_fg_display_title": "Display", - "edt_conf_fg_frequency_Hz_expl": "Wie schnell neue Bilder aufgenommen werden.", + "edt_conf_fg_frequency_Hz_expl": "Wie schnell werden neue Bilder aufgenommen.", "edt_conf_fg_frequency_Hz_title": "Aufnahmefrequenz", "edt_conf_fg_heading_title": "Plattform Aufnahme", "edt_conf_fg_height_expl": "Verkleinere Bild auf dieser Höhe, da das Rohmaterial viel Leistung benötigen würde.", "edt_conf_fg_height_title": "Höhe", - "edt_conf_fg_pixelDecimation_expl": "Bildverkleinerung (Faktor) ausgehend von der original Größe. 1 für unveränderte/originale Größe.", + "edt_conf_fg_pixelDecimation_expl": "Bildverkleinerung (Faktor) ausgehend von der ursprünglichen Größe. 1 für die unveränderte/ursprüngliche Größe.", "edt_conf_fg_pixelDecimation_title": "Bildverkleinerung Faktor", - "edt_conf_fg_type_expl": "Art der Plattform Aufnahme, standard ist 'auto'", + "edt_conf_fg_type_expl": "Art der Plattform Aufnahme; Standard ist 'auto'", "edt_conf_fg_type_title": "Typ", "edt_conf_fg_width_expl": "Verkleinere Bild auf dieser Breite, da das Rohmaterial viel Leistung benötigen würde.", "edt_conf_fg_width_title": "Breite", @@ -341,27 +341,27 @@ "edt_conf_general_priority_title": "Priorität", "edt_conf_instC_systemEnable_expl": "Aktiviert die Plattform Aufnahme für diese LED Hardware Instanz.", "edt_conf_instC_systemEnable_title": "Aktiviere Plattform Aufnahme", - "edt_conf_instC_v4lEnable_expl": "Aktiviert die USB Aufnahme für diese LED Hardware Instanz.", - "edt_conf_instC_v4lEnable_title": "Aktiviere USB Aufnahme", + "edt_conf_instC_v4lEnable_expl": "Aktiviert die USB Aufnahme für diese LED -Hardware Instanz.", + "edt_conf_instC_v4lEnable_title": "Aktiviere USB-Aufnahme", "edt_conf_instCapture_heading_title": "Instance Aufnahme", "edt_conf_js_heading_title": "JSON Server", "edt_conf_log_heading_title": "Protokoll", "edt_conf_log_level_expl": "Abhängig der Stufe sind weniger oder mehr Meldungen sichtbar.", "edt_conf_log_level_title": "Protokollstufe", - "edt_conf_net_apiAuth_expl": "Zwinge alle Anwendungen welche die Hyperion API nutzen sich zu authentifizieren. Aktivieren für höhere Sicherheit, da nun jede neue Anwendung einmalig von dir bestätigt werden muss.", - "edt_conf_net_apiAuth_title": "API Authentifizierung", + "edt_conf_net_apiAuth_expl": "Zwinge alle Anwendungen, welche die Hyperion API nutzen sich zu authentifizieren. Aktivieren für höhere Sicherheit, da nun jede neue Anwendung einmalig von dir bestätigt werden muss.", + "edt_conf_net_apiAuth_title": "API-Authentifizierung", "edt_conf_net_heading_title": "Network", - "edt_conf_net_internetAccessAPI_expl": "Erlaube Zugriff auf die Hyperion API/Webinterface aus dem Internet, deaktivieren für höhere Sicherheit.", - "edt_conf_net_internetAccessAPI_title": "Internet API Zugriff", - "edt_conf_net_ipWhitelist_expl": "Anstatt den Zugriff für alle Verbindungen aus dem Internet zu erlauben kannst du hier Ausnahmen für zugelassene IP Adressen hinzufügen.", - "edt_conf_net_ipWhitelist_title": "Erlaubte IP's", + "edt_conf_net_internetAccessAPI_expl": "Erlaube Zugriff auf das Hyperion API/Webinterface über das Internet. Deaktiviere den Zugriff für höhere Sicherheit.", + "edt_conf_net_internetAccessAPI_title": "Internet API-Zugriff", + "edt_conf_net_ipWhitelist_expl": "Anstatt den Zugriff für alle Verbindungen aus dem Internet zu erlauben kannst du hier Ausnahmen für zugelassene IP-Adressen hinzufügen.", + "edt_conf_net_ipWhitelist_title": "Erlaubte IP-Adressen", "edt_conf_net_ip_itemtitle": "IP", "edt_conf_net_localAdminAuth_expl": "Wenn aktiviert, muss der Administrationszugriff aus dem Heimnetzwerk mit einem Passwort authentifiziert werden.", "edt_conf_net_localAdminAuth_title": "Lokale Admin Authentifizierung", "edt_conf_net_localApiAuth_expl": "Wenn aktiviert, müssen Verbindungen aus dem Heimnetzwerk mit einem Token authentifiziert werden.", - "edt_conf_net_localApiAuth_title": "Lokale API Authentifizierung", - "edt_conf_net_restirctedInternetAccessAPI_expl": "Den Zugriff auf die API durch das Internet auf bestimmte IP's beschränken", - "edt_conf_net_restirctedInternetAccessAPI_title": "Auf IP's beschränken", + "edt_conf_net_localApiAuth_title": "Lokale API-Authentifizierung", + "edt_conf_net_restirctedInternetAccessAPI_expl": "Den Zugriff auf die API über das Internet auf bestimmte IP-Adressen beschränken", + "edt_conf_net_restirctedInternetAccessAPI_title": "Auf IP-Adressen beschränken", "edt_conf_pbs_heading_title": "Protocol Buffers Server", "edt_conf_pbs_timeout_expl": "Wenn für die angegebene Zeit keine Daten empfangen werden, wird die Komponente (vorübergehend) deaktiviert", "edt_conf_pbs_timeout_title": "Zeitüberschreitung", @@ -374,11 +374,11 @@ "edt_conf_smooth_type_title": "Art", "edt_conf_smooth_updateDelay_expl": "Verzögere die Ausgabe, sollte dein ambient light schneller sein als dein TV.", "edt_conf_smooth_updateDelay_title": "Aktualisierungsverzögerung", - "edt_conf_smooth_updateFrequency_expl": "Die Geschwindigkeit der Datenausgabe an die LED Steuerung.", + "edt_conf_smooth_updateFrequency_expl": "Die Geschwindigkeit der Datenausgabe an die LED-Steuerung.", "edt_conf_smooth_updateFrequency_title": "Aktualisierungsfrequenz", - "edt_conf_v4l2_blueSignalThreshold_expl": "Je höher die blaue Schwelle je eher wird abgeschalten bei entsprechendem blau-Anteil.", - "edt_conf_v4l2_blueSignalThreshold_title": "Blaue Signalschwelle", - "edt_conf_v4l2_cecDetection_expl": "Die USB-Erfassung wird vorübergehend deaktiviert, wenn ein CEC-Standby-Ereignis vom HDMI-Bus empfangen wird.", + "edt_conf_v4l2_blueSignalThreshold_expl": "Je höher der Blauwert ist, je eher wird bei entsprechendem Blauanteil abgeschaltet.", + "edt_conf_v4l2_blueSignalThreshold_title": "Schwelle Blauwert", + "edt_conf_v4l2_cecDetection_expl": "Die USB-Erfassung wird vorübergehend deaktiviert, wenn ein CEC-Standby-Signal vom HDMI-Bus empfangen wird.", "edt_conf_v4l2_cecDetection_title": "CEC-Erkennung", "edt_conf_v4l2_cropBottom_expl": "Anzahl der Pixel auf der unteren Seite die vom Bild entfernt werden.", "edt_conf_v4l2_cropBottom_title": "Entferne unten", @@ -392,24 +392,24 @@ "edt_conf_v4l2_device_title": "Gerät", "edt_conf_v4l2_framerate_expl": "Die unterstützten Bilder pro Sekunde des aktiven Gerätes. Auf 'Automatisch' wird der gewählte Modus vom v4l interface beibehalten.", "edt_conf_v4l2_framerate_title": "Bilder pro Sekunde", - "edt_conf_v4l2_greenSignalThreshold_expl": "Je höher die grüne Schwelle je eher wird abgeschalten bei entsprechendem grün-Anteil.", - "edt_conf_v4l2_greenSignalThreshold_title": "Grüne Signalschwelle", + "edt_conf_v4l2_greenSignalThreshold_expl": "Je höher der Grünwert ist, je eher wird bei entsprechendem Grünanteil abgeschaltet..", + "edt_conf_v4l2_greenSignalThreshold_title": "Schwelle Grünwert", "edt_conf_v4l2_heading_title": "USB Aufnahme", "edt_conf_v4l2_input_expl": "Wähle den Videoeingang deines Gerätes. Auf 'Automatisch' wird der Videoeingang vom v4l interface beibehalten.", "edt_conf_v4l2_input_title": "Eingang", - "edt_conf_v4l2_redSignalThreshold_expl": "Je höher die rote Schwelle je eher wird abgeschalten bei entsprechendem rot-Anteil.", - "edt_conf_v4l2_redSignalThreshold_title": "Rote Signalschwelle", + "edt_conf_v4l2_redSignalThreshold_expl": "Je höher der Rotwert ist, je eher wird bei entsprechendem Rotanteil abgeschaltet.", + "edt_conf_v4l2_redSignalThreshold_title": "Schwelle Rotwert", "edt_conf_v4l2_resolution_expl": "Eine Liste von unterstützten Auflösungen des aktiven Gerätes. Auf 'Automatisch' wird der gewählte Modus vom v4l interface beibehalten.", "edt_conf_v4l2_resolution_title": "Auflösung", - "edt_conf_v4l2_sDHOffsetMax_expl": "Signal Erkennungs-Bereich horizontal maximum (0.0-1.0)", + "edt_conf_v4l2_sDHOffsetMax_expl": "Signal Erkennungsbereich horizontales Maximum (0.0-1.0)", "edt_conf_v4l2_sDHOffsetMax_title": "Signal Erkennung HMax", - "edt_conf_v4l2_sDHOffsetMin_expl": "Signal Erkennungs-Bereich horizontal minimum (0.0-1.0)", + "edt_conf_v4l2_sDHOffsetMin_expl": "Signal Erkennungsbereich horizontales Minimum (0.0-1.0)", "edt_conf_v4l2_sDHOffsetMin_title": "Signal Erkennung HMin", - "edt_conf_v4l2_sDVOffsetMax_expl": "Signal Erkennungs-Bereich vertikal maximum (0.0-1.0)", + "edt_conf_v4l2_sDVOffsetMax_expl": "Signal Erkennungbereich vertikales Maximum (0.0-1.0)", "edt_conf_v4l2_sDVOffsetMax_title": "Signal Erkennung VMax", - "edt_conf_v4l2_sDVOffsetMin_expl": "Signal Erkennungs-Bereich vertikal minimum (0.0-1.0)", + "edt_conf_v4l2_sDVOffsetMin_expl": "Signal Erkennungsbereich vertikales Minimum (0.0-1.0)", "edt_conf_v4l2_sDVOffsetMin_title": "Signal Erkennung VMin", - "edt_conf_v4l2_signalDetection_expl": "Wenn aktiviert, wird die USB Aufnahme temporär bei \"kein Signal\" abgeschalten. Das Bild muss dazu 4 Sekunden lang unter die Schwellwerte fallen.", + "edt_conf_v4l2_signalDetection_expl": "Die USB-Aufnahme temporär abgeschaltet, wenn kein Signal anliegt. Das Bild muss dazu 4 Sekunden lang unter den Schwellwerten sein.", "edt_conf_v4l2_signalDetection_title": "Signal Erkennung", "edt_conf_v4l2_sizeDecimation_expl": "Der Faktor der Bildverkleinerung ausgehend von der ursprünglichen Größe, 1 bedeutet keine Änderung (originales Bild).", "edt_conf_v4l2_sizeDecimation_title": "Bildverkleinerung Faktor", @@ -424,12 +424,12 @@ "edt_conf_webc_keyPassPhrase_title": "Schlüsselpasswort", "edt_conf_webc_keyPath_expl": "Pfad zum privaten Schlüssel (Format in PEM, verschlüsselt mit RSA)", "edt_conf_webc_keyPath_title": "Schlüssel-Pfad", - "edt_conf_webc_sslport_expl": "Port des HTTPS webservers", + "edt_conf_webc_sslport_expl": "Port des HTTPS-Webservers", "edt_conf_webc_sslport_title": "HTTPS Port", "edt_dev_auth_key_title": "Authentisierungstoken", "edt_dev_enum_sub_min_cool_adjust": "Minimale Anpassung: cool", "edt_dev_enum_sub_min_warm_adjust": "Minimale Anpassung: warm", - "edt_dev_enum_subtract_minimum": "Subtrahiere minimum", + "edt_dev_enum_subtract_minimum": "Subtrahiere Minimum", "edt_dev_enum_white_off": "Weiß ist aus", "edt_dev_general_colorOrder_title": "RGB Byte Reihenfolge", "edt_dev_general_hardwareLedCount_title": "Anzahl Hardware LEDs", @@ -437,8 +437,8 @@ "edt_dev_general_name_title": "Name der Konfiguration", "edt_dev_general_rewriteTime_title": "Aktualisierungszeit", "edt_dev_spec_FCledToOn_title": "Fadecandy LEDs set to on", - "edt_dev_spec_FCmanualControl_title": "Manuelle Steuerung der fadecandy LEDs", - "edt_dev_spec_FCsetConfig_title": "Wende fadecandy Konfiguration an", + "edt_dev_spec_FCmanualControl_title": "Manuelle Steuerung der Fadecandy LEDs", + "edt_dev_spec_FCsetConfig_title": "Wende Fadecandy Konfiguration an", "edt_dev_spec_LBap102Mode_title": "LightBerry APA102 Modus", "edt_dev_spec_PBFiFo_title": "Pi-Blaster FiFo", "edt_dev_spec_baudrate_title": "Baudrate", @@ -451,7 +451,7 @@ "edt_dev_spec_cid_title": "CID", "edt_dev_spec_clientKey_title": "Clientkey", "edt_dev_spec_colorComponent_title": "Farbkomponente", - "edt_dev_spec_debugLevel_title": "Streamer Verbindung Debug Stufe", + "edt_dev_spec_debugLevel_title": "Debug Stufe", "edt_dev_spec_debugStreamer_title": "Streamer Debugging", "edt_dev_spec_delayAfterConnect_title": "Verzögerung nach Verbindung", "edt_dev_spec_dithering_title": "Dithering", @@ -466,10 +466,10 @@ "edt_dev_spec_intervall_title": "Intervall", "edt_dev_spec_invert_title": "Invertiere Signal", "edt_dev_spec_latchtime_title": "Sperrzeit", - "edt_dev_spec_ledIndex_title": "LED index", - "edt_dev_spec_ledType_title": "LED typ", + "edt_dev_spec_ledIndex_title": "LED-Index", + "edt_dev_spec_ledType_title": "LED-Typ", "edt_dev_spec_lightid_itemtitle": "ID", - "edt_dev_spec_lightid_title": "Lampen ID(s)", + "edt_dev_spec_lightid_title": "Lampen-ID(s)", "edt_dev_spec_lights_itemtitle": "Lampe", "edt_dev_spec_lights_name": "Name", "edt_dev_spec_lights_title": "Lampe(n)", @@ -479,7 +479,7 @@ "edt_dev_spec_networkDeviceName_title": "Gerätename im Netzwerk", "edt_dev_spec_networkDevicePort_title": "Port", "edt_dev_spec_numberOfLeds_title": "Anzahl der LEDs", - "edt_dev_spec_orbIds_title": "Orb ID(s)", + "edt_dev_spec_orbIds_title": "Orb-ID(s)", "edt_dev_spec_order_left_right_title": "2.", "edt_dev_spec_order_top_down_title": "1.", "edt_dev_spec_outputPath_title": "Ausgabepfad", @@ -497,8 +497,8 @@ "edt_dev_spec_sslReadTimeout_title": "Streamer lese Timeout", "edt_dev_spec_switchOffOnBlack_title": "Aus bei schwarz", "edt_dev_spec_switchOffOnbelowMinBrightness_title": "Aus bei Minimum", - "edt_dev_spec_targetIpHost_title": "Ziel IP/Rechnername", - "edt_dev_spec_targetIp_title": "Ziel IP", + "edt_dev_spec_targetIpHost_title": "Ziel IP-Adresse/Rechnername", + "edt_dev_spec_targetIp_title": "Ziel IP-Adresse", "edt_dev_spec_transeffect_title": "Übergangseffekt", "edt_dev_spec_transistionTimeExtra_title": "Extra Übergangszeit bei Schwarz", "edt_dev_spec_transistionTime_title": "Übergangszeit", @@ -548,10 +548,10 @@ "edt_eff_enableshutdown": "Echtes herunterfahren", "edt_eff_enum_all": "Alle", "edt_eff_enum_all-together": "Alle zusammen", - "edt_eff_enum_list": "LED Liste", + "edt_eff_enum_list": "LED-Liste", "edt_eff_explodeRadius": "Detonationsreichweite", "edt_eff_fade_header": "Farbübergang", - "edt_eff_fade_header_desc": "Farbübergange für alle LED's", + "edt_eff_fade_header_desc": "Farbübergänge für alle LEDs", "edt_eff_fadefactor": "Verblass Faktor", "edt_eff_fadeintime": "Zeit für Einblendung", "edt_eff_fadeouttime": "Zeit für Ausblendung", @@ -559,7 +559,7 @@ "edt_eff_flag_header_desc": "Verpasse deinen LEDs die Farben deines Landes. Du kannst mehr als eine Flagge auswählen, je nach Intervall werden diese dann abwechselnd angezeigt.", "edt_eff_fps": "Bilder pro Sekunde", "edt_eff_frequency": "Frequenz", - "edt_eff_gif_header": "GIF's", + "edt_eff_gif_header": "GIFs", "edt_eff_gif_header_desc": "Dieser Effekt spielt .gif Dateien ab. Bietet die Möglichkeit kleine GIF-Videos abzuspielen.", "edt_eff_height": "Höhe", "edt_eff_huechange": "Farbänderung", @@ -567,13 +567,13 @@ "edt_eff_interval": "Intervall", "edt_eff_knightrider_header": "Knight Rider", "edt_eff_knightrider_header_desc": "K.I.T.T ist zurück! Der Front-Scanner des bekannten Autos, diesmal nicht nur in rot.", - "edt_eff_ledlist": "LED Liste", - "edt_eff_ledtest_header": "Led Test", + "edt_eff_ledlist": "LED-Liste", + "edt_eff_ledtest_header": "LED-Test", "edt_eff_ledtest_header_desc": "Rotierende Ausgabe von Rot, Grün, Blau, Weiß und Schwarz", "edt_eff_length": "Länge", "edt_eff_lightclock_header": "Lichtuhr", "edt_eff_lightclock_header_desc": "Eine echte Uhr als Licht! Passe die Farben von Stunden, Minuten, Sekunden deinen Vorstellungen an. Optional können 3/6/9/12 Uhr Markierungen aktiviert werden. Sollte die Uhr eine falsche Zeit anzeigen, überprüfe die Uhrzeit deines Systems.", - "edt_eff_maintain_end_color": "Behalte Endfarbe", + "edt_eff_maintain_end_color": "Behalte die Endfarbe", "edt_eff_margin": "Abstand", "edt_eff_markerDepth": "Marker Tiefe", "edt_eff_markerEnable": "Zeige Marker", @@ -581,17 +581,17 @@ "edt_eff_max_len": "Maximale Länge", "edt_eff_min_len": "Minimale Länge", "edt_eff_moodblobs_header": "Stimmungskugeln", - "edt_eff_moodblobs_header_desc": "Entspannt den Abend beginnen mit langsam bewegenden Farbkugeln die ebenso sanft ihre Farbe verändern.", + "edt_eff_moodblobs_header_desc": "Entspannt den Abend beginnen mit langsam bewegenden Farbkugeln, die sanft ihre Farbe verändern.", "edt_eff_offset": "Verschiebung", "edt_eff_pacman_header": "Pac-Man", "edt_eff_pacman_header_desc": "Klein gefräßig und gelb, wer wird überleben?", "edt_eff_plasma_header": "Plasma", "edt_eff_plasma_header_desc": "Farbverzerrungen in verschiedenen Richtungen", "edt_eff_police_header": "Polizei", - "edt_eff_police_header_desc": "Lights like a police car in action", + "edt_eff_police_header_desc": "Blaulicht (Blau/Rot)", "edt_eff_postcolor": "Startfarbe", "edt_eff_rainbowmood_header": "Regenbogen", - "edt_eff_rainbowmood_header_desc": "Alle LEDs Regenbogen Farbübergang", + "edt_eff_rainbowmood_header_desc": "Regenbogen Farbübergang über alle LEDs", "edt_eff_randomCenter": "Zufälliger Mittelpunkt", "edt_eff_random_header": "Zufällig", "edt_eff_random_header_desc": "Pixel-Farb-Mix", @@ -620,7 +620,7 @@ "edt_eff_trails_header": "Sternschnuppen", "edt_eff_trails_header_desc": "In verschiedenen Farben, wünsch dir was!", "edt_eff_waves_header": "Wellen", - "edt_eff_waves_header_desc": "Gestalte Wellen aus Farbe! Mische dazu deine lieblings Farben und wähle einen Mittelpunkt.", + "edt_eff_waves_header_desc": "Gestalte Wellen aus Farbe! Mische dazu deine Lieblingsfarben und wähle einen Mittelpunkt.", "edt_eff_whichleds": "Welche LEDs", "edt_eff_whitelevel": "Weißstufe", "edt_eff_x-mas_header": "Weihnachten", @@ -629,8 +629,8 @@ "edt_msg_button_collapse": "Einklappen", "edt_msg_button_delete_all": "Alle", "edt_msg_button_delete_all_title": "Alle löschen", - "edt_msg_button_delete_last": "Letzes $1-Element", - "edt_msg_button_delete_last_title": "Letzes $1-Element löschen", + "edt_msg_button_delete_last": "Letztes $1-Element", + "edt_msg_button_delete_last_title": "Letztes $1-Element löschen", "edt_msg_button_delete_row_title": "$1 Löschen", "edt_msg_button_delete_row_title_short": "Löschen", "edt_msg_button_expand": "Ausklappen", @@ -705,10 +705,10 @@ "general_comp_FLATBUFSERVER": "Flatbuffers Server", "general_comp_FORWARDER": "Weiterleitung", "general_comp_GRABBER": "Plattform Aufnahme", - "general_comp_LEDDEVICE": "LED Hardware", + "general_comp_LEDDEVICE": "LED-Hardware", "general_comp_PROTOSERVER": "Protocol Buffers Server", "general_comp_SMOOTHING": "Glättung", - "general_comp_V4L": "USB Aufnahme", + "general_comp_V4L": "USB-Aufnahme", "general_country_de": "Deutschland", "general_country_es": "Spanien", "general_country_fr": "Frankreich", @@ -738,30 +738,30 @@ "infoDialog_general_warning_title": "Warnung", "infoDialog_import_comperror_text": "Dein Browser unterstützt leider keinen Import. Bitte versuche es mit einem anderen Browser erneut.", "infoDialog_import_confirm_text": "Bist du sicher, dass du die Konfigurations-Datei \"$1\" importieren möchtest? Diese Aktion kann nicht rückgängig gemacht werden!", - "infoDialog_import_confirm_title": "Bestätige Import", + "infoDialog_import_confirm_title": "Bestätige den Import", "infoDialog_import_hyperror_text": "Die ausgewählte Konfigurations-Datei \"$1\" kann nicht importiert werden. Sie ist nicht kompatibel mit Hyperion 2.0 und höher!", - "infoDialog_import_jsonerror_text": "Die ausgewählte Konfigurations-Datei \"$1\" ist keine .json Datei oder ist beschädigt! Fehlermeldung: ($2)", + "infoDialog_import_jsonerror_text": "Die ausgewählte Konfigurationsdatei \"$1\" ist nicht im JSON-Format oder ist beschädigt! Fehlermeldung: ($2)", "infoDialog_wizrgb_text": "Deine RGB Byte Reihenfolge ist bereits richtig eingestellt.", - "infoDialog_writeconf_error_text": "Das speichern der Konfiguration ist fehlgeschlagen.", + "infoDialog_writeconf_error_text": "Das Speichern der Konfiguration ist fehlgeschlagen.", "infoDialog_writeimage_error_text": "Die ausgewählte Datei \"$1\" ist keine Bilddatei oder ist beschädigt! Bitte wähle eine andere Bilddatei aus.", "info_404": "Die angeforderte Seite ist nicht verfügbar!", "info_conlost_label_autorecon": "Du wirst verbunden, sobald Hyperion wieder verfügbar ist.", "info_conlost_label_autorefresh": "Diese Seite wird automatisch aktualisiert.", "info_conlost_label_reason": "Mögliche Ursachen:", - "info_conlost_label_reason1": "- Schlechte WLAN Verbindung", + "info_conlost_label_reason1": "- Schlechte WLAN-Verbindung", "info_conlost_label_reason2": "- Ein Update wird durchgeführt", "info_conlost_label_reason3": "- Hyperion wird nicht mehr ausgeführt", - "info_conlost_label_reload": "Automatisches verbinden gestoppt - limit überschritten. Lade die Seite neu oder klick mich.", + "info_conlost_label_reload": "Automatisches verbinden gestoppt - Limit überschritten. Lade die Seite neu oder klick mich.", "info_conlost_label_title": "Verbindung zum Hyperion Service unterbrochen!", - "info_restart_contus": "Solltest du nach 20 Sekunden immer noch hier sein, ist etwas schief gelaufen. Öffne bitte in unserem Support Forum ein neues Thema...", + "info_restart_contus": "Solltest du nach 20 Sekunden immer noch hier sein, ist etwas schiefgelaufen. Öffne bitte in unserem Support Forum ein neues Thema...", "info_restart_contusa": "...mit deinen letztes Schritten. Danke!", "info_restart_rightback": "Hyperion ist gleich wieder für dich da!", "info_restart_title": "Startet gerade neu...", "main_ledsim_btn_togglelednumber": "LED Nummern", "main_ledsim_btn_toggleleds": "Zeige LEDs", "main_ledsim_btn_togglelivevideo": "Live Video", - "main_ledsim_text": "Eine live Visualisierung deiner LED Farben, sofern verfügbar kann ein live Video dazugeschalten werden.", - "main_ledsim_title": "LED Visualisierung", + "main_ledsim_text": "Eine live Visualisierung deiner LED-Farben und Vorschau des erfassten Videosignals.", + "main_ledsim_title": "LED-Visualisierung", "main_menu_about_token": "Über Hyperion", "main_menu_colors_conf_token": "Bildverarbeitung", "main_menu_configuration_token": "Konfiguration", @@ -771,7 +771,7 @@ "main_menu_general_conf_token": "Allgemein", "main_menu_grabber_conf_token": "Aufnahme Hardware", "main_menu_input_selection_token": "Eingabeauswahl", - "main_menu_leds_conf_token": "LED Hardware", + "main_menu_leds_conf_token": "LED-Hardware", "main_menu_logging_token": "Protokoll", "main_menu_network_conf_token": "Netzwerk", "main_menu_remotecontrol_token": "Fernbedienung", @@ -791,7 +791,7 @@ "remote_effects_label_picture": "Bild:", "remote_input_clearall": "Lösche alle Effekte/Farben", "remote_input_duration": "Dauer:", - "remote_input_intro": "Hyperion nutzt ein Prioritätensystem um die Quelle zu wählen. Alles was du setzt hat eine Priorität (Effekte/Farben/Plattform Aufnahme/USB Aufnahme und Netzwerkquellen). Standardmäßig nutzt Hyperion die Quelle mit der niedrigsten Priorität. Hier kannst du aktiv Einfluss darauf nehmen. $1", + "remote_input_intro": "Hyperion nutzt ein Prioritätensystem, um die Quelle zu wählen. Alles was du setzt hat eine Priorität (Effekte,Farben,Plattform Aufnahme,USB Aufnahme und Netzwerkquellen). Standardmäßig nutzt Hyperion die Quelle mit der niedrigsten Priorität. Hier kannst du aktiv Einfluss darauf nehmen. $1", "remote_input_ip": "IP:", "remote_input_label": "Quellenauswahl", "remote_input_label_autoselect": "Automatische Auswahl", @@ -802,7 +802,7 @@ "remote_input_sourceactiv_btn": "Quelle aktiv", "remote_input_status": "Status/Aktion", "remote_losthint": "Notiz: Alle Änderungen gehen nach einem Neustart verloren.", - "remote_maptype_intro": "Für gewöhnlich entscheidet dein LED Layout welchen Bildbereich welche LED bekommt, dies kann hier geändert werden. $1", + "remote_maptype_intro": "Für gewöhnlich entscheidet dein LED-Layout welcher Bildbereich welche LED zugewiesen bekommt, dies kann hier geändert werden. $1", "remote_maptype_label": "LED-Bereich Zuordnung", "remote_maptype_label_multicolor_mean": "Mehrfarbig", "remote_maptype_label_unicolor_mean": "Einfarbig", @@ -811,11 +811,11 @@ "remote_videoMode_2D": "2D", "remote_videoMode_3DSBS": "3DSBS", "remote_videoMode_3DTAB": "3DTAB", - "remote_videoMode_intro": "Wähle zwischen verschiedenen Video Modi um neben 2D auch 3D Filme zu genießen. Unterstützt werden alle Aufnahmearten. $1", + "remote_videoMode_intro": "Wähle zwischen verschiedenen Video Modi, um neben 2D auch 3D Filme zu genießen. Unterstützt werden alle Aufnahmearten. $1", "remote_videoMode_label": "Video Modus", "support_label_affinstr1": "Klicke auf den Link deines Landes", "support_label_affinstr2": "Kaufe wie gewohnt ein, abhängig von deinem Umsatz bekommen wir eine kleine Provision", - "support_label_affinstr3": "Du zahlst immer den selben Preis. Teste es!", + "support_label_affinstr3": "Du zahlst immer denselben Preis. Teste es!", "support_label_btctext": "Adresse:", "support_label_donate": "Spende oder nutze unsere Affiliate Links", "support_label_donationpp": "Spende:", @@ -823,33 +823,33 @@ "support_label_forumtext": "Diskussion und Hilfestellung von der Community", "support_label_forumtitle": "Forum", "support_label_ggtext": "Platziere uns in deinen Kreisen auf Google+", - "support_label_ghtext": "Besuche uns auf Github", + "support_label_ghtext": "Besuche uns auf GitHub", "support_label_igtext": "Schau doch mal bei Instagram vorbei!", - "support_label_intro": "Hyperion ist ein kostenloses Open Source Projekt und ein kleines Team arbeitet an seiner Weiterentwicklung. Darum benötigen wir DEINE Unterstützung um weiter in bessere Infrastruktur und Weiterentwicklung investieren zu können.", + "support_label_intro": "Hyperion ist ein kostenloses Open Source Projekt und ein kleines Team arbeitet an seiner Weiterentwicklung. Darum benötigen wir DEINE Unterstützung, um weiter in bessere Infrastruktur und Weiterentwicklung investieren zu können.", "support_label_spreadtheword": "Weitersagen!", "support_label_title": "Unterstütze Hyperion", "support_label_twtext": "Nutze die 140 Zeichen und bleibe auf dem Laufenden auch auf Twitter", "support_label_webpagetext": "Das Zuhause von Hyperion", "support_label_webpagetitle": "Internetseite", "support_label_webrestitle": "Informationsquellen und Hilfe", - "support_label_wikitext": "Von A bis Z - Alles wissenwerte zu Hyperion", + "support_label_wikitext": "Von A bis Z - Alles wissenswerte zu Hyperion", "support_label_wikititle": "Wiki", - "support_label_yttext": "Gelangweilt von Bildern? Werfe einen Blick auf unsere Youtube Videos", + "support_label_yttext": "Gelangweilt von Bildern? Wirf einen Blick auf unsere YouTube Videos", "update_button_changelog": "Zeige Änderungsprotokoll", "update_button_install": "Installieren", "update_error_getting_versions": "Wir hatten Probleme die verfügbaren Versionen zu ermitteln.", "update_label_description": "Beschreibung:", - "update_label_intro": "Diese Seite zeigt dir alle verfügbaren Versionen von Hyperion, du kannst nach Belieben eine aktuellere Version installieren oder eine Ältere. Die aktuellsten Versionen befinden sich immer oben.", + "update_label_intro": "Diese Seite zeigt dir alle verfügbaren Versionen von Hyperion, du kannst nach Belieben eine aktuellere Version installieren oder eine Ältere. Die aktuellen Versionen befinden sich immer oben.", "update_label_type": "Art:", "update_no_updates_for_branch": "Keine Updates für ausgewählten Channel verfügbar.", "update_versreminder": "Deine Version: $1", "wiz_atmoorb_desc2": "Nun kannst du auswählen, welche der Orbs hinzugefügt werden sollen. Mit der Position wählst du aus, wo die jeweilige Lampe \"im Bild\" sitzen soll. Deaktivierte Lampen werden nicht hinzugefügt. Als Hilfe zur Identifizierung kannst du sie mit einem Klick auf den rechten Button kurz aufleuchten lassen.", - "wiz_atmoorb_intro1": "Dieser Assistent hilft dir bei der Konfiguration von Hyperion für AtmoOrb. Zu den Funktionen zählen ein automatisches finden der AtmoOrbs, die einzelnen Lampen unterschiedlichen Bereichen im Bild zuzuordnen und weitere Einstellungen von Hyperion automatisch anzupassen. Kurz gesagt: Komplette Einrichtung mit ein paar Klicks.", + "wiz_atmoorb_intro1": "Dieser Assistent hilft dir bei der Konfiguration von Hyperion für AtmoOrb. Zu den Funktionen zählen ein automatisches Finden der AtmoOrbs, die einzelnen Lampen unterschiedlichen Bereichen im Bild zuzuordnen und weitere Einstellungen von Hyperion automatisch anzupassen. Kurz gesagt: Komplette Einrichtung mit ein paar Klicks.", "wiz_atmoorb_noLights": "Es wurden keine AtmoOrbs gefunden! Bitte verbinde die AtmoOrbs mit dem Netzwerk oder konfiguriere sie manuell.", "wiz_atmoorb_title": "AtmoOrb Einrichtungsassistent", - "wiz_cc_adjustgamma": "Gamma: Was du jetzt tun musst ist, jeden Gamma-Kanal so einstellen, dass der \"Grauverlauf\" auf den LEDs nicht grünlich/rötlich/bläulich aussieht. Neutral ist übrigens 1.0. Beispiel: Sollte dein grau etwas rötlich sein bedeutet dies, dass du dein Gamma für Rot erhöhen musst um den Rot-Anteil zu verringern (Je mehr Gamma, desto weniger Farbe).", - "wiz_cc_adjustit": "Verändere dein \"$1\", bis du zufrieden bist. Beachte: Je mehr du reduzierst bzw von dem Standardwert abweichst, je mehr veränderst du den maximalen Farbraum, was alle Farben die daraus abgeleitet werden ebenfalls betrifft. Je nach TV/LED Farbspektrum sind die Ergebnisse unterschiedlich.", - "wiz_cc_backlight": "Zusätzlich kannst du eine Hintergrundbeluchtung einstellen, um \"irritierende Farben\" bei fast schwarzem Bild zu vermeiden oder du den Wechsel zwischen Farbe und Aus als zu anstrengend empfindest. Zusätzlich kann bestimmt werden, ob diese farbig oder nur weiß sein soll. Wird automatisch deaktiviert im Zustand \"Aus\" sowie bei \"Farbe\" und \"Effekt\".", + "wiz_cc_adjustgamma": "Gamma: Was du jetzt tun musst ist, jeden Gamma-Kanal so einstellen, dass der \"Grauverlauf\" auf den LEDs nicht grünlich/rötlich/bläulich aussieht. Neutral ist übrigens 1.0. Beispiel: Sollte dein grau etwas rötlich sein bedeutet dies, dass du dein Gamma für Rot erhöhen musst, um den Rot-Anteil zu verringern (Je mehr Gamma, desto weniger Farbe).", + "wiz_cc_adjustit": "Verändere dein \"$1\", bis du zufrieden bist. Beachte: Je mehr du reduzierst bzw. von dem Standardwert abweichst, je mehr veränderst du den maximalen Farbraum. Das betrifft alle Farben, die daraus abgeleitet werden. Je nach TV/LED Farbspektrum sind die Ergebnisse unterschiedlich.", + "wiz_cc_backlight": "Zusätzlich kannst du eine Hintergrundbeleuchtung einstellen, um \"irritierende Farben\" bei fast schwarzem Bild zu vermeiden oder du den Wechsel zwischen Farbe und Aus als zu anstrengend empfindest. Zusätzlich kann bestimmt werden, ob diese farbig oder nur weiß sein soll. Wird automatisch deaktiviert im Zustand \"Aus\" sowie bei \"Farbe\" und \"Effekt\".", "wiz_cc_btn_stop": "Stoppe Video", "wiz_cc_btn_switchpic": "Testbild ändern", "wiz_cc_chooseid": "Wähle einen Namen für dieses Farb-Profil.", @@ -859,40 +859,40 @@ "wiz_cc_kodidisconlink": "Download Link Bilder:", "wiz_cc_kodimsg_start": "Test bestanden - Zeit zu beginnen", "wiz_cc_kodishould": "Kodi sollte jetzt folgendes Bild anzeigen: $1", - "wiz_cc_kwebs": "Kodi Webserver (IP:Port)", + "wiz_cc_kwebs": "Kodi Webserver (IP-Adresse:Port)", "wiz_cc_lettvshow": "Lass dabei deinen Fernseher folgendes Bild anzeigen: $1", - "wiz_cc_lettvshowm": "Überprüfe dies mithilfe folgender Bildern: $1", + "wiz_cc_lettvshowm": "Überprüfe dies mithilfe folgender Bilder: $1", "wiz_cc_link": "Klick mich", "wiz_cc_morethanone": "Du hast mehr als 1 Profil, bitte wähle das zu kalibrierende Profil", - "wiz_cc_summary": "Im folgenden eine Zusammenfassung deiner Einstellungen. Während du ein Video abspielst, kannst du hier weiter ausprobieren. Wenn du fertig bist, klicke auf speichern.", + "wiz_cc_summary": "Im Folgenden eine Zusammenfassung deiner Einstellungen. Während du ein Video abspielst, kannst du hier weiter ausprobieren. Wenn du fertig bist, klicke auf Speichern.", "wiz_cc_testintro": "Nun ist es an der Zeit für einen Testlauf.", "wiz_cc_testintrok": "Klicke auf einen Button, um eines der Testvideos abzuspielen.", - "wiz_cc_testintrowok": "Unter folgendem Link findest du ein paar Testvideos zum herunterladen und abspielen:", + "wiz_cc_testintrowok": "Unter folgendem Link findest du ein paar Testvideos zum Herunterladen und Abspielen:", "wiz_cc_title": "Farbkalibrierungs Assistent", "wiz_guideyou": "Der $1 wird dich durch die Konfiguration leiten, drücke dazu einfach den Button!", "wiz_hue_blinkblue": "Lasse ID $1 blau aufleuchten", "wiz_hue_clientkey": "Clientkey:", "wiz_hue_create_user": "Neuen Benutzer erstellen", - "wiz_hue_desc1": "Es wird automatisch nach der Hue Bridge gesucht, solltest sie nicht gefunden werden, gebe die IP an und drücke den \"neu laden\" Button. Danach benötigst du eine gültige Benutzer ID, diese kann auch erstellt werden.", + "wiz_hue_desc1": "Es wird automatisch nach der Hue Bridge gesucht, sollte sie nicht gefunden werden, gebe die IP-Adresse an und drücke den \"neu laden\" Button. Danach benötigst du eine gültige Benutzer-ID. Diese kann hier auch erstellt werden.", "wiz_hue_desc2": "Nun kannst du auswählen, welche der Lampen (IDs) hinzugefügt werden sollen. Mit der Position wählst du aus, wo die jeweilige Lampe \"im Bild\" sitzen soll. Deaktivierte Lampen werden nicht hinzugefügt. Als Hilfe zur Identifizierung kannst du sie mit einem Klick auf den rechten Button kurz aufleuchten lassen.", - "wiz_hue_e_clientkey_needed": "Für die Verwendung der Entertainment API, ist ein zum Usernamen passender Clientkey erforderlich. Bitte einen vorhandenen eingeben oder über die Schaltflächen unten einen neuen erstellen.", + "wiz_hue_e_clientkey_needed": "Für die Verwendung der Entertainment-API, ist ein zum Benutzernamen passender Clientkey erforderlich. Bitte einen vorhandenen eingeben oder über die Schaltflächen unten einen neuen erstellen.", "wiz_hue_e_create_user": "Neuen Benutzer und Clientkey erstellen", - "wiz_hue_e_desc1": "Es wird automatisch nach der Hue Bridge gesucht, solltest sie nicht gefunden werden, gebe die IP an und drücke den \"neu laden\" Button. Danach benötigst du eine gültige Benutzer ID und den dazugehörigen Clientkey, damit die Entertainment API verwendet werden kann. Beides kann auch automatisch erstellt werden.", + "wiz_hue_e_desc1": "Es wird automatisch nach der Hue-Bridge gesucht, sollte sie nicht gefunden werden, gebe die IP an und drücke den \"neu laden\" Button. Danach benötigst du eine gültige Benutzer-ID und den dazugehörigen Clientkey, damit die Entertainment API verwendet werden kann. Beides kann hier automatisch erstellt werden.", "wiz_hue_e_desc2": "Nun kannst du die Entertainment Gruppe auswählen, welche die Lampen zur Verwendung mit Hyperion beinhaltet.", "wiz_hue_e_desc3": "Nun kannst du auswählen, mit welcher Position die jeweilige Lampe \"im Bild\" sitzen soll. Eine Vorauswahl der Position, wurde Anhand der konfigurierten Positionen der Lampen in der Entertainment Gruppe gewählt. Dies ist nur eine Empfehlung und kann beliebig angepasst werden. Als Hilfe zur Identifizierung kannst du sie mit einem Klick auf den rechten Button kurz aufleuchten lassen und die Auswahl zu verbessern.", - "wiz_hue_e_intro1": "Dieser Assistent hilft dir bei der Konfiguration von Hyperion für Philips Hue Entertainment. Zu den Funktionen zählen ein automatisches finden der Hue Bridge, einen neuen Benutzer und dazugehörigen Clientkey zum verwenden der Entertainment API erstellen, eine Entertainment Gruppenauswahl und die zur Gruppe gehörenden Lampen unterschiedlichen Bereichen im Bild zuzuordnen, sowie weitere Einstellungen von Hyperion automatisch anzupassen. Kurz gesagt: Komplette Einrichtung mit ein paar Klicks.", - "wiz_hue_e_noapisupport": "Der Assistent hat die Entertainment API Unterstützung deaktiviert und wird mit der klassischen API weitergeführt.", - "wiz_hue_e_noapisupport_hint": "Die Einstellung \"Hue Entertainment API verwenden\" wurde deaktiviert.", - "wiz_hue_e_noegrpids": "Es wurden keine Entertainment Gruppen in dieser Hue Bridge gefunden.", + "wiz_hue_e_intro1": "Dieser Assistent hilft dir bei der Konfiguration von Hyperion für Philips Hue Entertainment. Zu den Funktionen zählen ein automatisches finden der Hue-Bridge, einen neuen Benutzer und dazugehörigen Clientkey zum Verwenden der Entertainment-API erstellen, eine Entertainment Gruppenauswahl und die zur Gruppe gehörenden Lampen unterschiedlichen Bereichen im Bild zuzuordnen, sowie weitere Einstellungen von Hyperion automatisch anzupassen. Kurz gesagt: Komplette Einrichtung mit ein paar Klicks.", + "wiz_hue_e_noapisupport": "Der Assistent hat die Entertainment-API Unterstützung deaktiviert und wird mit der klassischen API weitergeführt.", + "wiz_hue_e_noapisupport_hint": "Die Einstellung \"Hue Entertainment-API verwenden\" wurde deaktiviert.", + "wiz_hue_e_noegrpids": "Es wurden keine Entertainment Gruppen in dieser Hue-Bridge gefunden.", "wiz_hue_e_nogrpids": "Diese Hue Bridge hat keine definierten Gruppen, bitte erstelle zuvor wenigstens eine in der Hue App.", "wiz_hue_e_title": "Philips Hue Entertainment Assistent", "wiz_hue_e_use_group": "Gruppe verwenden", "wiz_hue_e_use_groupid": "Gruppen ID $1 verwenden", "wiz_hue_failure_connection": "Zeitüberschreitung. Bitte drücke die Taste auf deiner Hue Bridge rechtzeitig", "wiz_hue_failure_ip": "Keine Hue Bridge gefunden, bitte überprüfe die IP", - "wiz_hue_failure_user": "Benutzer ID wurde nicht gefunden, erstelle eine neue, indem du auf den nachfolgenden Button klickst, oder gib eine bereits registrierte an und klicke dann auf das \"neu laden\" Symbol.", - "wiz_hue_intro1": "Dieser Assistent hilft dir bei der Konfiguration von Hyperion für Philips Hue. Zu den Funktionen zählen ein automatisches finden der Hue Bridge, einen neuen Benutzer erstellen, die einzelnen Lampen unterschiedlichen Bereichen im Bild zuzuordnen und weitere Einstellungen von Hyperion automatisch anzupassen. Kurz gesagt: Komplette Einrichtung mit ein paar Klicks.", - "wiz_hue_ip": "Hue Bridge IP:", + "wiz_hue_failure_user": "Die Benutzer-ID wurde nicht gefunden. Erstelle eine Neue, indem du auf den nachfolgenden Button klickst oder gib eine bereits registrierte an und klicke dann auf das \"neu laden\" Symbol.", + "wiz_hue_intro1": "Dieser Assistent hilft dir bei der Konfiguration von Hyperion für Philips Hue. Zu den Funktionen zählen ein automatisches Finden der Hue-Bridge, einen neuen Benutzer erstellen, die einzelnen Lampen unterschiedlichen Bereichen im Bild zuzuordnen und weitere Einstellungen von Hyperion automatisch anzupassen. Kurz gesagt: Komplette Einrichtung mit ein paar Klicks.", + "wiz_hue_ip": "Hue-Bridge IP-Adresse:", "wiz_hue_noids": "Diese Hue Bridge hat keine verbundenen Lampen, bitte verbinde diese zuerst mit deiner Hue Bridge (Nutze die Hue Apps dafür)", "wiz_hue_press_link": "Bitte \"Link\" Taste auf der Hue Bridge drücken.", "wiz_hue_searchb": "Suche nach Hue Bridge...", @@ -904,8 +904,8 @@ "wiz_ids_entire": "Ganzes Bild", "wiz_pos": "Position/Status", "wiz_rgb_expl": "Der Farbpunkt ändert alle x Sekunden die Farbe (rot, grün), zur selben Zeit ändern deine LEDs die Farbe ebenfalls. Beantworte die Fragen unten, um deine RGB Byte Reihenfolge zu überprüfen/korrigieren.", - "wiz_rgb_intro1": "Dieser Assisent wird dir dabei helfen die richtige Byte Reihenfolge für deine leds zu finden. Klicke auf Fortfahren um zu beginnen.", - "wiz_rgb_intro2": "Wann benötigt man diesen Assistenten? Zur Erstkonfiguration oder wenn deine LEDs zb rot leuchten sollten, sie aber blau oder grün sind.", + "wiz_rgb_intro1": "Dieser Assistent wird dir dabei helfen die richtige Byte Reihenfolge für deine LEDs zu finden. Klicke auf Fortfahren, um zu beginnen.", + "wiz_rgb_intro2": "Wann benötigt man diesen Assistenten? Zur Erstkonfiguration oder wenn deine LEDs z.B. rot leuchten sollten, sie aber blau oder grün sind.", "wiz_rgb_q": "Welche Farbe zeigen deine LEDs, wenn der Farbpunkt oben...", "wiz_rgb_qgend": "...grün ist?", "wiz_rgb_qrend": "...rot ist?", @@ -913,7 +913,7 @@ "wiz_rgb_title": "RGB Byte Reihenfolge Assistent", "wiz_wizavail": "Assistent verfügbar", "wiz_yeelight_desc2": "Nun kannst du auswählen, welche der Lampen hinzugefügt werden sollen. Mit der Position wählst du aus, wo die jeweilige Lampe \"im Bild\" sitzen soll. Deaktivierte Lampen werden nicht hinzugefügt. Als Hilfe zur Identifizierung kannst du sie mit einem Klick auf den rechten Button kurz aufleuchten lassen.", - "wiz_yeelight_intro1": "Dieser Assistent hilft dir bei der Konfiguration von Hyperion für Yeelight. Zu den Funktionen zählen ein automatisches finden der Yeelights, die einzelnen Lampen unterschiedlichen Bereichen im Bild zuzuordnen und weitere Einstellungen von Hyperion automatisch anzupassen. Kurz gesagt: Komplette Einrichtung mit ein paar Klicks.", + "wiz_yeelight_intro1": "Dieser Assistent hilft dir bei der Konfiguration von Hyperion für Yeelight. Zu den Funktionen zählen ein automatisches Finden der Yeelights, die einzelnen Lampen unterschiedlichen Bereichen im Bild zuzuordnen und weitere Einstellungen von Hyperion automatisch anzupassen. Kurz gesagt: Komplette Einrichtung mit ein paar Klicks.", "wiz_yeelight_noLights": "Es wurden keine Yeelights gefunden! Bitte verbinde die Yeelights mit dem Netzwerk oder konfiguriere sie manuell.", "wiz_yeelight_title": "Yeelight Einrichtungsassistent", "wiz_yeelight_unsupported": "Nicht unterstützt" From f11885fd8bb5b44e8c4a5499579bcff4a48efbd7 Mon Sep 17 00:00:00 2001 From: TPmodding Date: Fri, 25 Sep 2020 08:43:46 -0700 Subject: [PATCH 6/7] lgtm fixes (#1020) --- assets/webconfig/js/ui_utils.js | 2 +- assets/webconfig/js/wizard.js | 8 ++++---- libsrc/leddevice/dev_net/LedDeviceYeelight.cpp | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/assets/webconfig/js/ui_utils.js b/assets/webconfig/js/ui_utils.js index 8ba84eb1..cae6b50c 100644 --- a/assets/webconfig/js/ui_utils.js +++ b/assets/webconfig/js/ui_utils.js @@ -207,7 +207,7 @@ function initLanguageSelection() { // If language is not supported by hyperion, try fallback language langLocale = $.i18n().options.fallbackLocale.substring(0,2); - langIdx = availLang.indexOf(langLocale) + langIdx = availLang.indexOf(langLocale); if ( langIdx > -1 ) { langText = availLangText[langIdx]; diff --git a/assets/webconfig/js/wizard.js b/assets/webconfig/js/wizard.js index e4ba1700..53b4379e 100644 --- a/assets/webconfig/js/wizard.js +++ b/assets/webconfig/js/wizard.js @@ -1552,7 +1552,7 @@ function assign_yeelight_lights(){ options+= '>'+$.i18n(txt+val)+''; } - var enabled = 'enabled' + var enabled = 'enabled'; if (! models.includes (lights[lightid].model) ) { var enabled = 'disabled'; @@ -1752,7 +1752,7 @@ async function discover_atmoorb_lights(multiCastGroup, multiCastPort){ // TODO: error case unhandled // res can be: false (timeout) or res.error (not found) if(res && !res.error){ - const r = res.info + const r = res.info; // Process devices returned by discovery for(const device of r.devices) @@ -1832,10 +1832,10 @@ function assign_atmoorb_lights(){ options+= '>'+$.i18n(txt+val)+''; } - var enabled = 'enabled' + var enabled = 'enabled'; if ( orbId < 1 || orbId > 255 ) { - enabled = 'disabled' + enabled = 'disabled'; options = ''; } diff --git a/libsrc/leddevice/dev_net/LedDeviceYeelight.cpp b/libsrc/leddevice/dev_net/LedDeviceYeelight.cpp index 968b4561..2a0e6c5d 100644 --- a/libsrc/leddevice/dev_net/LedDeviceYeelight.cpp +++ b/libsrc/leddevice/dev_net/LedDeviceYeelight.cpp @@ -247,7 +247,7 @@ int YeelightLight::writeCommand( const QJsonDocument &command, QJsonArray &resul if ( elapsedTime < _waitTimeQuota ) { int waitTime = _waitTimeQuota; - log ( 1, "writeCommand():", "Wait %dms, elapsedTime: %llms < quotaTime: %dms", waitTime, elapsedTime, _waitTimeQuota); + log ( 1, "writeCommand():", "Wait %dms, elapsedTime: %dms < quotaTime: %dms", waitTime, elapsedTime, _waitTimeQuota); // Wait time (in ms) before doing next write to not overrun Yeelight command quota std::this_thread::sleep_for(std::chrono::milliseconds(_waitTimeQuota)); From 6c68454bea8d9d196ea7e3abac22fe15454a57b9 Mon Sep 17 00:00:00 2001 From: The-Master777 Date: Fri, 25 Sep 2020 19:34:00 +0200 Subject: [PATCH 7/7] Support SK9822 type LEDs with adaptive brightness control via SPI (#1017) * Support SK9822 type LEDs with adaptive brightness control via SPI * SK9822 - minor refactorings --- assets/webconfig/i18n/de.json | 4 +- assets/webconfig/i18n/en.json | 4 +- assets/webconfig/js/content_leds.js | 2 +- docs/docs/en/user/LedDevices.md | 3 + libsrc/hyperion/schema/schema-device.json | 2 +- libsrc/leddevice/LedDeviceSchemas.qrc | 1 + libsrc/leddevice/dev_spi/LedDeviceSK9822.cpp | 142 +++++++++++++++++++ libsrc/leddevice/dev_spi/LedDeviceSK9822.h | 83 +++++++++++ libsrc/leddevice/schemas/schema-sk9822.json | 61 ++++++++ 9 files changed, 298 insertions(+), 4 deletions(-) create mode 100644 libsrc/leddevice/dev_spi/LedDeviceSK9822.cpp create mode 100644 libsrc/leddevice/dev_spi/LedDeviceSK9822.h create mode 100644 libsrc/leddevice/schemas/schema-sk9822.json diff --git a/assets/webconfig/i18n/de.json b/assets/webconfig/i18n/de.json index 3ff99434..f876dc1c 100644 --- a/assets/webconfig/i18n/de.json +++ b/assets/webconfig/i18n/de.json @@ -466,6 +466,8 @@ "edt_dev_spec_intervall_title": "Intervall", "edt_dev_spec_invert_title": "Invertiere Signal", "edt_dev_spec_latchtime_title": "Sperrzeit", + "edt_dev_spec_globalBrightnessControlMaxLevel_title": "Maximalstufe Stromstärke", + "edt_dev_spec_globalBrightnessControlThreshold_title": "Grenzwert für adaptive Stromstärke", "edt_dev_spec_ledIndex_title": "LED-Index", "edt_dev_spec_ledType_title": "LED-Typ", "edt_dev_spec_lightid_itemtitle": "ID", @@ -917,4 +919,4 @@ "wiz_yeelight_noLights": "Es wurden keine Yeelights gefunden! Bitte verbinde die Yeelights mit dem Netzwerk oder konfiguriere sie manuell.", "wiz_yeelight_title": "Yeelight Einrichtungsassistent", "wiz_yeelight_unsupported": "Nicht unterstützt" -} \ No newline at end of file +} diff --git a/assets/webconfig/i18n/en.json b/assets/webconfig/i18n/en.json index 47ac6882..5bb4bb28 100644 --- a/assets/webconfig/i18n/en.json +++ b/assets/webconfig/i18n/en.json @@ -466,6 +466,8 @@ "edt_dev_spec_intervall_title": "Interval", "edt_dev_spec_invert_title": "Invert signal", "edt_dev_spec_latchtime_title": "Latch time", + "edt_dev_spec_globalBrightnessControlMaxLevel_title": "Max Current Level", + "edt_dev_spec_globalBrightnessControlThreshold_title": "Adaptive Current Threshold", "edt_dev_spec_ledIndex_title": "LED index", "edt_dev_spec_ledType_title": "LED Type", "edt_dev_spec_lightid_itemtitle": "ID", @@ -917,4 +919,4 @@ "wiz_yeelight_noLights": "No Yeelights found! Please get the lights connected to the network or configure them manually.", "wiz_yeelight_title": "Yeelight Wizard", "wiz_yeelight_unsupported": "Unsupported" -} \ No newline at end of file +} diff --git a/assets/webconfig/js/content_leds.js b/assets/webconfig/js/content_leds.js index 8a092d9e..21b7f32f 100644 --- a/assets/webconfig/js/content_leds.js +++ b/assets/webconfig/js/content_leds.js @@ -568,7 +568,7 @@ $(document).ready(function() { // create led device selection var ledDevices = window.serverInfo.ledDevices.available; - var devRPiSPI = ['apa102', 'apa104', 'ws2801', 'lpd6803', 'lpd8806', 'p9813', 'sk6812spi', 'sk6822spi', 'ws2812spi']; + var devRPiSPI = ['apa102', 'apa104', 'ws2801', 'lpd6803', 'lpd8806', 'p9813', 'sk6812spi', 'sk6822spi', 'sk9822', 'ws2812spi']; var devRPiPWM = ['ws281x']; var devRPiGPIO = ['piblaster']; var devNET = ['atmoorb', 'fadecandy', 'philipshue', 'nanoleaf', 'tinkerforge', 'tpm2net', 'udpe131', 'udpartnet', 'udph801', 'udpraw', 'wled', 'yeelight']; diff --git a/docs/docs/en/user/LedDevices.md b/docs/docs/en/user/LedDevices.md index 73c150f3..ddeb1139 100644 --- a/docs/docs/en/user/LedDevices.md +++ b/docs/docs/en/user/LedDevices.md @@ -31,6 +31,9 @@ The SK6812 are **3** wire leds, you could also drive them via spi. #### sk6822spi The SK6822 are **3** wire leds, you could also drive them via spi. +#### sk9822 +The SK9822 are **4** wire leds compatible to APA 102 with addition of global brightness control. + #### ws2812spi The WS2812 are **3** wire leds, you could also drive them via spi. diff --git a/libsrc/hyperion/schema/schema-device.json b/libsrc/hyperion/schema/schema-device.json index 571280ae..23deb34a 100644 --- a/libsrc/hyperion/schema/schema-device.json +++ b/libsrc/hyperion/schema/schema-device.json @@ -39,7 +39,7 @@ { "type" : { - "enum" : ["file", "apa102", "apa104", "ws2801", "lpd6803", "lpd8806", "p9813", "sk6812spi", "sk6822spi", "ws2812spi","ws281x", "piblaster", "adalight", "dmx", "atmo", "hyperionusbasp", "lightpack", "multilightpack", "paintpack", "rawhid", "sedu", "tpm2", "karate"] + "enum" : ["file", "apa102", "apa104", "ws2801", "lpd6803", "lpd8806", "p9813", "sk6812spi", "sk6822spi", "sk9822", "ws2812spi","ws281x", "piblaster", "adalight", "dmx", "atmo", "hyperionusbasp", "lightpack", "multilightpack", "paintpack", "rawhid", "sedu", "tpm2", "karate"] } }, "additionalProperties" : true diff --git a/libsrc/leddevice/LedDeviceSchemas.qrc b/libsrc/leddevice/LedDeviceSchemas.qrc index f90c354f..8977d9ca 100644 --- a/libsrc/leddevice/LedDeviceSchemas.qrc +++ b/libsrc/leddevice/LedDeviceSchemas.qrc @@ -20,6 +20,7 @@ schemas/schema-sedu.json schemas/schema-sk6812spi.json schemas/schema-sk6822spi.json + schemas/schema-sk9822.json schemas/schema-tinkerforge.json schemas/schema-tpm2net.json schemas/schema-tpm2.json diff --git a/libsrc/leddevice/dev_spi/LedDeviceSK9822.cpp b/libsrc/leddevice/dev_spi/LedDeviceSK9822.cpp new file mode 100644 index 00000000..e0fcc84e --- /dev/null +++ b/libsrc/leddevice/dev_spi/LedDeviceSK9822.cpp @@ -0,0 +1,142 @@ +#include "LedDeviceSK9822.h" + +// Local Hyperion includes +#include + + +/// The value that determines the higher bits of the SK9822 global brightness control field +const int SK9822_GBC_UPPER_BITS = 0xE0; + +/// The maximal current level supported by the SK9822 global brightness control field, 31 +const int SK9822_GBC_MAX_LEVEL = 0x1F; + +LedDeviceSK9822::LedDeviceSK9822(const QJsonObject &deviceConfig) + : ProviderSpi(deviceConfig) + , _globalBrightnessControlThreshold(255) + , _globalBrightnessControlMaxLevel(SK9822_GBC_MAX_LEVEL) +{ +} + +LedDevice *LedDeviceSK9822::construct(const QJsonObject &deviceConfig) +{ + return new LedDeviceSK9822(deviceConfig); +} + +bool LedDeviceSK9822::init(const QJsonObject &deviceConfig) +{ + bool isInitOK = false; + + // Initialise sub-class + if (ProviderSpi::init(deviceConfig)) + { + _globalBrightnessControlThreshold = deviceConfig["globalBrightnessControlThreshold"].toInt(255); + _globalBrightnessControlMaxLevel = deviceConfig["globalBrightnessControlMaxLevel"].toInt(SK9822_GBC_MAX_LEVEL); + Info(_log, "[SK9822] Using global brightness control with threshold of %d and max level of %d", _globalBrightnessControlThreshold, _globalBrightnessControlMaxLevel); + + const unsigned int startFrameSize = 4; + const unsigned int endFrameSize = qMax(((_ledCount + 15) / 16), 4); + const unsigned int bufferSize = (_ledCount * 4) + startFrameSize + endFrameSize; + + _ledBuffer.resize(bufferSize, 0xFF); + _ledBuffer[0] = 0x00; + _ledBuffer[1] = 0x00; + _ledBuffer[2] = 0x00; + _ledBuffer[3] = 0x00; + + isInitOK = true; + } + return isInitOK; +} + + +void LedDeviceSK9822::bufferWithMaxCurrent(std::vector &txBuf, const std::vector & ledValues, const int maxLevel) { + const int ledCount = static_cast(_ledCount); + + for (int iLed = 0; iLed < ledCount; ++iLed) + { + const ColorRgb &rgb = ledValues[iLed]; + const uint8_t red = rgb.red; + const uint8_t green = rgb.green; + const uint8_t blue = rgb.blue; + + /// The LED index in the buffer + const int b = 4 + iLed * 4; + + // Use 0/31 LED-Current for Black, and full LED-Current for all other colors, + // with PWM control on RGB-Channels + const int ored = (red|green|blue); + + txBuf[b + 0] = ((ored > 0) * (maxLevel & SK9822_GBC_MAX_LEVEL)) | SK9822_GBC_UPPER_BITS; // (ored > 0) is 1 for any r,g,b > 0, 0 otherwise; branch free + txBuf[b + 1] = red; + txBuf[b + 2] = green; + txBuf[b + 3] = blue; + } +} + +inline __attribute__((always_inline)) unsigned LedDeviceSK9822::scale(const uint8_t value, const int maxLevel, const uint16_t brightness) { + return (((maxLevel * value + (brightness >> 1)) / brightness)); +} + +void LedDeviceSK9822::bufferWithAdjustedCurrent(std::vector &txBuf, const std::vector & ledValues, const int threshold, const int maxLevel) { + const int ledCount = static_cast(_ledCount); + + for (int iLed = 0; iLed < ledCount; ++iLed) + { + const ColorRgb &rgb = ledValues[iLed]; + uint8_t red = rgb.red; + uint8_t green = rgb.green; + uint8_t blue = rgb.blue; + uint8_t level; + + /// The LED index in the buffer + const int b = 4 + iLed * 4; + + /// The maximal r,g,b-channel grayscale value of the LED + const uint16_t /* expand to 16 bit! */ maxValue = std::max(std::max(red, green), blue); + + if (maxValue == 0) { + // Use 0/31 LED-Current for Black + level = 0; + red = 0x00; + green = 0x00; + blue = 0x00; + } else if (maxValue >= threshold) { + // Use full LED-Current when maximal r,g,b-channel grayscale value >= threshold and just use PWM control + level = (maxLevel & SK9822_GBC_MAX_LEVEL); + } else { + // Use adjusted LED-Current for other r,g,b-channel grayscale values + // See also: https://github.com/FastLED/FastLED/issues/656 + + // Scale the r,g,b-channel grayscale values to adjusted current = brightness level + const uint16_t /* 16 bit! */ brightness = (((maxValue + 1) * maxLevel - 1) >> 8) + 1; + + level = (brightness & SK9822_GBC_MAX_LEVEL); + red = scale(red, maxLevel, brightness); + green = scale(green, maxLevel, brightness); + blue = scale(blue, maxLevel, brightness); + } + + txBuf[b + 0] = level | SK9822_GBC_UPPER_BITS; + txBuf[b + 1] = red; + txBuf[b + 2] = green; + txBuf[b + 3] = blue; + + //if(iLed == 0) { + // std::cout << std::to_string((int)rgb.red) << "," << std::to_string((int)rgb.green) << "," << std::to_string((int)rgb.blue) << ": " << std::to_string(maxValue) << (maxValue >= threshold ? " >= " : " < ") << std::to_string(threshold) << " -> " << std::to_string((int)(level&SK9822_GBC_MAX_LEVEL))<< "@" << std::to_string((int)red) << "," << std::to_string((int)green) << "," << std::to_string((int)blue) << std::endl; + //} + } +} + +int LedDeviceSK9822::write(const std::vector &ledValues) +{ + const int threshold = _globalBrightnessControlThreshold; + const int maxLevel = _globalBrightnessControlMaxLevel; + + if(threshold > 0) { + this->bufferWithAdjustedCurrent(_ledBuffer, ledValues, threshold, maxLevel); + } else { + this->bufferWithMaxCurrent(_ledBuffer, ledValues, maxLevel); + } + + return writeBytes(_ledBuffer.size(), _ledBuffer.data()); +} diff --git a/libsrc/leddevice/dev_spi/LedDeviceSK9822.h b/libsrc/leddevice/dev_spi/LedDeviceSK9822.h new file mode 100644 index 00000000..da4f1f81 --- /dev/null +++ b/libsrc/leddevice/dev_spi/LedDeviceSK9822.h @@ -0,0 +1,83 @@ +#ifndef LEDEVICESK9822_H +#define LEDEVICESK9822_H + +// hyperion includes +#include "ProviderSpi.h" + +/// +/// Implementation of the LedDevice interface for writing to SK9822 led device via SPI. +/// +class LedDeviceSK9822 : public ProviderSpi +{ +public: + + /// + /// @brief Constructs an SK9822 LED-device + /// + /// @param deviceConfig Device's configuration as JSON-Object + /// + explicit LedDeviceSK9822(const QJsonObject &deviceConfig); + + /// + /// @brief Constructs the LED-device + /// + /// @param[in] deviceConfig Device's configuration as JSON-Object + /// @return LedDevice constructed + /// + static LedDevice* construct(const QJsonObject &deviceConfig); + +private: + /// + /// @brief Writes the RGB-Color values to the SPI Tx buffer setting SK9822 current level to maximal value. + /// + /// @param[in,out] txBuf The packed spi transfer buffer of the LED's color values + /// @param[in] ledValues The RGB-color per LED + /// @param[in] maxLevel The maximal current level 1 .. 31 to use + /// + void bufferWithMaxCurrent(std::vector &txBuf, const std::vector & ledValues, const int maxLevel); + + /// + /// @brief Writes the RGB-Color values to the SPI Tx buffer using an adjusted SK9822 current level for LED maximal rgb-grayscale values not exceeding the threshold, uses maximal level otherwise. + /// + /// @param[in,out] txBuf The packed spi transfer buffer of the LED's color values + /// @param[in] ledValues The RGB-color per LED + /// @param[in] threshold The threshold 0 .. 255 that defines whether to use adjusted SK9822 current level per LED + /// @param[in] maxLevel The maximal current level 1 .. 31 to use + /// + void bufferWithAdjustedCurrent(std::vector &txBuf, const std::vector & ledValues, const int threshold, const int maxLevel); + + /// The threshold that defines use of SK9822 global brightness control for maximal rgb grayscale values below. + /// i.e. global brightness control is used for rgb-values when max(r,g,b) < threshold. + int _globalBrightnessControlThreshold; + + /// The maximal current level that is targeted. Possibile values 1 .. 31. + int _globalBrightnessControlMaxLevel; + + /// + /// @brief Scales the given value such that a given grayscale stimulus is reached for the targeted brightness and defined max current value. + /// + /// @param[in] value The grayscale value to scale + /// @param[in] maxLevel The maximal current level 1 .. 31 to use + /// @param[in] brightness The target brightness + /// @return The scaled grayscale stimulus + /// + inline __attribute__((always_inline)) unsigned scale(const uint8_t value, const int maxLevel, const uint16_t brightness); + + /// + /// @brief Initialise the device's configuration + /// + /// @param[in] deviceConfig the JSON device configuration + /// @return True, if success + /// + bool init(const QJsonObject &deviceConfig) override; + + /// + /// @brief Writes the RGB-Color values to the LEDs. + /// + /// @param[in] ledValues The RGB-color per LED + /// @return Zero on success, else negative + /// + int write(const std::vector & ledValues) override; +}; + +#endif // LEDEVICESK9822_H diff --git a/libsrc/leddevice/schemas/schema-sk9822.json b/libsrc/leddevice/schemas/schema-sk9822.json new file mode 100644 index 00000000..7b5d5584 --- /dev/null +++ b/libsrc/leddevice/schemas/schema-sk9822.json @@ -0,0 +1,61 @@ +{ + "type":"object", + "required":true, + "properties":{ + "output": { + "type": "string", + "title":"edt_dev_spec_spipath_title", + "enum" : ["/dev/spidev0.0","/dev/spidev0.1"], + "default" : "/dev/spidev0.0", + "propertyOrder" : 1 + }, + "rate": { + "type": "integer", + "title":"edt_dev_spec_baudrate_title", + "default": 1000000, + "propertyOrder" : 2 + }, + "invert": { + "type": "boolean", + "title":"edt_dev_spec_invert_title", + "default": false, + "propertyOrder" : 3 + }, + "globalBrightnessControlMaxLevel": { + "type": "integer", + "title":"edt_dev_spec_globalBrightnessControlMaxLevel_title", + "default": 31, + "minimum": 1, + "maximum": 31, + "propertyOrder" : 4 + }, + "globalBrightnessControlThreshold": { + "type": "integer", + "title":"edt_dev_spec_globalBrightnessControlThreshold_title", + "default": 255, + "minimum": 0, + "maximum": 255, + "propertyOrder" : 5 + }, + "latchTime": { + "type": "integer", + "title":"edt_dev_spec_latchtime_title", + "default": 0, + "append" : "edt_append_ms", + "minimum": 0, + "maximum": 1000, + "access" : "expert", + "propertyOrder" : 6 + }, + "rewriteTime": { + "type": "integer", + "title":"edt_dev_general_rewriteTime_title", + "default": 1000, + "append" : "edt_append_ms", + "minimum": 0, + "access" : "expert", + "propertyOrder" : 7 + } + }, + "additionalProperties": true +}