Files
vkv/resources/js/locales/en/ruleset.json
Zdeněk Burda 41e3ce6f25 Initial commit
2026-01-09 21:26:40 +01:00

79 lines
9.1 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"ruleset_help_name": "Ruleset name for administration; it does not affect scoring.",
"ruleset_help_code": "Stable ruleset identifier for links, exports, and API; changing it can break references.",
"ruleset_help_description": "Description for referees; it does not change the calculation.",
"ruleset_help_scoring_mode": "Scoring method: DISTANCE = points from km; FIXED_POINTS = fixed points per valid QSO.",
"ruleset_help_points_per_qso": "Used only in FIXED_POINTS; valid QSO gets this many points.",
"ruleset_help_points_per_km": "Used only in DISTANCE; points = distance_km * points_per_km (after rounding).",
"ruleset_help_use_multipliers": "Enables multipliers in aggregation; when off, multiplier_count=1.",
"ruleset_help_multiplier_type": "Multiplier type to collect from QSOs (WWL/DXCC/SECTION/COUNTRY).",
"ruleset_help_multiplier_scope": "PER_BAND counts per band; OVERALL counts all together.",
"ruleset_help_multiplier_source": "VALID_ONLY uses valid QSOs; ALL_MATCHED uses all matched (even invalid).",
"ruleset_help_wwl_multiplier_level": "WWL level (2/4/6) used to count uniques.",
"ruleset_help_checklog_matching": "When off, CHECK logs are excluded from matching and cannot form pairs.",
"ruleset_help_dupe_scope": "Duplicate scope: BAND within band only; BAND_MODE also by mode.",
"ruleset_help_callsign_normalization": "How callsigns are normalized for matching and busted checks.",
"ruleset_help_callsign_suffix_max_len": "Max suffix length after slash to ignore (longer suffix is kept).",
"ruleset_help_callsign_levenshtein_max": "Maximum Levenshtein distance for tolerant callsign matching (02).",
"ruleset_help_distance_rounding": "How distance_km is rounded before scoring (FLOOR/ROUND/CEIL).",
"ruleset_help_min_distance_km": "QSOs below this distance get 0 points or can be marked invalid.",
"ruleset_help_operating_window_mode": "Enables the 6H operating window: up to two segments separated by >=2h are counted (total duration <= 6 hours).",
"ruleset_help_operating_window_hours": "Total operating time is fixed (6 hours).",
"ruleset_help_sixhr_ranking_mode": "IARU = one combined 6H table without SO/MO; CRK = separate SO and MO rankings.",
"ruleset_help_time_tolerance_sec": "Max time delta for matching; outside tolerance reduces matching or yields NIL.",
"ruleset_help_allow_time_shift_one_hour": "Allows time shift (typically +1h) during matching and flags QSOs as TIME_SHIFT.",
"ruleset_help_time_shift_seconds": "Time shift in seconds used as an alternative matching window (e.g. 3600).",
"ruleset_help_time_mismatch_policy": "How to handle time mismatch: INVALID marks QSO invalid; ZERO_POINTS keeps valid but 0 points; FLAG_ONLY keeps points; PENALTY sets 0 points and adds penalty.",
"ruleset_help_allow_time_mismatch_pairing": "Allow pairing outside time tolerance; resulting QSO is flagged TIME_MISMATCH.",
"ruleset_help_time_mismatch_max_sec": "Maximum time delta (seconds) for pairing outside tolerance; NULL = unlimited.",
"ruleset_help_time_diff_dq_threshold_percent": "If more than this share of matched QSOs exceeds the time threshold, the log is marked DQ.",
"ruleset_help_time_diff_dq_threshold_sec": "Time threshold in seconds used to compute the share of QSOs with large time difference.",
"ruleset_help_bad_qso_dq_threshold_percent": "If the share of bad QSOs (NIL/DUP/BUSTED/OUT) reaches this value, the log is disqualified (DQ).",
"ruleset_help_out_of_window_dq_threshold": "Out-of-window QSO count that flips the log to DQ.",
"ruleset_help_require_locators": "Without locators, QSOs are marked invalid or score 0.",
"ruleset_help_require_unique_qso": "Duplicate QSOs are marked DUP and do not score.",
"ruleset_help_out_of_window_policy": "How to handle out-of-window QSOs: IGNORE/0 points/PENALTY/INVALID.",
"ruleset_help_exchange_type": "Defines what is part of the exchange and checked for busted_exchange.",
"ruleset_help_exchange_requires_wwl": "If WWL is missing, the QSO is marked invalid/busted per rules.",
"ruleset_help_exchange_requires_serial": "If serial is missing, the QSO is marked invalid/busted per rules.",
"ruleset_help_exchange_requires_report": "RST is part of the exchange; mismatch can lead to BUSTED_RST.",
"ruleset_help_exchange_pattern": "Regex for CUSTOM exchange; non-matching value => busted_exchange.",
"ruleset_help_match_tiebreak_order": "Tie-break order when choosing a candidate (time, exchange, locator...).",
"ruleset_help_match_require_locator_match": "Matching allows only candidates with matching locator; otherwise NIL.",
"ruleset_help_match_require_exchange_match": "Matching allows only candidates with matching exchange; otherwise NIL.",
"ruleset_help_letters_in_rst": "Allow alphanumeric RST; otherwise only digits are valid.",
"ruleset_help_ignore_slash_part": "Ignore suffix after slash during normalization (e.g. /P).",
"ruleset_help_ignore_third_part": "Ignore the third part of a callsign (e.g. OK1ABC/0/P).",
"ruleset_help_rst_ignore_third_char": "Ignores the 3rd character of RST when comparing (e.g. 59X).",
"ruleset_help_discard_qso_rec_diff_call": "If the received callsign (DX call) differs from the other stations sent callsign, the QSO is flagged BUSTED_CALL with error_side=RX. Points are zero; penalties apply per busted_call_policy.",
"ruleset_help_discard_qso_sent_diff_call": "If the sent callsign differs from the other stations received callsign, the QSO is flagged BUSTED_CALL with error_side=TX. Points for the current station stay; penalties belong to the counterpart.",
"ruleset_help_discard_qso_rec_diff_rst": "Received RST mismatch flags BUSTED_RST with error_side=RX. Points 0; penalty per busted_rst_policy.",
"ruleset_help_discard_qso_sent_diff_rst": "Sent RST mismatch flags BUSTED_RST with error_side=TX. Points stay for current station; penalties belong to the counterpart.",
"ruleset_help_discard_qso_rec_diff_serial": "Received serial mismatch flags BUSTED_SERIAL with error_side=RX. Policy uses busted_serial_policy.",
"ruleset_help_discard_qso_sent_diff_serial": "Sent serial mismatch flags BUSTED_SERIAL with error_side=TX. Points stay for current station; penalties belong to the counterpart.",
"ruleset_help_discard_qso_rec_diff_wwl": "Received locator mismatch flags BUSTED_LOCATOR with error_side=RX. Policy uses busted_locator_policy.",
"ruleset_help_discard_qso_sent_diff_wwl": "Sent locator mismatch flags BUSTED_LOCATOR with error_side=TX. Points stay for current station; penalties belong to the counterpart.",
"ruleset_help_discard_qso_rec_diff_code": "Received exchange mismatch flags BUSTED_SERIAL or BUSTED_LOCATOR (by exchange type) with error_side=RX. Policies use busted_serial_policy/busted_locator_policy.",
"ruleset_help_discard_qso_sent_diff_code": "Sent exchange mismatch flags BUSTED_SERIAL or BUSTED_LOCATOR (by exchange type) with error_side=TX. Points stay for current station; penalties belong to the counterpart.",
"ruleset_help_dup_resolution_strategy": "Order of rules for selecting the survivor among duplicates (paired_first, ok_first, earlier_time, lower_id).",
"ruleset_help_dup_qso_policy": "DUP: ZERO_POINTS = 0; PENALTY = 0 + penalty.",
"ruleset_help_nil_qso_policy": "NIL: ZERO_POINTS = 0; PENALTY = 0 + penalty.",
"ruleset_help_no_counterpart_log_policy": "No counterpart log: INVALID = invalid; ZERO_POINTS = valid with 0; FLAG_ONLY = keep points; PENALTY = 0 + penalty.",
"ruleset_help_not_in_counterpart_log_policy": "Not in counterpart log: INVALID = invalid; ZERO_POINTS = valid with 0; FLAG_ONLY = keep points; PENALTY = 0 + penalty.",
"ruleset_help_unique_qso_policy": "Unique QSO: INVALID = invalid; ZERO_POINTS = valid with 0; FLAG_ONLY = keep points.",
"ruleset_help_busted_call_policy": "BUSTED_CALL: ZERO_POINTS = 0; PENALTY = 0 + penalty.",
"ruleset_help_busted_rst_policy": "BUSTED_RST: ZERO_POINTS = 0; PENALTY = keep points + penalty.",
"ruleset_help_busted_exchange_policy": "BUSTED exchange fallback: ZERO_POINTS = 0; PENALTY = 0 + penalty.",
"ruleset_help_busted_serial_policy": "BUSTED_SERIAL: ZERO_POINTS = 0; PENALTY = 0 + penalty.",
"ruleset_help_busted_locator_policy": "BUSTED_LOCATOR: ZERO_POINTS = 0; PENALTY = 0 + penalty.",
"ruleset_help_penalty_dup_points": "Penalty points (negative) for DUP when policy= PENALTY.",
"ruleset_help_penalty_nil_points": "Penalty points (negative) for NIL when policy= PENALTY.",
"ruleset_help_penalty_busted_call_points": "Penalty points (negative) for BUSTED_CALL when policy= PENALTY.",
"ruleset_help_penalty_busted_rst_points": "Penalty points (negative) for BUSTED_RST when policy= PENALTY.",
"ruleset_help_penalty_busted_exchange_points": "Penalty points (negative) for BUSTED exchange fallback when policy= PENALTY.",
"ruleset_help_penalty_busted_serial_points": "Penalty points (negative) for BUSTED_SERIAL when policy= PENALTY.",
"ruleset_help_penalty_busted_locator_points": "Penalty points (negative) for BUSTED_LOCATOR when policy= PENALTY.",
"ruleset_help_penalty_out_of_window_points": "Penalty points for out-of-window QSOs when out_of_window_policy= PENALTY.",
"ruleset_help_options_json": "Optional rule extensions in JSON; they affect scoring only if code reads the key."
}