# -*- coding: utf-8 -*- import gettext from Components.Language import language from Components.config import config as comp_config from Tools.Directories import resolveFilename, SCOPE_PLUGINS LOCALES_DOMAIN = "OpenWebif" LOCALES_RELPATH = "Extensions/OpenWebif/locale" def _locale_init(): gettext.bindtextdomain( LOCALES_DOMAIN, resolveFilename(SCOPE_PLUGINS, LOCALES_RELPATH)) def _(txt): try: t = gettext.dgettext(LOCALES_DOMAIN, txt) if t == txt: t = gettext.gettext(txt) return t except Exception: return txt _locale_init() language.addCallback(_locale_init) try: AT_unit = comp_config.plugins.autotimer.unit.value == "hour" and _("hour") or _("minute") except: # nosec # noqa: E722 AT_unit = "hour" tstrings = { 'mo': _("Mo"), 'tu': _("Tu"), 'we': _("We"), 'th': _("Th"), 'fr': _("Fr"), 'sa': _("Sa"), 'su': _("Su"), 'day_0': _("Sun"), 'day_1': _("Mon"), 'day_2': _("Tue"), 'day_3': _("Wed"), 'day_4': _("Thu"), 'day_5': _("Fri"), 'day_6': _("Sat"), 'monday': _("Monday"), 'tuesday': _("Tuesday"), 'wednesday': _("Wednesday"), 'thursday': _("Thursday"), 'friday': _("Friday"), 'saturday': _("Saturday"), 'sunday': _("Sunday"), 'month_01': _("January"), 'month_02': _("February"), 'month_03': _("March"), 'month_04': _("April"), 'month_05': _("May"), 'month_06': _("June"), 'month_07': _("July"), 'month_08': _("August"), 'month_09': _("September"), 'month_10': _("October"), 'month_11': _("November"), 'month_12': _("December"), 'about': _("About"), 'add_timer': _("Add a timer"), 'add_autotimer': _("Add an AutoTimer"), 'add_zaptimer': _("Add a zap timer"), 'after_event': _("After event"), 'agc': _("AGC"), 'all': _("All"), 'all_channels': _("All Channels"), 'audio_encoding': _("Audio Encoding"), 'audio_track': _("Audio Track"), 'authors': _("Authors"), 'auto': _("Auto"), 'back': _("Back"), 'begin': _("Begin"), 'ber': _("BER"), 'bouquets': _("Bouquets"), 'box_info': _("Box Info"), 'box': _("Box"), 'boxcontrol': _("Box Control"), 'box_uptime': _("Box uptime"), 'brand': _("Brand"), 'cancel': _("Cancel"), 'capacity': _("Capacity"), 'channel': _("Channel"), 'channels': _("Channels"), 'chipset': _("Chipset"), 'cleanup_timer': _("Cleanup Timers"), 'close': _("Close"), 'contributors': _("Contributors"), 'control': _("Control"), 'current': _("Current"), 'current_event': _("Current Event"), 'date': _("Date"), 'deep_standby': _("Deep Standby"), 'default': _("Default"), 'delete': _("Delete"), 'delete_recording': _("Delete Recording"), 'delete_recording_question': _("Are you sure you want to delete this recording?"), 'delete_timer': _("Delete Timer"), 'delete_timer_question': _("Are you sure you want to delete this timer?"), 'description': _("Description"), 'dhcp': _("DHCP"), 'disable_timer': _("Disable Timer"), 'disabled': _("disabled"), 'distro_version': _("Distro"), 'dolby': _("Dolby"), 'done': _("Done"), 'download': _("Download"), 'download_playlist': _("Download playlist for"), 'driver_date': _("Drivers"), 'duration': _("Duration"), 'edit_timer': _("Edit Timer"), 'enable_timer': _("Enable Timer"), 'start': _("Start"), 'end': _("End"), 'enable': _("Enable"), 'enable_disable': _("%s / %s") % (_("Enable"), _("Disable")), 'enabled': _("Enabled"), 'encrypted': _("Encrypted"), 'epg': _("EPG"), 'epgsearch': _("Search EPG"), 'epgsearchextended': _("Include description"), 'epgsearchbouquetsonly': _("Restrict to bouquets"), 'epg_no_matches': _("Oops, no results matched your search"), 'error': _("Error"), 'every_timer': _("Every"), 'extras': _("Extras"), 'find_similar_events': _("Find similar events"), 'finished': _("finished"), 'firmware_version': _("Firmware version"), 'fp_version': _("Front processor version"), 'free': _("Free"), 'free_memory': _("Free Memory"), 'gateway': _("Gateway"), 'grabscreenshot': _("Capture screenshot"), 'gui_version': _("GUI version"), 'hidefullremote': _("Hide full remote"), 'high_resolution': _("High Resolution"), 'hdd_model': _("Hard disk model"), 'hour': _("Hour"), 'ipv4_address': _("IPv4 address"), 'ipv4only_kernel': _("IPv4-only kernel"), 'ipv4only_network': _("none/IPv4-only network"), 'ipv4only_python': _("IPv4-only Python/Twisted"), 'ipv6_address': _("IPv6 address(es)"), 'info': _("Info"), 'instant_record': _("Instant Record"), 'ask_instant_record': _("Are you sure you want to start recording instantly?"), 'javalib': _("Javascript Libraries"), 'just_play': _("Just play"), 'kernel_version': _("Kernel"), 'lcd': _("LCD"), 'license': _("License"), 'loading': _("loading"), 'location': _("Location"), 'locked': _("Locked"), 'mac_address': _("MAC address"), 'main': _("Main"), 'minute': _("Minute"), 'mins': _("mins"), 'model': _("Model"), 'more_details': _("More details"), 'movielist': _("Movielist"), 'movies': _("Movies"), 'multi_epg': _("MultiEPG"), 'name': _("Name"), 'namespace': _("Namespace"), 'network_interface': _("Network Interface"), 'no_description_available': _("no description available"), 'no_epg_data': _("No EPG data available."), 'not_implemented': _("Sorry this page is not yet implemented"), 'nothing': _("Nothing"), 'nothing_play': _("Nothing playing."), 'now': _("Now"), 'oe_version': _("System OE"), 'on': _("On"), 'openwebif_header': _("Open Source Web Interface for Linux set-top box"), 'show_boxname': _("Show box name in header"), 'use_custom_boxname': _("Use custom box name"), 'custom_boxname': _("Custom box name"), 'osd': _("OSD"), 'open_in_new_window': _("Open in new window"), 'pip': _("PiP"), 'playback': _("Playback"), 'playlist': _("Playlist"), 'powercontrol': _("Power Control"), 'provider': _("Provider"), 'providers': _("Providers"), 'radio': _("Radio"), 'reboot_box': _("Reboot Box"), 'rec_status': _("Recording"), 'refresh': _("Refresh"), 'refresh_auto': _("Refresh automatically every"), 'refresh_timer': _("Refresh Timer"), 'remote': _("Remote"), 'rename_recording': _("Rename Recording"), 'rename_recording_question': _("Are you sure you want to rename this recording?"), 'repeated': _("Repeated"), 'restart_gui': _("Restart GUI"), 'running': _("running"), 'safe_mode': _("Safe mode"), 'satellites': _("Satellites"), 'satfinder': _("Satfinder"), 'save': _("Save"), 'screenshot': _("Screenshot"), 'search': _("Search"), 'search_csfd': _("Search CSFD"), 'search_imdb': _("Search IMDb"), 'search_kinopoisk': _("Search KinoPoisk"), 'search_tvguideuk': _("Search TV Guide UK"), 'seconds': _("seconds"), 'send_message': _("Send Message"), 'sent_wait': _('Waiting for answer ...'), 'sendamessage': _("Send a Message"), 'service': _("Service"), 'settings': _("Settings"), 'Bouquet_Editor': _("Bouquet Editor"), 'shiftforlong': _("(Press 'shift' and click to 'hold')"), 'show_full_openwebif': _("Show Full OpenWebif"), 'showfullremote': _("Show full remote"), 'show_epg_for': _("Show EPG for"), 'shutdown': _("Shutdown"), 'site_source': _("Site and sources"), 'snr': _("SNR"), 'software': _("Software"), 'standby': _("Standby"), 'standby_toggle': _("Toggle Standby"), 'wake_up': _("Wake Up"), 'start_after_end': _("Start time is after end time"), 'start_instant_record': _("Start Instant Record"), 'stream': _("Stream"), 'subnet_mask': _("Subnet mask"), 'subservices': _("Subservices"), 'tags': _("Tags"), 'teletext': _("Teletext"), 'television': _("Television"), 'template_engine': _("Template Engine"), 'text': _("Text"), 'channel_is_protected': _("this service is protected by a parental control pin"), 'time': _("Time"), 'timeout': _("Timeout"), 'timer_added': _("Timer added"), 'timer_list': _("Timerlist"), 'timer_newname': _("New Name"), 'timer_preview': _("Autotimer Preview"), 'timer': _("Timer"), 'timers': _("Timers"), 'title': _("Title"), 'main_memory': _("Main memory"), 'transcoded': _("transcoded"), 'transcode': _("Transcode"), 'tuner_ber': _("Bit Error Rate (BER)"), 'tuner_number': _("Tuner Number"), 'tuner_signal': _("Tuner Signal"), 'tuner_signal_snr': _("Signal Quality (SNR)"), 'tuner_signal_snr_db': _("Signal Quality (SNR DB)"), 'tuner_signal_agc': _("Signal Power (AGC)"), 'tuner_type': _("Tuner Type"), 'tuners': _("Tuners"), 'tv': _("TV"), 'tv_multi_epg': _("TV Multi EPG"), 'type': _("Type"), 'gui_theme_mode': _("Theme mode"), 'upcoming_events': _("Upcoming Events"), 'version': _("Version"), 'video': _("Video"), 'video_height': _("Video Height"), 'video_wide': _("Widescreen"), 'video_width': _("Video Width"), 'vps': _("VPS"), 'volume': _("Volume"), 'volumecontrol': _("Volume Control"), 'waiting': _("waiting"), 'warning': _("Warning"), 'yes_no': _("Yes/No"), 'zap': _("Zap"), 'zapbeforestream': _("Zap before streaming"), 'zap_to': _("Zap to"), 'zapped_to': _("Zapped to"), 'translation_spanish': _('Translation to Spanish'), 'license_text': _('All Files of this Software are open source software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation.'), 'Root': _('Root'), 'reload': _("Reload"), 'add': _("Add"), 'at_list': _("AutoTimers"), 'at_at_edit': _("AutoTimer Edit"), 'at_enabled': _("Enabled"), 'at_text_match': _("Match text"), 'at_encoding': _("EPG encoding"), 'at_search_type': _("Search type"), 'at_partial_match': _("partial title match"), 'at_exact_match': _("exact title match"), 'at_description_match': _("description match"), 'at_title_or_description_match': _("title or description match"), 'at_full_match': _("title or description match"), 'at_title_or_short_description_match': _("title or short description match"), 'at_title_shortdesc_match': _("title or short description match"), 'at_short_description_match': _("short description match"), 'at_shortdesc_match': _("short description match"), 'at_start_match': _("title starts with"), 'at_end_match': _("title ends with"), 'at_favoritedesc_match': _("favourite desc match"), 'at_regex_match': _("regex match (experimental)"), 'at_search_strictness': _("Search strictness"), 'at_case_sensitive': _("case-sensitive"), 'at_case_insensitive': _("case-insensitive"), 'at_timer_type': _("Timer type"), 'at_record': _("record"), 'at_zap': _("zap"), 'at_override_alt': _("Override found with alternative service"), 'at_timespan': _("Only match during timespan"), 'at_timespan_begin': _("Beginning of timespan"), 'at_timespan_end': _("End of timespan"), 'at_datespan': _("Only match between dates"), 'at_datespan_from': _("From date"), 'at_datespan_to': _("To date"), 'at_timer_offset': _("Custom offset"), 'at_timer_offset_before': _("Offset before recording (mins)"), 'at_timer_offset_after': _("Offset after recording (mins)"), 'at_max_duration': _("Set maximum duration"), 'at_after_event': _("After event"), 'at_after_event_standard': _("standard"), 'at_after_event_auto': _("auto"), 'at_after_event_nothing': _("do nothing"), 'at_after_event_standby': _("go to standby"), 'at_after_event_deepstandby': _("go to deep standby"), 'at_event_timespan': _('Execute "After event" during timespan'), 'at_event_timespan_begin': _('Begin of "After event" timespan'), 'at_event_timespan_end': _('End of "After event" timespan'), 'at_max_counter': _("Record a maximum of # times"), 'at_left': _("Number of recordings remaining"), 'at_never': _("Never"), 'at_monthly': _("Monthly"), 'at_weekly_sun': _("Weekly (Sunday)"), 'at_weekly_mon': _("Weekly (Monday)"), 'at_reset_count': _("Reset count"), 'at_avoid_dup': _("Require description to be unique"), 'at_avoid_dup_no': _("No"), 'at_avoid_dup_same_service': _("On same service"), 'at_avoid_dup_any_service': _("On any service"), 'at_avoid_dup_any_service_rec': _("Any service/recording"), 'at_location': _("Use a custom location"), 'at_tags': _("Tags"), 'at_select_tags': _("select tags"), 'at_channels': _("Channels"), 'at_select_channels': _("select channels"), 'at_select_bouquets': _("select bouquets"), 'at_add_tags': _("Add tags to recordings"), 'at_restrict_bouquets': _("Restrict to bouquets"), 'at_restrict_channels': _("Restrict to channels"), 'at_filter': _("Enable filtering"), 'at_filter_include': _("Include when"), 'at_filter_exclude': _("Exclude when"), 'at_filter_title': _("title contains"), 'at_filter_short_desc': _("short description contains"), 'at_filter_desc': _("description contains"), 'at_filter_day': _("on weekday"), 'at_filter_single_day': _("on day"), 'at_filter_weekend': _("weekend"), 'at_filter_weekday': _("weekday"), 'at_edit': _("Edit"), 'at_disable': _("Disable"), 'at_del': _("Delete"), 'at_save': _("Save"), 'at_process': _("Process"), 'at_simulate': _("Simulate"), 'at_timers': _("Timers"), 'at_settings': _("Settings"), 'at_delete_autotimer_question': _("Are you sure you want to delete this AutoTimer?"), 'at_label_series': _("Label series"), 'at_new': _("New"), 'at_name_hint': _("Enter a name for this AutoTimer"), 'at_text_hint': _("Enter the text to find in the EPG"), 'at_add_filters': _("Add filters"), 'at_remove_filter': _("Remove filter"), 'at_preview': _("Preview"), 'at_state': _("State"), 'at_any_day': _("Any day"), 'at_any_time': _("any time"), 'at_no_matches': _("No matches were found in the EPG"), 'at_in_minutes': _("(in minutes)"), 'ats_auto_timer_settings': _("AutoTimer Settings"), 'ats_autopoll': _("AutoPoll"), 'ats_interval': _("Interval (in %s)") % AT_unit, 'ats_maxdaysinfuture': _("Max Days"), 'ats_try_guessing': _("Try guessing"), 'ats_fastscan': _("Fastscan"), 'ats_show_in_extensionsmenu': _("Show in Extensions menu"), 'ats_disabled_on_conflict': _("Disabled on conflict"), 'ats_addsimilar_on_conflict': _("Add similar on conflict"), 'ats_notifconflict': _("Notify if Conflict"), 'ats_notifsimilar': _("Notify if Similar"), 'ats_add_autotimer_to_tags': _("Add AutoTimer to tags"), 'ats_add_name_to_tags': _("Add AutoTimer name to tags"), 'ats_refresh': _("Refresh"), 'ats_refresh_none': _("None"), 'ats_refresh_auto': _("Auto"), 'ats_refresh_all': _("All"), 'ats_editor': _("Editor"), 'ats_editor_plain': _("Plain"), 'ats_editor_wizard': _("Wizard"), 'er_enabled': _("Enabled"), 'er_enable_messages': _("Enable Messages"), 'er_begin': _("Begin"), 'er_end': _("End"), 'er_delay_standby': _("Delay Standby"), 'er_interval_min': _("Interval (min.)"), 'er_interval_sec': _("Interval (sec.)"), 'er_afterevent': _("After event"), 'er_force': _("Force"), 'er_wakeup': _("Wakeup"), 'er_inherit_autotimer': _("Inherit AutoTimer"), 'er_parse_autotimer': _("Parse AutoTimer"), 'er_always': _("Always"), 'er_never': _("Never"), 'er_bg_only': _("Background only"), 'er_ask_yes': _("Ask, default Yes"), 'er_ask_no': _("Ask, default No"), 'er_adapter': _("Method"), 'er_main': _("Visibly"), 'er_pip': _("Picture in Picture"), 'er_pip_hidden': _("Picture in Picture (hidden)"), 'er_fake_recording': _("Fake Recording"), 'er_save': _("Save"), 'er_refresh': _("Refresh now"), 'bqe_add_provider_as_bouquet': _("Create bouquet from selection"), 'bqe_add_channel': _("Add selection to bouquet"), 'bqe_add_alternative': _("Add channel(s) as alternate"), 'bqe_search': _("Search"), 'bqe_search_enhanced': _("Search by name, sd / hd / uhd, or provider"), 'bqe_add_bq': _("Add Bouquet"), 'bqe_rename_bq': _("Rename Bouquet"), 'bqe_delete_bq': _("Delete Bouquet"), 'bqe_add_url': _("Add IPTV/URL"), 'bqe_add_marker': _("Add Marker"), 'bqe_add_spacer': _("Add Spacer"), 'bqe_rename': _("Rename"), 'bqe_del_channel_question': _("Are you sure you want to delete the selected item(s)?"), 'bqe_del_bouquet_question': _("Are you sure you want to delete the selected bouquet?"), 'bqe_name_url': _("IPTV / URL name"), 'bqe_name_bouquet': _("Bouquet name"), 'bqe_name_marker': _("Marker name"), 'bqe_rename_bouquet': _("Enter a name for the new bouquet"), 'bqe_rename_marker': _("Enter a name for the new marker"), 'bqe_filename': _("A filename is required"), 'bqe_restore_question': _("Are you sure you want to restore from file?"), 'bqe_loading': _("Loading..."), 'via': _("via"), 'zap_record': _("Zap & Record"), 'pmt_pid': _("PMT PID"), 'a_pid': _("Audio PID (APID)"), 'v_pid': _("Video PID (VPID)"), 'txt_pid': _("Teletext PID"), 'pcr_pid': _("PCR PID"), 'ts_id': _("TSID"), 'on_id': _("ONID"), 's_id': _("Service ID (SID)"), 's_ref': _("SRef"), 's_orb': _("Orbital Position"), 'tstr_error_load_page': _("error! Loading Page"), 'tstr_timer_added': _("Timer Added"), 'tstr_event_not_found': _("Event not found"), 'tstr_show_picon_in_channel_list': _("Show picons in channel list"), 'tstr_moviedb': _("Movie database for EPG"), 'tstr_ow_browser_settings': _("OpenWebif Browser Settings"), 'tstr_ow_settings': _("OpenWebif Settings"), 'tstr_theme': _("Theme"), 'tstr_spinner': _("Spinner"), 'tstr_smallremote': _("Small remote layout"), 'display_duration_s': _("Display duration (s)"), 'display_mode': _("Display Mode"), 'tv_guide': _("TV Guide"), 'timeline': _("Timeline"), 'webtv': _("Web TV"), 'cw': _("Calendar Week"), 'linkspeed': _("Link speed"), 'networkshares': _("Network Shares"), 'using': _("using"), 'prime_times': _("Primetimes"), 'titscreenshot': _("Enable/Disable Screenshot on key press or"), 'bookmarks': _("Bookmarks"), 'bookmark': _("Bookmark"), 'new_bookmark': _("New Bookmark:"), 'delete_bookmark': _("Delete Bookmark"), 'bookmark_path': _("Enter path"), 'packages': _("Packages"), 'newdesign': _("Use modern design"), 'oops': _("Oops..."), 'prompt_save_changes': _("Would you like to save your changes?"), 'rename': _("Rename"), 'no_cancel': _("No, cancel"), 'yes_delete': _("Yes"), 'cancelled': _("Cancelled"), 'deleted': _("Deleted"), 'need_input': _("A value is required"), 'common_settings': _("Common Settings"), 'min_movie_list': _("Minimal movie list"), 'min_timer_list': _("Minimal timer list"), 'min_epg_list': _("Minimal EPG list"), 'now_next_columns': _("Now/Next Columns"), 'remove_package': _("Remove Package"), 'update_package': _("Update Package"), 'install_package': _("Install Package"), 'update': _("Update"), 'installed': _("Installed"), 'more': _("More"), 'update_feed': _("Update from feed"), 'upgrade_packages': _("Upgrade all packages"), 'yes': _("Yes"), 'no': _("No"), 'inc_shortdesc': _("Include short description"), 'inc_extdesc': _("Include extended description"), 'moviesearch': _("Movie search"), 'start_typing': _("Start typing..."), 'select_ipk_upload': _("Select IPK file for upload"), 'uploaded_files': _("Uploaded Files"), 'upload_package': _("Upload package"), 'upload_error': _("Upload File Error"), 'showfullremoteshort': _("Full remote"), 'showdetails': _("Show details"), 'show_details_in_channel_list': _("Show service type in channel list"), 'show_iptv_channels_in_selection': _("Show IPTV channels in selection (eg. Autotimer)"), 'use_channel_name_for_screenshots': _("Use Channelname for screenshots"), 'show_picons': _("Show picons"), 'show_picon_background': _("Show picon background"), 'export': _("Export"), 'import': _("Import"), 'sort': _("Sort"), 'name_asc': _("Name (a-z)"), 'name_desc': _("Name (z-a)"), 'date_asc': _("Date (oldest)"), 'date_desc': _("Date (newest)"), 'subdirectories': _("Subdirectories"), 'form_select': _("Select..."), 'form_reset': _("Reset"), 'HH_MM': _("HH:MM"), 'YYYY_MM_DD': _("YYYY-MM-DD"), 'playlistformat': _("Playlist format"), 'pipifposible': _("Use as PiP if possible"), 'allow_duplicate': _("Allow duplicates"), 'autoadjust': _("Adjust recording time to real event time"), 'avoidDuplicateMovies': _("Don't create timer when movie exists in database"), 'streamclients': _("Stream Clients"), 'config': _("Config"), 'skins': _("Skins"), 'use_classic_design': _("Use classic interface"), 'use_modern_design': _("Use modern interface"), 'showallpackages': _("Show all packages"), 'recordingtype': _("Recording Type"), 'normal': _("normal"), 'descrambledecm': _("descramble and record ecm"), 'scrambledecm': _("don't descramble, record ecm"), 'REC': _("REC"), 'enter_text': _("Enter text"), 'edit_recording': _("Edit Recording"), 'currently_recording': _("Currently recording"), 'serving_stream': _("Serving stream"), 'mute_unmute': _("Mute/Unmute"), 'send': _("Send"), 'receiver': _("Receiver"), 'build': _("Build"), 'information': _("Information"), 'timer_conflict': _("Timer Conflict"), 'no_network_connection': _("No network connection"), 'any': _("Any"), 'drag_hint': _("Hold to drag"), 'hardware': _("Hardware"), 'internal_flash_memory': _("Internal flash memory"), 'storage': _("Storage"), 'device': _("Device"), 'free_space': _("Free space"), 'mount_point': _("Mount point") }