{ "active": "Active", "close": "Close", "email": "Email", "email_and_password_required": "Email and password are required.", "enter_email": "Enter your email", "enter_password": "Enter your password", "forgot_password": "Forgot password?", "inactive": "Inactive", "login_dialog_label": "Login to VCM admin", "logout_failed": "Logout failed", "password": "Password", "qso_count_one": "{{count}} QSO", "qso_count_other": "{{count}} QSOs", "remember_me": "Remember me", "sign_in": "Sign in", "title": "VKV Contests", "unable_to_sign_in": "Unable to sign in.", "yes": "Yes", "no": "No", "rounds_loading": "Loading rounds…", "unable_to_load_rounds": "Unable to load rounds.", "rounds_empty": "No rounds available.", "round_name": "Round", "round_contest": "Contest", "round_schedule": "Schedule", "round_active": "Active", "round_test": "Test", "round_logs_deadline": "Logs deadline", "round_logs_deadline_passed": "The deadline for uploading logs has passed.", "edit_round": "Edit round", "upload_log_title": "Upload log", "select_file": "Select file", "upload": "Upload file to server", "upload_pband_mapped": "PBand \"{{original}}\" from EDI matches band \"{{mapped}}\".", "upload_pband_missing": "PBand is missing in the file, choose a band.", "upload_file_not_supported": "Unsupported file: missing [REG1TEST;1] header.", "upload_spowe_normalized_from": "SPowe normalized from \"{{from}}\" to \"{{to}}\".", "upload_spowe_normalized_to": "SPowe normalized to \"{{value}}\".", "upload_filename_missing_fields": "Fill in PCall, PSect, and PBand so the filename can be checked.", "upload_filename_unknown_code": "Unable to determine the filename prefix for the selected category and band.", "upload_filename_valid": "The filename matches the required format.", "upload_filename_invalid": "The filename does not match the required format. Suggested: {{expected}}", "upload_filename_normalize": "Normalize name", "upload_filename_used": "Upload will use: {{name}}", "upload_error_pick_file": "Select a file.", "upload_error_pick_band": "Select a band (PBand).", "upload_error_band_unknown": "PBand \"{{band}}\" does not match known bands, choose a valid one.", "upload_error_pwwlo_required": "PWWLo is required.", "upload_error_pwwlo_format": "PWWLo must have 6 characters in locator format (AA00AA).", "upload_error_rhbbs_required": "RHBBS is required.", "upload_error_rhbbs_format": "RHBBS must be a valid email.", "upload_warning_rhbbs_required": "RHBBS is missing. The log can be uploaded, but we recommend filling it in.", "upload_warning_rhbbs_format": "RHBBS is not a valid email address. The log can be uploaded, but we recommend fixing it.", "upload_error_tname_required": "TName is required.", "upload_error_pcall_required": "PCall is required.", "upload_error_pcall_format": "PCall must be a valid callsign.", "upload_error_psect_required": "PSect is required.", "upload_error_psect_invalid": "PSect is not valid.", "upload_error_psect_not_iaru": "PSect is not in IARU format.", "upload_error_spowe_required": "SPowe is required.", "upload_error_spowe_format": "SPowe must be a number (decimals allowed, without units).", "upload_error_spowe_length": "SPowe can be at most 12 characters.", "upload_error_spowe_limit": "SPowe ({{value}} W) exceeds limit for category {{category}} ({{limit}} W).", "upload_error_sante_required": "SAnte is required.", "upload_error_sante_length": "SAnte can be at most 12 characters.", "upload_warn_sante_length": "Only the first 12 characters will be shown in results; your antenna description is longer and will be truncated.", "upload_error_rcall_required": "RCall is required for this category.", "upload_error_rcall_format": "RCall must be a valid callsign.", "upload_error_mope_missing": "Fill at least MOpe1 or MOpe2 (you can enter multiple calls separated by space/semicolon/comma).", "upload_error_mope_invalid": "Invalid calls in MOpe1/MOpe2 ({{invalid}}).", "upload_error_not_allowed": "Uploading is not allowed.", "upload_file_drop_hint": "Drag & drop an EDI file here or click to choose.", "upload_psect_format_button": "Adjust categories by IARU", "upload_error_psect_normalize": "PSect cannot be normalized, fix errors and try again.", "upload_error_missing_round": "Missing round ID.", "upload_error_power_band_mismatch": "PSect \"{{psect}}\" contains a power category, but band \"{{band}}\" does not support it.", "upload_error_file_read": "The file could not be read.", "upload_failed": "Upload failed.", "files_uploaded": "Uploaded: {{files}}", "upload_hint_authenticated": "You can upload multiple files at once.", "upload_hint_closed": "Uploads are allowed during contest until logs deadline, or sign in.", "upload_hint_anonymous_once": "Anonymous upload allows only one file.", "upload_hint_anonymous": "Anonymous upload allows one file during contest until logs deadline.", "declared_note_line1": "Declared results are preliminary results for OK and OL stations.", "declared_note_line2": "Displayed international results are not official and are for comparison only.", "declared_note_line3": "Declared results are ordered based on the EDI header field CQSOP=. Other columns also show log data that are only checked for proper format.", "logs_loading": "Loading logs…", "logs_empty": "No logs available.", "unable_to_load_logs": "Unable to load logs.", "logs_waiting_processing": "Waiting for processing", "confirm_delete_log": "Really delete the log?", "edi_pcall_hint": "Callsign used during contest (PCall).", "edi_padr1_hint": "QTH address line 1 (PAdr1).", "edi_padr2_hint": "QTH address line 2 (PAdr2).", "edi_mope1_hint": "Multi-operator line 1 (MOpe1).", "edi_mope2_hint": "Multi-operator line 2 (MOpe2).", "edi_rcall_hint": "Responsible operator callsign (RCall).", "edi_radr1_hint": "Responsible operator address line 1 (RAdr1).", "edi_radr2_hint": "Responsible operator address line 2 (RAdr2).", "edi_rpoco_rcity_hint": "Postal code / city of responsible operator (RPoCo / RCity).", "edi_rcoun_hint": "Country of responsible operator (RCoun).", "edi_rphon_hint": "Phone of responsible operator (RPhon).", "edi_rhbbs_hint": "Home BBS of responsible operator (RHBBS).", "edi_stxeq_hint": "TX equipment (STXEq).", "edi_srxeq_hint": "RX equipment (SRXEq).", "edi_spowe_hint": "TX power in watts (SPowe).", "edi_sante_hint": "Antenna used (SAnte).", "edi_santh_hint": "Antenna height above ground/sea (SAntH).", "six_hr_band_warning": "6H category is allowed only for bands 145 MHz and 435 MHz.", "override_pre_match_title": "Manual overrides before matching", "override_pre_match_hint": "Changes take effect after clicking “Continue”. IGNORED excludes the log from matching.", "override_loading_logs": "Loading logs…", "override_no_logs": "No logs to edit.", "override_detail": "Detail", "override_detail_title": "Log detail", "override_reason_prefix": "Reason", "override_status_label": "Status", "override_status_auto": "AUTO", "override_status_ignored": "IGNORED", "override_status_check": "CHECK", "override_status_ok": "OK", "override_status_dq": "DQ", "override_band_label": "Band", "override_category_label": "Category", "override_power_label": "Power", "override_sixhr_label": "6H", "override_reason_label": "Reason for change", "override_auto": "AUTO", "override_save": "Save", "override_saving": "Saving…", "override_saved": "Saved.", "override_no_changes": "No changes.", "override_reason_required": "Please provide a reason for the change.", "override_save_failed": "Failed to save override.", "override_prev_page": "Previous", "override_next_page": "Next", "override_page_label": "Page {{page}} / {{lastPage}}", "qso_problem_label": "Problem", "qso_problem_reason": "Reason", "qso_problem_errors": "Errors", "qso_problem_side": "Side", "qso_problem_confidence": "Match", "qso_error_detail_exchange_serial_missing": "Serial is missing in the exchange.", "qso_error_detail_exchange_wwl_missing": "Locator (WWL) is missing in the exchange.", "qso_error_detail_exchange_custom_mismatch": "CUSTOM exchange does not match the expected format.", "qso_error_detail_exchange_serial_mismatch": "Serial mismatch between stations.", "qso_error_detail_exchange_wwl_mismatch": "Locator (WWL) mismatch between stations.", "qso_error_detail_exchange_serial_wwl_mismatch": "Serial and locator (WWL) mismatch.", "qso_error_detail_exchange_mismatch": "Exchange mismatch between stations.", "upload_hint_bulk_auth": "Bulk upload is available only for signed-in users.", "results_table_rank": "Rank", "results_table_callsign": "Callsign", "results_table_locator": "Locator", "results_table_category": "Category", "results_table_band": "Band", "results_table_power_watt": "Power [W]", "results_table_power_category": "Power category", "results_table_score_total": "Total score", "results_table_claimed_score": "Declared score", "results_table_qso_count": "QSO count", "results_table_discarded_qso": "Discarded QSOs", "results_table_discarded_qso_help": "Count of QSOs with is_valid=false.", "results_table_discarded_points": "Discarded points", "results_table_unique_qso": "Unique QSOs", "results_table_score_per_qso": "Score / QSO", "results_table_odx": "ODX", "results_table_antenna": "Antenna", "results_table_antenna_height": "Antenna height", "results_table_status": "Status", "results_table_override_reason": "Referee note", "results_evaluating": "Evaluation in progress", "results_tab": "Results", "declared_results_tab": "Declared results", "uploaded_logs_tab": "Uploaded logs", "results_filter_all": "All results", "results_filter_ok_ol": "OK/OL competitors", "declared_recalculate": "Recalculate", "declared_recalculate_started": "Recalculation started.", "declared_recalculate_failed": "Failed to start recalculation.", "round_detail_title": "Round detail", "round_detail_tabs_aria": "Round detail tabs", "footer_rights": "© {{year}} VKV. All rights reserved.", "footer_docs": "Documentation", "footer_support": "Support", "results_type_final": "Final results", "results_type_declared": "Declared results", "results_type_log_collection_open": "Open for log collection", "results_type_not_started": "Contest not started yet", "results_type_preliminary": "Preliminary results", "results_type_test": "Test results", "evaluation_incremental_hint": "Restarting will reuse overrides from the last run.", "contests_title": "Contests", "contest_rounds_title": "Contest rounds", "open_rounds_title": "Contests:", "contest_index_page": "Contests overview", "select_none": "No contest selected", "select_contest": "Select contest", "admin_form_close": "Close form", "admin_form_confirm_close": "The form has unsaved changes. Do you really want to close it?", "value_na": "—", "validation_number": "Must be a number.", "validation_integer": "Must be an integer.", "validation_json": "Invalid JSON.", "validation_name_required": "Name is required.", "validation_code_required": "Code is required.", "validation_range_1_100": "Range 1–100.", "validation_min_one": "Must be at least 1.", "validation_min_zero": "Must be at least 0.", "validation_range_0_2": "Range 0–2.", "contest_new": "New contest", "contest_edit": "Edit contest", "contest_add_new": "Add new contest", "contest_rounds_title_named": "Contest rounds \"{{name}}\":", "round_new": "New round", "round_edit": "Edit round", "round_add_new": "Add new round", "admin_news_title": "News", "admin_news_create": "New news", "admin_news_loading": "Loading news…", "admin_news_load_failed": "Failed to load news.", "admin_news_title_required": "Fill in the title in at least one language.", "admin_news_content_required": "Fill in the content in at least one language.", "admin_news_created": "News item created.", "admin_news_updated": "News item updated.", "admin_news_save_failed": "Failed to save news item.", "admin_news_table_aria": "News table", "admin_news_title_cs": "Title (cs)", "admin_news_title_en": "Title (en)", "admin_news_published_at": "Published", "admin_news_published_flag": "Visible", "admin_news_edit_aria": "Edit news item", "admin_news_form_title_cs": "Title (cs)", "admin_news_form_title_en": "Title (en)", "admin_news_form_excerpt_cs": "Excerpt (cs)", "admin_news_form_excerpt_en": "Excerpt (en)", "admin_news_form_content_cs": "Content (cs)", "admin_news_form_content_en": "Content (en)", "admin_news_form_published_from": "Published from", "admin_news_form_publish": "Publish", "admin_news_form_save": "Save changes", "admin_news_form_create": "Create news", "admin_rulesets_title": "Rule sets", "admin_rulesets_loading": "Loading rule sets…", "admin_rulesets_load_failed": "Failed to load rule sets.", "admin_rulesets_fix_errors": "Fix the errors in the form.", "admin_rulesets_options_invalid_json": "Options are not valid JSON.", "admin_rulesets_updated": "Rule set updated.", "admin_rulesets_created": "Rule set created.", "admin_rulesets_save_failed": "Failed to save rule set.", "admin_rulesets_help": "Help", "admin_rulesets_help_title": "Ruleset documentation", "admin_rulesets_table_aria": "Rule sets table", "admin_rulesets_table_name": "Name", "admin_rulesets_table_code": "Code", "admin_rulesets_table_scoring": "Scoring", "admin_rulesets_table_multiplier": "Multiplier", "admin_rulesets_table_updated": "Updated", "admin_rulesets_edit_aria": "Edit rule set", "admin_rulesets_section_base_title": "Basics", "admin_rulesets_section_base_desc": "Rule set identity and a short description for referees.", "admin_rulesets_label_name": "Name", "admin_rulesets_label_code": "Code", "admin_rulesets_label_description": "Description", "admin_rulesets_section_scoring_title": "Scoring", "admin_rulesets_section_scoring_desc": "How points are calculated and distance rounding.", "admin_rulesets_label_scoring_mode": "Scoring mode", "admin_rulesets_label_points_per_qso": "Points / QSO", "admin_rulesets_label_points_per_km": "Points / km", "admin_rulesets_label_distance_rounding": "Distance rounding", "admin_rulesets_label_min_distance_km": "Min. distance (km)", "admin_rulesets_section_operating_window_title": "Operating window", "admin_rulesets_section_operating_window_desc": "Best 6H operating window selection (up to two segments separated by >=2h).", "admin_rulesets_label_operating_window_enabled": "6H operating window", "admin_rulesets_label_operating_window_hours": "Operating window (hours)", "admin_rulesets_label_sixhr_ranking_mode": "6H ranking mode", "admin_rulesets_section_matching_title": "Matching", "admin_rulesets_section_matching_desc": "Rules for pairing and callsign normalization.", "admin_rulesets_label_time_tolerance_sec": "Time tolerance (s)", "admin_rulesets_label_allow_time_shift": "Allow time shift", "admin_rulesets_label_time_shift_seconds": "Time shift (s)", "admin_rulesets_label_time_mismatch_policy": "Time mismatch policy", "admin_rulesets_label_allow_time_mismatch_pairing": "Pair outside tolerance", "admin_rulesets_label_time_mismatch_max_sec": "Max time mismatch (s)", "admin_rulesets_label_dup_resolution_strategy": "Dup resolution order", "admin_rulesets_label_dup_resolution_placeholder": "paired_first, ok_first, earlier_time, lower_id", "admin_rulesets_label_callsign_suffix_len": "Max suffix length", "admin_rulesets_label_callsign_levenshtein": "Levenshtein max", "admin_rulesets_label_callsign_normalization": "Callsign normalization", "admin_rulesets_label_checklog_matching": "Include CHECK logs in matching", "admin_rulesets_label_time_diff_dq_percent": "Time diff DQ %", "admin_rulesets_label_time_diff_dq_sec": "Time diff DQ (s)", "admin_rulesets_label_bad_qso_dq_percent": "Bad QSO DQ %", "admin_rulesets_label_match_require_locator": "Matching requires locator", "admin_rulesets_label_match_require_exchange": "Matching requires exchange", "admin_rulesets_label_tiebreak_order": "Tiebreak order", "admin_rulesets_label_tiebreak_placeholder": "time_diff, exchange_match, locator_match", "admin_rulesets_label_ignore_suffix": "Ignore suffix in call", "admin_rulesets_label_ignore_third_part": "Ignore 3rd part of call", "admin_rulesets_label_rst_ignore_third_char": "Ignore 3rd RST character", "admin_rulesets_label_letters_in_rst": "RST with letters", "admin_rulesets_section_exchange_title": "Exchange", "admin_rulesets_section_exchange_desc": "Exchange type and required parts.", "admin_rulesets_label_exchange_type": "Exchange type", "admin_rulesets_label_exchange_requires_wwl": "Require WWL", "admin_rulesets_label_exchange_requires_serial": "Require serial", "admin_rulesets_label_exchange_requires_report": "Report is part of exchange", "admin_rulesets_label_exchange_pattern": "Exchange regex", "admin_rulesets_warning_report_required": "Busted RST is evaluated only when “Report is part of exchange” is enabled.", "admin_rulesets_section_errors_title": "Duplicates and busted", "admin_rulesets_section_errors_desc": "How DUP/NIL/BUSTED situations are marked and scored.", "admin_rulesets_label_dupe_scope": "Dupe scope", "admin_rulesets_label_unique_qso": "Unique QSO", "admin_rulesets_label_busted_call_rx": "Busted call (RX)", "admin_rulesets_label_busted_call_tx": "Busted call (TX)", "admin_rulesets_label_busted_rst_rx": "Busted RST (RX)", "admin_rulesets_label_busted_rst_tx": "Busted RST (TX)", "admin_rulesets_label_busted_serial_rx": "Busted serial (RX)", "admin_rulesets_label_busted_serial_tx": "Busted serial (TX)", "admin_rulesets_label_busted_wwl_rx": "Busted WWL (RX)", "admin_rulesets_label_busted_wwl_tx": "Busted WWL (TX)", "admin_rulesets_label_busted_exchange_rx": "Busted exchange (RX)", "admin_rulesets_label_busted_exchange_tx": "Busted exchange (TX)", "admin_rulesets_label_dup_policy": "DUP policy", "admin_rulesets_label_nil_policy": "NIL policy", "admin_rulesets_label_no_counterpart_policy": "No counterpart policy", "admin_rulesets_label_not_in_counterpart_policy": "Not in counterpart policy", "admin_rulesets_label_unique_policy": "Unique policy", "admin_rulesets_label_busted_call_policy": "Busted call policy", "admin_rulesets_label_busted_rst_policy": "Busted RST policy", "admin_rulesets_label_busted_exchange_policy": "Busted exchange policy", "admin_rulesets_label_busted_serial_policy": "Busted serial policy", "admin_rulesets_label_busted_locator_policy": "Busted locator policy", "admin_rulesets_section_out_of_window_title": "Out-of-window", "admin_rulesets_section_out_of_window_desc": "Behavior for QSOs outside the contest time window.", "admin_rulesets_label_out_of_window_policy": "Out-of-window policy", "admin_rulesets_label_out_of_window_dq_threshold": "DQ threshold (out-of-window)", "admin_rulesets_label_require_locators": "Require locators", "admin_rulesets_section_multipliers_title": "Multipliers", "admin_rulesets_section_multipliers_desc": "Multiplier type and scope settings.", "admin_rulesets_label_use_multipliers": "Use multipliers", "admin_rulesets_label_multiplier_type": "Multiplier type", "admin_rulesets_label_multiplier_scope": "Multiplier scope", "admin_rulesets_label_multiplier_source": "Multiplier source", "admin_rulesets_label_wwl_level": "WWL level", "admin_rulesets_section_penalties_title": "Penalties", "admin_rulesets_section_penalties_desc": "Penalty values per error type.", "admin_rulesets_label_penalty_dup": "Penalty DUP", "admin_rulesets_label_penalty_nil": "Penalty NIL", "admin_rulesets_label_penalty_busted_call": "Penalty busted call", "admin_rulesets_label_penalty_busted_rst": "Penalty busted RST", "admin_rulesets_label_penalty_busted_exchange": "Penalty busted exchange", "admin_rulesets_label_penalty_busted_serial": "Penalty busted serial", "admin_rulesets_label_penalty_busted_locator": "Penalty busted locator", "admin_rulesets_label_penalty_out_of_window": "Penalty out-of-window", "admin_rulesets_section_advanced_title": "Advanced", "admin_rulesets_section_advanced_desc": "Optional JSON rules extensions.", "admin_rulesets_label_options_json": "Options (JSON)", "admin_rulesets_create": "New rule set", "admin_rulesets_save": "Save changes", "admin_rulesets_form_create_title": "New rule set", "admin_rulesets_form_edit_title": "Edit rule set", "edi_error_file_empty": "{{name}}: file is empty.", "edi_error_missing_header": "{{name}}: missing header [REG1TEST;1].", "edi_error_missing_field": "{{name}}: missing {{field}}.", "edi_error_tdate_format": "{{name}}: TDate must be in YYYYMMDD;YYYYMMDD format and the first date must not be after the second.", "edi_error_pwwlo_format": "{{name}}: PWWLo must be a 6-character locator (AA00AA).", "edi_error_pcall_format": "{{name}}: PCall must be a valid callsign.", "edi_error_rcall_for_psect": "{{name}}: missing or invalid RCall for PSect {{psect}}.", "edi_error_mope_missing": "{{name}}: MOpe1/MOpe2 is required for multi operators.", "edi_error_mope_invalid": "{{name}}: invalid callsigns in MOpe1/MOpe2 ({{invalid}}).", "edi_error_missing_qso_records": "{{name}}: missing section [QSORecords;N].", "edi_error_qso_fields_min": "{{name}}: QSO #{{index}} has too few fields (at least {{min}} expected).", "edi_error_qso_date_format": "{{name}}: QSO #{{index}} has invalid date (YYMMDD).", "edi_error_qso_year_out_of_range": "{{name}}: QSO #{{index}} year is outside TDate range.", "edi_error_qso_date_out_of_range": "{{name}}: QSO #{{index}} date is outside TDate range.", "edi_error_qso_time_format": "{{name}}: QSO #{{index}} has invalid time (HHMM UTC).", "edi_error_qso_callsign": "{{name}}: QSO #{{index}} has invalid callsign.", "edi_error_qso_edit_in_file": "{{name}}: QSO records cannot be edited in the form, fix them in the file and upload again.", "edi_warning_qso_count_mismatch": "{{name}}: Declared QSO count ({{expected}}) does not match actual ({{actual}}).", "edi_error_psect_multiple_power": "PSect contains multiple power categories.", "edi_error_psect_time_not_allowed": "PSect contains 6H time category which is not allowed for this round.", "edi_warning_psect_time_not_allowed": "PSect contains 6H time category which is not allowed for this round. Upload is allowed, but we recommend fixing the value.", "edi_error_psect_multiple_time": "PSect contains multiple time categories.", "edi_error_psect_missing_operator": "PSect must contain SO or MO.", "edi_error_psect_check_extra": "PSect CHECK must not contain any other tokens.", "edi_error_psect_unknown_tokens": "PSect contains unknown tokens: {{tokens}}.", "edi_warning_psect_unknown_tokens": "Unknown tokens in PSect: {{tokens}}.", "edi_field_tname": "contest name (TName)", "edi_field_tdate": "contest date (TDate=YYYYMMDD;YYYYMMDD)", "edi_field_pcall": "callsign (PCall)", "edi_field_pwwlo": "locator (PWWLo)", "edi_field_psect": "section/category (PSect)", "edi_field_pband": "band used (PBand)", "edi_field_spowe": "power (SPowe)", "edi_field_sante": "antenna (SAnte)", "edi_field_cqsop": "QSO points (CQSOP)", "edi_field_ctosc": "total score (CToSc)", "about_link": "About", "admin_contests_link": "Contests", "admin_news_link": "News", "admin_rulesets_link": "Rule sets", "admin_users_link": "Users", "admin_users_title": "Users", "admin_users_create": "New user", "admin_users_load_failed": "Failed to load users.", "admin_users_save_failed": "Failed to save user.", "admin_users_deactivate_failed": "Failed to deactivate user.", "admin_users_search": "Search name or email", "admin_users_name": "Name", "admin_users_email": "Email", "admin_users_password": "Password", "admin_users_password_hint": "Leave empty to keep unchanged", "admin_users_is_admin": "Admin", "admin_users_is_active": "Active", "admin_users_actions": "Actions", "admin_users_loading": "Loading...", "admin_users_empty": "No users.", "admin_users_edit": "Edit", "admin_users_deactivate": "Deactivate", "admin_users_edit_title": "Edit user", "admin_users_create_title": "New user", "admin_users_saving": "Saving…", "admin_users_save": "Save", "admin_link": "Administration", "contests_link": "Contests", "contests_left_title": "Contests", "home_link": "Home", "login_link": "Login", "logout_link": "Logout", "back": "Back", "log": "Log", "news_show_more": "Show more" }