From: Mark Clarkstone Date: Tue, 26 Jan 2016 10:28:03 +0000 (+0000) Subject: Tooltips: A bucket more.. X-Git-Tag: v4.2.1~1110 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fd9729c5345ad513b02fa640245c474427e8d5e9;p=thirdparty%2Ftvheadend.git Tooltips: A bucket more.. --- diff --git a/src/dvr/dvr_autorec.c b/src/dvr/dvr_autorec.c index e9568df34..0dcecd08f 100644 --- a/src/dvr/dvr_autorec.c +++ b/src/dvr/dvr_autorec.c @@ -1147,7 +1147,7 @@ const idclass_t dvr_autorec_entry_class = { .type = PT_U32, .id = "retention", .name = N_("DVR log retention"), - .desc = N_("Number of days to retain logging information."), + .desc = N_("Number of days to retain infomation about recording."), .def.i = DVR_RET_DVRCONFIG, .off = offsetof(dvr_autorec_entry_t, dae_retention), .list = dvr_entry_class_retention_list, @@ -1157,7 +1157,7 @@ const idclass_t dvr_autorec_entry_class = { .type = PT_U32, .id = "removal", .name = N_("DVR file retention period"), - .desc = N_("Number of days to keep the recordings` file."), + .desc = N_("Number of days to keep the recorded file."), .def.i = DVR_RET_DVRCONFIG, .off = offsetof(dvr_autorec_entry_t, dae_removal), .list = dvr_entry_class_removal_list, diff --git a/src/dvr/dvr_config.c b/src/dvr/dvr_config.c index 7e42bb805..7174a19de 100644 --- a/src/dvr/dvr_config.c +++ b/src/dvr/dvr_config.c @@ -826,6 +826,7 @@ const idclass_t dvr_config_class = { .type = PT_BOOL, .id = "enabled", .name = N_("Enabled"), + .desc = N_("Enable/disable profile."), .set = dvr_config_class_enabled_set, .off = offsetof(dvr_config_t, dvr_enabled), .def.i = 1, @@ -836,6 +837,7 @@ const idclass_t dvr_config_class = { .type = PT_STR, .id = "name", .name = N_("Configuration name"), + .desc = N_("Name of the profile."), .set = dvr_config_class_name_set, .off = offsetof(dvr_config_t, dvr_config_name), .def.s = "! New config", @@ -846,6 +848,7 @@ const idclass_t dvr_config_class = { .type = PT_STR, .id = "comment", .name = N_("Comment"), + .desc = N_("Free-form field, enter whatever you like here."), .off = offsetof(dvr_config_t, dvr_comment), .group = 1, }, @@ -853,6 +856,8 @@ const idclass_t dvr_config_class = { .type = PT_STR, .id = "profile", .name = N_("Stream profile"), + .desc = N_("The stream profile the DVR profile will use for " + "recordings."), .set = dvr_config_class_profile_set, .get = dvr_config_class_profile_get, .rend = dvr_config_class_profile_rend, @@ -863,6 +868,9 @@ const idclass_t dvr_config_class = { .type = PT_INT, .id = "cache", .name = N_("Cache scheme"), + .desc = N_("Select the cache scheme used to store recordings. " + "Leave as “system” unless you have a special use " + "case for one of the others. See Help for details."), .off = offsetof(dvr_config_t, dvr_muxcnf.m_cache), .def.i = MC_CACHE_DONTKEEP, .list = dvr_config_class_cache_list, @@ -873,6 +881,7 @@ const idclass_t dvr_config_class = { .type = PT_U32, .id = "retention-days", .name = N_("DVR log retention period"), + .desc = N_("Number of days to retain infomation about recordings."), .off = offsetof(dvr_config_t, dvr_retention_days), .def.u32 = DVR_RET_ONREMOVE, .list = dvr_config_class_retention_list, @@ -883,6 +892,7 @@ const idclass_t dvr_config_class = { .type = PT_U32, .id = "removal-days", .name = N_("DVR file retention period"), + .desc = N_("Number of days to keep the recorded files."), .off = offsetof(dvr_config_t, dvr_removal_days), .def.u32 = DVR_RET_FOREVER, .list = dvr_config_class_removal_list, @@ -892,6 +902,8 @@ const idclass_t dvr_config_class = { .type = PT_BOOL, .id = "clone", .name = N_("Clone scheduled entry on error"), + .desc = N_("If an error occurs clone the scheduled entry and " + "try to record again if possible."), .off = offsetof(dvr_config_t, dvr_clone), .opts = PO_ADVANCED, .def.u32 = 1, @@ -901,6 +913,8 @@ const idclass_t dvr_config_class = { .type = PT_U32, .id = "rerecord-errors", .name = N_("Schedule a re-recording if more errors than (0=off)"), + .desc = N_("If more than x errors occur during a recording " + "schedule a re-record if possible."), .off = offsetof(dvr_config_t, dvr_rerecord_errors), .opts = PO_ADVANCED, .group = 1, @@ -909,6 +923,10 @@ const idclass_t dvr_config_class = { .type = PT_U32, .id = "warm-time", .name = N_("Extra warming up time (seconds)"), + .desc = N_("Additional time (in seconds) in which to get " + "the tuner ready for recording. This is useful for " + "those with tuners that take some time to tune " + "and/or send garbage data at the beginning. "), .off = offsetof(dvr_config_t, dvr_warm_time), .opts = PO_ADVANCED, .group = 1, @@ -917,7 +935,14 @@ const idclass_t dvr_config_class = { { .type = PT_U32, .id = "pre-extra-time", - .name = N_("Extra padding before recordings (minutes)"), + .name = N_("Pre-recording padding"), + .desc = N_("Start recording earlier than the defined " + "start time by x minutes, for example if a program " + "is to start at 13:00 and you set a padding of 5 " + "minutes it will start recording at 12:54:30 " + "(including a warming-up time of 30 seconds). If this " + "isn't set the pre-recording padding if set in the " + "channel or DVR entry will be used."), .off = offsetof(dvr_config_t, dvr_extra_time_pre), .list = dvr_config_class_extra_list, .opts = PO_ADVANCED, @@ -926,7 +951,9 @@ const idclass_t dvr_config_class = { { .type = PT_U32, .id = "post-extra-time", - .name = N_("Extra padding after recordings (minutes)"), + .name = N_("Post-recording padding"), + .desc = N_("Continue recording for x minutes after scheduled " + "stop time."), .off = offsetof(dvr_config_t, dvr_extra_time_post), .list = dvr_config_class_extra_list, .opts = PO_ADVANCED, @@ -936,6 +963,8 @@ const idclass_t dvr_config_class = { .type = PT_U32, .id = "epg-update-window", .name = N_("EPG update window"), + .desc = N_("Maximum allowed difference between event start time when " + "the EPG event is changed."), .off = offsetof(dvr_config_t, dvr_update_window), .list = dvr_config_entry_class_update_window_list, .def.u32 = 24*3600, @@ -946,7 +975,10 @@ const idclass_t dvr_config_class = { .type = PT_BOOL, .id = "epg-running", .name = N_("Use EPG running state"), - .desc = N_("Use EITp/f to decide event start / stop"), + .desc = N_("Use EITp/f to decide event start/stop. This is " + "also known as accurate recording. Note that this " + "can have unexpected results if the broadcaster " + "isn`t very good at time keeping."), .off = offsetof(dvr_config_t, dvr_running), .opts = PO_ADVANCED, .def.u32 = 1, @@ -956,6 +988,7 @@ const idclass_t dvr_config_class = { .type = PT_U32, .id = "autorec-maxcount", .name = N_("Autorec maximum count (0=unlimited)"), + .desc = N_("The maximum number of entries that can be matched."), .off = offsetof(dvr_config_t, dvr_autorec_max_count), .opts = PO_ADVANCED, .group = 1, @@ -964,6 +997,7 @@ const idclass_t dvr_config_class = { .type = PT_U32, .id = "autorec-maxsched", .name = N_("Autorec maximum schedules limit (0=unlimited)"), + .desc = N_("The maximum number of recordings that can be scheduled."), .off = offsetof(dvr_config_t, dvr_autorec_max_sched_count), .opts = PO_ADVANCED, .group = 1, @@ -972,6 +1006,7 @@ const idclass_t dvr_config_class = { .type = PT_STR, .id = "postproc", .name = N_("Post-processor command"), + .desc = N_("Script/program to be run when a recording completes."), .off = offsetof(dvr_config_t, dvr_postproc), .opts = PO_ADVANCED, .group = 1, @@ -980,6 +1015,7 @@ const idclass_t dvr_config_class = { .type = PT_STR, .id = "postremove", .name = N_("Post-remove command"), + .desc = N_("Script/program to be run when a recording gets removed."), .off = offsetof(dvr_config_t, dvr_postremove), .opts = PO_EXPERT, .group = 1, @@ -988,6 +1024,9 @@ const idclass_t dvr_config_class = { .type = PT_STR, .id = "storage", .name = N_("Recording system path"), + .desc = N_("Path where the recordings are stored. If " + "components of the path do not exist, " + "Tvheadend will try to create them."), .off = offsetof(dvr_config_t, dvr_storage), .group = 2, }, @@ -995,6 +1034,7 @@ const idclass_t dvr_config_class = { .type = PT_U32, .id = "storage-mfree", .name = N_("Maintain free storage space in MiB"), + .desc = N_("Keep x amount of storage space free."), .off = offsetof(dvr_config_t, dvr_cleanup_threshold_free), .def.i = 1000, .opts = PO_ADVANCED, @@ -1004,6 +1044,7 @@ const idclass_t dvr_config_class = { .type = PT_U32, .id = "storage-mused", .name = N_("Maintain used storage space in MiB (0=disabled)"), + .desc = N_("Use x amount of storage space."), .off = offsetof(dvr_config_t, dvr_cleanup_threshold_used), .def.i = 0, .opts = PO_EXPERT, @@ -1013,6 +1054,7 @@ const idclass_t dvr_config_class = { .type = PT_PERM, .id = "file-permissions", .name = N_("File permissions (octal, e.g. 0664)"), + .desc = N_("Create files using these permissions."), .off = offsetof(dvr_config_t, dvr_muxcnf.m_file_permissions), .opts = PO_EXPERT, .def.u32 = 0664, @@ -1022,6 +1064,7 @@ const idclass_t dvr_config_class = { .type = PT_STR, .id = "charset", .name = N_("Filename character set"), + .desc = N_("Use this character set when setting filenames."), .off = offsetof(dvr_config_t, dvr_charset), .set = dvr_config_class_charset_set, .list = dvr_config_class_charset_list, @@ -1033,6 +1076,8 @@ const idclass_t dvr_config_class = { .type = PT_BOOL, .id = "tag-files", .name = N_("Tag files with metadata"), + .desc = N_("Create tags in recordings using media containers " + "that support metadata (if possible)."), .off = offsetof(dvr_config_t, dvr_tag_files), .opts = PO_ADVANCED, .def.i = 1, @@ -1042,6 +1087,9 @@ const idclass_t dvr_config_class = { .type = PT_BOOL, .id = "skip-commercials", .name = N_("Skip commercials"), + .desc = N_("Commercials will be dropped from the " + "recordings. At the moment, commercial detection " + "only works for the Swedish channel TV4."), .off = offsetof(dvr_config_t, dvr_skip_commercials), .opts = PO_ADVANCED, .def.i = 1, @@ -1051,6 +1099,9 @@ const idclass_t dvr_config_class = { .type = PT_STR, .id = "pathname", .name = N_("Format string"), + .desc = N_("The string allows you to manually specify the " + "full path generation using predefined " + "modifiers. See Help for full details."), .set = dvr_config_class_pathname_set, .off = offsetof(dvr_config_t, dvr_pathname), .opts = PO_EXPERT, @@ -1060,6 +1111,7 @@ const idclass_t dvr_config_class = { .type = PT_PERM, .id = "directory-permissions", .name = N_("Directory permissions (octal, e.g. 0775)"), + .desc = N_("Create directories using these permissions."), .off = offsetof(dvr_config_t, dvr_muxcnf.m_directory_permissions), .opts = PO_EXPERT, .def.u32 = 0775, @@ -1069,6 +1121,10 @@ const idclass_t dvr_config_class = { .type = PT_BOOL, .id = "day-dir", .name = N_("Make subdirectories per day"), + .desc = N_("Create a new directory per day in the " + "recording system path. Only days when anything is " + "recorded will the folder be created. The format of the " + "directory will be ISO standard YYYY-MM-DD."), .off = offsetof(dvr_config_t, dvr_dir_per_day), .opts = PO_EXPERT, .group = 4, @@ -1077,6 +1133,10 @@ const idclass_t dvr_config_class = { .type = PT_BOOL, .id = "channel-dir", .name = N_("Make subdirectories per channel"), + .desc = N_("Create a directory per channel when " + "storing recordings. If both this and the ‘directory " + "per day’ checkbox is enabled, the date-directory " + "will be parent to the per-channel directory."), .off = offsetof(dvr_config_t, dvr_channel_dir), .opts = PO_EXPERT, .group = 4, @@ -1085,6 +1145,10 @@ const idclass_t dvr_config_class = { .type = PT_BOOL, .id = "title-dir", .name = N_("Make subdirectories per title"), + .desc = N_("Create a directory per title when " + "storing recordings. If the day/channel directory " + "checkboxes are also enabled, those directories " + "will be parents of this directory."), .off = offsetof(dvr_config_t, dvr_title_dir), .opts = PO_EXPERT, .group = 4, @@ -1093,6 +1157,9 @@ const idclass_t dvr_config_class = { .type = PT_BOOL, .id = "channel-in-title", .name = N_("Include channel name in filename"), + .desc = N_("Include the name of the channel in " + "the event title. This applies to both the title " + "stored in the file and to the filename itself."), .off = offsetof(dvr_config_t, dvr_channel_in_title), .opts = PO_EXPERT, .group = 5, @@ -1101,6 +1168,9 @@ const idclass_t dvr_config_class = { .type = PT_BOOL, .id = "date-in-title", .name = N_("Include date in filename"), + .desc = N_("Include the date for the recording in " + "the event title. This applies to both the title " + "stored in the file and to the filename itself."), .off = offsetof(dvr_config_t, dvr_date_in_title), .opts = PO_EXPERT, .group = 5, @@ -1109,6 +1179,9 @@ const idclass_t dvr_config_class = { .type = PT_BOOL, .id = "time-in-title", .name = N_("Include time in filename"), + .desc = N_("Include the time for the recording in " + "the event title. This applies to both the title " + "stored in the file and to the filename itself."), .off = offsetof(dvr_config_t, dvr_time_in_title), .opts = PO_EXPERT, .group = 5, @@ -1117,6 +1190,8 @@ const idclass_t dvr_config_class = { .type = PT_BOOL, .id = "episode-in-title", .name = N_("Include episode in filename"), + .desc = N_("Include the season and episode in the " + "title (if available)."), .off = offsetof(dvr_config_t, dvr_episode_in_title), .opts = PO_EXPERT, .group = 5, @@ -1125,6 +1200,8 @@ const idclass_t dvr_config_class = { .type = PT_BOOL, .id = "subtitle-in-title", .name = N_("Include subtitle in filename"), + .desc = N_("Include the episode subtitle in the " + "title (if available)."), .off = offsetof(dvr_config_t, dvr_subtitle_in_title), .opts = PO_EXPERT, .group = 6, @@ -1133,6 +1210,7 @@ const idclass_t dvr_config_class = { .type = PT_BOOL, .id = "omit-title", .name = N_("Don't include title in filename"), + .desc = N_("Don`t include the title in the filename."), .off = offsetof(dvr_config_t, dvr_omit_title), .opts = PO_EXPERT, .group = 6, @@ -1141,6 +1219,9 @@ const idclass_t dvr_config_class = { .type = PT_BOOL, .id = "clean-title", .name = N_("Remove all unsafe characters from filename"), + .desc = N_("All characters that could possibly " + "cause problems for filenaming will be replaced " + "with an underscore. See Help for details."), .off = offsetof(dvr_config_t, dvr_clean_title), .opts = PO_EXPERT, .group = 6, @@ -1149,6 +1230,7 @@ const idclass_t dvr_config_class = { .type = PT_BOOL, .id = "whitespace-in-title", .name = N_("Replace whitespace in title with '-'"), + .desc = N_("Replaces all whitespace in the title with '-'."), .off = offsetof(dvr_config_t, dvr_whitespace_in_title), .opts = PO_EXPERT, .group = 6, @@ -1157,6 +1239,9 @@ const idclass_t dvr_config_class = { .type = PT_BOOL, .id = "windows-compatible-filenames", .name = N_("Use Windows-compatible filenames"), + .desc = N_("Characters not supported in Windows filenames " + "(e.g. for an SMB/CIFS share) will be stripped out " + "or converted."), .off = offsetof(dvr_config_t, dvr_windows_compatible_filenames), .opts = PO_EXPERT, .group = 6, diff --git a/src/dvr/dvr_db.c b/src/dvr/dvr_db.c index a96e5b806..8665881f3 100644 --- a/src/dvr/dvr_db.c +++ b/src/dvr/dvr_db.c @@ -2813,7 +2813,7 @@ const idclass_t dvr_entry_class = { .type = PT_TIME, .id = "start", .name = N_("Start time"), - .desc = N_("The start time as defined in EPG data (or timer entry)."), + .desc = N_("The start time of the recording."), .set = dvr_entry_class_start_set, .off = offsetof(dvr_entry_t, de_start), .get_opts = dvr_entry_class_start_opts, @@ -2826,9 +2826,9 @@ const idclass_t dvr_entry_class = { "start time by x minutes, for example if a program " "is to start at 13:00 and you set a padding of 5 " "minutes it will start recording at 12:54:30 " - "(including a warm-up time of 30 seconds). If this " - "isn't set the pre-recording padding if set in " - "channel or DVR profile configuration will be used."), + "(including a warming-up time of 30 seconds). If this " + "isn't set the pre-recording padding if set in the " + "channel or DVR profile will be used."), .off = offsetof(dvr_entry_t, de_start_extra), .set = dvr_entry_class_start_extra_set, .list = dvr_entry_class_extra_list, @@ -2847,7 +2847,7 @@ const idclass_t dvr_entry_class = { .type = PT_TIME, .id = "stop", .name = N_("Stop time"), - .desc = N_("The time the entry will stop being recorded."), + .desc = N_("The time the entry stops/stopped being recorded."), .set = dvr_entry_class_stop_set, .off = offsetof(dvr_entry_t, de_stop), }, @@ -2983,7 +2983,7 @@ const idclass_t dvr_entry_class = { .type = PT_U32, .id = "removal", .name = N_("DVR file retention period"), - .desc = N_("Number of days to keep the recordings` file."), + .desc = N_("Number of days to keep the file."), .off = offsetof(dvr_entry_t, de_removal), .def.i = DVR_RET_DVRCONFIG, .list = dvr_entry_class_removal_list, @@ -2993,7 +2993,7 @@ const idclass_t dvr_entry_class = { .type = PT_STR, .id = "config_name", .name = N_("DVR configuration"), - .desc = N_("The DVR profile to be used/used by the entry."), + .desc = N_("The DVR profile to be used/used by the recording."), .set = dvr_entry_class_config_name_set, .get = dvr_entry_class_config_name_get, .list = dvr_entry_class_config_name_list, diff --git a/src/dvr/dvr_timerec.c b/src/dvr/dvr_timerec.c index 639a1dbef..5affb5586 100644 --- a/src/dvr/dvr_timerec.c +++ b/src/dvr/dvr_timerec.c @@ -536,18 +536,21 @@ const idclass_t dvr_timerec_entry_class = { .type = PT_BOOL, .id = "enabled", .name = N_("Enabled"), + .desc = N_("Enable/disable the entry."), .off = offsetof(dvr_timerec_entry_t, dte_enabled), }, { .type = PT_STR, .id = "name", .name = N_("Name"), + .desc = N_("Name of the entry."), .off = offsetof(dvr_timerec_entry_t, dte_name), }, { .type = PT_STR, .id = "title", .name = N_("Title"), + .desc = N_("Title of the recording."), .off = offsetof(dvr_timerec_entry_t, dte_title), .def.s = "Time-%F_%R", }, @@ -555,6 +558,9 @@ const idclass_t dvr_timerec_entry_class = { .type = PT_STR, .id = "directory", .name = N_("Directory"), + .desc = N_("Override the subdirectory rules specified by the " + "DVR configuration and put all recordings done by " + "this entry into the specified subdirectory"), .off = offsetof(dvr_timerec_entry_t, dte_directory), .opts = PO_EXPERT }, @@ -562,6 +568,7 @@ const idclass_t dvr_timerec_entry_class = { .type = PT_STR, .id = "channel", .name = N_("Channel"), + .desc = N_("Channel to use/used for the recording."), .set = dvr_timerec_entry_class_channel_set, .get = dvr_timerec_entry_class_channel_get, .rend = dvr_timerec_entry_class_channel_rend, @@ -571,6 +578,7 @@ const idclass_t dvr_timerec_entry_class = { .type = PT_STR, .id = "start", .name = N_("Start"), + .desc = N_("Time to start the recording/Time the recording started."), .set = dvr_timerec_entry_class_start_set, .get = dvr_timerec_entry_class_start_get, .list = dvr_timerec_entry_class_time_list, @@ -581,6 +589,7 @@ const idclass_t dvr_timerec_entry_class = { .type = PT_STR, .id = "stop", .name = N_("Stop"), + .desc = N_("Time to stop recording/Time the recording stopped."), .set = dvr_timerec_entry_class_stop_set, .get = dvr_timerec_entry_class_stop_get, .list = dvr_timerec_entry_class_time_list, @@ -592,6 +601,7 @@ const idclass_t dvr_timerec_entry_class = { .islist = 1, .id = "weekdays", .name = N_("Days of Week"), + .desc = N_("Record on these days only."), .set = dvr_timerec_entry_class_weekdays_set, .get = dvr_timerec_entry_class_weekdays_get, .list = dvr_autorec_entry_class_weekdays_list, @@ -602,6 +612,7 @@ const idclass_t dvr_timerec_entry_class = { .type = PT_U32, .id = "pri", .name = N_("Priority"), + .desc = N_("Priority of the entry."), .list = dvr_entry_class_pri_list, .def.i = DVR_PRIO_NORMAL, .off = offsetof(dvr_timerec_entry_t, dte_pri), @@ -611,6 +622,7 @@ const idclass_t dvr_timerec_entry_class = { .type = PT_U32, .id = "retention", .name = N_("DVR log retention"), + .desc = N_("Number of days to retain entry information."), .def.i = DVR_RET_DVRCONFIG, .off = offsetof(dvr_timerec_entry_t, dte_retention), .list = dvr_entry_class_retention_list, @@ -620,6 +632,7 @@ const idclass_t dvr_timerec_entry_class = { .type = PT_U32, .id = "removal", .name = N_("DVR file retention period"), + .desc = N_("Number of days to keep the file."), .def.i = DVR_RET_DVRCONFIG, .off = offsetof(dvr_timerec_entry_t, dte_removal), .list = dvr_entry_class_removal_list, @@ -629,6 +642,7 @@ const idclass_t dvr_timerec_entry_class = { .type = PT_STR, .id = "config_name", .name = N_("DVR configuration"), + .desc = N_("DVR profile to use/used for the recording."), .set = dvr_timerec_entry_class_config_name_set, .get = dvr_timerec_entry_class_config_name_get, .rend = dvr_timerec_entry_class_config_name_rend, @@ -639,6 +653,7 @@ const idclass_t dvr_timerec_entry_class = { .type = PT_STR, .id = "owner", .name = N_("Owner"), + .desc = N_("Owner of the entry."), .off = offsetof(dvr_timerec_entry_t, dte_owner), .get_opts = dvr_timerec_entry_class_owner_opts, }, @@ -646,6 +661,9 @@ const idclass_t dvr_timerec_entry_class = { .type = PT_STR, .id = "creator", .name = N_("Creator"), + .desc = N_("The user who created the recording or the " + "auto-recording source and IP address if scheduled " + "by a matching rule."), .off = offsetof(dvr_timerec_entry_t, dte_creator), .get_opts = dvr_timerec_entry_class_owner_opts, }, @@ -653,6 +671,7 @@ const idclass_t dvr_timerec_entry_class = { .type = PT_STR, .id = "comment", .name = N_("Comment"), + .desc = N_("Free-form text field, enter whatever you like here."), .off = offsetof(dvr_timerec_entry_t, dte_comment), }, {} diff --git a/src/input/mpegts/mpegts_input.c b/src/input/mpegts/mpegts_input.c index 90d9cbeb5..0f3056bca 100644 --- a/src/input/mpegts/mpegts_input.c +++ b/src/input/mpegts/mpegts_input.c @@ -283,7 +283,7 @@ const idclass_t mpegts_input_class = .type = PT_U32, .id = "free_weight", .name = N_("Free subscription weight"), - .desc = N_("If the subscription weight for this input is bellow " + .desc = N_("If the subscription weight for this input is below " "the specified threshold, the tuner is handled as free " "(according the priority settings). Otherwise, a next " "tuner (without any subscriptions) is used. Set this value "