diff --git a/chirp/drivers/uvk5.py b/chirp/drivers/uvk5.py new file mode 100644 index 000000000..74ab357f9 --- /dev/null +++ b/chirp/drivers/uvk5.py @@ -0,0 +1,2004 @@ +# Quansheng UV-K5 driver (c) 2023 Jacek Lipkowski +# +# based on template.py Copyright 2012 Dan Smith +# +# +# This is a preliminary version of a driver for the UV-K5 +# It is based on my reverse engineering effort described here: +# https://github.com/sq5bpf/uvk5-reverse-engineering +# +# Warning: this driver is experimental, it may brick your radio, +# eat your lunch and mess up your configuration. +# +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +import struct +import logging + +from chirp import chirp_common, directory, bitwise, memmap, errors, util +from chirp.settings import RadioSetting, RadioSettingGroup, \ + RadioSettingValueBoolean, RadioSettingValueList, \ + RadioSettingValueInteger, RadioSettingValueString, \ + RadioSettings + +LOG = logging.getLogger(__name__) + +# Show the obfuscated version of commands. Not needed normally, but +# might be useful for someone who is debugging a similar radio +DEBUG_SHOW_OBFUSCATED_COMMANDS = False + +# Show the memory being written/received. Not needed normally, because +# this is the same information as in the packet hexdumps, but +# might be useful for someone debugging some obscure memory issue +DEBUG_SHOW_MEMORY_ACTIONS = False + +MEM_FORMAT = """ +#seekto 0x0000; +struct { + ul32 freq; + ul32 offset; + u8 rxcode; + u8 txcode; + + u8 unknown1:2, + txcodeflag:2, + unknown2:2, + rxcodeflag:2; + + //u8 flags1; + u8 flags1_unknown7:1, + flags1_unknown6:1, + flags1_unknown5:1, + enable_am:1, + flags1_unknown3:1, + is_in_scanlist:1, + shift:2; + + //u8 flags2; + u8 flags2_unknown7:1, + flags2_unknown6:1, + flags2_unknown5:1, + bclo:1, + txpower:2, + bandwidth:1, + freq_reverse:1; + + //u8 dtmf_flags; + u8 dtmf_flags_unknown7:1, + dtmf_flags_unknown6:1, + dtmf_flags_unknown5:1, + dtmf_flags_unknown4:1, + dtmf_flags_unknown3:1, + dtmf_pttid:2, + dtmf_decode:1; + + + u8 step; + u8 scrambler; +} channel[214]; + +#seekto 0xd60; +struct { +u8 is_scanlist1:1, +is_scanlist2:1, +unknown1:1, +unknown2:1, +is_free:1, +band:3; +} channel_attributes[200]; + +#seekto 0xe40; +ul16 fmfreq[20]; + +#seekto 0xe70; +u8 call_channel; +u8 squelch; +u8 max_talk_time; +u8 noaa_autoscan; +u8 key_lock; +u8 vox_switch; +u8 vox_level; +u8 mic_gain; +u8 unknown3; +u8 channel_display_mode; +u8 crossband; +u8 battery_save; +u8 dual_watch; +u8 backlight_auto_mode; +u8 tail_note_elimination; +u8 vfo_open; + +#seekto 0xe90; +u8 beep_control; +u8 key1_shortpress_action; +u8 key1_longpress_action; +u8 key2_shortpress_action; +u8 key2_longpress_action; +u8 scan_resume_mode; +u8 auto_keypad_lock; +u8 power_on_dispmode; +u8 password[4]; + +#seekto 0xea0; +u8 keypad_tone; +u8 language; + +#seekto 0xea8; +u8 alarm_mode; +u8 reminding_of_end_talk; +u8 repeater_tail_elimination; + +#seekto 0xeb0; +char logo_line1[16]; +char logo_line2[16]; + +#seekto 0xed0; +struct { +u8 side_tone; +char separate_code; +char group_call_code; +u8 decode_response; +u8 auto_reset_time; +u8 preload_time; +u8 first_code_persist_time; +u8 hash_persist_time; +u8 code_persist_time; +u8 code_interval_time; +u8 permit_remote_kill; +} dtmf_settings; + +#seekto 0xee0; +struct { +char dtmf_local_code[3]; +char unused1[5]; +char kill_code[5]; +char unused2[3]; +char revive_code[5]; +char unused3[3]; +char dtmf_up_code[16]; +char dtmf_down_code[16]; +} dtmf_settings_numbers; + +#seekto 0xf18; +u8 scanlist_default; +u8 scanlist1_priority_scan; +u8 scanlist1_priority_ch1; +u8 scanlist1_priority_ch2; +u8 scanlist2_priority_scan; +u8 scanlist2_priority_ch1; +u8 scanlist2_priority_ch2; +u8 scanlist_unknown_0xff; + + +#seekto 0xf40; +u8 int_flock; +u8 int_350tx; +u8 int_unknown1; +u8 int_200tx; +u8 int_500tx; +u8 int_350en; +u8 int_scren; + +#seekto 0xf50; +struct { +char name[16]; +} channelname[200]; + +#seekto 0x1c00; +struct { +char name[8]; +char number[3]; +char unused_00[5]; +} dtmfcontact[16]; +""" +# bits that we will save from the channel structure (mostly unknown) +SAVE_MASK_0A = 0b11001100 +SAVE_MASK_0B = 0b11101100 +SAVE_MASK_0C = 0b11100000 +SAVE_MASK_0D = 0b11111000 +SAVE_MASK_0E = 0b11110001 +SAVE_MASK_0F = 0b11110000 + +# flags1 +FLAGS1_OFFSET_NONE = 0b00 +FLAGS1_OFFSET_MINUS = 0b10 +FLAGS1_OFFSET_PLUS = 0b01 + +POWER_HIGH = 0b10 +POWER_MEDIUM = 0b01 +POWER_LOW = 0b00 + +# dtmf_flags +PTTID_LIST = ["off", "BOT", "EOT", "BOTH"] + +# power +UVK5_POWER_LEVELS = [chirp_common.PowerLevel("Low", watts=1.50), + chirp_common.PowerLevel("Med", watts=3.00), + chirp_common.PowerLevel("High", watts=5.00), + ] + +# scrambler +SCRAMBLER_LIST = ["off", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"] + +# channel display mode +CHANNELDISP_LIST = ["Frequency", "Channel No", "Channel Name"] +# battery save +BATSAVE_LIST = ["OFF", "1:1", "1:2", "1:3", "1:4"] + +# Backlight auto mode +BACKLIGHT_LIST = ["Off", "1s", "2s", "3s", "4s", "5s"] + +# Crossband receiving/transmitting +CROSSBAND_LIST = ["Off", "Band A", "Band B"] +DUALWATCH_LIST = CROSSBAND_LIST + +# steps +STEPS = [2.5, 5.0, 6.25, 10.0, 12.5, 25.0, 8.33] + +# ctcss/dcs codes +TMODES = ["", "Tone", "DTCS", "DTCS"] +TONE_NONE = 0 +TONE_CTCSS = 1 +TONE_DCS = 2 +TONE_RDCS = 3 + + +CTCSS_TONES = [ + 67.0, 69.3, 71.9, 74.4, 77.0, 79.7, 82.5, 85.4, + 88.5, 91.5, 94.8, 97.4, 100.0, 103.5, 107.2, 110.9, + 114.8, 118.8, 123.0, 127.3, 131.8, 136.5, 141.3, 146.2, + 151.4, 156.7, 159.8, 162.2, 165.5, 167.9, 171.3, 173.8, + 177.3, 179.9, 183.5, 186.2, 189.9, 192.8, 196.6, 199.5, + 203.5, 206.5, 210.7, 218.1, 225.7, 229.1, 233.6, 241.8, + 250.3, 254.1 +] + +# lifted from ft4.py +DTCS_CODES = [ + 23, 25, 26, 31, 32, 36, 43, 47, 51, 53, 54, + 65, 71, 72, 73, 74, 114, 115, 116, 122, 125, 131, + 132, 134, 143, 145, 152, 155, 156, 162, 165, 172, 174, + 205, 212, 223, 225, 226, 243, 244, 245, 246, 251, 252, + 255, 261, 263, 265, 266, 271, 274, 306, 311, 315, 325, + 331, 332, 343, 346, 351, 356, 364, 365, 371, 411, 412, + 413, 423, 431, 432, 445, 446, 452, 454, 455, 462, 464, + 465, 466, 503, 506, 516, 523, 526, 532, 546, 565, 606, + 612, 624, 627, 631, 632, 654, 662, 664, 703, 712, 723, + 731, 732, 734, 743, 754 +] + +FLOCK_LIST = ["Off", "FCC", "CE", "GB", "430", "438"] + +SCANRESUME_LIST = ["TO: Resume after 5 seconds", + "CO: Resume after signal dissapears", + "SE: Stop scanning after receiving a signal"] + +WELCOME_LIST = ["Full Screen", "Welcome Info", "Voltage"] +KEYPADTONE_LIST = ["Off", "Chinese", "English"] +LANGUAGE_LIST = ["Chinese", "English"] +ALARMMODE_LIST = ["SITE", "TONE"] +REMENDOFTALK_LIST = ["Off", "ROGER", "MDC"] +RTE_LIST = ["Off", "100ms", "200ms", "300ms", "400ms", + "500ms", "600ms", "700ms", "800ms", "900ms"] + +MEM_SIZE = 0x2000 # size of all memory +PROG_SIZE = 0x1d00 # size of the memory that we will write +MEM_BLOCK = 0x80 # largest block of memory that we can reliably write + +# fm radio supported frequencies +FMMIN = 76.0 +FMMAX = 108.0 + +# bands supported by the UV-K5 +BANDS = { + 0: [50.0, 76.0], + 1: [108.0, 135.9999], + 2: [136.0, 199.9990], + 3: [200.0, 299.9999], + 4: [350.0, 399.9999], + 5: [400.0, 469.9999], + 6: [470.0, 600.0] + } + +# for radios with modified firmware: +BANDS_NOLIMITS = { + 0: [18.0, 76.0], + 1: [108.0, 135.9999], + 2: [136.0, 199.9990], + 3: [200.0, 299.9999], + 4: [350.0, 399.9999], + 5: [400.0, 469.9999], + 6: [470.0, 1300.0] + } + +SPECIALS = { + "F1(50M-76M)A": 200, + "F1(50M-76M)B": 201, + "F2(108M-136M)A": 202, + "F2(108M-136M)B": 203, + "F3(136M-174M)A": 204, + "F3(136M-174M)B": 205, + "F4(174M-350M)A": 206, + "F4(174M-350M)B": 207, + "F5(350M-400M)A": 208, + "F5(350M-400M)B": 209, + "F6(400M-470M)A": 210, + "F6(400M-470M)B": 211, + "F7(470M-600M)A": 212, + "F7(470M-600M)B": 213 + } + +VFO_CHANNEL_NAMES = ["F1(50M-76M)A", "F1(50M-76M)B", + "F2(108M-136M)A", "F2(108M-136M)B", + "F3(136M-174M)A", "F3(136M-174M)B", + "F4(174M-350M)A", "F4(174M-350M)B", + "F5(350M-400M)A", "F5(350M-400M)B", + "F6(400M-470M)A", "F6(400M-470M)B", + "F7(470M-600M)A", "F7(470M-600M)B"] + +SCANLIST_LIST = ["None", "1", "2", "1+2"] + +DTMF_CHARS = "0123456789ABCD*# " +DTMF_CHARS_ID = "0123456789ABCDabcd" +DTMF_CHARS_KILL = "0123456789ABCDabcd" +DTMF_CHARS_UPDOWN = "0123456789ABCDabcd#* " +DTMF_CODE_CHARS = "ABCD*# " +DTMF_DECODE_RESPONSE_LIST = ["None", "Ring", "Reply", "Both"] + +KEYACTIONS_LIST = ["None", "Flashlight on/off", "Power select", + "Monitor", "Scan on/off", "VOX on/off", + "Alarm on/off", "FM radio on/off", "Transmit 1750Hz"] + + +# the communication is obfuscated using this fine mechanism +def xorarr(data: bytes): + tbl = [22, 108, 20, 230, 46, 145, 13, 64, 33, 53, 213, 64, 19, 3, 233, 128] + x = b"" + r = 0 + for byte in data: + x += bytes([byte ^ tbl[r]]) + r = (r+1) % len(tbl) + return x + + +# if this crc was used for communication to AND from the radio, then it +# would be a measure to increase reliability. +# but it's only used towards the radio, so it's for further obfuscation +def calculate_crc16_xmodem(data: bytes): + poly = 0x1021 + crc = 0x0 + for byte in data: + crc = crc ^ (byte << 8) + for i in range(8): + crc = crc << 1 + if (crc & 0x10000): + crc = (crc ^ poly) & 0xFFFF + return crc & 0xFFFF + + +def _send_command(serport, data: bytes): + """Send a command to UV-K5 radio""" + LOG.debug("Sending command (unobfuscated) len=0x%4.4x:\n%s" % + (len(data), util.hexprint(data))) + + crc = calculate_crc16_xmodem(data) + data2 = data + struct.pack("HBB", 0xabcd, len(data), 0) + \ + xorarr(data2) + \ + struct.pack(">H", 0xdcba) + if DEBUG_SHOW_OBFUSCATED_COMMANDS: + LOG.debug("Sending command (obfuscated):\n%s" % util.hexprint(command)) + try: + result = serport.write(command) + except Exception: + raise errors.RadioError("Error writing data to radio") + return result + + +def _receive_reply(serport): + header = serport.read(4) + if len(header) != 4: + LOG.warning("Header short read: [%s] len=%i" % + (util.hexprint(header), len(header))) + raise errors.RadioError("Header short read") + if header[0] != 0xAB or header[1] != 0xCD or header[3] != 0x00: + LOG.warning("Bad response header: %s len=%i" % + (util.hexprint(header), len(header))) + raise errors.RadioError("Bad response header") + + cmd = serport.read(int(header[2])) + if len(cmd) != int(header[2]): + LOG.warning("Body short read: [%s] len=%i" % + (util.hexprint(cmd), len(cmd))) + raise errors.RadioError("Command body short read") + + footer = serport.read(4) + + if len(footer) != 4: + LOG.warning("Footer short read: [%s] len=%i" % + (util.hexprint(footer), len(footer))) + raise errors.RadioError("Footer short read") + + if footer[2] != 0xDC or footer[3] != 0xBA: + LOG.debug( + "Reply before bad response footer (obfuscated)" + "len=0x%4.4x:\n%s" % (len(cmd), util.hexprint(cmd))) + LOG.warning("Bad response footer: %s len=%i" % + (util.hexprint(footer), len(footer))) + raise errors.RadioError("Bad response footer") + + if DEBUG_SHOW_OBFUSCATED_COMMANDS: + LOG.debug("Received reply (obfuscated) len=0x%4.4x:\n%s" % + (len(cmd), util.hexprint(cmd))) + + cmd2 = xorarr(cmd) + + LOG.debug("Received reply (unobfuscated) len=0x%4.4x:\n%s" % + (len(cmd2), util.hexprint(cmd2))) + + return cmd2 + + +def _getstring(data: bytes, begin, maxlen): + tmplen = min(maxlen+1, len(data)) + s = [data[i] for i in range(begin, tmplen)] + for key, val in enumerate(s): + if val < ord(' ') or val > ord('~'): + break + return ''.join(chr(x) for x in s[0:key]) + + +def _sayhello(serport): + hellopacket = b"\x14\x05\x04\x00\x6a\x39\x57\x64" + + tries = 5 + while True: + LOG.debug("Sending hello packet") + _send_command(serport, hellopacket) + o = _receive_reply(serport) + if (o): + break + tries -= 1 + if tries == 0: + LOG.warning("Failed to initialise radio") + raise errors.RadioError("Failed to initialize radio") + firmware = _getstring(o, 4, 16) + LOG.info("Found firmware: %s" % firmware) + return firmware + + +def _readmem(serport, offset, length): + LOG.debug("Sending readmem offset=0x%4.4x len=0x%4.4x" % (offset, length)) + + readmem = b"\x1b\x05\x08\x00" + \ + struct.pack("> 8) & 0xff): + return True + else: + LOG.warning("Bad data from writemem") + raise errors.RadioError("Bad response to writemem") + + +def _resetradio(serport): + resetpacket = b"\xdd\x05\x00\x00" + _send_command(serport, resetpacket) + + +def do_download(radio): + serport = radio.pipe + serport.timeout = 0.5 + status = chirp_common.Status() + status.cur = 0 + status.max = MEM_SIZE + status.msg = "Downloading from radio" + radio.status_fn(status) + + eeprom = b"" + f = _sayhello(serport) + if f: + radio.FIRMWARE_VERSION = f + else: + return False + + addr = 0 + while addr < MEM_SIZE: + o = _readmem(serport, addr, MEM_BLOCK) + status.cur = addr + radio.status_fn(status) + + if o and len(o) == MEM_BLOCK: + eeprom += o + addr += MEM_BLOCK + else: + raise errors.RadioError("Memory download incomplete") + + return memmap.MemoryMapBytes(eeprom) + + +def do_upload(radio): + serport = radio.pipe + serport.timeout = 0.5 + status = chirp_common.Status() + status.cur = 0 + status.max = PROG_SIZE + status.msg = "Uploading to radio" + radio.status_fn(status) + + f = _sayhello(serport) + if f: + radio.FIRMWARE_VERSION = f + else: + return False + + addr = 0 + while addr < PROG_SIZE: + o = radio.get_mmap()[addr:addr+MEM_BLOCK] + _writemem(serport, o, addr) + status.cur = addr + radio.status_fn(status) + if o: + addr += MEM_BLOCK + else: + raise errors.RadioError("Memory upload incomplete") + status.msg = "Uploaded OK" + + _resetradio(serport) + + return True + + +def _find_band(nolimits, hz): + mhz = hz/1000000.0 + if nolimits: + B = BANDS_NOLIMITS + else: + B = BANDS + + # currently the hacked firmware sets band=1 below 50MHz + if nolimits and mhz < 50.0: + return 1 + + for a in B: + if mhz >= B[a][0] and mhz <= B[a][1]: + return a + return False + + +@directory.register +class UVK5Radio(chirp_common.CloneModeRadio): + """Quansheng UV-K5""" + VENDOR = "Quansheng" + MODEL = "UV-K5" + BAUD_RATE = 38400 + NEEDS_COMPAT_SERIAL = False + FIRMWARE_VERSION = "" + _expanded_limits = False + + def get_prompts(x=None): + rp = chirp_common.RadioPrompts() + rp.experimental = \ + ('This is an experimental driver for the Quansheng UV-K5. ' + 'It may harm your radio, or worse. Use at your own risk.\n\n' + 'Before attempting to do any changes please download' + 'the memory image from the radio with chirp ' + 'and keep it. This can be later used to recover the ' + 'original settings. \n\n' + 'some details are not yet implemented') + rp.pre_download = _( + "1. Turn radio on.\n" + "2. Connect cable to mic/spkr connector.\n" + "3. Make sure connector is firmly connected.\n" + "4. Click OK to download image from device.\n\n" + "It will may not work if you turn on the radio " + "with the cable already attached\n") + rp.pre_upload = _( + "1. Turn radio on.\n" + "2. Connect cable to mic/spkr connector.\n" + "3. Make sure connector is firmly connected.\n" + "4. Click OK to upload the image to device.\n\n" + "It will may not work if you turn on the radio " + "with the cable already attached") + return rp + + # Return information about this radio's features, including + # how many memories it has, what bands it supports, etc + def get_features(self): + rf = chirp_common.RadioFeatures() + rf.has_bank = False + rf.valid_dtcs_codes = DTCS_CODES + rf.has_rx_dtcs = True + rf.has_ctone = True + rf.has_settings = True + rf.has_comment = False + rf.valid_name_length = 10 + rf.valid_power_levels = UVK5_POWER_LEVELS + rf.valid_special_chans = list(SPECIALS.keys()) + + # hack so we can input any frequency, + # the 0.1 and 0.01 steps don't work unfortunately + rf.valid_tuning_steps = [0.01, 0.1, 1.0] + STEPS + + rf.valid_tmodes = ["", "Tone", "TSQL", "DTCS", "Cross"] + rf.valid_cross_modes = ["Tone->Tone", "Tone->DTCS", "DTCS->Tone", + "->Tone", "->DTCS", "DTCS->", "DTCS->DTCS"] + + rf.valid_characters = chirp_common.CHARSET_ASCII + rf.valid_modes = ["FM", "NFM", "AM", "NAM"] + rf.valid_tmodes = ["", "Tone", "TSQL", "DTCS", "Cross"] + + rf.valid_skips = [""] + + # This radio supports memories 1-200, 201-214 are the VFO memories + rf.memory_bounds = (1, 200) + + rf.valid_bands = [] + for a in BANDS_NOLIMITS: + rf.valid_bands.append( + (int(BANDS_NOLIMITS[a][0]*1000000), + int(BANDS_NOLIMITS[a][1]*1000000))) + return rf + + # Do a download of the radio from the serial port + def sync_in(self): + self._mmap = do_download(self) + self.process_mmap() + + # Do an upload of the radio to the serial port + def sync_out(self): + do_upload(self) + + # Convert the raw byte array into a memory object structure + def process_mmap(self): + self._memobj = bitwise.parse(MEM_FORMAT, self._mmap) + + # Return a raw representation of the memory object, which + # is very helpful for development + def get_raw_memory(self, number): + return repr(self._memobj.channel[number-1]) + + def validate_memory(self, mem): + msgs = super().validate_memory(mem) + + # find tx frequency + if mem.duplex == '-': + txfreq = mem.freq - mem.offset + elif mem.duplex == '+': + txfreq = mem.freq + mem.offset + else: + txfreq = mem.freq + + # find band + band = _find_band(self._expanded_limits, txfreq) + if band is False: + msg = "Transmit frequency %.4fMHz is not supported by this radio" \ + % (txfreq/1000000.0) + msgs.append(chirp_common.ValidationError(msg)) + + band = _find_band(self._expanded_limits, mem.freq) + if band is False: + msg = "The frequency %.4fMHz is not supported by this radio" \ + % (mem.freq/1000000.0) + msgs.append(chirp_common.ValidationError(msg)) + + return msgs + + def _set_tone(self, mem, _mem): + ((txmode, txtone, txpol), + (rxmode, rxtone, rxpol)) = chirp_common.split_tone_encode(mem) + + if txmode == "Tone": + txtoval = CTCSS_TONES.index(txtone) + txmoval = 0b01 + elif txmode == "DTCS": + txmoval = txpol == "R" and 0b11 or 0b10 + txtoval = DTCS_CODES.index(txtone) + else: + txmoval = 0 + txtoval = 0 + + if rxmode == "Tone": + rxtoval = CTCSS_TONES.index(rxtone) + rxmoval = 0b01 + elif rxmode == "DTCS": + rxmoval = rxpol == "R" and 0b11 or 0b10 + rxtoval = DTCS_CODES.index(rxtone) + else: + rxmoval = 0 + rxtoval = 0 + + _mem.rxcodeflag = rxmoval + _mem.txcodeflag = txmoval + _mem.unknown1 = 0 + _mem.unknown2 = 0 + _mem.rxcode = rxtoval + _mem.txcode = txtoval + + def _get_tone(self, mem, _mem): + rxtype = _mem.rxcodeflag + txtype = _mem.txcodeflag + rx_tmode = TMODES[rxtype] + tx_tmode = TMODES[txtype] + + rx_tone = tx_tone = None + + if tx_tmode == "Tone": + if _mem.txcode < len(CTCSS_TONES): + tx_tone = CTCSS_TONES[_mem.txcode] + else: + tx_tone = 0 + tx_tmode = "" + elif tx_tmode == "DTCS": + if _mem.txcode < len(DTCS_CODES): + tx_tone = DTCS_CODES[_mem.txcode] + else: + tx_tone = 0 + tx_tmode = "" + + if rx_tmode == "Tone": + if _mem.rxcode < len(CTCSS_TONES): + rx_tone = CTCSS_TONES[_mem.rxcode] + else: + rx_tone = 0 + rx_tmode = "" + elif rx_tmode == "DTCS": + if _mem.rxcode < len(DTCS_CODES): + rx_tone = DTCS_CODES[_mem.rxcode] + else: + rx_tone = 0 + rx_tmode = "" + + tx_pol = txtype == 0x03 and "R" or "N" + rx_pol = rxtype == 0x03 and "R" or "N" + + chirp_common.split_tone_decode(mem, (tx_tmode, tx_tone, tx_pol), + (rx_tmode, rx_tone, rx_pol)) + + # Extract a high-level memory object from the low-level memory map + # This is called to populate a memory in the UI + def get_memory(self, number2): + + mem = chirp_common.Memory() + + if isinstance(number2, str): + number = SPECIALS[number2] + mem.extd_number = number2 + else: + number = number2 - 1 + + mem.number = number + 1 + + _mem = self._memobj.channel[number] + + tmpcomment = "" + + is_empty = False + # We'll consider any blank (i.e. 0MHz frequency) to be empty + if (_mem.freq == 0xffffffff) or (_mem.freq == 0): + is_empty = True + + tmpscn = SCANLIST_LIST[0] + + # We'll also look at the channel attributes if a memory has them + if number < 200: + _mem3 = self._memobj.channel_attributes[number] + # free memory bit + if _mem3.is_free > 0: + is_empty = True + # scanlists + if _mem3.is_scanlist1 > 0 and _mem3.is_scanlist2 > 0: + tmpscn = SCANLIST_LIST[3] # "1+2" + elif _mem3.is_scanlist1 > 0: + tmpscn = SCANLIST_LIST[1] # "1" + elif _mem3.is_scanlist2 > 0: + tmpscn = SCANLIST_LIST[2] # "2" + + if is_empty: + mem.empty = True + # set some sane defaults: + mem.power = UVK5_POWER_LEVELS[2] + mem.extra = RadioSettingGroup("Extra", "extra") + rs = RadioSetting("bclo", "BCLO", RadioSettingValueBoolean(False)) + mem.extra.append(rs) + rs = RadioSetting("frev", "FreqRev", + RadioSettingValueBoolean(False)) + mem.extra.append(rs) + rs = RadioSetting("pttid", "PTTID", RadioSettingValueList( + PTTID_LIST, PTTID_LIST[0])) + mem.extra.append(rs) + rs = RadioSetting("dtmfdecode", "DTMF decode", + RadioSettingValueBoolean(False)) + mem.extra.append(rs) + rs = RadioSetting("scrambler", "Scrambler", RadioSettingValueList( + SCRAMBLER_LIST, SCRAMBLER_LIST[0])) + mem.extra.append(rs) + + rs = RadioSetting("scanlists", "Scanlists", RadioSettingValueList( + SCANLIST_LIST, SCANLIST_LIST[0])) + mem.extra.append(rs) + + # actually the step and duplex are overwritten by chirp based on + # bandplan. they are here to document sane defaults for IARU r1 + # mem.tuning_step = 25.0 + # mem.duplex = "off" + + return mem + + if number > 199: + mem.immutable = ["name", "scanlists"] + else: + _mem2 = self._memobj.channelname[number] + for char in _mem2.name: + if str(char) == "\xFF" or str(char) == "\x00": + break + mem.name += str(char) + mem.name = mem.name.rstrip() + + # Convert your low-level frequency to Hertz + mem.freq = int(_mem.freq)*10 + mem.offset = int(_mem.offset)*10 + + if (mem.offset == 0): + mem.duplex = '' + else: + if _mem.shift == FLAGS1_OFFSET_MINUS: + mem.duplex = '-' + elif _mem.shift == FLAGS1_OFFSET_PLUS: + mem.duplex = '+' + else: + mem.duplex = '' + + # tone data + self._get_tone(mem, _mem) + + # mode + if _mem.enable_am > 0: + if _mem.bandwidth > 0: + mem.mode = "NAM" + else: + mem.mode = "AM" + else: + if _mem.bandwidth > 0: + mem.mode = "NFM" + else: + mem.mode = "FM" + + # tuning step + tstep = _mem.step & 0x7 + if tstep < len(STEPS): + mem.tuning_step = STEPS[tstep] + else: + mem.tuning_step = 2.5 + + # power + if _mem.txpower == POWER_HIGH: + mem.power = UVK5_POWER_LEVELS[2] + elif _mem.txpower == POWER_MEDIUM: + mem.power = UVK5_POWER_LEVELS[1] + else: + mem.power = UVK5_POWER_LEVELS[0] + + # We'll consider any blank (i.e. 0MHz frequency) to be empty + if (_mem.freq == 0xffffffff) or (_mem.freq == 0): + mem.empty = True + else: + mem.empty = False + + mem.extra = RadioSettingGroup("Extra", "extra") + + # BCLO + is_bclo = bool(_mem.bclo > 0) + rs = RadioSetting("bclo", "BCLO", RadioSettingValueBoolean(is_bclo)) + mem.extra.append(rs) + tmpcomment += "BCLO:"+(is_bclo and "ON" or "off")+" " + + # Frequency reverse - whatever that means, don't see it in the manual + is_frev = bool(_mem.freq_reverse > 0) + rs = RadioSetting("frev", "FreqRev", RadioSettingValueBoolean(is_frev)) + mem.extra.append(rs) + tmpcomment += "FreqReverse:"+(is_frev and "ON" or "off")+" " + + # PTTID + pttid = _mem.dtmf_pttid + rs = RadioSetting("pttid", "PTTID", RadioSettingValueList( + PTTID_LIST, PTTID_LIST[pttid])) + mem.extra.append(rs) + tmpcomment += "PTTid:"+PTTID_LIST[pttid]+" " + + # DTMF DECODE + is_dtmf = bool(_mem.dtmf_decode > 0) + rs = RadioSetting("dtmfdecode", "DTMF decode", + RadioSettingValueBoolean(is_dtmf)) + mem.extra.append(rs) + tmpcomment += "DTMFdecode:"+(is_dtmf and "ON" or "off")+" " + + # Scrambler + if _mem.scrambler & 0x0f < len(SCRAMBLER_LIST): + enc = _mem.scrambler & 0x0f + else: + enc = 0 + + rs = RadioSetting("scrambler", "Scrambler", RadioSettingValueList( + SCRAMBLER_LIST, SCRAMBLER_LIST[enc])) + mem.extra.append(rs) + tmpcomment += "Scrambler:"+SCRAMBLER_LIST[enc]+" " + + rs = RadioSetting("scanlists", "Scanlists", RadioSettingValueList( + SCANLIST_LIST, tmpscn)) + mem.extra.append(rs) + + return mem + + def set_settings(self, settings): + _mem = self._memobj + for element in settings: + if not isinstance(element, RadioSetting): + self.set_settings(element) + continue + + # basic settings + + # call channel + if element.get_name() == "call_channel": + _mem.call_channel = int(element.value)-1 + + # squelch + if element.get_name() == "squelch": + _mem.squelch = int(element.value) + # TOT + if element.get_name() == "tot": + _mem.max_talk_time = int(element.value) + + # NOAA autoscan + if element.get_name() == "noaa_autoscan": + _mem.noaa_autoscan = element.value and 1 or 0 + + # VOX switch + if element.get_name() == "vox_switch": + _mem.vox_switch = element.value and 1 or 0 + + # vox level + if element.get_name() == "vox_level": + _mem.vox_level = int(element.value)-1 + + # mic gain + if element.get_name() == "mic_gain": + _mem.mic_gain = int(element.value) + + # Channel display mode + if element.get_name() == "channel_display_mode": + _mem.channel_display_mode = CHANNELDISP_LIST.index( + str(element.value)) + + # Crossband receiving/transmitting + if element.get_name() == "crossband": + _mem.crossband = CROSSBAND_LIST.index(str(element.value)) + + # Battery Save + if element.get_name() == "battery_save": + _mem.battery_save = BATSAVE_LIST.index(str(element.value)) + # Dual Watch + if element.get_name() == "dualwatch": + _mem.dual_watch = DUALWATCH_LIST.index(str(element.value)) + + # Backlight auto mode + if element.get_name() == "backlight_auto_mode": + _mem.backlight_auto_mode = \ + BACKLIGHT_LIST.index(str(element.value)) + + # Tail tone elimination + if element.get_name() == "tail_note_elimination": + _mem.tail_note_elimination = element.value and 1 or 0 + + # VFO Open + if element.get_name() == "vfo_open": + _mem.vfo_open = element.value and 1 or 0 + + # Beep control + if element.get_name() == "beep_control": + _mem.beep_control = element.value and 1 or 0 + + # Scan resume mode + if element.get_name() == "scan_resume_mode": + _mem.scan_resume_mode = SCANRESUME_LIST.index( + str(element.value)) + + # Keypad lock + if element.get_name() == "key_lock": + _mem.key_lock = element.value and 1 or 0 + + # Auto keypad lock + if element.get_name() == "auto_keypad_lock": + _mem.auto_keypad_lock = element.value and 1 or 0 + + # Power on display mode + if element.get_name() == "welcome_mode": + _mem.power_on_dispmode = WELCOME_LIST.index(str(element.value)) + + # Keypad Tone + if element.get_name() == "keypad_tone": + _mem.keypad_tone = KEYPADTONE_LIST.index(str(element.value)) + + # Language + if element.get_name() == "language": + _mem.language = LANGUAGE_LIST.index(str(element.value)) + + # Alarm mode + if element.get_name() == "alarm_mode": + _mem.alarm_mode = ALARMMODE_LIST.index(str(element.value)) + + # Reminding of end of talk + if element.get_name() == "reminding_of_end_talk": + _mem.reminding_of_end_talk = REMENDOFTALK_LIST.index( + str(element.value)) + + # Repeater tail tone elimination + if element.get_name() == "repeater_tail_elimination": + _mem.repeater_tail_elimination = RTE_LIST.index( + str(element.value)) + + # Logo string 1 + if element.get_name() == "logo1": + b = str(element.value).rstrip("\x20\xff\x00")+"\x00"*12 + _mem.logo_line1 = b[0:12]+"\x00\xff\xff\xff" + + # Logo string 2 + if element.get_name() == "logo2": + b = str(element.value).rstrip("\x20\xff\x00")+"\x00"*12 + _mem.logo_line2 = b[0:12]+"\x00\xff\xff\xff" + + # unlock settings + + # FLOCK + if element.get_name() == "flock": + _mem.int_flock = FLOCK_LIST.index(str(element.value)) + + # 350TX + if element.get_name() == "350tx": + _mem.int_350tx = element.value and 1 or 0 + + # 200TX + if element.get_name() == "200tx": + _mem.int_200tx = element.value and 1 or 0 + + # 500TX + if element.get_name() == "500tx": + _mem.int_500tx = element.value and 1 or 0 + + # 350EN + if element.get_name() == "350en": + _mem.int_350en = element.value and 1 or 0 + + # SCREN + if element.get_name() == "scren": + _mem.int_scren = element.value and 1 or 0 + + # fm radio + for i in range(1, 21): + freqname = "FM_" + str(i) + if element.get_name() == freqname: + val = str(element.value).strip() + try: + val2 = int(float(val)*10) + except Exception: + val2 = 0xffff + + if val2 < FMMIN*10 or val2 > FMMAX*10: + val2 = 0xffff +# raise errors.InvalidValueError( +# "FM radio frequency should be a value " +# "in the range %.1f - %.1f" % (FMMIN , FMMAX)) + _mem.fmfreq[i-1] = val2 + + # dtmf settings + if element.get_name() == "dtmf_side_tone": + _mem.dtmf_settings.side_tone = \ + element.value and 1 or 0 + + if element.get_name() == "dtmf_separate_code": + _mem.dtmf_settings.separate_code = str(element.value) + + if element.get_name() == "dtmf_group_call_code": + _mem.dtmf_settings.group_call_code = element.value + + if element.get_name() == "dtmf_decode_response": + _mem.dtmf_settings.decode_response = \ + DTMF_DECODE_RESPONSE_LIST.index(str(element.value)) + + if element.get_name() == "dtmf_auto_reset_time": + _mem.dtmf_settings.auto_reset_time = \ + int(int(element.value)/10) + + if element.get_name() == "dtmf_preload_time": + _mem.dtmf_settings.preload_time = \ + int(int(element.value)/10) + + if element.get_name() == "dtmf_first_code_persist_time": + _mem.dtmf_settings.first_code_persist_time = \ + int(int(element.value)/10) + + if element.get_name() == "dtmf_hash_persist_time": + _mem.dtmf_settings.hash_persist_time = \ + int(int(element.value)/10) + + if element.get_name() == "dtmf_code_persist_time": + _mem.dtmf_settings.code_persist_time = \ + int(int(element.value)/10) + + if element.get_name() == "dtmf_code_interval_time": + _mem.dtmf_settings.code_interval_time = \ + int(int(element.value)/10) + + if element.get_name() == "dtmf_permit_remote_kill": + _mem.dtmf_settings.permit_remote_kill = \ + element.value and 1 or 0 + + if element.get_name() == "dtmf_dtmf_local_code": + k = str(element.value).rstrip("\x20\xff\x00") + "\x00"*3 + _mem.dtmf_settings_numbers.dtmf_local_code = k[0:3] + + if element.get_name() == "dtmf_dtmf_up_code": + k = str(element.value).strip("\x20\xff\x00") + "\x00"*16 + _mem.dtmf_settings_numbers.dtmf_up_code = k[0:16] + + if element.get_name() == "dtmf_dtmf_down_code": + k = str(element.value).rstrip("\x20\xff\x00") + "\x00"*16 + _mem.dtmf_settings_numbers.dtmf_down_code = k[0:16] + + if element.get_name() == "dtmf_kill_code": + k = str(element.value).strip("\x20\xff\x00") + "\x00"*5 + _mem.dtmf_settings_numbers.kill_code = k[0:5] + + if element.get_name() == "dtmf_revive_code": + k = str(element.value).strip("\x20\xff\x00") + "\x00"*5 + _mem.dtmf_settings_numbers.revive_code = k[0:5] + + # dtmf contacts + for i in range(1, 17): + varname = "DTMF_" + str(i) + if element.get_name() == varname: + k = str(element.value).rstrip("\x20\xff\x00") + "\x00"*8 + _mem.dtmfcontact[i-1].name = k[0:8] + + varnumname = "DTMFNUM_" + str(i) + if element.get_name() == varnumname: + k = str(element.value).rstrip("\x20\xff\x00") + "\xff"*3 + _mem.dtmfcontact[i-1].number = k[0:3] + + # scanlist stuff + if element.get_name() == "scanlist_default": + val = (int(element.value) == 2) and 1 or 0 + _mem.scanlist_default = val + + if element.get_name() == "scanlist1_priority_scan": + _mem.scanlist1_priority_scan = \ + element.value and 1 or 0 + + if element.get_name() == "scanlist2_priority_scan": + _mem.scanlist2_priority_scan = \ + element.value and 1 or 0 + + if element.get_name() == "scanlist1_priority_ch1" or \ + element.get_name() == "scanlist1_priority_ch2" or \ + element.get_name() == "scanlist2_priority_ch1" or \ + element.get_name() == "scanlist2_priority_ch2": + + val = int(element.value) + + if val > 200 or val < 1: + val = 0xff + else: + val -= 1 + + if element.get_name() == "scanlist1_priority_ch1": + _mem.scanlist1_priority_ch1 = val + if element.get_name() == "scanlist1_priority_ch2": + _mem.scanlist1_priority_ch2 = val + if element.get_name() == "scanlist2_priority_ch1": + _mem.scanlist2_priority_ch1 = val + if element.get_name() == "scanlist2_priority_ch2": + _mem.scanlist2_priority_ch2 = val + + if element.get_name() == "key1_shortpress_action": + _mem.key1_shortpress_action = KEYACTIONS_LIST.index( + str(element.value)) + + if element.get_name() == "key1_longpress_action": + _mem.key1_longpress_action = KEYACTIONS_LIST.index( + str(element.value)) + + if element.get_name() == "key2_shortpress_action": + _mem.key2_shortpress_action = KEYACTIONS_LIST.index( + str(element.value)) + + if element.get_name() == "key2_longpress_action": + _mem.key2_longpress_action = KEYACTIONS_LIST.index( + str(element.value)) + + if element.get_name() == "nolimits": + LOG.warning("User expanded band limits") + self._expanded_limits = bool(element.value) + + def get_settings(self): + _mem = self._memobj + basic = RadioSettingGroup("basic", "Basic Settings") + keya = RadioSettingGroup("keya", "Programmable keys") + dtmf = RadioSettingGroup("dtmf", "DTMF Settings") + dtmfc = RadioSettingGroup("dtmfc", "DTMF Contacts") + scanl = RadioSettingGroup("scn", "Scan Lists") + unlock = RadioSettingGroup("unlock", "Unlock Settings") + fmradio = RadioSettingGroup("fmradio", "FM Radio") + + roinfo = RadioSettingGroup("roinfo", "Driver information") + + top = RadioSettings( + basic, keya, dtmf, dtmfc, scanl, unlock, fmradio, roinfo) + + # Programmable keys + tmpval = int(_mem.key1_shortpress_action) + if tmpval >= len(KEYACTIONS_LIST): + tmpval = 0 + rs = RadioSetting("key1_shortpress_action", "Side key 1 short press", + RadioSettingValueList( + KEYACTIONS_LIST, KEYACTIONS_LIST[tmpval])) + keya.append(rs) + + tmpval = int(_mem.key1_longpress_action) + if tmpval >= len(KEYACTIONS_LIST): + tmpval = 0 + rs = RadioSetting("key1_longpress_action", "Side key 1 long press", + RadioSettingValueList( + KEYACTIONS_LIST, KEYACTIONS_LIST[tmpval])) + keya.append(rs) + + tmpval = int(_mem.key2_shortpress_action) + if tmpval >= len(KEYACTIONS_LIST): + tmpval = 0 + rs = RadioSetting("key2_shortpress_action", "Side key 2 short press", + RadioSettingValueList( + KEYACTIONS_LIST, KEYACTIONS_LIST[tmpval])) + keya.append(rs) + + tmpval = int(_mem.key2_longpress_action) + if tmpval >= len(KEYACTIONS_LIST): + tmpval = 0 + rs = RadioSetting("key2_longpress_action", "Side key 2 long press", + RadioSettingValueList( + KEYACTIONS_LIST, KEYACTIONS_LIST[tmpval])) + keya.append(rs) + + # DTMF settings + tmppr = bool(_mem.dtmf_settings.side_tone > 0) + rs = RadioSetting( + "dtmf_side_tone", + "DTMF Sidetone", + RadioSettingValueBoolean(tmppr)) + dtmf.append(rs) + + tmpval = str(_mem.dtmf_settings.separate_code) + if tmpval not in DTMF_CODE_CHARS: + tmpval = '*' + val = RadioSettingValueString(1, 1, tmpval) + val.set_charset(DTMF_CODE_CHARS) + rs = RadioSetting("dtmf_separate_code", "Separate Code", val) + dtmf.append(rs) + + tmpval = str(_mem.dtmf_settings.group_call_code) + if tmpval not in DTMF_CODE_CHARS: + tmpval = '#' + val = RadioSettingValueString(1, 1, tmpval) + val.set_charset(DTMF_CODE_CHARS) + rs = RadioSetting("dtmf_group_call_code", "Group Call Code", val) + dtmf.append(rs) + + tmpval = _mem.dtmf_settings.decode_response + if tmpval >= len(DTMF_DECODE_RESPONSE_LIST): + tmpval = 0 + rs = RadioSetting("dtmf_decode_response", "Decode Response", + RadioSettingValueList( + DTMF_DECODE_RESPONSE_LIST, + DTMF_DECODE_RESPONSE_LIST[tmpval])) + dtmf.append(rs) + + tmpval = _mem.dtmf_settings.auto_reset_time + if tmpval > 60 or tmpval < 5: + tmpval = 5 + rs = RadioSetting("dtmf_auto_reset_time", + "Auto reset time (s)", + RadioSettingValueInteger(5, 60, tmpval)) + dtmf.append(rs) + + tmpval = int(_mem.dtmf_settings.preload_time) + if tmpval > 100 or tmpval < 3: + tmpval = 30 + tmpval *= 10 + rs = RadioSetting("dtmf_preload_time", + "Pre-load time (ms)", + RadioSettingValueInteger(30, 1000, tmpval, 10)) + dtmf.append(rs) + + tmpval = int(_mem.dtmf_settings.first_code_persist_time) + if tmpval > 100 or tmpval < 3: + tmpval = 30 + tmpval *= 10 + rs = RadioSetting("dtmf_first_code_persist_time", + "First code persist time (ms)", + RadioSettingValueInteger(30, 1000, tmpval, 10)) + dtmf.append(rs) + + tmpval = int(_mem.dtmf_settings.hash_persist_time) + if tmpval > 100 or tmpval < 3: + tmpval = 30 + tmpval *= 10 + rs = RadioSetting("dtmf_hash_persist_time", + "#/* persist time (ms)", + RadioSettingValueInteger(30, 1000, tmpval, 10)) + dtmf.append(rs) + + tmpval = int(_mem.dtmf_settings.code_persist_time) + if tmpval > 100 or tmpval < 3: + tmpval = 30 + tmpval *= 10 + rs = RadioSetting("dtmf_code_persist_time", + "Code persist time (ms)", + RadioSettingValueInteger(30, 1000, tmpval, 10)) + dtmf.append(rs) + + tmpval = int(_mem.dtmf_settings.code_interval_time) + if tmpval > 100 or tmpval < 3: + tmpval = 30 + tmpval *= 10 + rs = RadioSetting("dtmf_code_interval_time", + "Code interval time (ms)", + RadioSettingValueInteger(30, 1000, tmpval, 10)) + dtmf.append(rs) + + tmpval = bool(_mem.dtmf_settings.permit_remote_kill > 0) + rs = RadioSetting( + "dtmf_permit_remote_kill", + "Permit remote kill", + RadioSettingValueBoolean(tmpval)) + dtmf.append(rs) + + tmpval = str(_mem.dtmf_settings_numbers.dtmf_local_code).upper().strip( + "\x00\xff\x20") + for i in tmpval: + if i in DTMF_CHARS_ID: + continue + else: + tmpval = "103" + break + val = RadioSettingValueString(3, 3, tmpval) + val.set_charset(DTMF_CHARS_ID) + rs = RadioSetting("dtmf_dtmf_local_code", + "Local code (3 chars 0-9 ABCD)", val) + dtmf.append(rs) + + tmpval = str(_mem.dtmf_settings_numbers.dtmf_up_code).upper().strip( + "\x00\xff\x20") + for i in tmpval: + if i in DTMF_CHARS_UPDOWN or i == "": + continue + else: + tmpval = "123" + break + val = RadioSettingValueString(1, 16, tmpval) + val.set_charset(DTMF_CHARS_UPDOWN) + rs = RadioSetting("dtmf_dtmf_up_code", + "Up code (1-16 chars 0-9 ABCD*#)", val) + dtmf.append(rs) + + tmpval = str(_mem.dtmf_settings_numbers.dtmf_down_code).upper().strip( + "\x00\xff\x20") + for i in tmpval: + if i in DTMF_CHARS_UPDOWN: + continue + else: + tmpval = "456" + break + val = RadioSettingValueString(1, 16, tmpval) + val.set_charset(DTMF_CHARS_UPDOWN) + rs = RadioSetting("dtmf_dtmf_down_code", + "Down code (1-16 chars 0-9 ABCD*#)", val) + dtmf.append(rs) + + tmpval = str(_mem.dtmf_settings_numbers.kill_code).upper().strip( + "\x00\xff\x20") + for i in tmpval: + if i in DTMF_CHARS_KILL: + continue + else: + tmpval = "77777" + break + if not len(tmpval) == 5: + tmpval = "77777" + val = RadioSettingValueString(5, 5, tmpval) + val.set_charset(DTMF_CHARS_KILL) + rs = RadioSetting("dtmf_kill_code", + "Kill code (5 chars 0-9 ABCD)", val) + dtmf.append(rs) + + tmpval = str(_mem.dtmf_settings_numbers.revive_code).upper().strip( + "\x00\xff\x20") + for i in tmpval: + if i in DTMF_CHARS_KILL: + continue + else: + tmpval = "88888" + break + if not len(tmpval) == 5: + tmpval = "88888" + val = RadioSettingValueString(5, 5, tmpval) + val.set_charset(DTMF_CHARS_KILL) + rs = RadioSetting("dtmf_revive_code", + "Revive code (5 chars 0-9 ABCD)", val) + dtmf.append(rs) + + val = RadioSettingValueString(0, 80, + "All DTMF Contacts are 3 codes " + "(valid: 0-9 * # ABCD), " + "or an empty string") + val.set_mutable(False) + rs = RadioSetting("dtmf_descr1", "DTMF Contacts", val) + dtmfc.append(rs) + + for i in range(1, 17): + varname = "DTMF_"+str(i) + varnumname = "DTMFNUM_"+str(i) + vardescr = "DTMF Contact "+str(i)+" name" + varinumdescr = "DTMF Contact "+str(i)+" number" + + cntn = str(_mem.dtmfcontact[i-1].name).strip("\x20\x00\xff") + cntnum = str(_mem.dtmfcontact[i-1].number).strip("\x20\x00\xff") + + val = RadioSettingValueString(0, 8, cntn) + rs = RadioSetting(varname, vardescr, val) + dtmfc.append(rs) + + val = RadioSettingValueString(0, 3, cntnum) + val.set_charset(DTMF_CHARS) + rs = RadioSetting(varnumname, varinumdescr, val) + dtmfc.append(rs) + + # scanlists + if _mem.scanlist_default == 1: + tmpsc = 2 + else: + tmpsc = 1 + rs = RadioSetting("scanlist_default", + "Default scanlist", + RadioSettingValueInteger(1, 2, tmpsc)) + scanl.append(rs) + + tmppr = bool((_mem.scanlist1_priority_scan & 1) > 0) + rs = RadioSetting( + "scanlist1_priority_scan", + "Scanlist 1 priority channel scan", + RadioSettingValueBoolean(tmppr)) + scanl.append(rs) + + tmpch = _mem.scanlist1_priority_ch1 + 1 + if tmpch > 200: + tmpch = 0 + rs = RadioSetting("scanlist1_priority_ch1", + "Scanlist 1 priority channel 1 (0 - off)", + RadioSettingValueInteger(0, 200, tmpch)) + scanl.append(rs) + + tmpch = _mem.scanlist1_priority_ch2 + 1 + if tmpch > 200: + tmpch = 0 + rs = RadioSetting("scanlist1_priority_ch2", + "Scanlist 1 priority channel 2 (0 - off)", + RadioSettingValueInteger(0, 200, tmpch)) + scanl.append(rs) + + tmppr = bool((_mem.scanlist2_priority_scan & 1) > 0) + rs = RadioSetting( + "scanlist2_priority_scan", + "Scanlist 2 priority channel scan", + RadioSettingValueBoolean(tmppr)) + scanl.append(rs) + + tmpch = _mem.scanlist2_priority_ch1 + 1 + if tmpch > 200: + tmpch = 0 + rs = RadioSetting("scanlist2_priority_ch1", + "Scanlist 2 priority channel 1 (0 - off)", + RadioSettingValueInteger(0, 200, tmpch)) + scanl.append(rs) + + tmpch = _mem.scanlist2_priority_ch2 + 1 + if tmpch > 200: + tmpch = 0 + rs = RadioSetting("scanlist2_priority_ch2", + "Scanlist 2 priority channel 2 (0 - off)", + RadioSettingValueInteger(0, 200, tmpch)) + scanl.append(rs) + + # basic settings + + # call channel + tmpc = _mem.call_channel+1 + if tmpc > 200: + tmpc = 1 + rs = RadioSetting("call_channel", "One key call channel", + RadioSettingValueInteger(1, 200, tmpc)) + basic.append(rs) + + # squelch + tmpsq = _mem.squelch + if tmpsq > 9: + tmpsq = 1 + rs = RadioSetting("squelch", "Squelch", + RadioSettingValueInteger(0, 9, tmpsq)) + basic.append(rs) + + # TOT + tmptot = _mem.max_talk_time + if tmptot > 10: + tmptot = 10 + rs = RadioSetting( + "tot", + "Max talk time [min]", + RadioSettingValueInteger(0, 10, tmptot)) + basic.append(rs) + + # NOAA autoscan + rs = RadioSetting( + "noaa_autoscan", + "NOAA Autoscan", RadioSettingValueBoolean( + bool(_mem.noaa_autoscan > 0))) + basic.append(rs) + + # VOX switch + rs = RadioSetting( + "vox_switch", + "VOX enabled", RadioSettingValueBoolean( + bool(_mem.vox_switch > 0))) + basic.append(rs) + + # VOX Level + tmpvox = _mem.vox_level+1 + if tmpvox > 10: + tmpvox = 10 + rs = RadioSetting("vox_level", "VOX Level", + RadioSettingValueInteger(1, 10, tmpvox)) + basic.append(rs) + + # Mic gain + tmpmicgain = _mem.mic_gain + if tmpmicgain > 4: + tmpmicgain = 4 + rs = RadioSetting("mic_gain", "Mic Gain", + RadioSettingValueInteger(0, 4, tmpmicgain)) + basic.append(rs) + + # Channel display mode + tmpchdispmode = _mem.channel_display_mode + if tmpchdispmode >= len(CHANNELDISP_LIST): + tmpchdispmode = 0 + rs = RadioSetting( + "channel_display_mode", + "Channel display mode", + RadioSettingValueList( + CHANNELDISP_LIST, + CHANNELDISP_LIST[tmpchdispmode])) + basic.append(rs) + + # Crossband receiving/transmitting + tmpcross = _mem.crossband + if tmpcross >= len(CROSSBAND_LIST): + tmpcross = 0 + rs = RadioSetting( + "crossband", + "Cross-band receiving/transmitting", + RadioSettingValueList( + CROSSBAND_LIST, + CROSSBAND_LIST[tmpcross])) + basic.append(rs) + + # Battery save + tmpbatsave = _mem.battery_save + if tmpbatsave >= len(BATSAVE_LIST): + tmpbatsave = BATSAVE_LIST.index("1:4") + rs = RadioSetting( + "battery_save", + "Battery Save", + RadioSettingValueList( + BATSAVE_LIST, + BATSAVE_LIST[tmpbatsave])) + basic.append(rs) + + # Dual watch + tmpdual = _mem.dual_watch + if tmpdual >= len(DUALWATCH_LIST): + tmpdual = 0 + rs = RadioSetting("dualwatch", "Dual Watch", RadioSettingValueList( + DUALWATCH_LIST, DUALWATCH_LIST[tmpdual])) + basic.append(rs) + + # Backlight auto mode + tmpback = _mem.backlight_auto_mode + if tmpback >= len(BACKLIGHT_LIST): + tmpback = 0 + rs = RadioSetting("backlight_auto_mode", + "Backlight auto mode", + RadioSettingValueList( + BACKLIGHT_LIST, + BACKLIGHT_LIST[tmpback])) + basic.append(rs) + + # Tail tone elimination + rs = RadioSetting( + "tail_note_elimination", + "Tail tone elimination", + RadioSettingValueBoolean( + bool(_mem.tail_note_elimination > 0))) + basic.append(rs) + + # VFO open + rs = RadioSetting("vfo_open", "VFO open", + RadioSettingValueBoolean(bool(_mem.vfo_open > 0))) + basic.append(rs) + + # Beep control + rs = RadioSetting( + "beep_control", + "Beep control", + RadioSettingValueBoolean(bool(_mem.beep_control > 0))) + basic.append(rs) + + # Scan resume mode + tmpscanres = _mem.scan_resume_mode + if tmpscanres >= len(SCANRESUME_LIST): + tmpscanres = 0 + rs = RadioSetting( + "scan_resume_mode", + "Scan resume mode", + RadioSettingValueList( + SCANRESUME_LIST, + SCANRESUME_LIST[tmpscanres])) + basic.append(rs) + + # Keypad locked + rs = RadioSetting( + "key_lock", + "Keypad lock", + RadioSettingValueBoolean(bool(_mem.key_lock > 0))) + basic.append(rs) + + # Auto keypad lock + rs = RadioSetting( + "auto_keypad_lock", + "Auto keypad lock", + RadioSettingValueBoolean(bool(_mem.auto_keypad_lock > 0))) + basic.append(rs) + + # Power on display mode + tmpdispmode = _mem.power_on_dispmode + if tmpdispmode >= len(WELCOME_LIST): + tmpdispmode = 0 + rs = RadioSetting( + "welcome_mode", + "Power on display mode", + RadioSettingValueList( + WELCOME_LIST, + WELCOME_LIST[tmpdispmode])) + basic.append(rs) + + # Keypad Tone + tmpkeypadtone = _mem.keypad_tone + if tmpkeypadtone >= len(KEYPADTONE_LIST): + tmpkeypadtone = 0 + rs = RadioSetting("keypad_tone", "Keypad tone", RadioSettingValueList( + KEYPADTONE_LIST, KEYPADTONE_LIST[tmpkeypadtone])) + basic.append(rs) + + # Language + tmplanguage = _mem.language + if tmplanguage >= len(LANGUAGE_LIST): + tmplanguage = 0 + rs = RadioSetting("language", "Language", RadioSettingValueList( + LANGUAGE_LIST, LANGUAGE_LIST[tmplanguage])) + basic.append(rs) + + # Alarm mode + tmpalarmmode = _mem.alarm_mode + if tmpalarmmode >= len(ALARMMODE_LIST): + tmpalarmmode = 0 + rs = RadioSetting("alarm_mode", "Alarm mode", RadioSettingValueList( + ALARMMODE_LIST, ALARMMODE_LIST[tmpalarmmode])) + basic.append(rs) + + # Reminding of end of talk + tmpalarmmode = _mem.reminding_of_end_talk + if tmpalarmmode >= len(REMENDOFTALK_LIST): + tmpalarmmode = 0 + rs = RadioSetting( + "reminding_of_end_talk", + "Reminding of end of talk", + RadioSettingValueList( + REMENDOFTALK_LIST, + REMENDOFTALK_LIST[tmpalarmmode])) + basic.append(rs) + + # Repeater tail tone elimination + tmprte = _mem.repeater_tail_elimination + if tmprte >= len(RTE_LIST): + tmprte = 0 + rs = RadioSetting( + "repeater_tail_elimination", + "Repeater tail tone elimination", + RadioSettingValueList(RTE_LIST, RTE_LIST[tmprte])) + basic.append(rs) + + # Logo string 1 + logo1 = str(_mem.logo_line1).strip("\x20\x00\xff") + "\x00" + logo1 = _getstring(logo1.encode('ascii', errors='ignore'), 0, 12) + rs = RadioSetting("logo1", "Logo string 1 (12 characters)", + RadioSettingValueString(0, 12, logo1)) + basic.append(rs) + + # Logo string 2 + logo2 = str(_mem.logo_line2).strip("\x20\x00\xff") + "\x00" + logo2 = _getstring(logo2.encode('ascii', errors='ignore'), 0, 12) + rs = RadioSetting("logo2", "Logo string 2 (12 characters)", + RadioSettingValueString(0, 12, logo2)) + basic.append(rs) + + # FM radio + for i in range(1, 21): + freqname = "FM_"+str(i) + fmfreq = _mem.fmfreq[i-1]/10.0 + if fmfreq < FMMIN or fmfreq > FMMAX: + rs = RadioSetting(freqname, freqname, + RadioSettingValueString(0, 5, "")) + else: + rs = RadioSetting(freqname, freqname, + RadioSettingValueString(0, 5, str(fmfreq))) + + fmradio.append(rs) + + # unlock settings + + # F-LOCK + tmpflock = _mem.int_flock + if tmpflock >= len(FLOCK_LIST): + tmpflock = 0 + rs = RadioSetting( + "flock", "F-LOCK", + RadioSettingValueList(FLOCK_LIST, FLOCK_LIST[tmpflock])) + unlock.append(rs) + + # 350TX + rs = RadioSetting("350tx", "350TX - unlock 350-400MHz TX", + RadioSettingValueBoolean( + bool(_mem.int_350tx > 0))) + unlock.append(rs) + + # 200TX + rs = RadioSetting("200tx", "200TX - unlock 174-350MHz TX", + RadioSettingValueBoolean( + bool(_mem.int_200tx > 0))) + unlock.append(rs) + + # 500TX + rs = RadioSetting("500tx", "500TX - unlock 500-600MHz TX", + RadioSettingValueBoolean( + bool(_mem.int_500tx > 0))) + unlock.append(rs) + + # 350EN + rs = RadioSetting("350en", "350EN - unlock 350-400MHz RX", + RadioSettingValueBoolean( + bool(_mem.int_350en > 0))) + unlock.append(rs) + + # SCREEN + rs = RadioSetting("scren", "SCREN - scrambler enable", + RadioSettingValueBoolean( + bool(_mem.int_scren > 0))) + unlock.append(rs) + + # readonly info + # Firmware + if self.FIRMWARE_VERSION == "": + firmware = "To get the firmware version please download" + "the image from the radio first" + else: + firmware = self.FIRMWARE_VERSION + + val = RadioSettingValueString(0, 128, firmware) + val.set_mutable(False) + rs = RadioSetting("fw_ver", "Firmware Version", val) + roinfo.append(rs) + + # No limits version for hacked firmware + val = RadioSettingValueBoolean(self._expanded_limits) + rs = RadioSetting("nolimits", "Limits disabled for modified firmware", + val) + roinfo.append(rs) + + return top + + # Store details about a high-level memory to the memory map + # This is called when a user edits a memory in the UI + def set_memory(self, mem): + number = mem.number-1 + + # Get a low-level memory object mapped to the image + _mem = self._memobj.channel[number] + _mem4 = self._memobj + # empty memory + if mem.empty: + _mem.set_raw("\xFF" * 16) + if number < 200: + _mem2 = self._memobj.channelname[number] + _mem2.set_raw("\xFF" * 16) + _mem4.channel_attributes[number].is_scanlist1 = 0 + _mem4.channel_attributes[number].is_scanlist2 = 0 + _mem4.channel_attributes[number].unknown1 = 0 + _mem4.channel_attributes[number].unknown2 = 0 + _mem4.channel_attributes[number].is_free = 1 + _mem4.channel_attributes[number].band = 0x7 + return mem + + # clean the channel memory, restore some bits if it was used before + if _mem.get_raw()[0] == "\xff": + # this was an empty memory + _mem.set_raw("\x00" * 16) + else: + # this memory was't empty, save some bits that we don't know the + # meaning of, or that we don't support yet + prev_0a = _mem.get_raw(asbytes=True)[0x0a] & SAVE_MASK_0A + prev_0b = _mem.get_raw(asbytes=True)[0x0b] & SAVE_MASK_0B + prev_0c = _mem.get_raw(asbytes=True)[0x0c] & SAVE_MASK_0C + prev_0d = _mem.get_raw(asbytes=True)[0x0d] & SAVE_MASK_0D + prev_0e = _mem.get_raw(asbytes=True)[0x0e] & SAVE_MASK_0E + prev_0f = _mem.get_raw(asbytes=True)[0x0f] & SAVE_MASK_0F + _mem.set_raw("\x00" * 10 + + chr(prev_0a) + chr(prev_0b) + chr(prev_0c) + + chr(prev_0d) + chr(prev_0e) + chr(prev_0f)) + + if number < 200: + _mem4.channel_attributes[number].is_scanlist1 = 0 + _mem4.channel_attributes[number].is_scanlist2 = 0 + _mem4.channel_attributes[number].unknown1 = 0 + _mem4.channel_attributes[number].unknown2 = 0 + _mem4.channel_attributes[number].is_free = 1 + _mem4.channel_attributes[number].band = 0x7 + + # find band + band = _find_band(self, mem.freq) + + # mode + if mem.mode == "NFM": + _mem.bandwidth = 1 + _mem.enable_am = 0 + elif mem.mode == "FM": + _mem.bandwidth = 0 + _mem.enable_am = 0 + elif mem.mode == "NAM": + _mem.bandwidth = 1 + _mem.enable_am = 1 + elif mem.mode == "AM": + _mem.bandwidth = 0 + _mem.enable_am = 1 + + # frequency/offset + _mem.freq = mem.freq/10 + _mem.offset = mem.offset/10 + + if mem.duplex == "off" or mem.duplex == "": + _mem.offset = 0 + _mem.shift = 0 + elif mem.duplex == '-': + _mem.shift = FLAGS1_OFFSET_MINUS + elif mem.duplex == '+': + _mem.shift = FLAGS1_OFFSET_PLUS + + # set band + if number < 200: + _mem4.channel_attributes[number].is_free = 0 + _mem4.channel_attributes[number].band = band + + # channels >200 are the 14 VFO chanells and don't have names + if number < 200: + _mem2 = self._memobj.channelname[number] + tag = mem.name.ljust(10) + "\x00"*6 + _mem2.name = tag # Store the alpha tag + + # tone data + self._set_tone(mem, _mem) + + # step + _mem.step = STEPS.index(mem.tuning_step) + + # tx power + if str(mem.power) == str(UVK5_POWER_LEVELS[2]): + _mem.txpower = POWER_HIGH + elif str(mem.power) == str(UVK5_POWER_LEVELS[1]): + _mem.txpower = POWER_MEDIUM + else: + _mem.txpower = POWER_LOW + + for setting in mem.extra: + sname = setting.get_name() + svalue = setting.value.get_value() + + if sname == "bclo": + _mem.bclo = svalue and 1 or 0 + + if sname == "pttid": + _mem.dtmf_pttid = PTTID_LIST.index(svalue) + + if sname == "frev": + _mem.freq_reverse = svalue and 1 or 0 + + if sname == "dtmfdecode": + _mem.dtmf_decode = svalue and 1 or 0 + + if sname == "scrambler": + _mem.scrambler = ( + _mem.scrambler & 0xf0) | SCRAMBLER_LIST.index(svalue) + + if number < 200 and sname == "scanlists": + if svalue == "1": + _mem4.channel_attributes[number].is_scanlist1 = 1 + _mem4.channel_attributes[number].is_scanlist2 = 0 + elif svalue == "2": + _mem4.channel_attributes[number].is_scanlist1 = 0 + _mem4.channel_attributes[number].is_scanlist2 = 1 + elif svalue == "1+2": + _mem4.channel_attributes[number].is_scanlist1 = 1 + _mem4.channel_attributes[number].is_scanlist2 = 1 + else: + _mem4.channel_attributes[number].is_scanlist1 = 0 + _mem4.channel_attributes[number].is_scanlist2 = 0 + + return mem diff --git a/chirp/locale/de.po b/chirp/locale/de.po index 990555c38..67aad085d 100644 --- a/chirp/locale/de.po +++ b/chirp/locale/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: CHIRP\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-21 15:28-0700\n" +"POT-Creation-Date: 2023-06-26 18:46-0700\n" "PO-Revision-Date: 2012-10-02 22:11+0100\n" "Last-Translator: Benjamin, HB9EUK \n" "Language-Team: German\n" @@ -200,7 +200,7 @@ msgid "" " press the [C](SEND) key to send image.\n" msgstr "" -#: ../drivers/ft7800.py:839 +#: ../drivers/ft7800.py:838 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -213,7 +213,7 @@ msgid "" " send image.\n" msgstr "" -#: ../drivers/ft7800.py:849 +#: ../drivers/ft7800.py:848 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -244,7 +244,7 @@ msgid "" "4. Press the [MODE] key (\"-WAIT-\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft7800.py:287 +#: ../drivers/ft7800.py:286 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -257,7 +257,7 @@ msgid "" "6. Press the [LOW(ACC)] key (\"--RX--\" will appear on the display).\n" msgstr "" -#: ../drivers/ft7800.py:276 +#: ../drivers/ft7800.py:275 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -378,7 +378,7 @@ msgid "" "5. Press OK.\n" msgstr "" -#: ../drivers/vx6.py:369 ../drivers/vx3.py:374 +#: ../drivers/vx6.py:369 ../drivers/vx3.py:373 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -387,7 +387,7 @@ msgid "" "4. After clicking OK, press the [BAND] key to send image.\n" msgstr "" -#: ../drivers/vx6.py:376 ../drivers/vx3.py:381 +#: ../drivers/vx6.py:376 ../drivers/vx3.py:380 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -414,7 +414,7 @@ msgid "" "4. Press the [V/M] key (\"CLONE WAIT\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft60.py:355 +#: ../drivers/ft60.py:354 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -426,7 +426,7 @@ msgid "" " for one second to send image.\n" msgstr "" -#: ../drivers/ft60.py:364 +#: ../drivers/ft60.py:363 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -482,7 +482,7 @@ msgid "" "4. Press the [D/MR(MW)] key (\"--WAIT--\" will appear on the LCD).\n" msgstr "" -#: ../drivers/uv5r.py:777 +#: ../drivers/uv5r.py:743 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -492,7 +492,7 @@ msgid "" "6. Click OK to download image from device.\n" msgstr "" -#: ../drivers/uv5r.py:785 +#: ../drivers/uv5r.py:751 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -538,7 +538,7 @@ msgid "" "4. Press the key to receive the image.\n" msgstr "" -#: ../drivers/ft90.py:196 +#: ../drivers/ft90.py:195 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -547,7 +547,7 @@ msgid "" "4. After clicking OK, press the [SET] key to send image.\n" msgstr "" -#: ../drivers/ft90.py:203 +#: ../drivers/ft90.py:202 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -557,7 +557,7 @@ msgid "" " (\"R\" will appear on the lower left of LCD).\n" msgstr "" -#: ../drivers/bj9900.py:106 +#: ../drivers/bj9900.py:102 msgid "" "1. Turn radio off.\n" "2. Remove front head.\n" @@ -575,7 +575,7 @@ msgid "" "5. Press the [moni] key (\"-RX-\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft70.py:552 +#: ../drivers/ft70.py:551 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -585,7 +585,7 @@ msgid "" "5. After clicking OK, press the [BAND] key.\n" msgstr "" -#: ../drivers/ft70.py:560 +#: ../drivers/ft70.py:559 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -596,6 +596,27 @@ msgid "" " click Then" msgstr "" +#: ../drivers/uvk5.py:636 +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to download image from device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already " +"attached\n" +msgstr "" + +#: ../drivers/uvk5.py:643 +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to upload the image to device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already attached" +msgstr "" + #: ../wxui/main.py:1685 msgid "" "A new CHIRP version is available. Please visit the website as soon as " @@ -631,7 +652,7 @@ msgstr "" msgid "An error has occurred" msgstr "Ein Fehler ist aufgetreten" -#: ../wxui/clone.py:109 +#: ../wxui/clone.py:111 msgid "Applying settings" msgstr "" @@ -727,12 +748,12 @@ msgstr "" msgid "Cloning" msgstr "Klonen" -#: ../drivers/bj9900.py:137 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 +#: ../drivers/bj9900.py:133 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 #, fuzzy msgid "Cloning from radio" msgstr "Download vom Gerät" -#: ../drivers/bj9900.py:164 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 +#: ../drivers/bj9900.py:160 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 #, fuzzy msgid "Cloning to radio" msgstr "Upload zum Gerät" @@ -754,11 +775,11 @@ msgstr "Vergleiche Rohspeicher" msgid "Comment" msgstr "Kommentar" -#: ../wxui/clone.py:215 +#: ../wxui/clone.py:217 msgid "Communicate with radio" msgstr "" -#: ../wxui/clone.py:117 +#: ../wxui/clone.py:119 #, fuzzy msgid "Complete" msgstr "Beendet" @@ -781,7 +802,7 @@ msgstr "" msgid "Cross mode" msgstr "Cross Mode" -#: ../wxui/clone.py:319 ../wxui/clone.py:394 +#: ../wxui/clone.py:36 msgid "Custom..." msgstr "" @@ -849,7 +870,7 @@ msgstr "Aktiviert" msgid "Distance" msgstr "" -#: ../wxui/clone.py:165 +#: ../wxui/clone.py:167 #, python-format msgid "Do not prompt again for %s" msgstr "" @@ -867,7 +888,7 @@ msgstr "" msgid "Download from radio" msgstr "Download vom Gerät" -#: ../wxui/clone.py:502 +#: ../wxui/clone.py:512 #, fuzzy msgid "Download instructions" msgstr "Download vom Gerät" @@ -913,7 +934,7 @@ msgstr "" msgid "Enter a new name for bank %s:" msgstr "" -#: ../wxui/clone.py:395 +#: ../wxui/clone.py:405 msgid "Enter custom port:" msgstr "" @@ -927,11 +948,11 @@ msgstr "Lösche Speicher {loc}" msgid "Error applying settings" msgstr "Fehler beim Setzen der Speicher" -#: ../wxui/clone.py:439 +#: ../wxui/clone.py:449 msgid "Error communicating with radio" msgstr "" -#: ../wxui/clone.py:470 +#: ../wxui/clone.py:480 #, fuzzy msgid "Experimental driver" msgstr "Weiter mit dem experimentellen Treiber?" @@ -1009,7 +1030,7 @@ msgid "" "3 - Disconnect your interface cable\n" msgstr "" -#: ../drivers/th_uv8000.py:533 +#: ../drivers/th_uv8000.py:525 msgid "" "Follow these instructions to download the radio memory:\n" "1 - Turn off your radio\n" @@ -1018,7 +1039,7 @@ msgid "" "4 - Radio > Download from radio\n" msgstr "" -#: ../drivers/ic2730.py:313 +#: ../drivers/ic2730.py:312 msgid "" "Follow these instructions to download your config:\n" "1 - Turn off your radio\n" @@ -1029,9 +1050,9 @@ msgid "" " no right-side audio!\n" msgstr "" -#: ../drivers/mursv1.py:343 ../drivers/baofeng_wp970i.py:326 +#: ../drivers/mursv1.py:342 ../drivers/baofeng_wp970i.py:325 #: ../drivers/btech.py:689 ../drivers/gmrsuv1.py:392 -#: ../drivers/tdxone_tdq8a.py:456 ../drivers/uv6r.py:342 +#: ../drivers/tdxone_tdq8a.py:455 ../drivers/uv6r.py:342 #: ../drivers/uv5x3.py:418 ../drivers/gmrsv2.py:364 ../drivers/bf_t1.py:483 msgid "" "Follow these instructions to download your info:\n" @@ -1050,7 +1071,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/tk760.py:344 +#: ../drivers/tk760.py:343 msgid "" "Follow these instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1077,7 +1098,7 @@ msgid "" "3 - Disconnect your interface cable\n" msgstr "" -#: ../drivers/th_uv8000.py:539 +#: ../drivers/th_uv8000.py:531 msgid "" "Follow these instructions to upload the radio memory:\n" "1 - Turn off your radio\n" @@ -1086,7 +1107,7 @@ msgid "" "4 - Radio > Upload to radio\n" msgstr "" -#: ../drivers/ic2730.py:321 +#: ../drivers/ic2730.py:320 msgid "" "Follow these instructions to upload your config:\n" "1 - Turn off your radio\n" @@ -1116,7 +1137,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/tk760.py:350 +#: ../drivers/tk760.py:349 msgid "" "Follow these instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1125,7 +1146,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:522 +#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:497 msgid "" "Follow this instructions to download your info:\n" "1 - Turn off your radio\n" @@ -1134,7 +1155,7 @@ msgid "" "4 - Do the download of your radio data\n" msgstr "" -#: ../drivers/tk270.py:341 +#: ../drivers/tk270.py:340 msgid "" "Follow this instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1143,9 +1164,9 @@ msgid "" "4 - Do the download of your radio data\n" msgstr "" -#: ../drivers/vgc.py:605 ../drivers/mursv1.py:349 -#: ../drivers/baofeng_wp970i.py:332 ../drivers/gmrsuv1.py:398 -#: ../drivers/lt725uv.py:528 ../drivers/tdxone_tdq8a.py:462 +#: ../drivers/vgc.py:605 ../drivers/mursv1.py:348 +#: ../drivers/baofeng_wp970i.py:331 ../drivers/gmrsuv1.py:398 +#: ../drivers/lt725uv.py:503 ../drivers/tdxone_tdq8a.py:461 #: ../drivers/uv6r.py:348 ../drivers/uv5x3.py:424 ../drivers/gmrsv2.py:370 msgid "" "Follow this instructions to upload your info:\n" @@ -1155,7 +1176,7 @@ msgid "" "4 - Do the upload of your radio data\n" msgstr "" -#: ../drivers/tk270.py:347 +#: ../drivers/tk270.py:346 msgid "" "Follow this instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1195,7 +1216,7 @@ msgstr "Zeige RAW Speicher" msgid "Goto Memory:" msgstr "" -#: ../wxui/clone.py:319 ../wxui/clone.py:401 +#: ../wxui/clone.py:35 msgid "Help Me..." msgstr "" @@ -1326,7 +1347,7 @@ msgid "" "despite this risk?" msgstr "" -#: ../wxui/clone.py:111 +#: ../wxui/clone.py:113 msgid "Loading settings" msgstr "" @@ -1357,7 +1378,7 @@ msgstr "" msgid "Mode" msgstr "Mode" -#: ../wxui/clone.py:243 +#: ../wxui/clone.py:246 msgid "Model" msgstr "Model" @@ -1380,7 +1401,7 @@ msgstr "Module laden" msgid "Module loaded successfully" msgstr "" -#: ../wxui/clone.py:366 +#: ../wxui/clone.py:374 #, python-format msgid "More than one port found: %s" msgstr "" @@ -1529,7 +1550,7 @@ msgstr "" msgid "Please be sure to quit CHIRP before installing the new version!" msgstr "" -#: ../drivers/ftlx011.py:303 +#: ../drivers/ftlx011.py:302 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1544,7 +1565,7 @@ msgid "" "get into normal mode.\n" msgstr "" -#: ../drivers/ftlx011.py:294 +#: ../drivers/ftlx011.py:293 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1567,11 +1588,11 @@ msgstr "" msgid "Please wait" msgstr "" -#: ../wxui/clone.py:344 +#: ../wxui/clone.py:351 msgid "Plug in your cable and then click OK" msgstr "" -#: ../wxui/clone.py:236 +#: ../wxui/clone.py:239 msgid "Port" msgstr "Port" @@ -1614,12 +1635,12 @@ msgstr "" msgid "Radio" msgstr "Gerät" -#: ../drivers/ft60.py:86 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 +#: ../drivers/ft60.py:85 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 #, python-format msgid "Radio did not ack block %i" msgstr "" -#: ../wxui/clone.py:494 ../wxui/clone.py:559 +#: ../wxui/clone.py:504 ../wxui/clone.py:569 #, fuzzy msgid "Radio information" msgstr "Abrufen der Speicherbank" @@ -1833,7 +1854,7 @@ msgstr "" msgid "This is an early stage beta driver - upload at your own risk\n" msgstr "" -#: ../drivers/bj9900.py:112 +#: ../drivers/bj9900.py:108 msgid "" "This is experimental support for BJ-9900 which is still under development.\n" "Please ensure you have a good backup with OEM software.\n" @@ -1882,12 +1903,12 @@ msgstr "ToneSql" msgid "Tuning Step" msgstr "Abstimmungsschritt" -#: ../wxui/clone.py:338 ../wxui/clone.py:345 ../wxui/clone.py:356 -#: ../wxui/clone.py:363 ../wxui/clone.py:367 +#: ../wxui/clone.py:345 ../wxui/clone.py:352 ../wxui/clone.py:363 +#: ../wxui/clone.py:371 ../wxui/clone.py:375 msgid "USB Port Finder" msgstr "" -#: ../wxui/clone.py:354 +#: ../wxui/clone.py:361 msgid "" "Unable to determine port for your cable. Check your drivers and connections." msgstr "" @@ -1927,11 +1948,11 @@ msgstr "Keine Änderungen bei diesem Modell möglich" msgid "United States" msgstr "" -#: ../wxui/clone.py:337 +#: ../wxui/clone.py:344 msgid "Unplug your cable (if needed) and then click OK" msgstr "" -#: ../wxui/clone.py:574 +#: ../wxui/clone.py:584 msgid "Upload instructions" msgstr "" @@ -1977,7 +1998,7 @@ msgstr "" msgid "Value must be zero or greater" msgstr "" -#: ../wxui/clone.py:239 +#: ../wxui/clone.py:242 msgid "Vendor" msgstr "Hersteller" @@ -2003,7 +2024,7 @@ msgstr "" msgid "Would you like CHIRP to install a desktop icon for you?" msgstr "" -#: ../wxui/clone.py:361 +#: ../wxui/clone.py:369 msgid "Your cable appears to be on port:" msgstr "" diff --git a/chirp/locale/el.po b/chirp/locale/el.po index 54acd394b..b2978210d 100644 --- a/chirp/locale/el.po +++ b/chirp/locale/el.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: CHIRP\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-21 15:28-0700\n" +"POT-Creation-Date: 2023-06-26 18:46-0700\n" "PO-Revision-Date: 2023-02-11 15:12+0200\n" "Last-Translator: Sokratis Alichanidis \n" "Language-Team: Greek\n" @@ -202,7 +202,7 @@ msgid "" " press the [C](SEND) key to send image.\n" msgstr "" -#: ../drivers/ft7800.py:839 +#: ../drivers/ft7800.py:838 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -215,7 +215,7 @@ msgid "" " send image.\n" msgstr "" -#: ../drivers/ft7800.py:849 +#: ../drivers/ft7800.py:848 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -246,7 +246,7 @@ msgid "" "4. Press the [MODE] key (\"-WAIT-\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft7800.py:287 +#: ../drivers/ft7800.py:286 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -259,7 +259,7 @@ msgid "" "6. Press the [LOW(ACC)] key (\"--RX--\" will appear on the display).\n" msgstr "" -#: ../drivers/ft7800.py:276 +#: ../drivers/ft7800.py:275 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -380,7 +380,7 @@ msgid "" "5. Press OK.\n" msgstr "" -#: ../drivers/vx6.py:369 ../drivers/vx3.py:374 +#: ../drivers/vx6.py:369 ../drivers/vx3.py:373 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -389,7 +389,7 @@ msgid "" "4. After clicking OK, press the [BAND] key to send image.\n" msgstr "" -#: ../drivers/vx6.py:376 ../drivers/vx3.py:381 +#: ../drivers/vx6.py:376 ../drivers/vx3.py:380 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -416,7 +416,7 @@ msgid "" "4. Press the [V/M] key (\"CLONE WAIT\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft60.py:355 +#: ../drivers/ft60.py:354 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -428,7 +428,7 @@ msgid "" " for one second to send image.\n" msgstr "" -#: ../drivers/ft60.py:364 +#: ../drivers/ft60.py:363 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -484,7 +484,7 @@ msgid "" "4. Press the [D/MR(MW)] key (\"--WAIT--\" will appear on the LCD).\n" msgstr "" -#: ../drivers/uv5r.py:777 +#: ../drivers/uv5r.py:743 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -494,7 +494,7 @@ msgid "" "6. Click OK to download image from device.\n" msgstr "" -#: ../drivers/uv5r.py:785 +#: ../drivers/uv5r.py:751 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -540,7 +540,7 @@ msgid "" "4. Press the key to receive the image.\n" msgstr "" -#: ../drivers/ft90.py:196 +#: ../drivers/ft90.py:195 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -549,7 +549,7 @@ msgid "" "4. After clicking OK, press the [SET] key to send image.\n" msgstr "" -#: ../drivers/ft90.py:203 +#: ../drivers/ft90.py:202 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -559,7 +559,7 @@ msgid "" " (\"R\" will appear on the lower left of LCD).\n" msgstr "" -#: ../drivers/bj9900.py:106 +#: ../drivers/bj9900.py:102 msgid "" "1. Turn radio off.\n" "2. Remove front head.\n" @@ -577,7 +577,7 @@ msgid "" "5. Press the [moni] key (\"-RX-\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft70.py:552 +#: ../drivers/ft70.py:551 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -587,7 +587,7 @@ msgid "" "5. After clicking OK, press the [BAND] key.\n" msgstr "" -#: ../drivers/ft70.py:560 +#: ../drivers/ft70.py:559 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -598,6 +598,27 @@ msgid "" " click Then" msgstr "" +#: ../drivers/uvk5.py:636 +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to download image from device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already " +"attached\n" +msgstr "" + +#: ../drivers/uvk5.py:643 +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to upload the image to device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already attached" +msgstr "" + #: ../wxui/main.py:1685 msgid "" "A new CHIRP version is available. Please visit the website as soon as " @@ -634,7 +655,7 @@ msgstr "Ραδιοερασιτέχνη" msgid "An error has occurred" msgstr "Παρουσιάστηκε ένα σφάλμα" -#: ../wxui/clone.py:109 +#: ../wxui/clone.py:111 msgid "Applying settings" msgstr "Εφαρμογή ρυθμίσεων" @@ -730,11 +751,11 @@ msgstr "" msgid "Cloning" msgstr "Αντιγραφή" -#: ../drivers/bj9900.py:137 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 +#: ../drivers/bj9900.py:133 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 msgid "Cloning from radio" msgstr "Λήψη από πομποδέκτη" -#: ../drivers/bj9900.py:164 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 +#: ../drivers/bj9900.py:160 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 msgid "Cloning to radio" msgstr "Αποστολή σε πομποδέκτη" @@ -755,11 +776,11 @@ msgstr "Διαγραφή %i Μνημών" msgid "Comment" msgstr "Σχόλιο" -#: ../wxui/clone.py:215 +#: ../wxui/clone.py:217 msgid "Communicate with radio" msgstr "Επικοινωνία με πομποδέκτη" -#: ../wxui/clone.py:117 +#: ../wxui/clone.py:119 msgid "Complete" msgstr "Ολοκληρωμένη" @@ -781,7 +802,7 @@ msgstr "Χώρα" msgid "Cross mode" msgstr "" -#: ../wxui/clone.py:319 ../wxui/clone.py:394 +#: ../wxui/clone.py:36 msgid "Custom..." msgstr "Προσαρμοσμένη..." @@ -849,7 +870,7 @@ msgstr "" msgid "Distance" msgstr "Απόσταση" -#: ../wxui/clone.py:165 +#: ../wxui/clone.py:167 #, python-format msgid "Do not prompt again for %s" msgstr "Να μην ερωτηθώ ξανά για %s" @@ -866,7 +887,7 @@ msgstr "Λήψη" msgid "Download from radio" msgstr "Λήψη Από Πομποδέκτη" -#: ../wxui/clone.py:502 +#: ../wxui/clone.py:512 msgid "Download instructions" msgstr "Οδηγίες λήψης" @@ -910,7 +931,7 @@ msgstr "Εισάγετε συχνότητα εκπομπής (MHz)" msgid "Enter a new name for bank %s:" msgstr "Εισάγετε ένα νέο όνομα για την ομάδα μνημών %s:" -#: ../wxui/clone.py:395 +#: ../wxui/clone.py:405 msgid "Enter custom port:" msgstr "Εισάγετε προσαρμοσμένη θύρα:" @@ -923,11 +944,11 @@ msgstr "Διεγράφη η μνήμη %s" msgid "Error applying settings" msgstr "Σφάλμα εφαρμογής ρυθμίσεων" -#: ../wxui/clone.py:439 +#: ../wxui/clone.py:449 msgid "Error communicating with radio" msgstr "Σφάλμα επικοινωνίας με τον πομποδέκτη" -#: ../wxui/clone.py:470 +#: ../wxui/clone.py:480 msgid "Experimental driver" msgstr "Πειραματικός οδηγός" @@ -1000,7 +1021,7 @@ msgid "" "3 - Disconnect your interface cable\n" msgstr "" -#: ../drivers/th_uv8000.py:533 +#: ../drivers/th_uv8000.py:525 msgid "" "Follow these instructions to download the radio memory:\n" "1 - Turn off your radio\n" @@ -1009,7 +1030,7 @@ msgid "" "4 - Radio > Download from radio\n" msgstr "" -#: ../drivers/ic2730.py:313 +#: ../drivers/ic2730.py:312 msgid "" "Follow these instructions to download your config:\n" "1 - Turn off your radio\n" @@ -1020,9 +1041,9 @@ msgid "" " no right-side audio!\n" msgstr "" -#: ../drivers/mursv1.py:343 ../drivers/baofeng_wp970i.py:326 +#: ../drivers/mursv1.py:342 ../drivers/baofeng_wp970i.py:325 #: ../drivers/btech.py:689 ../drivers/gmrsuv1.py:392 -#: ../drivers/tdxone_tdq8a.py:456 ../drivers/uv6r.py:342 +#: ../drivers/tdxone_tdq8a.py:455 ../drivers/uv6r.py:342 #: ../drivers/uv5x3.py:418 ../drivers/gmrsv2.py:364 ../drivers/bf_t1.py:483 msgid "" "Follow these instructions to download your info:\n" @@ -1041,7 +1062,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/tk760.py:344 +#: ../drivers/tk760.py:343 msgid "" "Follow these instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1068,7 +1089,7 @@ msgid "" "3 - Disconnect your interface cable\n" msgstr "" -#: ../drivers/th_uv8000.py:539 +#: ../drivers/th_uv8000.py:531 msgid "" "Follow these instructions to upload the radio memory:\n" "1 - Turn off your radio\n" @@ -1077,7 +1098,7 @@ msgid "" "4 - Radio > Upload to radio\n" msgstr "" -#: ../drivers/ic2730.py:321 +#: ../drivers/ic2730.py:320 msgid "" "Follow these instructions to upload your config:\n" "1 - Turn off your radio\n" @@ -1107,7 +1128,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/tk760.py:350 +#: ../drivers/tk760.py:349 msgid "" "Follow these instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1116,7 +1137,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:522 +#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:497 msgid "" "Follow this instructions to download your info:\n" "1 - Turn off your radio\n" @@ -1125,7 +1146,7 @@ msgid "" "4 - Do the download of your radio data\n" msgstr "" -#: ../drivers/tk270.py:341 +#: ../drivers/tk270.py:340 msgid "" "Follow this instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1134,9 +1155,9 @@ msgid "" "4 - Do the download of your radio data\n" msgstr "" -#: ../drivers/vgc.py:605 ../drivers/mursv1.py:349 -#: ../drivers/baofeng_wp970i.py:332 ../drivers/gmrsuv1.py:398 -#: ../drivers/lt725uv.py:528 ../drivers/tdxone_tdq8a.py:462 +#: ../drivers/vgc.py:605 ../drivers/mursv1.py:348 +#: ../drivers/baofeng_wp970i.py:331 ../drivers/gmrsuv1.py:398 +#: ../drivers/lt725uv.py:503 ../drivers/tdxone_tdq8a.py:461 #: ../drivers/uv6r.py:348 ../drivers/uv5x3.py:424 ../drivers/gmrsv2.py:370 msgid "" "Follow this instructions to upload your info:\n" @@ -1146,7 +1167,7 @@ msgid "" "4 - Do the upload of your radio data\n" msgstr "" -#: ../drivers/tk270.py:347 +#: ../drivers/tk270.py:346 msgid "" "Follow this instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1185,7 +1206,7 @@ msgstr "Μετάβαση σε Μνήμη" msgid "Goto Memory:" msgstr "Μετάβαση σε Μνήμη:" -#: ../wxui/clone.py:319 ../wxui/clone.py:401 +#: ../wxui/clone.py:35 msgid "Help Me..." msgstr "Βοήθεια..." @@ -1316,7 +1337,7 @@ msgid "" "despite this risk?" msgstr "" -#: ../wxui/clone.py:111 +#: ../wxui/clone.py:113 msgid "Loading settings" msgstr "Φόρτωση ρυθμίσεων" @@ -1347,7 +1368,7 @@ msgstr "Η μνήμη {num} δεν βρίσκεται στην ομάδα μνη msgid "Mode" msgstr "Λειτουργία" -#: ../wxui/clone.py:243 +#: ../wxui/clone.py:246 msgid "Model" msgstr "Μοντέλο" @@ -1368,7 +1389,7 @@ msgstr "Module" msgid "Module loaded successfully" msgstr "" -#: ../wxui/clone.py:366 +#: ../wxui/clone.py:374 #, python-format msgid "More than one port found: %s" msgstr "Βρέθηκαν περισσότερες από μία θύρες: %s" @@ -1511,7 +1532,7 @@ msgstr "" "Παρακαλούμε βεβαιωθείτε ότι έχετε κλείσει το CHIRP πριν εγκαταστήσετε την " "νέα έκδοση!" -#: ../drivers/ftlx011.py:303 +#: ../drivers/ftlx011.py:302 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1526,7 +1547,7 @@ msgid "" "get into normal mode.\n" msgstr "" -#: ../drivers/ftlx011.py:294 +#: ../drivers/ftlx011.py:293 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1549,11 +1570,11 @@ msgstr "" msgid "Please wait" msgstr "Παρακαλώ περιμένετε" -#: ../wxui/clone.py:344 +#: ../wxui/clone.py:351 msgid "Plug in your cable and then click OK" msgstr "Συνδέστε το καλώδιο σας και πατήστε OK" -#: ../wxui/clone.py:236 +#: ../wxui/clone.py:239 msgid "Port" msgstr "Θύρα" @@ -1594,12 +1615,12 @@ msgstr "DTCS Λήψης" msgid "Radio" msgstr "Πομποδέκτης" -#: ../drivers/ft60.py:86 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 +#: ../drivers/ft60.py:85 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 #, python-format msgid "Radio did not ack block %i" msgstr "Ο πομποδέκτης δεν επιβεβαίωσε το μπλοκ %i" -#: ../wxui/clone.py:494 ../wxui/clone.py:559 +#: ../wxui/clone.py:504 ../wxui/clone.py:569 msgid "Radio information" msgstr "Πληροφορίες πομποδέκτη" @@ -1805,7 +1826,7 @@ msgstr "" msgid "This is an early stage beta driver - upload at your own risk\n" msgstr "" -#: ../drivers/bj9900.py:112 +#: ../drivers/bj9900.py:108 msgid "" "This is experimental support for BJ-9900 which is still under development.\n" "Please ensure you have a good backup with OEM software.\n" @@ -1859,12 +1880,12 @@ msgstr "Τόνος Φίμωσης" msgid "Tuning Step" msgstr "Βήμα συντονισμού" -#: ../wxui/clone.py:338 ../wxui/clone.py:345 ../wxui/clone.py:356 -#: ../wxui/clone.py:363 ../wxui/clone.py:367 +#: ../wxui/clone.py:345 ../wxui/clone.py:352 ../wxui/clone.py:363 +#: ../wxui/clone.py:371 ../wxui/clone.py:375 msgid "USB Port Finder" msgstr "Έυρεση θυρών USB" -#: ../wxui/clone.py:354 +#: ../wxui/clone.py:361 msgid "" "Unable to determine port for your cable. Check your drivers and connections." msgstr "" @@ -1903,11 +1924,11 @@ msgstr "Πατήστε enter για καταχώρηση στη μνήμη" msgid "United States" msgstr "Ηνωμένες Πολιτείες" -#: ../wxui/clone.py:337 +#: ../wxui/clone.py:344 msgid "Unplug your cable (if needed) and then click OK" msgstr "Αποσυνδέστε το καλώδιο σας (αν χρειάζεται) και μετά πατήστε OK" -#: ../wxui/clone.py:574 +#: ../wxui/clone.py:584 msgid "Upload instructions" msgstr "Οδηγίες αποστολής" @@ -1952,7 +1973,7 @@ msgstr "Η τιμή πρέπει να έιναι ακριβώς %i δεκαδι msgid "Value must be zero or greater" msgstr "Η τιμή πρέπει να είναι μηδέν ή μεγαλύτερη" -#: ../wxui/clone.py:239 +#: ../wxui/clone.py:242 msgid "Vendor" msgstr "Προμηθευτής" @@ -1977,7 +1998,7 @@ msgstr "Καλωσήρθατε" msgid "Would you like CHIRP to install a desktop icon for you?" msgstr "" -#: ../wxui/clone.py:361 +#: ../wxui/clone.py:369 msgid "Your cable appears to be on port:" msgstr "Το καλώδιο σας φαίνεται να είανι στη θύρα:" diff --git a/chirp/locale/en_US.po b/chirp/locale/en_US.po index 8a6a4db16..14d3a0e1a 100644 --- a/chirp/locale/en_US.po +++ b/chirp/locale/en_US.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: CHIRP\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-21 15:28-0700\n" +"POT-Creation-Date: 2023-06-26 18:46-0700\n" "PO-Revision-Date: 2011-11-29 16:07-0800\n" "Last-Translator: Dan Smith \n" "Language-Team: English\n" @@ -198,7 +198,7 @@ msgid "" " press the [C](SEND) key to send image.\n" msgstr "" -#: ../drivers/ft7800.py:839 +#: ../drivers/ft7800.py:838 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -211,7 +211,7 @@ msgid "" " send image.\n" msgstr "" -#: ../drivers/ft7800.py:849 +#: ../drivers/ft7800.py:848 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -242,7 +242,7 @@ msgid "" "4. Press the [MODE] key (\"-WAIT-\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft7800.py:287 +#: ../drivers/ft7800.py:286 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -255,7 +255,7 @@ msgid "" "6. Press the [LOW(ACC)] key (\"--RX--\" will appear on the display).\n" msgstr "" -#: ../drivers/ft7800.py:276 +#: ../drivers/ft7800.py:275 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -376,7 +376,7 @@ msgid "" "5. Press OK.\n" msgstr "" -#: ../drivers/vx6.py:369 ../drivers/vx3.py:374 +#: ../drivers/vx6.py:369 ../drivers/vx3.py:373 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -385,7 +385,7 @@ msgid "" "4. After clicking OK, press the [BAND] key to send image.\n" msgstr "" -#: ../drivers/vx6.py:376 ../drivers/vx3.py:381 +#: ../drivers/vx6.py:376 ../drivers/vx3.py:380 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -412,7 +412,7 @@ msgid "" "4. Press the [V/M] key (\"CLONE WAIT\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft60.py:355 +#: ../drivers/ft60.py:354 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -424,7 +424,7 @@ msgid "" " for one second to send image.\n" msgstr "" -#: ../drivers/ft60.py:364 +#: ../drivers/ft60.py:363 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -480,7 +480,7 @@ msgid "" "4. Press the [D/MR(MW)] key (\"--WAIT--\" will appear on the LCD).\n" msgstr "" -#: ../drivers/uv5r.py:777 +#: ../drivers/uv5r.py:743 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -490,7 +490,7 @@ msgid "" "6. Click OK to download image from device.\n" msgstr "" -#: ../drivers/uv5r.py:785 +#: ../drivers/uv5r.py:751 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -536,7 +536,7 @@ msgid "" "4. Press the key to receive the image.\n" msgstr "" -#: ../drivers/ft90.py:196 +#: ../drivers/ft90.py:195 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -545,7 +545,7 @@ msgid "" "4. After clicking OK, press the [SET] key to send image.\n" msgstr "" -#: ../drivers/ft90.py:203 +#: ../drivers/ft90.py:202 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -555,7 +555,7 @@ msgid "" " (\"R\" will appear on the lower left of LCD).\n" msgstr "" -#: ../drivers/bj9900.py:106 +#: ../drivers/bj9900.py:102 msgid "" "1. Turn radio off.\n" "2. Remove front head.\n" @@ -573,7 +573,7 @@ msgid "" "5. Press the [moni] key (\"-RX-\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft70.py:552 +#: ../drivers/ft70.py:551 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -583,7 +583,7 @@ msgid "" "5. After clicking OK, press the [BAND] key.\n" msgstr "" -#: ../drivers/ft70.py:560 +#: ../drivers/ft70.py:559 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -594,6 +594,27 @@ msgid "" " click Then" msgstr "" +#: ../drivers/uvk5.py:636 +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to download image from device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already " +"attached\n" +msgstr "" + +#: ../drivers/uvk5.py:643 +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to upload the image to device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already attached" +msgstr "" + #: ../wxui/main.py:1685 msgid "" "A new CHIRP version is available. Please visit the website as soon as " @@ -629,7 +650,7 @@ msgstr "" msgid "An error has occurred" msgstr "" -#: ../wxui/clone.py:109 +#: ../wxui/clone.py:111 msgid "Applying settings" msgstr "" @@ -724,12 +745,12 @@ msgstr "" msgid "Cloning" msgstr "" -#: ../drivers/bj9900.py:137 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 +#: ../drivers/bj9900.py:133 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 #, fuzzy msgid "Cloning from radio" msgstr "Download From Radio" -#: ../drivers/bj9900.py:164 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 +#: ../drivers/bj9900.py:160 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 #, fuzzy msgid "Cloning to radio" msgstr "Upload To Radio" @@ -751,11 +772,11 @@ msgstr "Diff raw memories" msgid "Comment" msgstr "" -#: ../wxui/clone.py:215 +#: ../wxui/clone.py:217 msgid "Communicate with radio" msgstr "" -#: ../wxui/clone.py:117 +#: ../wxui/clone.py:119 msgid "Complete" msgstr "" @@ -778,7 +799,7 @@ msgstr "" msgid "Cross mode" msgstr "" -#: ../wxui/clone.py:319 ../wxui/clone.py:394 +#: ../wxui/clone.py:36 msgid "Custom..." msgstr "" @@ -845,7 +866,7 @@ msgstr "" msgid "Distance" msgstr "" -#: ../wxui/clone.py:165 +#: ../wxui/clone.py:167 #, python-format msgid "Do not prompt again for %s" msgstr "" @@ -863,7 +884,7 @@ msgstr "" msgid "Download from radio" msgstr "Download From Radio" -#: ../wxui/clone.py:502 +#: ../wxui/clone.py:512 #, fuzzy msgid "Download instructions" msgstr "Download From Radio" @@ -907,7 +928,7 @@ msgstr "" msgid "Enter a new name for bank %s:" msgstr "" -#: ../wxui/clone.py:395 +#: ../wxui/clone.py:405 msgid "Enter custom port:" msgstr "" @@ -920,11 +941,11 @@ msgstr "E_xchange" msgid "Error applying settings" msgstr "" -#: ../wxui/clone.py:439 +#: ../wxui/clone.py:449 msgid "Error communicating with radio" msgstr "" -#: ../wxui/clone.py:470 +#: ../wxui/clone.py:480 msgid "Experimental driver" msgstr "" @@ -999,7 +1020,7 @@ msgid "" "3 - Disconnect your interface cable\n" msgstr "" -#: ../drivers/th_uv8000.py:533 +#: ../drivers/th_uv8000.py:525 msgid "" "Follow these instructions to download the radio memory:\n" "1 - Turn off your radio\n" @@ -1008,7 +1029,7 @@ msgid "" "4 - Radio > Download from radio\n" msgstr "" -#: ../drivers/ic2730.py:313 +#: ../drivers/ic2730.py:312 msgid "" "Follow these instructions to download your config:\n" "1 - Turn off your radio\n" @@ -1019,9 +1040,9 @@ msgid "" " no right-side audio!\n" msgstr "" -#: ../drivers/mursv1.py:343 ../drivers/baofeng_wp970i.py:326 +#: ../drivers/mursv1.py:342 ../drivers/baofeng_wp970i.py:325 #: ../drivers/btech.py:689 ../drivers/gmrsuv1.py:392 -#: ../drivers/tdxone_tdq8a.py:456 ../drivers/uv6r.py:342 +#: ../drivers/tdxone_tdq8a.py:455 ../drivers/uv6r.py:342 #: ../drivers/uv5x3.py:418 ../drivers/gmrsv2.py:364 ../drivers/bf_t1.py:483 msgid "" "Follow these instructions to download your info:\n" @@ -1040,7 +1061,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/tk760.py:344 +#: ../drivers/tk760.py:343 msgid "" "Follow these instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1067,7 +1088,7 @@ msgid "" "3 - Disconnect your interface cable\n" msgstr "" -#: ../drivers/th_uv8000.py:539 +#: ../drivers/th_uv8000.py:531 msgid "" "Follow these instructions to upload the radio memory:\n" "1 - Turn off your radio\n" @@ -1076,7 +1097,7 @@ msgid "" "4 - Radio > Upload to radio\n" msgstr "" -#: ../drivers/ic2730.py:321 +#: ../drivers/ic2730.py:320 msgid "" "Follow these instructions to upload your config:\n" "1 - Turn off your radio\n" @@ -1106,7 +1127,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/tk760.py:350 +#: ../drivers/tk760.py:349 msgid "" "Follow these instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1115,7 +1136,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:522 +#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:497 msgid "" "Follow this instructions to download your info:\n" "1 - Turn off your radio\n" @@ -1124,7 +1145,7 @@ msgid "" "4 - Do the download of your radio data\n" msgstr "" -#: ../drivers/tk270.py:341 +#: ../drivers/tk270.py:340 msgid "" "Follow this instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1133,9 +1154,9 @@ msgid "" "4 - Do the download of your radio data\n" msgstr "" -#: ../drivers/vgc.py:605 ../drivers/mursv1.py:349 -#: ../drivers/baofeng_wp970i.py:332 ../drivers/gmrsuv1.py:398 -#: ../drivers/lt725uv.py:528 ../drivers/tdxone_tdq8a.py:462 +#: ../drivers/vgc.py:605 ../drivers/mursv1.py:348 +#: ../drivers/baofeng_wp970i.py:331 ../drivers/gmrsuv1.py:398 +#: ../drivers/lt725uv.py:503 ../drivers/tdxone_tdq8a.py:461 #: ../drivers/uv6r.py:348 ../drivers/uv5x3.py:424 ../drivers/gmrsv2.py:370 msgid "" "Follow this instructions to upload your info:\n" @@ -1145,7 +1166,7 @@ msgid "" "4 - Do the upload of your radio data\n" msgstr "" -#: ../drivers/tk270.py:347 +#: ../drivers/tk270.py:346 msgid "" "Follow this instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1185,7 +1206,7 @@ msgstr "Show raw memory" msgid "Goto Memory:" msgstr "" -#: ../wxui/clone.py:319 ../wxui/clone.py:401 +#: ../wxui/clone.py:35 msgid "Help Me..." msgstr "" @@ -1315,7 +1336,7 @@ msgid "" "despite this risk?" msgstr "" -#: ../wxui/clone.py:111 +#: ../wxui/clone.py:113 msgid "Loading settings" msgstr "" @@ -1346,7 +1367,7 @@ msgstr "" msgid "Mode" msgstr "" -#: ../wxui/clone.py:243 +#: ../wxui/clone.py:246 msgid "Model" msgstr "" @@ -1366,7 +1387,7 @@ msgstr "" msgid "Module loaded successfully" msgstr "" -#: ../wxui/clone.py:366 +#: ../wxui/clone.py:374 #, python-format msgid "More than one port found: %s" msgstr "" @@ -1512,7 +1533,7 @@ msgstr "" msgid "Please be sure to quit CHIRP before installing the new version!" msgstr "" -#: ../drivers/ftlx011.py:303 +#: ../drivers/ftlx011.py:302 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1527,7 +1548,7 @@ msgid "" "get into normal mode.\n" msgstr "" -#: ../drivers/ftlx011.py:294 +#: ../drivers/ftlx011.py:293 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1550,11 +1571,11 @@ msgstr "" msgid "Please wait" msgstr "" -#: ../wxui/clone.py:344 +#: ../wxui/clone.py:351 msgid "Plug in your cable and then click OK" msgstr "" -#: ../wxui/clone.py:236 +#: ../wxui/clone.py:239 msgid "Port" msgstr "" @@ -1596,12 +1617,12 @@ msgstr "" msgid "Radio" msgstr "_Radio" -#: ../drivers/ft60.py:86 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 +#: ../drivers/ft60.py:85 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 #, python-format msgid "Radio did not ack block %i" msgstr "" -#: ../wxui/clone.py:494 ../wxui/clone.py:559 +#: ../wxui/clone.py:504 ../wxui/clone.py:569 msgid "Radio information" msgstr "" @@ -1811,7 +1832,7 @@ msgstr "" msgid "This is an early stage beta driver - upload at your own risk\n" msgstr "" -#: ../drivers/bj9900.py:112 +#: ../drivers/bj9900.py:108 msgid "" "This is experimental support for BJ-9900 which is still under development.\n" "Please ensure you have a good backup with OEM software.\n" @@ -1858,12 +1879,12 @@ msgstr "" msgid "Tuning Step" msgstr "" -#: ../wxui/clone.py:338 ../wxui/clone.py:345 ../wxui/clone.py:356 -#: ../wxui/clone.py:363 ../wxui/clone.py:367 +#: ../wxui/clone.py:345 ../wxui/clone.py:352 ../wxui/clone.py:363 +#: ../wxui/clone.py:371 ../wxui/clone.py:375 msgid "USB Port Finder" msgstr "" -#: ../wxui/clone.py:354 +#: ../wxui/clone.py:361 msgid "" "Unable to determine port for your cable. Check your drivers and connections." msgstr "" @@ -1902,11 +1923,11 @@ msgstr "" msgid "United States" msgstr "" -#: ../wxui/clone.py:337 +#: ../wxui/clone.py:344 msgid "Unplug your cable (if needed) and then click OK" msgstr "" -#: ../wxui/clone.py:574 +#: ../wxui/clone.py:584 msgid "Upload instructions" msgstr "" @@ -1952,7 +1973,7 @@ msgstr "" msgid "Value must be zero or greater" msgstr "" -#: ../wxui/clone.py:239 +#: ../wxui/clone.py:242 msgid "Vendor" msgstr "" @@ -1978,7 +1999,7 @@ msgstr "" msgid "Would you like CHIRP to install a desktop icon for you?" msgstr "" -#: ../wxui/clone.py:361 +#: ../wxui/clone.py:369 msgid "Your cable appears to be on port:" msgstr "" diff --git a/chirp/locale/es.po b/chirp/locale/es.po index 986100aaa..1739e3dd3 100644 --- a/chirp/locale/es.po +++ b/chirp/locale/es.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: CHIRP\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-21 15:28-0700\n" +"POT-Creation-Date: 2023-06-26 18:46-0700\n" "PO-Revision-Date: 2023-06-22 15:48-0400\n" "Last-Translator: MELERIX\n" "Language-Team: \n" @@ -301,7 +301,7 @@ msgstr "" "4. Después de cliquear Aceptar,\n" " presiona la tecla [C](SEND) para enviar la imagen.\n" -#: ../drivers/ft7800.py:839 +#: ../drivers/ft7800.py:838 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -324,7 +324,7 @@ msgstr "" "para\n" " enviar la imagen.\n" -#: ../drivers/ft7800.py:849 +#: ../drivers/ft7800.py:848 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -375,7 +375,7 @@ msgstr "" " (\"CLONE\" aparecerá en la pantalla).\n" "4. Presiona la tecla [MODE] (\"-WAIT-\" aparecerá en la LCD).\n" -#: ../drivers/ft7800.py:287 +#: ../drivers/ft7800.py:286 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -397,7 +397,7 @@ msgstr "" " aparecerá.\n" "6. Presiona la tecla [LOW(ACC)] (\"--RX--\" aparecerá en la pantalla).\n" -#: ../drivers/ft7800.py:276 +#: ../drivers/ft7800.py:275 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -595,7 +595,7 @@ msgstr "" "4. Presiona el interruptor [MONI] (\"WAIT\" aparecerá en la LCD).\n" "5. Presiona Aceptar.\n" -#: ../drivers/vx6.py:369 ../drivers/vx3.py:374 +#: ../drivers/vx6.py:369 ../drivers/vx3.py:373 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -610,7 +610,7 @@ msgstr "" "4. Después de cliquear Aceptar, presiona la tecla [BAND] para enviar " "la imagen.\n" -#: ../drivers/vx6.py:376 ../drivers/vx3.py:381 +#: ../drivers/vx6.py:376 ../drivers/vx3.py:380 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -653,7 +653,7 @@ msgstr "" " (\"CLONE\" aparecerá en la pantalla).\n" "4. Presiona la tecla [V/M] (\"CLONE WAIT\" aparecerá en la LCD).\n" -#: ../drivers/ft60.py:355 +#: ../drivers/ft60.py:354 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -674,7 +674,7 @@ msgstr "" "[PTT]\n" " por un segundo para enviar la imagen.\n" -#: ../drivers/ft60.py:364 +#: ../drivers/ft60.py:363 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -766,7 +766,7 @@ msgstr "" " mientras enciendes la radio.\n" "4. Presiona la tecla [D/MR(MW)] (\"--WAIT--\" aparecerá en la LCD).\n" -#: ../drivers/uv5r.py:777 +#: ../drivers/uv5r.py:743 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -783,7 +783,7 @@ msgstr "" "5. Asegúrate de que la radio esté sintonizada a un canal sin actividad.\n" "6. Cliquea Aceptar para descargar la imagen desde el dispositivo.\n" -#: ../drivers/uv5r.py:785 +#: ../drivers/uv5r.py:751 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -857,7 +857,7 @@ msgstr "" "3. Prepara la radio para clonar.\n" "4. Presiona la tecla para recibir la imagen.\n" -#: ../drivers/ft90.py:196 +#: ../drivers/ft90.py:195 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -873,7 +873,7 @@ msgstr "" "4. Después de cliquear Aceptar, presiona la tecla [SET] para enviar " "la imagen.\n" -#: ../drivers/ft90.py:203 +#: ../drivers/ft90.py:202 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -890,7 +890,7 @@ msgstr "" "4. Presiona la tecla [DISP/SS]\n" " (\"R\" aparecerá en la parte inferior izquierda de la LCD).\n" -#: ../drivers/bj9900.py:106 +#: ../drivers/bj9900.py:102 msgid "" "1. Turn radio off.\n" "2. Remove front head.\n" @@ -919,7 +919,7 @@ msgstr "" " (\"CLONE\" aparecerá en la pantalla).\n" "5. Presiona la tecla [moni] (\"-RX-\" aparecerá en la LCD).\n" -#: ../drivers/ft70.py:552 +#: ../drivers/ft70.py:551 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -936,7 +936,7 @@ msgstr "" " de vuelta la batería (\"ADMS\" aparecerá en la pantalla).\n" "5. Después de cliquear Aceptar, presiona la tecla [BAND].\n" -#: ../drivers/ft70.py:560 +#: ../drivers/ft70.py:559 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -956,6 +956,41 @@ msgstr "" "cliquea \n" " Aceptar " +#: ../drivers/uvk5.py:636 +#, fuzzy +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to download image from device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already " +"attached\n" +msgstr "" +"1. Apaga la radio.\n" +"2. Conecta el cable al conector mic/spkr.\n" +"3. Asegúrate de que el conector esté firmemente conectado.\n" +"4. Enciende la radio.\n" +"5. Asegúrate de que la radio esté sintonizada a un canal sin actividad.\n" +"6. Cliquea Aceptar para cargar la imagen al dispositivo.\n" + +#: ../drivers/uvk5.py:643 +#, fuzzy +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to upload the image to device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already attached" +msgstr "" +"1. Apaga la radio.\n" +"2. Conecta el cable al conector mic/spkr.\n" +"3. Asegúrate de que el conector esté firmemente conectado.\n" +"4. Enciende la radio.\n" +"5. Asegúrate de que la radio esté sintonizada a un canal sin actividad.\n" +"6. Cliquea Aceptar para cargar la imagen al dispositivo.\n" + #: ../wxui/main.py:1685 msgid "" "A new CHIRP version is available. Please visit the website as soon as " @@ -992,7 +1027,7 @@ msgstr "Aficionado" msgid "An error has occurred" msgstr "Ha ocurrido un error" -#: ../wxui/clone.py:109 +#: ../wxui/clone.py:111 msgid "Applying settings" msgstr "Aplicando ajustes" @@ -1096,11 +1131,11 @@ msgstr "Clonado completado, comprobando por bytes espurios" msgid "Cloning" msgstr "Clonando" -#: ../drivers/bj9900.py:137 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 +#: ../drivers/bj9900.py:133 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 msgid "Cloning from radio" msgstr "Clonando desde radio" -#: ../drivers/bj9900.py:164 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 +#: ../drivers/bj9900.py:160 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 msgid "Cloning to radio" msgstr "Clonando a radio" @@ -1121,11 +1156,11 @@ msgstr "Agrupar %i memorias" msgid "Comment" msgstr "Comentario" -#: ../wxui/clone.py:215 +#: ../wxui/clone.py:217 msgid "Communicate with radio" msgstr "Comunicarse con la radio" -#: ../wxui/clone.py:117 +#: ../wxui/clone.py:119 msgid "Complete" msgstr "Completado" @@ -1149,7 +1184,7 @@ msgstr "País" msgid "Cross mode" msgstr "Modo cruzado" -#: ../wxui/clone.py:319 ../wxui/clone.py:394 +#: ../wxui/clone.py:36 msgid "Custom..." msgstr "Personalizado..." @@ -1216,7 +1251,7 @@ msgstr "Desahbilitado" msgid "Distance" msgstr "Distancia" -#: ../wxui/clone.py:165 +#: ../wxui/clone.py:167 #, python-format msgid "Do not prompt again for %s" msgstr "No preguntar de nuevo para %s" @@ -1233,7 +1268,7 @@ msgstr "Descargar" msgid "Download from radio" msgstr "Descargar desde radio" -#: ../wxui/clone.py:502 +#: ../wxui/clone.py:512 msgid "Download instructions" msgstr "Descargar instrucciones" @@ -1276,7 +1311,7 @@ msgstr "Ingresar frecuencia TX (MHz)" msgid "Enter a new name for bank %s:" msgstr "Ingresa un nuevo nombre para el banco %s:" -#: ../wxui/clone.py:395 +#: ../wxui/clone.py:405 msgid "Enter custom port:" msgstr "Ingresar puerto personalizado:" @@ -1289,11 +1324,11 @@ msgstr "Memoria borrada %s" msgid "Error applying settings" msgstr "Error aplicando ajustes" -#: ../wxui/clone.py:439 +#: ../wxui/clone.py:449 msgid "Error communicating with radio" msgstr "Error comunicándose con la radio" -#: ../wxui/clone.py:470 +#: ../wxui/clone.py:480 msgid "Experimental driver" msgstr "Controlador experimental" @@ -1376,7 +1411,7 @@ msgstr "" "en la cabeza de la radio!\n" "3 - Desconecta tu cable de interfaz\n" -#: ../drivers/th_uv8000.py:533 +#: ../drivers/th_uv8000.py:525 msgid "" "Follow these instructions to download the radio memory:\n" "1 - Turn off your radio\n" @@ -1390,7 +1425,7 @@ msgstr "" "3 - Enciende tu radio, volumen @ 50%\n" "4 - Radio > Descargar desde radio\n" -#: ../drivers/ic2730.py:313 +#: ../drivers/ic2730.py:312 msgid "" "Follow these instructions to download your config:\n" "1 - Turn off your radio\n" @@ -1408,9 +1443,9 @@ msgstr "" "5 - ¡Desconecta el cable de interfaz! ¡De lo contrario no habrá\n" " audio del lado derecho!\n" -#: ../drivers/mursv1.py:343 ../drivers/baofeng_wp970i.py:326 +#: ../drivers/mursv1.py:342 ../drivers/baofeng_wp970i.py:325 #: ../drivers/btech.py:689 ../drivers/gmrsuv1.py:392 -#: ../drivers/tdxone_tdq8a.py:456 ../drivers/uv6r.py:342 +#: ../drivers/tdxone_tdq8a.py:455 ../drivers/uv6r.py:342 #: ../drivers/uv5x3.py:418 ../drivers/gmrsv2.py:364 ../drivers/bf_t1.py:483 msgid "" "Follow these instructions to download your info:\n" @@ -1439,7 +1474,7 @@ msgstr "" "3 - Enciende tu radio (desbloquéala si está protegida por contraseña)\n" "4 - Cliquea Aceptar para iniciar\n" -#: ../drivers/tk760.py:344 +#: ../drivers/tk760.py:343 msgid "" "Follow these instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1481,7 +1516,7 @@ msgstr "" "en la cabeza de la radio!\n" "3 - Desconecta tu cable de interfaz\n" -#: ../drivers/th_uv8000.py:539 +#: ../drivers/th_uv8000.py:531 msgid "" "Follow these instructions to upload the radio memory:\n" "1 - Turn off your radio\n" @@ -1495,7 +1530,7 @@ msgstr "" "3 - Enciende tu radio, volumen @ 50%\n" "4 - Radio > Cargar a radio\n" -#: ../drivers/ic2730.py:321 +#: ../drivers/ic2730.py:320 msgid "" "Follow these instructions to upload your config:\n" "1 - Turn off your radio\n" @@ -1543,7 +1578,7 @@ msgstr "" "3 - Enciende tu radio (desbloquéala si está protegida por contraseña)\n" "4 - Cliquea Aceptar para iniciar\n" -#: ../drivers/tk760.py:350 +#: ../drivers/tk760.py:349 msgid "" "Follow these instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1557,7 +1592,7 @@ msgstr "" "3 - Enciende tu radio\n" "4 - Cliquea Aceptar para iniciar\n" -#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:522 +#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:497 msgid "" "Follow this instructions to download your info:\n" "1 - Turn off your radio\n" @@ -1571,7 +1606,7 @@ msgstr "" "3 - Enciende tu radio\n" "4 - Haz la descarga de tus datos de radio\n" -#: ../drivers/tk270.py:341 +#: ../drivers/tk270.py:340 msgid "" "Follow this instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1585,9 +1620,9 @@ msgstr "" "3 - Enciende tu radio\n" "4 - Haz la descarga de tus datos de radio\n" -#: ../drivers/vgc.py:605 ../drivers/mursv1.py:349 -#: ../drivers/baofeng_wp970i.py:332 ../drivers/gmrsuv1.py:398 -#: ../drivers/lt725uv.py:528 ../drivers/tdxone_tdq8a.py:462 +#: ../drivers/vgc.py:605 ../drivers/mursv1.py:348 +#: ../drivers/baofeng_wp970i.py:331 ../drivers/gmrsuv1.py:398 +#: ../drivers/lt725uv.py:503 ../drivers/tdxone_tdq8a.py:461 #: ../drivers/uv6r.py:348 ../drivers/uv5x3.py:424 ../drivers/gmrsv2.py:370 msgid "" "Follow this instructions to upload your info:\n" @@ -1602,7 +1637,7 @@ msgstr "" "3 - Enciende tu radio\n" "4 - Haz la carga de tus datos de radio\n" -#: ../drivers/tk270.py:347 +#: ../drivers/tk270.py:346 msgid "" "Follow this instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1646,7 +1681,7 @@ msgstr "Ir a memoria" msgid "Goto Memory:" msgstr "Ir a memoria:" -#: ../wxui/clone.py:319 ../wxui/clone.py:401 +#: ../wxui/clone.py:35 msgid "Help Me..." msgstr "Ayúdame..." @@ -1780,7 +1815,7 @@ msgstr "" "fuente es como darles acceso directo a tu computador y a todo en este! " "¿Proceder a pesar de este riesgo?" -#: ../wxui/clone.py:111 +#: ../wxui/clone.py:113 msgid "Loading settings" msgstr "Cargando ajustes" @@ -1810,7 +1845,7 @@ msgstr "Memoria {num} no en banco {bank}" msgid "Mode" msgstr "Modo" -#: ../wxui/clone.py:243 +#: ../wxui/clone.py:246 msgid "Model" msgstr "Modelo" @@ -1830,7 +1865,7 @@ msgstr "Módulo cargado" msgid "Module loaded successfully" msgstr "Módulo cargado exitosamente" -#: ../wxui/clone.py:366 +#: ../wxui/clone.py:374 #, python-format msgid "More than one port found: %s" msgstr "Más de un puerto encontrado: %s" @@ -1975,7 +2010,7 @@ msgid "Please be sure to quit CHIRP before installing the new version!" msgstr "" "¡Por favor asegúrate de salir de CHIRP antes de instalar la nueva versión!" -#: ../drivers/ftlx011.py:303 +#: ../drivers/ftlx011.py:302 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -2001,7 +2036,7 @@ msgstr "" "Después de clonar remueve el cable y apaga y enciende tu radio para\n" "entrar en modo normal.\n" -#: ../drivers/ftlx011.py:294 +#: ../drivers/ftlx011.py:293 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -2036,11 +2071,11 @@ msgstr "" msgid "Please wait" msgstr "Por favor espera" -#: ../wxui/clone.py:344 +#: ../wxui/clone.py:351 msgid "Plug in your cable and then click OK" msgstr "Conecta tu cable y luego haz clic en ACEPTAR" -#: ../wxui/clone.py:236 +#: ../wxui/clone.py:239 msgid "Port" msgstr "Puerto" @@ -2081,12 +2116,12 @@ msgstr "RX DTCS" msgid "Radio" msgstr "Radio" -#: ../drivers/ft60.py:86 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 +#: ../drivers/ft60.py:85 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 #, python-format msgid "Radio did not ack block %i" msgstr "La radio no reconoció el bloque %i" -#: ../wxui/clone.py:494 ../wxui/clone.py:559 +#: ../wxui/clone.py:504 ../wxui/clone.py:569 msgid "Radio information" msgstr "Información de radio" @@ -2324,7 +2359,7 @@ msgstr "" "Este es un controlador beta de etapa temprana - cargar bajo tu propio " "riesgo\n" -#: ../drivers/bj9900.py:112 +#: ../drivers/bj9900.py:108 msgid "" "This is experimental support for BJ-9900 which is still under development.\n" "Please ensure you have a good backup with OEM software.\n" @@ -2379,12 +2414,12 @@ msgstr "Silenciador de tono" msgid "Tuning Step" msgstr "Paso de sintonización" -#: ../wxui/clone.py:338 ../wxui/clone.py:345 ../wxui/clone.py:356 -#: ../wxui/clone.py:363 ../wxui/clone.py:367 +#: ../wxui/clone.py:345 ../wxui/clone.py:352 ../wxui/clone.py:363 +#: ../wxui/clone.py:371 ../wxui/clone.py:375 msgid "USB Port Finder" msgstr "Buscador de puertos USB" -#: ../wxui/clone.py:354 +#: ../wxui/clone.py:361 msgid "" "Unable to determine port for your cable. Check your drivers and connections." msgstr "" @@ -2428,11 +2463,11 @@ msgstr "No se puede establecer %s en esta memoria" msgid "United States" msgstr "Estados Unidos" -#: ../wxui/clone.py:337 +#: ../wxui/clone.py:344 msgid "Unplug your cable (if needed) and then click OK" msgstr "Desconecta tu cable (si es necesario) y entonces haz clic en ACEPTAR" -#: ../wxui/clone.py:574 +#: ../wxui/clone.py:584 msgid "Upload instructions" msgstr "Cargar instrucciones" @@ -2477,7 +2512,7 @@ msgstr "Valor debe ser exactamente %i dígitos decimales" msgid "Value must be zero or greater" msgstr "Valor debe ser cero o superior" -#: ../wxui/clone.py:239 +#: ../wxui/clone.py:242 msgid "Vendor" msgstr "Vendedor" @@ -2502,7 +2537,7 @@ msgstr "Bienvenido" msgid "Would you like CHIRP to install a desktop icon for you?" msgstr "¿Quieres que CHIRP instale un icono en el escritorio para ti?" -#: ../wxui/clone.py:361 +#: ../wxui/clone.py:369 msgid "Your cable appears to be on port:" msgstr "Tu cable parece estar en puerto:" diff --git a/chirp/locale/fr.po b/chirp/locale/fr.po index ee1f76257..fa333a57e 100644 --- a/chirp/locale/fr.po +++ b/chirp/locale/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: CHIRP\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-21 15:28-0700\n" +"POT-Creation-Date: 2023-06-26 18:46-0700\n" "PO-Revision-Date: 2014-04-05 22:18+0100\n" "Last-Translator: Matthieu Lapadu-Hargues \n" "Language-Team: French\n" @@ -200,7 +200,7 @@ msgid "" " press the [C](SEND) key to send image.\n" msgstr "" -#: ../drivers/ft7800.py:839 +#: ../drivers/ft7800.py:838 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -213,7 +213,7 @@ msgid "" " send image.\n" msgstr "" -#: ../drivers/ft7800.py:849 +#: ../drivers/ft7800.py:848 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -244,7 +244,7 @@ msgid "" "4. Press the [MODE] key (\"-WAIT-\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft7800.py:287 +#: ../drivers/ft7800.py:286 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -257,7 +257,7 @@ msgid "" "6. Press the [LOW(ACC)] key (\"--RX--\" will appear on the display).\n" msgstr "" -#: ../drivers/ft7800.py:276 +#: ../drivers/ft7800.py:275 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -378,7 +378,7 @@ msgid "" "5. Press OK.\n" msgstr "" -#: ../drivers/vx6.py:369 ../drivers/vx3.py:374 +#: ../drivers/vx6.py:369 ../drivers/vx3.py:373 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -387,7 +387,7 @@ msgid "" "4. After clicking OK, press the [BAND] key to send image.\n" msgstr "" -#: ../drivers/vx6.py:376 ../drivers/vx3.py:381 +#: ../drivers/vx6.py:376 ../drivers/vx3.py:380 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -414,7 +414,7 @@ msgid "" "4. Press the [V/M] key (\"CLONE WAIT\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft60.py:355 +#: ../drivers/ft60.py:354 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -426,7 +426,7 @@ msgid "" " for one second to send image.\n" msgstr "" -#: ../drivers/ft60.py:364 +#: ../drivers/ft60.py:363 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -482,7 +482,7 @@ msgid "" "4. Press the [D/MR(MW)] key (\"--WAIT--\" will appear on the LCD).\n" msgstr "" -#: ../drivers/uv5r.py:777 +#: ../drivers/uv5r.py:743 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -492,7 +492,7 @@ msgid "" "6. Click OK to download image from device.\n" msgstr "" -#: ../drivers/uv5r.py:785 +#: ../drivers/uv5r.py:751 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -538,7 +538,7 @@ msgid "" "4. Press the key to receive the image.\n" msgstr "" -#: ../drivers/ft90.py:196 +#: ../drivers/ft90.py:195 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -547,7 +547,7 @@ msgid "" "4. After clicking OK, press the [SET] key to send image.\n" msgstr "" -#: ../drivers/ft90.py:203 +#: ../drivers/ft90.py:202 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -557,7 +557,7 @@ msgid "" " (\"R\" will appear on the lower left of LCD).\n" msgstr "" -#: ../drivers/bj9900.py:106 +#: ../drivers/bj9900.py:102 msgid "" "1. Turn radio off.\n" "2. Remove front head.\n" @@ -575,7 +575,7 @@ msgid "" "5. Press the [moni] key (\"-RX-\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft70.py:552 +#: ../drivers/ft70.py:551 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -585,7 +585,7 @@ msgid "" "5. After clicking OK, press the [BAND] key.\n" msgstr "" -#: ../drivers/ft70.py:560 +#: ../drivers/ft70.py:559 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -596,6 +596,27 @@ msgid "" " click Then" msgstr "" +#: ../drivers/uvk5.py:636 +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to download image from device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already " +"attached\n" +msgstr "" + +#: ../drivers/uvk5.py:643 +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to upload the image to device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already attached" +msgstr "" + #: ../wxui/main.py:1685 msgid "" "A new CHIRP version is available. Please visit the website as soon as " @@ -631,7 +652,7 @@ msgstr "" msgid "An error has occurred" msgstr "Une erreur s'est produite" -#: ../wxui/clone.py:109 +#: ../wxui/clone.py:111 msgid "Applying settings" msgstr "" @@ -727,12 +748,12 @@ msgstr "" msgid "Cloning" msgstr "Clonage" -#: ../drivers/bj9900.py:137 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 +#: ../drivers/bj9900.py:133 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 #, fuzzy msgid "Cloning from radio" msgstr "Telecharger depuis la radio - Lire" -#: ../drivers/bj9900.py:164 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 +#: ../drivers/bj9900.py:160 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 #, fuzzy msgid "Cloning to radio" msgstr "Telecharger vers la radio - Ecrire" @@ -754,11 +775,11 @@ msgstr "Comparaison memoires brutes" msgid "Comment" msgstr "Commentaire" -#: ../wxui/clone.py:215 +#: ../wxui/clone.py:217 msgid "Communicate with radio" msgstr "" -#: ../wxui/clone.py:117 +#: ../wxui/clone.py:119 #, fuzzy msgid "Complete" msgstr "Termine" @@ -782,7 +803,7 @@ msgstr "" msgid "Cross mode" msgstr "Cross mode" -#: ../wxui/clone.py:319 ../wxui/clone.py:394 +#: ../wxui/clone.py:36 msgid "Custom..." msgstr "" @@ -849,7 +870,7 @@ msgstr "" msgid "Distance" msgstr "" -#: ../wxui/clone.py:165 +#: ../wxui/clone.py:167 #, python-format msgid "Do not prompt again for %s" msgstr "" @@ -867,7 +888,7 @@ msgstr "" msgid "Download from radio" msgstr "Telecharger depuis la radio - Lire" -#: ../wxui/clone.py:502 +#: ../wxui/clone.py:512 #, fuzzy msgid "Download instructions" msgstr "Telecharger depuis la radio - Lire" @@ -912,7 +933,7 @@ msgstr "" msgid "Enter a new name for bank %s:" msgstr "" -#: ../wxui/clone.py:395 +#: ../wxui/clone.py:405 msgid "Enter custom port:" msgstr "" @@ -926,11 +947,11 @@ msgstr "Effacer la memoire {loc}" msgid "Error applying settings" msgstr "Erreur ecriture memoire" -#: ../wxui/clone.py:439 +#: ../wxui/clone.py:449 msgid "Error communicating with radio" msgstr "" -#: ../wxui/clone.py:470 +#: ../wxui/clone.py:480 msgid "Experimental driver" msgstr "" @@ -1005,7 +1026,7 @@ msgid "" "3 - Disconnect your interface cable\n" msgstr "" -#: ../drivers/th_uv8000.py:533 +#: ../drivers/th_uv8000.py:525 msgid "" "Follow these instructions to download the radio memory:\n" "1 - Turn off your radio\n" @@ -1014,7 +1035,7 @@ msgid "" "4 - Radio > Download from radio\n" msgstr "" -#: ../drivers/ic2730.py:313 +#: ../drivers/ic2730.py:312 msgid "" "Follow these instructions to download your config:\n" "1 - Turn off your radio\n" @@ -1025,9 +1046,9 @@ msgid "" " no right-side audio!\n" msgstr "" -#: ../drivers/mursv1.py:343 ../drivers/baofeng_wp970i.py:326 +#: ../drivers/mursv1.py:342 ../drivers/baofeng_wp970i.py:325 #: ../drivers/btech.py:689 ../drivers/gmrsuv1.py:392 -#: ../drivers/tdxone_tdq8a.py:456 ../drivers/uv6r.py:342 +#: ../drivers/tdxone_tdq8a.py:455 ../drivers/uv6r.py:342 #: ../drivers/uv5x3.py:418 ../drivers/gmrsv2.py:364 ../drivers/bf_t1.py:483 msgid "" "Follow these instructions to download your info:\n" @@ -1046,7 +1067,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/tk760.py:344 +#: ../drivers/tk760.py:343 msgid "" "Follow these instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1073,7 +1094,7 @@ msgid "" "3 - Disconnect your interface cable\n" msgstr "" -#: ../drivers/th_uv8000.py:539 +#: ../drivers/th_uv8000.py:531 msgid "" "Follow these instructions to upload the radio memory:\n" "1 - Turn off your radio\n" @@ -1082,7 +1103,7 @@ msgid "" "4 - Radio > Upload to radio\n" msgstr "" -#: ../drivers/ic2730.py:321 +#: ../drivers/ic2730.py:320 msgid "" "Follow these instructions to upload your config:\n" "1 - Turn off your radio\n" @@ -1112,7 +1133,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/tk760.py:350 +#: ../drivers/tk760.py:349 msgid "" "Follow these instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1121,7 +1142,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:522 +#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:497 msgid "" "Follow this instructions to download your info:\n" "1 - Turn off your radio\n" @@ -1130,7 +1151,7 @@ msgid "" "4 - Do the download of your radio data\n" msgstr "" -#: ../drivers/tk270.py:341 +#: ../drivers/tk270.py:340 msgid "" "Follow this instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1139,9 +1160,9 @@ msgid "" "4 - Do the download of your radio data\n" msgstr "" -#: ../drivers/vgc.py:605 ../drivers/mursv1.py:349 -#: ../drivers/baofeng_wp970i.py:332 ../drivers/gmrsuv1.py:398 -#: ../drivers/lt725uv.py:528 ../drivers/tdxone_tdq8a.py:462 +#: ../drivers/vgc.py:605 ../drivers/mursv1.py:348 +#: ../drivers/baofeng_wp970i.py:331 ../drivers/gmrsuv1.py:398 +#: ../drivers/lt725uv.py:503 ../drivers/tdxone_tdq8a.py:461 #: ../drivers/uv6r.py:348 ../drivers/uv5x3.py:424 ../drivers/gmrsv2.py:370 msgid "" "Follow this instructions to upload your info:\n" @@ -1151,7 +1172,7 @@ msgid "" "4 - Do the upload of your radio data\n" msgstr "" -#: ../drivers/tk270.py:347 +#: ../drivers/tk270.py:346 msgid "" "Follow this instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1191,7 +1212,7 @@ msgstr "Afficher les donnees de memoires brutes" msgid "Goto Memory:" msgstr "" -#: ../wxui/clone.py:319 ../wxui/clone.py:401 +#: ../wxui/clone.py:35 msgid "Help Me..." msgstr "" @@ -1324,7 +1345,7 @@ msgid "" "despite this risk?" msgstr "" -#: ../wxui/clone.py:111 +#: ../wxui/clone.py:113 msgid "Loading settings" msgstr "" @@ -1355,7 +1376,7 @@ msgstr "" msgid "Mode" msgstr "Mode" -#: ../wxui/clone.py:243 +#: ../wxui/clone.py:246 msgid "Model" msgstr "Modele" @@ -1376,7 +1397,7 @@ msgstr "" msgid "Module loaded successfully" msgstr "" -#: ../wxui/clone.py:366 +#: ../wxui/clone.py:374 #, python-format msgid "More than one port found: %s" msgstr "" @@ -1524,7 +1545,7 @@ msgstr "" msgid "Please be sure to quit CHIRP before installing the new version!" msgstr "" -#: ../drivers/ftlx011.py:303 +#: ../drivers/ftlx011.py:302 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1539,7 +1560,7 @@ msgid "" "get into normal mode.\n" msgstr "" -#: ../drivers/ftlx011.py:294 +#: ../drivers/ftlx011.py:293 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1562,11 +1583,11 @@ msgstr "" msgid "Please wait" msgstr "" -#: ../wxui/clone.py:344 +#: ../wxui/clone.py:351 msgid "Plug in your cable and then click OK" msgstr "" -#: ../wxui/clone.py:236 +#: ../wxui/clone.py:239 msgid "Port" msgstr "Port" @@ -1608,12 +1629,12 @@ msgstr "" msgid "Radio" msgstr "Radio" -#: ../drivers/ft60.py:86 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 +#: ../drivers/ft60.py:85 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 #, python-format msgid "Radio did not ack block %i" msgstr "" -#: ../wxui/clone.py:494 ../wxui/clone.py:559 +#: ../wxui/clone.py:504 ../wxui/clone.py:569 #, fuzzy msgid "Radio information" msgstr "Recuperation des information de banque" @@ -1825,7 +1846,7 @@ msgstr "" msgid "This is an early stage beta driver - upload at your own risk\n" msgstr "" -#: ../drivers/bj9900.py:112 +#: ../drivers/bj9900.py:108 msgid "" "This is experimental support for BJ-9900 which is still under development.\n" "Please ensure you have a good backup with OEM software.\n" @@ -1874,12 +1895,12 @@ msgstr "ToneSql" msgid "Tuning Step" msgstr "Pas" -#: ../wxui/clone.py:338 ../wxui/clone.py:345 ../wxui/clone.py:356 -#: ../wxui/clone.py:363 ../wxui/clone.py:367 +#: ../wxui/clone.py:345 ../wxui/clone.py:352 ../wxui/clone.py:363 +#: ../wxui/clone.py:371 ../wxui/clone.py:375 msgid "USB Port Finder" msgstr "" -#: ../wxui/clone.py:354 +#: ../wxui/clone.py:361 msgid "" "Unable to determine port for your cable. Check your drivers and connections." msgstr "" @@ -1919,11 +1940,11 @@ msgstr "Impossible de realiser des changements pour ce modele" msgid "United States" msgstr "" -#: ../wxui/clone.py:337 +#: ../wxui/clone.py:344 msgid "Unplug your cable (if needed) and then click OK" msgstr "" -#: ../wxui/clone.py:574 +#: ../wxui/clone.py:584 msgid "Upload instructions" msgstr "" @@ -1969,7 +1990,7 @@ msgstr "" msgid "Value must be zero or greater" msgstr "" -#: ../wxui/clone.py:239 +#: ../wxui/clone.py:242 msgid "Vendor" msgstr "Fabricant" @@ -1995,7 +2016,7 @@ msgstr "" msgid "Would you like CHIRP to install a desktop icon for you?" msgstr "" -#: ../wxui/clone.py:361 +#: ../wxui/clone.py:369 msgid "Your cable appears to be on port:" msgstr "" diff --git a/chirp/locale/hu.po b/chirp/locale/hu.po index 64370f523..e8e653132 100644 --- a/chirp/locale/hu.po +++ b/chirp/locale/hu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: CHIRP\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-21 15:28-0700\n" +"POT-Creation-Date: 2023-06-26 18:46-0700\n" "PO-Revision-Date: 2015-01-28 13:47+0100\n" "Last-Translator: Attila Joubert \n" "Language-Team: English\n" @@ -199,7 +199,7 @@ msgid "" " press the [C](SEND) key to send image.\n" msgstr "" -#: ../drivers/ft7800.py:839 +#: ../drivers/ft7800.py:838 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -212,7 +212,7 @@ msgid "" " send image.\n" msgstr "" -#: ../drivers/ft7800.py:849 +#: ../drivers/ft7800.py:848 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -243,7 +243,7 @@ msgid "" "4. Press the [MODE] key (\"-WAIT-\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft7800.py:287 +#: ../drivers/ft7800.py:286 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -256,7 +256,7 @@ msgid "" "6. Press the [LOW(ACC)] key (\"--RX--\" will appear on the display).\n" msgstr "" -#: ../drivers/ft7800.py:276 +#: ../drivers/ft7800.py:275 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -377,7 +377,7 @@ msgid "" "5. Press OK.\n" msgstr "" -#: ../drivers/vx6.py:369 ../drivers/vx3.py:374 +#: ../drivers/vx6.py:369 ../drivers/vx3.py:373 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -386,7 +386,7 @@ msgid "" "4. After clicking OK, press the [BAND] key to send image.\n" msgstr "" -#: ../drivers/vx6.py:376 ../drivers/vx3.py:381 +#: ../drivers/vx6.py:376 ../drivers/vx3.py:380 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -413,7 +413,7 @@ msgid "" "4. Press the [V/M] key (\"CLONE WAIT\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft60.py:355 +#: ../drivers/ft60.py:354 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -425,7 +425,7 @@ msgid "" " for one second to send image.\n" msgstr "" -#: ../drivers/ft60.py:364 +#: ../drivers/ft60.py:363 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -481,7 +481,7 @@ msgid "" "4. Press the [D/MR(MW)] key (\"--WAIT--\" will appear on the LCD).\n" msgstr "" -#: ../drivers/uv5r.py:777 +#: ../drivers/uv5r.py:743 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -491,7 +491,7 @@ msgid "" "6. Click OK to download image from device.\n" msgstr "" -#: ../drivers/uv5r.py:785 +#: ../drivers/uv5r.py:751 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -537,7 +537,7 @@ msgid "" "4. Press the key to receive the image.\n" msgstr "" -#: ../drivers/ft90.py:196 +#: ../drivers/ft90.py:195 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -546,7 +546,7 @@ msgid "" "4. After clicking OK, press the [SET] key to send image.\n" msgstr "" -#: ../drivers/ft90.py:203 +#: ../drivers/ft90.py:202 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -556,7 +556,7 @@ msgid "" " (\"R\" will appear on the lower left of LCD).\n" msgstr "" -#: ../drivers/bj9900.py:106 +#: ../drivers/bj9900.py:102 msgid "" "1. Turn radio off.\n" "2. Remove front head.\n" @@ -574,7 +574,7 @@ msgid "" "5. Press the [moni] key (\"-RX-\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft70.py:552 +#: ../drivers/ft70.py:551 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -584,7 +584,7 @@ msgid "" "5. After clicking OK, press the [BAND] key.\n" msgstr "" -#: ../drivers/ft70.py:560 +#: ../drivers/ft70.py:559 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -595,6 +595,27 @@ msgid "" " click Then" msgstr "" +#: ../drivers/uvk5.py:636 +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to download image from device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already " +"attached\n" +msgstr "" + +#: ../drivers/uvk5.py:643 +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to upload the image to device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already attached" +msgstr "" + #: ../wxui/main.py:1685 msgid "" "A new CHIRP version is available. Please visit the website as soon as " @@ -630,7 +651,7 @@ msgstr "" msgid "An error has occurred" msgstr "Hiba történt" -#: ../wxui/clone.py:109 +#: ../wxui/clone.py:111 msgid "Applying settings" msgstr "" @@ -726,12 +747,12 @@ msgstr "" msgid "Cloning" msgstr "Klónozás" -#: ../drivers/bj9900.py:137 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 +#: ../drivers/bj9900.py:133 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 #, fuzzy msgid "Cloning from radio" msgstr "Letöltés a rádióról" -#: ../drivers/bj9900.py:164 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 +#: ../drivers/bj9900.py:160 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 #, fuzzy msgid "Cloning to radio" msgstr "Feltöltés a rádióra" @@ -753,11 +774,11 @@ msgstr "Memóriasorok összehasonlítása" msgid "Comment" msgstr "Megjegyzés" -#: ../wxui/clone.py:215 +#: ../wxui/clone.py:217 msgid "Communicate with radio" msgstr "" -#: ../wxui/clone.py:117 +#: ../wxui/clone.py:119 #, fuzzy msgid "Complete" msgstr "Befejeződött" @@ -780,7 +801,7 @@ msgstr "" msgid "Cross mode" msgstr "Kereszt-üzem" -#: ../wxui/clone.py:319 ../wxui/clone.py:394 +#: ../wxui/clone.py:36 msgid "Custom..." msgstr "" @@ -849,7 +870,7 @@ msgstr "Engedélyezve" msgid "Distance" msgstr "" -#: ../wxui/clone.py:165 +#: ../wxui/clone.py:167 #, python-format msgid "Do not prompt again for %s" msgstr "" @@ -867,7 +888,7 @@ msgstr "" msgid "Download from radio" msgstr "Letöltés a rádióról" -#: ../wxui/clone.py:502 +#: ../wxui/clone.py:512 #, fuzzy msgid "Download instructions" msgstr "{name} Utasítások" @@ -913,7 +934,7 @@ msgstr "" msgid "Enter a new name for bank %s:" msgstr "" -#: ../wxui/clone.py:395 +#: ../wxui/clone.py:405 msgid "Enter custom port:" msgstr "" @@ -927,11 +948,11 @@ msgstr "A(z) {loc}. memóriahely törlése" msgid "Error applying settings" msgstr "Hiba a(z) %s érték beállításakor" -#: ../wxui/clone.py:439 +#: ../wxui/clone.py:449 msgid "Error communicating with radio" msgstr "" -#: ../wxui/clone.py:470 +#: ../wxui/clone.py:480 #, fuzzy msgid "Experimental driver" msgstr "Folytassam kísérleti driver-rel?" @@ -1009,7 +1030,7 @@ msgid "" "3 - Disconnect your interface cable\n" msgstr "" -#: ../drivers/th_uv8000.py:533 +#: ../drivers/th_uv8000.py:525 msgid "" "Follow these instructions to download the radio memory:\n" "1 - Turn off your radio\n" @@ -1018,7 +1039,7 @@ msgid "" "4 - Radio > Download from radio\n" msgstr "" -#: ../drivers/ic2730.py:313 +#: ../drivers/ic2730.py:312 msgid "" "Follow these instructions to download your config:\n" "1 - Turn off your radio\n" @@ -1029,9 +1050,9 @@ msgid "" " no right-side audio!\n" msgstr "" -#: ../drivers/mursv1.py:343 ../drivers/baofeng_wp970i.py:326 +#: ../drivers/mursv1.py:342 ../drivers/baofeng_wp970i.py:325 #: ../drivers/btech.py:689 ../drivers/gmrsuv1.py:392 -#: ../drivers/tdxone_tdq8a.py:456 ../drivers/uv6r.py:342 +#: ../drivers/tdxone_tdq8a.py:455 ../drivers/uv6r.py:342 #: ../drivers/uv5x3.py:418 ../drivers/gmrsv2.py:364 ../drivers/bf_t1.py:483 msgid "" "Follow these instructions to download your info:\n" @@ -1050,7 +1071,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/tk760.py:344 +#: ../drivers/tk760.py:343 msgid "" "Follow these instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1077,7 +1098,7 @@ msgid "" "3 - Disconnect your interface cable\n" msgstr "" -#: ../drivers/th_uv8000.py:539 +#: ../drivers/th_uv8000.py:531 msgid "" "Follow these instructions to upload the radio memory:\n" "1 - Turn off your radio\n" @@ -1086,7 +1107,7 @@ msgid "" "4 - Radio > Upload to radio\n" msgstr "" -#: ../drivers/ic2730.py:321 +#: ../drivers/ic2730.py:320 msgid "" "Follow these instructions to upload your config:\n" "1 - Turn off your radio\n" @@ -1116,7 +1137,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/tk760.py:350 +#: ../drivers/tk760.py:349 msgid "" "Follow these instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1125,7 +1146,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:522 +#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:497 msgid "" "Follow this instructions to download your info:\n" "1 - Turn off your radio\n" @@ -1134,7 +1155,7 @@ msgid "" "4 - Do the download of your radio data\n" msgstr "" -#: ../drivers/tk270.py:341 +#: ../drivers/tk270.py:340 msgid "" "Follow this instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1143,9 +1164,9 @@ msgid "" "4 - Do the download of your radio data\n" msgstr "" -#: ../drivers/vgc.py:605 ../drivers/mursv1.py:349 -#: ../drivers/baofeng_wp970i.py:332 ../drivers/gmrsuv1.py:398 -#: ../drivers/lt725uv.py:528 ../drivers/tdxone_tdq8a.py:462 +#: ../drivers/vgc.py:605 ../drivers/mursv1.py:348 +#: ../drivers/baofeng_wp970i.py:331 ../drivers/gmrsuv1.py:398 +#: ../drivers/lt725uv.py:503 ../drivers/tdxone_tdq8a.py:461 #: ../drivers/uv6r.py:348 ../drivers/uv5x3.py:424 ../drivers/gmrsv2.py:370 msgid "" "Follow this instructions to upload your info:\n" @@ -1155,7 +1176,7 @@ msgid "" "4 - Do the upload of your radio data\n" msgstr "" -#: ../drivers/tk270.py:347 +#: ../drivers/tk270.py:346 msgid "" "Follow this instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1197,7 +1218,7 @@ msgstr "ez a memória" msgid "Goto Memory:" msgstr "ez a memória" -#: ../wxui/clone.py:319 ../wxui/clone.py:401 +#: ../wxui/clone.py:35 msgid "Help Me..." msgstr "" @@ -1329,7 +1350,7 @@ msgid "" "despite this risk?" msgstr "" -#: ../wxui/clone.py:111 +#: ../wxui/clone.py:113 msgid "Loading settings" msgstr "" @@ -1360,7 +1381,7 @@ msgstr "" msgid "Mode" msgstr "Mód" -#: ../wxui/clone.py:243 +#: ../wxui/clone.py:246 msgid "Model" msgstr "Modell" @@ -1383,7 +1404,7 @@ msgstr "Modul betöltése" msgid "Module loaded successfully" msgstr "" -#: ../wxui/clone.py:366 +#: ../wxui/clone.py:374 #, python-format msgid "More than one port found: %s" msgstr "" @@ -1532,7 +1553,7 @@ msgstr "" msgid "Please be sure to quit CHIRP before installing the new version!" msgstr "" -#: ../drivers/ftlx011.py:303 +#: ../drivers/ftlx011.py:302 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1547,7 +1568,7 @@ msgid "" "get into normal mode.\n" msgstr "" -#: ../drivers/ftlx011.py:294 +#: ../drivers/ftlx011.py:293 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1570,11 +1591,11 @@ msgstr "" msgid "Please wait" msgstr "" -#: ../wxui/clone.py:344 +#: ../wxui/clone.py:351 msgid "Plug in your cable and then click OK" msgstr "" -#: ../wxui/clone.py:236 +#: ../wxui/clone.py:239 msgid "Port" msgstr "Port" @@ -1618,12 +1639,12 @@ msgstr "RX DTCS kód" msgid "Radio" msgstr "Rádió" -#: ../drivers/ft60.py:86 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 +#: ../drivers/ft60.py:85 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 #, python-format msgid "Radio did not ack block %i" msgstr "" -#: ../wxui/clone.py:494 ../wxui/clone.py:559 +#: ../wxui/clone.py:504 ../wxui/clone.py:569 #, fuzzy msgid "Radio information" msgstr "%s információk lekérése" @@ -1837,7 +1858,7 @@ msgstr "" msgid "This is an early stage beta driver - upload at your own risk\n" msgstr "" -#: ../drivers/bj9900.py:112 +#: ../drivers/bj9900.py:108 msgid "" "This is experimental support for BJ-9900 which is still under development.\n" "Please ensure you have a good backup with OEM software.\n" @@ -1886,12 +1907,12 @@ msgstr "ToneSql" msgid "Tuning Step" msgstr "Lépésköz" -#: ../wxui/clone.py:338 ../wxui/clone.py:345 ../wxui/clone.py:356 -#: ../wxui/clone.py:363 ../wxui/clone.py:367 +#: ../wxui/clone.py:345 ../wxui/clone.py:352 ../wxui/clone.py:363 +#: ../wxui/clone.py:371 ../wxui/clone.py:375 msgid "USB Port Finder" msgstr "" -#: ../wxui/clone.py:354 +#: ../wxui/clone.py:361 msgid "" "Unable to determine port for your cable. Check your drivers and connections." msgstr "" @@ -1931,11 +1952,11 @@ msgstr "Ennél a modellnél nem változtatható" msgid "United States" msgstr "" -#: ../wxui/clone.py:337 +#: ../wxui/clone.py:344 msgid "Unplug your cable (if needed) and then click OK" msgstr "" -#: ../wxui/clone.py:574 +#: ../wxui/clone.py:584 #, fuzzy msgid "Upload instructions" msgstr "{instructions}" @@ -1982,7 +2003,7 @@ msgstr "" msgid "Value must be zero or greater" msgstr "" -#: ../wxui/clone.py:239 +#: ../wxui/clone.py:242 msgid "Vendor" msgstr "Gyártó" @@ -2008,7 +2029,7 @@ msgstr "" msgid "Would you like CHIRP to install a desktop icon for you?" msgstr "" -#: ../wxui/clone.py:361 +#: ../wxui/clone.py:369 msgid "Your cable appears to be on port:" msgstr "" diff --git a/chirp/locale/it.po b/chirp/locale/it.po index beb9ed174..c337a4f57 100644 --- a/chirp/locale/it.po +++ b/chirp/locale/it.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: CHIRP\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-21 15:28-0700\n" +"POT-Creation-Date: 2023-06-26 18:46-0700\n" "PO-Revision-Date: 2014-11-08 17:58+0100\n" "Last-Translator: Dan Smith \n" "Language-Team: English\n" @@ -199,7 +199,7 @@ msgid "" " press the [C](SEND) key to send image.\n" msgstr "" -#: ../drivers/ft7800.py:839 +#: ../drivers/ft7800.py:838 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -212,7 +212,7 @@ msgid "" " send image.\n" msgstr "" -#: ../drivers/ft7800.py:849 +#: ../drivers/ft7800.py:848 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -243,7 +243,7 @@ msgid "" "4. Press the [MODE] key (\"-WAIT-\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft7800.py:287 +#: ../drivers/ft7800.py:286 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -256,7 +256,7 @@ msgid "" "6. Press the [LOW(ACC)] key (\"--RX--\" will appear on the display).\n" msgstr "" -#: ../drivers/ft7800.py:276 +#: ../drivers/ft7800.py:275 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -377,7 +377,7 @@ msgid "" "5. Press OK.\n" msgstr "" -#: ../drivers/vx6.py:369 ../drivers/vx3.py:374 +#: ../drivers/vx6.py:369 ../drivers/vx3.py:373 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -386,7 +386,7 @@ msgid "" "4. After clicking OK, press the [BAND] key to send image.\n" msgstr "" -#: ../drivers/vx6.py:376 ../drivers/vx3.py:381 +#: ../drivers/vx6.py:376 ../drivers/vx3.py:380 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -413,7 +413,7 @@ msgid "" "4. Press the [V/M] key (\"CLONE WAIT\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft60.py:355 +#: ../drivers/ft60.py:354 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -425,7 +425,7 @@ msgid "" " for one second to send image.\n" msgstr "" -#: ../drivers/ft60.py:364 +#: ../drivers/ft60.py:363 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -481,7 +481,7 @@ msgid "" "4. Press the [D/MR(MW)] key (\"--WAIT--\" will appear on the LCD).\n" msgstr "" -#: ../drivers/uv5r.py:777 +#: ../drivers/uv5r.py:743 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -491,7 +491,7 @@ msgid "" "6. Click OK to download image from device.\n" msgstr "" -#: ../drivers/uv5r.py:785 +#: ../drivers/uv5r.py:751 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -537,7 +537,7 @@ msgid "" "4. Press the key to receive the image.\n" msgstr "" -#: ../drivers/ft90.py:196 +#: ../drivers/ft90.py:195 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -546,7 +546,7 @@ msgid "" "4. After clicking OK, press the [SET] key to send image.\n" msgstr "" -#: ../drivers/ft90.py:203 +#: ../drivers/ft90.py:202 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -556,7 +556,7 @@ msgid "" " (\"R\" will appear on the lower left of LCD).\n" msgstr "" -#: ../drivers/bj9900.py:106 +#: ../drivers/bj9900.py:102 msgid "" "1. Turn radio off.\n" "2. Remove front head.\n" @@ -574,7 +574,7 @@ msgid "" "5. Press the [moni] key (\"-RX-\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft70.py:552 +#: ../drivers/ft70.py:551 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -584,7 +584,7 @@ msgid "" "5. After clicking OK, press the [BAND] key.\n" msgstr "" -#: ../drivers/ft70.py:560 +#: ../drivers/ft70.py:559 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -595,6 +595,27 @@ msgid "" " click Then" msgstr "" +#: ../drivers/uvk5.py:636 +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to download image from device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already " +"attached\n" +msgstr "" + +#: ../drivers/uvk5.py:643 +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to upload the image to device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already attached" +msgstr "" + #: ../wxui/main.py:1685 msgid "" "A new CHIRP version is available. Please visit the website as soon as " @@ -630,7 +651,7 @@ msgstr "" msgid "An error has occurred" msgstr "Si e' verificato un errore" -#: ../wxui/clone.py:109 +#: ../wxui/clone.py:111 msgid "Applying settings" msgstr "" @@ -726,12 +747,12 @@ msgstr "" msgid "Cloning" msgstr "Programmazione" -#: ../drivers/bj9900.py:137 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 +#: ../drivers/bj9900.py:133 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 #, fuzzy msgid "Cloning from radio" msgstr "Leggi da Radio" -#: ../drivers/bj9900.py:164 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 +#: ../drivers/bj9900.py:160 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 #, fuzzy msgid "Cloning to radio" msgstr "Scrivi su Radio" @@ -753,11 +774,11 @@ msgstr "Diff memorie Raw" msgid "Comment" msgstr "Commento" -#: ../wxui/clone.py:215 +#: ../wxui/clone.py:217 msgid "Communicate with radio" msgstr "" -#: ../wxui/clone.py:117 +#: ../wxui/clone.py:119 #, fuzzy msgid "Complete" msgstr "Completato" @@ -781,7 +802,7 @@ msgstr "" msgid "Cross mode" msgstr "Cross Mode" -#: ../wxui/clone.py:319 ../wxui/clone.py:394 +#: ../wxui/clone.py:36 msgid "Custom..." msgstr "" @@ -848,7 +869,7 @@ msgstr "" msgid "Distance" msgstr "" -#: ../wxui/clone.py:165 +#: ../wxui/clone.py:167 #, python-format msgid "Do not prompt again for %s" msgstr "" @@ -866,7 +887,7 @@ msgstr "" msgid "Download from radio" msgstr "Leggi da Radio" -#: ../wxui/clone.py:502 +#: ../wxui/clone.py:512 #, fuzzy msgid "Download instructions" msgstr "Leggi da Radio" @@ -911,7 +932,7 @@ msgstr "" msgid "Enter a new name for bank %s:" msgstr "" -#: ../wxui/clone.py:395 +#: ../wxui/clone.py:405 msgid "Enter custom port:" msgstr "" @@ -925,11 +946,11 @@ msgstr "Cancellazione memoria {loc}" msgid "Error applying settings" msgstr "Errore di scrittura della memoria" -#: ../wxui/clone.py:439 +#: ../wxui/clone.py:449 msgid "Error communicating with radio" msgstr "" -#: ../wxui/clone.py:470 +#: ../wxui/clone.py:480 msgid "Experimental driver" msgstr "" @@ -1004,7 +1025,7 @@ msgid "" "3 - Disconnect your interface cable\n" msgstr "" -#: ../drivers/th_uv8000.py:533 +#: ../drivers/th_uv8000.py:525 msgid "" "Follow these instructions to download the radio memory:\n" "1 - Turn off your radio\n" @@ -1013,7 +1034,7 @@ msgid "" "4 - Radio > Download from radio\n" msgstr "" -#: ../drivers/ic2730.py:313 +#: ../drivers/ic2730.py:312 msgid "" "Follow these instructions to download your config:\n" "1 - Turn off your radio\n" @@ -1024,9 +1045,9 @@ msgid "" " no right-side audio!\n" msgstr "" -#: ../drivers/mursv1.py:343 ../drivers/baofeng_wp970i.py:326 +#: ../drivers/mursv1.py:342 ../drivers/baofeng_wp970i.py:325 #: ../drivers/btech.py:689 ../drivers/gmrsuv1.py:392 -#: ../drivers/tdxone_tdq8a.py:456 ../drivers/uv6r.py:342 +#: ../drivers/tdxone_tdq8a.py:455 ../drivers/uv6r.py:342 #: ../drivers/uv5x3.py:418 ../drivers/gmrsv2.py:364 ../drivers/bf_t1.py:483 msgid "" "Follow these instructions to download your info:\n" @@ -1045,7 +1066,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/tk760.py:344 +#: ../drivers/tk760.py:343 msgid "" "Follow these instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1072,7 +1093,7 @@ msgid "" "3 - Disconnect your interface cable\n" msgstr "" -#: ../drivers/th_uv8000.py:539 +#: ../drivers/th_uv8000.py:531 msgid "" "Follow these instructions to upload the radio memory:\n" "1 - Turn off your radio\n" @@ -1081,7 +1102,7 @@ msgid "" "4 - Radio > Upload to radio\n" msgstr "" -#: ../drivers/ic2730.py:321 +#: ../drivers/ic2730.py:320 msgid "" "Follow these instructions to upload your config:\n" "1 - Turn off your radio\n" @@ -1111,7 +1132,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/tk760.py:350 +#: ../drivers/tk760.py:349 msgid "" "Follow these instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1120,7 +1141,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:522 +#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:497 msgid "" "Follow this instructions to download your info:\n" "1 - Turn off your radio\n" @@ -1129,7 +1150,7 @@ msgid "" "4 - Do the download of your radio data\n" msgstr "" -#: ../drivers/tk270.py:341 +#: ../drivers/tk270.py:340 msgid "" "Follow this instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1138,9 +1159,9 @@ msgid "" "4 - Do the download of your radio data\n" msgstr "" -#: ../drivers/vgc.py:605 ../drivers/mursv1.py:349 -#: ../drivers/baofeng_wp970i.py:332 ../drivers/gmrsuv1.py:398 -#: ../drivers/lt725uv.py:528 ../drivers/tdxone_tdq8a.py:462 +#: ../drivers/vgc.py:605 ../drivers/mursv1.py:348 +#: ../drivers/baofeng_wp970i.py:331 ../drivers/gmrsuv1.py:398 +#: ../drivers/lt725uv.py:503 ../drivers/tdxone_tdq8a.py:461 #: ../drivers/uv6r.py:348 ../drivers/uv5x3.py:424 ../drivers/gmrsv2.py:370 msgid "" "Follow this instructions to upload your info:\n" @@ -1150,7 +1171,7 @@ msgid "" "4 - Do the upload of your radio data\n" msgstr "" -#: ../drivers/tk270.py:347 +#: ../drivers/tk270.py:346 msgid "" "Follow this instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1190,7 +1211,7 @@ msgstr "Mostra memorie Raw" msgid "Goto Memory:" msgstr "" -#: ../wxui/clone.py:319 ../wxui/clone.py:401 +#: ../wxui/clone.py:35 msgid "Help Me..." msgstr "" @@ -1323,7 +1344,7 @@ msgid "" "despite this risk?" msgstr "" -#: ../wxui/clone.py:111 +#: ../wxui/clone.py:113 msgid "Loading settings" msgstr "" @@ -1354,7 +1375,7 @@ msgstr "" msgid "Mode" msgstr "Modulazione" -#: ../wxui/clone.py:243 +#: ../wxui/clone.py:246 msgid "Model" msgstr "Modello" @@ -1375,7 +1396,7 @@ msgstr "" msgid "Module loaded successfully" msgstr "" -#: ../wxui/clone.py:366 +#: ../wxui/clone.py:374 #, python-format msgid "More than one port found: %s" msgstr "" @@ -1523,7 +1544,7 @@ msgstr "" msgid "Please be sure to quit CHIRP before installing the new version!" msgstr "" -#: ../drivers/ftlx011.py:303 +#: ../drivers/ftlx011.py:302 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1538,7 +1559,7 @@ msgid "" "get into normal mode.\n" msgstr "" -#: ../drivers/ftlx011.py:294 +#: ../drivers/ftlx011.py:293 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1561,11 +1582,11 @@ msgstr "" msgid "Please wait" msgstr "" -#: ../wxui/clone.py:344 +#: ../wxui/clone.py:351 msgid "Plug in your cable and then click OK" msgstr "" -#: ../wxui/clone.py:236 +#: ../wxui/clone.py:239 msgid "Port" msgstr "Porta" @@ -1607,12 +1628,12 @@ msgstr "" msgid "Radio" msgstr "Radio" -#: ../drivers/ft60.py:86 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 +#: ../drivers/ft60.py:85 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 #, python-format msgid "Radio did not ack block %i" msgstr "" -#: ../wxui/clone.py:494 ../wxui/clone.py:559 +#: ../wxui/clone.py:504 ../wxui/clone.py:569 #, fuzzy msgid "Radio information" msgstr "Recupero informazioni bank" @@ -1825,7 +1846,7 @@ msgstr "" msgid "This is an early stage beta driver - upload at your own risk\n" msgstr "" -#: ../drivers/bj9900.py:112 +#: ../drivers/bj9900.py:108 msgid "" "This is experimental support for BJ-9900 which is still under development.\n" "Please ensure you have a good backup with OEM software.\n" @@ -1874,12 +1895,12 @@ msgstr "ToneSql" msgid "Tuning Step" msgstr "Step sintonia" -#: ../wxui/clone.py:338 ../wxui/clone.py:345 ../wxui/clone.py:356 -#: ../wxui/clone.py:363 ../wxui/clone.py:367 +#: ../wxui/clone.py:345 ../wxui/clone.py:352 ../wxui/clone.py:363 +#: ../wxui/clone.py:371 ../wxui/clone.py:375 msgid "USB Port Finder" msgstr "" -#: ../wxui/clone.py:354 +#: ../wxui/clone.py:361 msgid "" "Unable to determine port for your cable. Check your drivers and connections." msgstr "" @@ -1919,11 +1940,11 @@ msgstr "Impossibile effettuare modifiche su questo modello" msgid "United States" msgstr "" -#: ../wxui/clone.py:337 +#: ../wxui/clone.py:344 msgid "Unplug your cable (if needed) and then click OK" msgstr "" -#: ../wxui/clone.py:574 +#: ../wxui/clone.py:584 msgid "Upload instructions" msgstr "" @@ -1969,7 +1990,7 @@ msgstr "" msgid "Value must be zero or greater" msgstr "" -#: ../wxui/clone.py:239 +#: ../wxui/clone.py:242 msgid "Vendor" msgstr "Produttore" @@ -1995,7 +2016,7 @@ msgstr "" msgid "Would you like CHIRP to install a desktop icon for you?" msgstr "" -#: ../wxui/clone.py:361 +#: ../wxui/clone.py:369 msgid "Your cable appears to be on port:" msgstr "" diff --git a/chirp/locale/nl.po b/chirp/locale/nl.po index c84c58652..773eeb6ac 100644 --- a/chirp/locale/nl.po +++ b/chirp/locale/nl.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: CHIRP\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-21 15:28-0700\n" +"POT-Creation-Date: 2023-06-26 18:46-0700\n" "PO-Revision-Date: 2012-03-18 12:01+0100\n" "Last-Translator: Michael Tel \n" "Language-Team: Dutch\n" @@ -199,7 +199,7 @@ msgid "" " press the [C](SEND) key to send image.\n" msgstr "" -#: ../drivers/ft7800.py:839 +#: ../drivers/ft7800.py:838 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -212,7 +212,7 @@ msgid "" " send image.\n" msgstr "" -#: ../drivers/ft7800.py:849 +#: ../drivers/ft7800.py:848 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -243,7 +243,7 @@ msgid "" "4. Press the [MODE] key (\"-WAIT-\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft7800.py:287 +#: ../drivers/ft7800.py:286 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -256,7 +256,7 @@ msgid "" "6. Press the [LOW(ACC)] key (\"--RX--\" will appear on the display).\n" msgstr "" -#: ../drivers/ft7800.py:276 +#: ../drivers/ft7800.py:275 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -377,7 +377,7 @@ msgid "" "5. Press OK.\n" msgstr "" -#: ../drivers/vx6.py:369 ../drivers/vx3.py:374 +#: ../drivers/vx6.py:369 ../drivers/vx3.py:373 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -386,7 +386,7 @@ msgid "" "4. After clicking OK, press the [BAND] key to send image.\n" msgstr "" -#: ../drivers/vx6.py:376 ../drivers/vx3.py:381 +#: ../drivers/vx6.py:376 ../drivers/vx3.py:380 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -413,7 +413,7 @@ msgid "" "4. Press the [V/M] key (\"CLONE WAIT\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft60.py:355 +#: ../drivers/ft60.py:354 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -425,7 +425,7 @@ msgid "" " for one second to send image.\n" msgstr "" -#: ../drivers/ft60.py:364 +#: ../drivers/ft60.py:363 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -481,7 +481,7 @@ msgid "" "4. Press the [D/MR(MW)] key (\"--WAIT--\" will appear on the LCD).\n" msgstr "" -#: ../drivers/uv5r.py:777 +#: ../drivers/uv5r.py:743 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -491,7 +491,7 @@ msgid "" "6. Click OK to download image from device.\n" msgstr "" -#: ../drivers/uv5r.py:785 +#: ../drivers/uv5r.py:751 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -537,7 +537,7 @@ msgid "" "4. Press the key to receive the image.\n" msgstr "" -#: ../drivers/ft90.py:196 +#: ../drivers/ft90.py:195 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -546,7 +546,7 @@ msgid "" "4. After clicking OK, press the [SET] key to send image.\n" msgstr "" -#: ../drivers/ft90.py:203 +#: ../drivers/ft90.py:202 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -556,7 +556,7 @@ msgid "" " (\"R\" will appear on the lower left of LCD).\n" msgstr "" -#: ../drivers/bj9900.py:106 +#: ../drivers/bj9900.py:102 msgid "" "1. Turn radio off.\n" "2. Remove front head.\n" @@ -574,7 +574,7 @@ msgid "" "5. Press the [moni] key (\"-RX-\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft70.py:552 +#: ../drivers/ft70.py:551 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -584,7 +584,7 @@ msgid "" "5. After clicking OK, press the [BAND] key.\n" msgstr "" -#: ../drivers/ft70.py:560 +#: ../drivers/ft70.py:559 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -595,6 +595,27 @@ msgid "" " click Then" msgstr "" +#: ../drivers/uvk5.py:636 +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to download image from device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already " +"attached\n" +msgstr "" + +#: ../drivers/uvk5.py:643 +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to upload the image to device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already attached" +msgstr "" + #: ../wxui/main.py:1685 msgid "" "A new CHIRP version is available. Please visit the website as soon as " @@ -630,7 +651,7 @@ msgstr "" msgid "An error has occurred" msgstr "Er is een fout opgetreden" -#: ../wxui/clone.py:109 +#: ../wxui/clone.py:111 msgid "Applying settings" msgstr "" @@ -726,12 +747,12 @@ msgstr "" msgid "Cloning" msgstr "Klonen" -#: ../drivers/bj9900.py:137 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 +#: ../drivers/bj9900.py:133 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 #, fuzzy msgid "Cloning from radio" msgstr "Download van radio" -#: ../drivers/bj9900.py:164 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 +#: ../drivers/bj9900.py:160 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 #, fuzzy msgid "Cloning to radio" msgstr "Naar radio uploaden" @@ -753,11 +774,11 @@ msgstr "Verschillen ruwe kanalen" msgid "Comment" msgstr "Opmerking" -#: ../wxui/clone.py:215 +#: ../wxui/clone.py:217 msgid "Communicate with radio" msgstr "" -#: ../wxui/clone.py:117 +#: ../wxui/clone.py:119 #, fuzzy msgid "Complete" msgstr "Volbracht" @@ -781,7 +802,7 @@ msgstr "" msgid "Cross mode" msgstr "Cross-mode" -#: ../wxui/clone.py:319 ../wxui/clone.py:394 +#: ../wxui/clone.py:36 msgid "Custom..." msgstr "" @@ -848,7 +869,7 @@ msgstr "" msgid "Distance" msgstr "" -#: ../wxui/clone.py:165 +#: ../wxui/clone.py:167 #, python-format msgid "Do not prompt again for %s" msgstr "" @@ -866,7 +887,7 @@ msgstr "" msgid "Download from radio" msgstr "Download van radio" -#: ../wxui/clone.py:502 +#: ../wxui/clone.py:512 #, fuzzy msgid "Download instructions" msgstr "Download van radio" @@ -911,7 +932,7 @@ msgstr "" msgid "Enter a new name for bank %s:" msgstr "" -#: ../wxui/clone.py:395 +#: ../wxui/clone.py:405 msgid "Enter custom port:" msgstr "" @@ -925,11 +946,11 @@ msgstr "Wis kanaal {loc}" msgid "Error applying settings" msgstr "Fout bij het instellen van het geheugen" -#: ../wxui/clone.py:439 +#: ../wxui/clone.py:449 msgid "Error communicating with radio" msgstr "" -#: ../wxui/clone.py:470 +#: ../wxui/clone.py:480 msgid "Experimental driver" msgstr "" @@ -1004,7 +1025,7 @@ msgid "" "3 - Disconnect your interface cable\n" msgstr "" -#: ../drivers/th_uv8000.py:533 +#: ../drivers/th_uv8000.py:525 msgid "" "Follow these instructions to download the radio memory:\n" "1 - Turn off your radio\n" @@ -1013,7 +1034,7 @@ msgid "" "4 - Radio > Download from radio\n" msgstr "" -#: ../drivers/ic2730.py:313 +#: ../drivers/ic2730.py:312 msgid "" "Follow these instructions to download your config:\n" "1 - Turn off your radio\n" @@ -1024,9 +1045,9 @@ msgid "" " no right-side audio!\n" msgstr "" -#: ../drivers/mursv1.py:343 ../drivers/baofeng_wp970i.py:326 +#: ../drivers/mursv1.py:342 ../drivers/baofeng_wp970i.py:325 #: ../drivers/btech.py:689 ../drivers/gmrsuv1.py:392 -#: ../drivers/tdxone_tdq8a.py:456 ../drivers/uv6r.py:342 +#: ../drivers/tdxone_tdq8a.py:455 ../drivers/uv6r.py:342 #: ../drivers/uv5x3.py:418 ../drivers/gmrsv2.py:364 ../drivers/bf_t1.py:483 msgid "" "Follow these instructions to download your info:\n" @@ -1045,7 +1066,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/tk760.py:344 +#: ../drivers/tk760.py:343 msgid "" "Follow these instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1072,7 +1093,7 @@ msgid "" "3 - Disconnect your interface cable\n" msgstr "" -#: ../drivers/th_uv8000.py:539 +#: ../drivers/th_uv8000.py:531 msgid "" "Follow these instructions to upload the radio memory:\n" "1 - Turn off your radio\n" @@ -1081,7 +1102,7 @@ msgid "" "4 - Radio > Upload to radio\n" msgstr "" -#: ../drivers/ic2730.py:321 +#: ../drivers/ic2730.py:320 msgid "" "Follow these instructions to upload your config:\n" "1 - Turn off your radio\n" @@ -1111,7 +1132,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/tk760.py:350 +#: ../drivers/tk760.py:349 msgid "" "Follow these instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1120,7 +1141,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:522 +#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:497 msgid "" "Follow this instructions to download your info:\n" "1 - Turn off your radio\n" @@ -1129,7 +1150,7 @@ msgid "" "4 - Do the download of your radio data\n" msgstr "" -#: ../drivers/tk270.py:341 +#: ../drivers/tk270.py:340 msgid "" "Follow this instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1138,9 +1159,9 @@ msgid "" "4 - Do the download of your radio data\n" msgstr "" -#: ../drivers/vgc.py:605 ../drivers/mursv1.py:349 -#: ../drivers/baofeng_wp970i.py:332 ../drivers/gmrsuv1.py:398 -#: ../drivers/lt725uv.py:528 ../drivers/tdxone_tdq8a.py:462 +#: ../drivers/vgc.py:605 ../drivers/mursv1.py:348 +#: ../drivers/baofeng_wp970i.py:331 ../drivers/gmrsuv1.py:398 +#: ../drivers/lt725uv.py:503 ../drivers/tdxone_tdq8a.py:461 #: ../drivers/uv6r.py:348 ../drivers/uv5x3.py:424 ../drivers/gmrsv2.py:370 msgid "" "Follow this instructions to upload your info:\n" @@ -1150,7 +1171,7 @@ msgid "" "4 - Do the upload of your radio data\n" msgstr "" -#: ../drivers/tk270.py:347 +#: ../drivers/tk270.py:346 msgid "" "Follow this instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1190,7 +1211,7 @@ msgstr "Toon ruw kanaal" msgid "Goto Memory:" msgstr "" -#: ../wxui/clone.py:319 ../wxui/clone.py:401 +#: ../wxui/clone.py:35 msgid "Help Me..." msgstr "" @@ -1323,7 +1344,7 @@ msgid "" "despite this risk?" msgstr "" -#: ../wxui/clone.py:111 +#: ../wxui/clone.py:113 msgid "Loading settings" msgstr "" @@ -1354,7 +1375,7 @@ msgstr "" msgid "Mode" msgstr "Mode" -#: ../wxui/clone.py:243 +#: ../wxui/clone.py:246 msgid "Model" msgstr "Model" @@ -1375,7 +1396,7 @@ msgstr "" msgid "Module loaded successfully" msgstr "" -#: ../wxui/clone.py:366 +#: ../wxui/clone.py:374 #, python-format msgid "More than one port found: %s" msgstr "" @@ -1523,7 +1544,7 @@ msgstr "" msgid "Please be sure to quit CHIRP before installing the new version!" msgstr "" -#: ../drivers/ftlx011.py:303 +#: ../drivers/ftlx011.py:302 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1538,7 +1559,7 @@ msgid "" "get into normal mode.\n" msgstr "" -#: ../drivers/ftlx011.py:294 +#: ../drivers/ftlx011.py:293 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1561,11 +1582,11 @@ msgstr "" msgid "Please wait" msgstr "" -#: ../wxui/clone.py:344 +#: ../wxui/clone.py:351 msgid "Plug in your cable and then click OK" msgstr "" -#: ../wxui/clone.py:236 +#: ../wxui/clone.py:239 msgid "Port" msgstr "Poort" @@ -1607,12 +1628,12 @@ msgstr "" msgid "Radio" msgstr "Radio" -#: ../drivers/ft60.py:86 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 +#: ../drivers/ft60.py:85 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 #, python-format msgid "Radio did not ack block %i" msgstr "" -#: ../wxui/clone.py:494 ../wxui/clone.py:559 +#: ../wxui/clone.py:504 ../wxui/clone.py:569 #, fuzzy msgid "Radio information" msgstr "Informatie van de bank ophalen" @@ -1824,7 +1845,7 @@ msgstr "" msgid "This is an early stage beta driver - upload at your own risk\n" msgstr "" -#: ../drivers/bj9900.py:112 +#: ../drivers/bj9900.py:108 msgid "" "This is experimental support for BJ-9900 which is still under development.\n" "Please ensure you have a good backup with OEM software.\n" @@ -1873,12 +1894,12 @@ msgstr "Toon squelch" msgid "Tuning Step" msgstr "Kanaal-afstand" -#: ../wxui/clone.py:338 ../wxui/clone.py:345 ../wxui/clone.py:356 -#: ../wxui/clone.py:363 ../wxui/clone.py:367 +#: ../wxui/clone.py:345 ../wxui/clone.py:352 ../wxui/clone.py:363 +#: ../wxui/clone.py:371 ../wxui/clone.py:375 msgid "USB Port Finder" msgstr "" -#: ../wxui/clone.py:354 +#: ../wxui/clone.py:361 msgid "" "Unable to determine port for your cable. Check your drivers and connections." msgstr "" @@ -1918,11 +1939,11 @@ msgstr "Niet in staat om wijzigingen voor dit model te maken" msgid "United States" msgstr "" -#: ../wxui/clone.py:337 +#: ../wxui/clone.py:344 msgid "Unplug your cable (if needed) and then click OK" msgstr "" -#: ../wxui/clone.py:574 +#: ../wxui/clone.py:584 msgid "Upload instructions" msgstr "" @@ -1968,7 +1989,7 @@ msgstr "" msgid "Value must be zero or greater" msgstr "" -#: ../wxui/clone.py:239 +#: ../wxui/clone.py:242 msgid "Vendor" msgstr "Merk" @@ -1994,7 +2015,7 @@ msgstr "" msgid "Would you like CHIRP to install a desktop icon for you?" msgstr "" -#: ../wxui/clone.py:361 +#: ../wxui/clone.py:369 msgid "Your cable appears to be on port:" msgstr "" diff --git a/chirp/locale/pl.po b/chirp/locale/pl.po index 669ae4e56..c2574e9c9 100644 --- a/chirp/locale/pl.po +++ b/chirp/locale/pl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: CHIRP\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-21 15:28-0700\n" +"POT-Creation-Date: 2023-06-26 18:46-0700\n" "PO-Revision-Date: 2011-12-07 11:35+0100\n" "Last-Translator: Grzegorz Błoński-Kubiak \n" "Language-Team: Polish\n" @@ -199,7 +199,7 @@ msgid "" " press the [C](SEND) key to send image.\n" msgstr "" -#: ../drivers/ft7800.py:839 +#: ../drivers/ft7800.py:838 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -212,7 +212,7 @@ msgid "" " send image.\n" msgstr "" -#: ../drivers/ft7800.py:849 +#: ../drivers/ft7800.py:848 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -243,7 +243,7 @@ msgid "" "4. Press the [MODE] key (\"-WAIT-\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft7800.py:287 +#: ../drivers/ft7800.py:286 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -256,7 +256,7 @@ msgid "" "6. Press the [LOW(ACC)] key (\"--RX--\" will appear on the display).\n" msgstr "" -#: ../drivers/ft7800.py:276 +#: ../drivers/ft7800.py:275 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -377,7 +377,7 @@ msgid "" "5. Press OK.\n" msgstr "" -#: ../drivers/vx6.py:369 ../drivers/vx3.py:374 +#: ../drivers/vx6.py:369 ../drivers/vx3.py:373 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -386,7 +386,7 @@ msgid "" "4. After clicking OK, press the [BAND] key to send image.\n" msgstr "" -#: ../drivers/vx6.py:376 ../drivers/vx3.py:381 +#: ../drivers/vx6.py:376 ../drivers/vx3.py:380 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -413,7 +413,7 @@ msgid "" "4. Press the [V/M] key (\"CLONE WAIT\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft60.py:355 +#: ../drivers/ft60.py:354 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -425,7 +425,7 @@ msgid "" " for one second to send image.\n" msgstr "" -#: ../drivers/ft60.py:364 +#: ../drivers/ft60.py:363 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -481,7 +481,7 @@ msgid "" "4. Press the [D/MR(MW)] key (\"--WAIT--\" will appear on the LCD).\n" msgstr "" -#: ../drivers/uv5r.py:777 +#: ../drivers/uv5r.py:743 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -491,7 +491,7 @@ msgid "" "6. Click OK to download image from device.\n" msgstr "" -#: ../drivers/uv5r.py:785 +#: ../drivers/uv5r.py:751 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -537,7 +537,7 @@ msgid "" "4. Press the key to receive the image.\n" msgstr "" -#: ../drivers/ft90.py:196 +#: ../drivers/ft90.py:195 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -546,7 +546,7 @@ msgid "" "4. After clicking OK, press the [SET] key to send image.\n" msgstr "" -#: ../drivers/ft90.py:203 +#: ../drivers/ft90.py:202 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -556,7 +556,7 @@ msgid "" " (\"R\" will appear on the lower left of LCD).\n" msgstr "" -#: ../drivers/bj9900.py:106 +#: ../drivers/bj9900.py:102 msgid "" "1. Turn radio off.\n" "2. Remove front head.\n" @@ -574,7 +574,7 @@ msgid "" "5. Press the [moni] key (\"-RX-\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft70.py:552 +#: ../drivers/ft70.py:551 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -584,7 +584,7 @@ msgid "" "5. After clicking OK, press the [BAND] key.\n" msgstr "" -#: ../drivers/ft70.py:560 +#: ../drivers/ft70.py:559 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -595,6 +595,27 @@ msgid "" " click Then" msgstr "" +#: ../drivers/uvk5.py:636 +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to download image from device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already " +"attached\n" +msgstr "" + +#: ../drivers/uvk5.py:643 +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to upload the image to device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already attached" +msgstr "" + #: ../wxui/main.py:1685 msgid "" "A new CHIRP version is available. Please visit the website as soon as " @@ -630,7 +651,7 @@ msgstr "" msgid "An error has occurred" msgstr "Wystąpił błąd" -#: ../wxui/clone.py:109 +#: ../wxui/clone.py:111 msgid "Applying settings" msgstr "" @@ -727,12 +748,12 @@ msgstr "" msgid "Cloning" msgstr "Klonowanie" -#: ../drivers/bj9900.py:137 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 +#: ../drivers/bj9900.py:133 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 #, fuzzy msgid "Cloning from radio" msgstr "Pobierz z urządzenia" -#: ../drivers/bj9900.py:164 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 +#: ../drivers/bj9900.py:160 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 #, fuzzy msgid "Cloning to radio" msgstr "Wyślij do urządzenia" @@ -754,11 +775,11 @@ msgstr "Porównaj surowe pamięci" msgid "Comment" msgstr "" -#: ../wxui/clone.py:215 +#: ../wxui/clone.py:217 msgid "Communicate with radio" msgstr "" -#: ../wxui/clone.py:117 +#: ../wxui/clone.py:119 #, fuzzy msgid "Complete" msgstr "Ukończono pomyślnie" @@ -783,7 +804,7 @@ msgstr "" msgid "Cross mode" msgstr "Tryb krzyżowy" -#: ../wxui/clone.py:319 ../wxui/clone.py:394 +#: ../wxui/clone.py:36 msgid "Custom..." msgstr "" @@ -853,7 +874,7 @@ msgstr "" msgid "Distance" msgstr "" -#: ../wxui/clone.py:165 +#: ../wxui/clone.py:167 #, python-format msgid "Do not prompt again for %s" msgstr "" @@ -871,7 +892,7 @@ msgstr "" msgid "Download from radio" msgstr "Pobierz z urządzenia" -#: ../wxui/clone.py:502 +#: ../wxui/clone.py:512 #, fuzzy msgid "Download instructions" msgstr "Pobierz z urządzenia" @@ -916,7 +937,7 @@ msgstr "" msgid "Enter a new name for bank %s:" msgstr "" -#: ../wxui/clone.py:395 +#: ../wxui/clone.py:405 msgid "Enter custom port:" msgstr "" @@ -930,11 +951,11 @@ msgstr "Kasowanie pamięci {loc}" msgid "Error applying settings" msgstr "Błąd ustawiania pamięci" -#: ../wxui/clone.py:439 +#: ../wxui/clone.py:449 msgid "Error communicating with radio" msgstr "" -#: ../wxui/clone.py:470 +#: ../wxui/clone.py:480 msgid "Experimental driver" msgstr "" @@ -1009,7 +1030,7 @@ msgid "" "3 - Disconnect your interface cable\n" msgstr "" -#: ../drivers/th_uv8000.py:533 +#: ../drivers/th_uv8000.py:525 msgid "" "Follow these instructions to download the radio memory:\n" "1 - Turn off your radio\n" @@ -1018,7 +1039,7 @@ msgid "" "4 - Radio > Download from radio\n" msgstr "" -#: ../drivers/ic2730.py:313 +#: ../drivers/ic2730.py:312 msgid "" "Follow these instructions to download your config:\n" "1 - Turn off your radio\n" @@ -1029,9 +1050,9 @@ msgid "" " no right-side audio!\n" msgstr "" -#: ../drivers/mursv1.py:343 ../drivers/baofeng_wp970i.py:326 +#: ../drivers/mursv1.py:342 ../drivers/baofeng_wp970i.py:325 #: ../drivers/btech.py:689 ../drivers/gmrsuv1.py:392 -#: ../drivers/tdxone_tdq8a.py:456 ../drivers/uv6r.py:342 +#: ../drivers/tdxone_tdq8a.py:455 ../drivers/uv6r.py:342 #: ../drivers/uv5x3.py:418 ../drivers/gmrsv2.py:364 ../drivers/bf_t1.py:483 msgid "" "Follow these instructions to download your info:\n" @@ -1050,7 +1071,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/tk760.py:344 +#: ../drivers/tk760.py:343 msgid "" "Follow these instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1077,7 +1098,7 @@ msgid "" "3 - Disconnect your interface cable\n" msgstr "" -#: ../drivers/th_uv8000.py:539 +#: ../drivers/th_uv8000.py:531 msgid "" "Follow these instructions to upload the radio memory:\n" "1 - Turn off your radio\n" @@ -1086,7 +1107,7 @@ msgid "" "4 - Radio > Upload to radio\n" msgstr "" -#: ../drivers/ic2730.py:321 +#: ../drivers/ic2730.py:320 msgid "" "Follow these instructions to upload your config:\n" "1 - Turn off your radio\n" @@ -1116,7 +1137,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/tk760.py:350 +#: ../drivers/tk760.py:349 msgid "" "Follow these instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1125,7 +1146,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:522 +#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:497 msgid "" "Follow this instructions to download your info:\n" "1 - Turn off your radio\n" @@ -1134,7 +1155,7 @@ msgid "" "4 - Do the download of your radio data\n" msgstr "" -#: ../drivers/tk270.py:341 +#: ../drivers/tk270.py:340 msgid "" "Follow this instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1143,9 +1164,9 @@ msgid "" "4 - Do the download of your radio data\n" msgstr "" -#: ../drivers/vgc.py:605 ../drivers/mursv1.py:349 -#: ../drivers/baofeng_wp970i.py:332 ../drivers/gmrsuv1.py:398 -#: ../drivers/lt725uv.py:528 ../drivers/tdxone_tdq8a.py:462 +#: ../drivers/vgc.py:605 ../drivers/mursv1.py:348 +#: ../drivers/baofeng_wp970i.py:331 ../drivers/gmrsuv1.py:398 +#: ../drivers/lt725uv.py:503 ../drivers/tdxone_tdq8a.py:461 #: ../drivers/uv6r.py:348 ../drivers/uv5x3.py:424 ../drivers/gmrsv2.py:370 msgid "" "Follow this instructions to upload your info:\n" @@ -1155,7 +1176,7 @@ msgid "" "4 - Do the upload of your radio data\n" msgstr "" -#: ../drivers/tk270.py:347 +#: ../drivers/tk270.py:346 msgid "" "Follow this instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1195,7 +1216,7 @@ msgstr "Pokaż surową pamięć" msgid "Goto Memory:" msgstr "" -#: ../wxui/clone.py:319 ../wxui/clone.py:401 +#: ../wxui/clone.py:35 msgid "Help Me..." msgstr "" @@ -1330,7 +1351,7 @@ msgid "" "despite this risk?" msgstr "" -#: ../wxui/clone.py:111 +#: ../wxui/clone.py:113 msgid "Loading settings" msgstr "" @@ -1362,7 +1383,7 @@ msgstr "" msgid "Mode" msgstr "Tryb" -#: ../wxui/clone.py:243 +#: ../wxui/clone.py:246 #, fuzzy msgid "Model" msgstr "Tryb" @@ -1384,7 +1405,7 @@ msgstr "" msgid "Module loaded successfully" msgstr "" -#: ../wxui/clone.py:366 +#: ../wxui/clone.py:374 #, python-format msgid "More than one port found: %s" msgstr "" @@ -1532,7 +1553,7 @@ msgstr "" msgid "Please be sure to quit CHIRP before installing the new version!" msgstr "" -#: ../drivers/ftlx011.py:303 +#: ../drivers/ftlx011.py:302 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1547,7 +1568,7 @@ msgid "" "get into normal mode.\n" msgstr "" -#: ../drivers/ftlx011.py:294 +#: ../drivers/ftlx011.py:293 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1570,11 +1591,11 @@ msgstr "" msgid "Please wait" msgstr "" -#: ../wxui/clone.py:344 +#: ../wxui/clone.py:351 msgid "Plug in your cable and then click OK" msgstr "" -#: ../wxui/clone.py:236 +#: ../wxui/clone.py:239 msgid "Port" msgstr "Port" @@ -1617,12 +1638,12 @@ msgstr "" msgid "Radio" msgstr "_Urządzenie" -#: ../drivers/ft60.py:86 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 +#: ../drivers/ft60.py:85 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 #, python-format msgid "Radio did not ack block %i" msgstr "" -#: ../wxui/clone.py:494 ../wxui/clone.py:559 +#: ../wxui/clone.py:504 ../wxui/clone.py:569 #, fuzzy msgid "Radio information" msgstr "Pobieranie listy banków pamięci" @@ -1836,7 +1857,7 @@ msgstr "" msgid "This is an early stage beta driver - upload at your own risk\n" msgstr "" -#: ../drivers/bj9900.py:112 +#: ../drivers/bj9900.py:108 msgid "" "This is experimental support for BJ-9900 which is still under development.\n" "Please ensure you have a good backup with OEM software.\n" @@ -1885,12 +1906,12 @@ msgstr "Blokada tonu" msgid "Tuning Step" msgstr "Krok strojenia" -#: ../wxui/clone.py:338 ../wxui/clone.py:345 ../wxui/clone.py:356 -#: ../wxui/clone.py:363 ../wxui/clone.py:367 +#: ../wxui/clone.py:345 ../wxui/clone.py:352 ../wxui/clone.py:363 +#: ../wxui/clone.py:371 ../wxui/clone.py:375 msgid "USB Port Finder" msgstr "" -#: ../wxui/clone.py:354 +#: ../wxui/clone.py:361 msgid "" "Unable to determine port for your cable. Check your drivers and connections." msgstr "" @@ -1930,11 +1951,11 @@ msgstr "Nie potrafię wprowadzić zmian w tym modelu" msgid "United States" msgstr "" -#: ../wxui/clone.py:337 +#: ../wxui/clone.py:344 msgid "Unplug your cable (if needed) and then click OK" msgstr "" -#: ../wxui/clone.py:574 +#: ../wxui/clone.py:584 msgid "Upload instructions" msgstr "" @@ -1980,7 +2001,7 @@ msgstr "" msgid "Value must be zero or greater" msgstr "" -#: ../wxui/clone.py:239 +#: ../wxui/clone.py:242 msgid "Vendor" msgstr "Producent" @@ -2006,7 +2027,7 @@ msgstr "" msgid "Would you like CHIRP to install a desktop icon for you?" msgstr "" -#: ../wxui/clone.py:361 +#: ../wxui/clone.py:369 msgid "Your cable appears to be on port:" msgstr "" diff --git a/chirp/locale/pt_BR.po b/chirp/locale/pt_BR.po index 5def1e306..a5430a948 100644 --- a/chirp/locale/pt_BR.po +++ b/chirp/locale/pt_BR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: CHIRP\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-21 15:28-0700\n" +"POT-Creation-Date: 2023-06-26 18:46-0700\n" "PO-Revision-Date: 2013-03-30 22:04-0300\n" "Last-Translator: Crezivando \n" "Language-Team: Language pt-BR\n" @@ -198,7 +198,7 @@ msgid "" " press the [C](SEND) key to send image.\n" msgstr "" -#: ../drivers/ft7800.py:839 +#: ../drivers/ft7800.py:838 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -211,7 +211,7 @@ msgid "" " send image.\n" msgstr "" -#: ../drivers/ft7800.py:849 +#: ../drivers/ft7800.py:848 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -242,7 +242,7 @@ msgid "" "4. Press the [MODE] key (\"-WAIT-\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft7800.py:287 +#: ../drivers/ft7800.py:286 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -255,7 +255,7 @@ msgid "" "6. Press the [LOW(ACC)] key (\"--RX--\" will appear on the display).\n" msgstr "" -#: ../drivers/ft7800.py:276 +#: ../drivers/ft7800.py:275 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -376,7 +376,7 @@ msgid "" "5. Press OK.\n" msgstr "" -#: ../drivers/vx6.py:369 ../drivers/vx3.py:374 +#: ../drivers/vx6.py:369 ../drivers/vx3.py:373 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -385,7 +385,7 @@ msgid "" "4. After clicking OK, press the [BAND] key to send image.\n" msgstr "" -#: ../drivers/vx6.py:376 ../drivers/vx3.py:381 +#: ../drivers/vx6.py:376 ../drivers/vx3.py:380 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -412,7 +412,7 @@ msgid "" "4. Press the [V/M] key (\"CLONE WAIT\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft60.py:355 +#: ../drivers/ft60.py:354 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -424,7 +424,7 @@ msgid "" " for one second to send image.\n" msgstr "" -#: ../drivers/ft60.py:364 +#: ../drivers/ft60.py:363 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -480,7 +480,7 @@ msgid "" "4. Press the [D/MR(MW)] key (\"--WAIT--\" will appear on the LCD).\n" msgstr "" -#: ../drivers/uv5r.py:777 +#: ../drivers/uv5r.py:743 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -490,7 +490,7 @@ msgid "" "6. Click OK to download image from device.\n" msgstr "" -#: ../drivers/uv5r.py:785 +#: ../drivers/uv5r.py:751 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -536,7 +536,7 @@ msgid "" "4. Press the key to receive the image.\n" msgstr "" -#: ../drivers/ft90.py:196 +#: ../drivers/ft90.py:195 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -545,7 +545,7 @@ msgid "" "4. After clicking OK, press the [SET] key to send image.\n" msgstr "" -#: ../drivers/ft90.py:203 +#: ../drivers/ft90.py:202 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -555,7 +555,7 @@ msgid "" " (\"R\" will appear on the lower left of LCD).\n" msgstr "" -#: ../drivers/bj9900.py:106 +#: ../drivers/bj9900.py:102 msgid "" "1. Turn radio off.\n" "2. Remove front head.\n" @@ -573,7 +573,7 @@ msgid "" "5. Press the [moni] key (\"-RX-\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft70.py:552 +#: ../drivers/ft70.py:551 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -583,7 +583,7 @@ msgid "" "5. After clicking OK, press the [BAND] key.\n" msgstr "" -#: ../drivers/ft70.py:560 +#: ../drivers/ft70.py:559 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -594,6 +594,27 @@ msgid "" " click Then" msgstr "" +#: ../drivers/uvk5.py:636 +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to download image from device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already " +"attached\n" +msgstr "" + +#: ../drivers/uvk5.py:643 +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to upload the image to device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already attached" +msgstr "" + #: ../wxui/main.py:1685 msgid "" "A new CHIRP version is available. Please visit the website as soon as " @@ -629,7 +650,7 @@ msgstr "" msgid "An error has occurred" msgstr "Ocorreu um erro" -#: ../wxui/clone.py:109 +#: ../wxui/clone.py:111 msgid "Applying settings" msgstr "" @@ -725,12 +746,12 @@ msgstr "" msgid "Cloning" msgstr "Clonando" -#: ../drivers/bj9900.py:137 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 +#: ../drivers/bj9900.py:133 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 #, fuzzy msgid "Cloning from radio" msgstr "Descarregar a partir do Rdio" -#: ../drivers/bj9900.py:164 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 +#: ../drivers/bj9900.py:160 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 #, fuzzy msgid "Cloning to radio" msgstr "Carregar para o Rdio" @@ -752,11 +773,11 @@ msgstr "Diff Mem msgid "Comment" msgstr "Comentrio" -#: ../wxui/clone.py:215 +#: ../wxui/clone.py:217 msgid "Communicate with radio" msgstr "" -#: ../wxui/clone.py:117 +#: ../wxui/clone.py:119 #, fuzzy msgid "Complete" msgstr "Concludo" @@ -780,7 +801,7 @@ msgstr "" msgid "Cross mode" msgstr "Modo Cross" -#: ../wxui/clone.py:319 ../wxui/clone.py:394 +#: ../wxui/clone.py:36 msgid "Custom..." msgstr "" @@ -847,7 +868,7 @@ msgstr "" msgid "Distance" msgstr "" -#: ../wxui/clone.py:165 +#: ../wxui/clone.py:167 #, python-format msgid "Do not prompt again for %s" msgstr "" @@ -865,7 +886,7 @@ msgstr "" msgid "Download from radio" msgstr "Descarregar a partir do Rdio" -#: ../wxui/clone.py:502 +#: ../wxui/clone.py:512 #, fuzzy msgid "Download instructions" msgstr "Descarregar a partir do Rdio" @@ -910,7 +931,7 @@ msgstr "" msgid "Enter a new name for bank %s:" msgstr "" -#: ../wxui/clone.py:395 +#: ../wxui/clone.py:405 msgid "Enter custom port:" msgstr "" @@ -924,11 +945,11 @@ msgstr "Apagando mem msgid "Error applying settings" msgstr "Erro gravando memria" -#: ../wxui/clone.py:439 +#: ../wxui/clone.py:449 msgid "Error communicating with radio" msgstr "" -#: ../wxui/clone.py:470 +#: ../wxui/clone.py:480 msgid "Experimental driver" msgstr "" @@ -1003,7 +1024,7 @@ msgid "" "3 - Disconnect your interface cable\n" msgstr "" -#: ../drivers/th_uv8000.py:533 +#: ../drivers/th_uv8000.py:525 msgid "" "Follow these instructions to download the radio memory:\n" "1 - Turn off your radio\n" @@ -1012,7 +1033,7 @@ msgid "" "4 - Radio > Download from radio\n" msgstr "" -#: ../drivers/ic2730.py:313 +#: ../drivers/ic2730.py:312 msgid "" "Follow these instructions to download your config:\n" "1 - Turn off your radio\n" @@ -1023,9 +1044,9 @@ msgid "" " no right-side audio!\n" msgstr "" -#: ../drivers/mursv1.py:343 ../drivers/baofeng_wp970i.py:326 +#: ../drivers/mursv1.py:342 ../drivers/baofeng_wp970i.py:325 #: ../drivers/btech.py:689 ../drivers/gmrsuv1.py:392 -#: ../drivers/tdxone_tdq8a.py:456 ../drivers/uv6r.py:342 +#: ../drivers/tdxone_tdq8a.py:455 ../drivers/uv6r.py:342 #: ../drivers/uv5x3.py:418 ../drivers/gmrsv2.py:364 ../drivers/bf_t1.py:483 msgid "" "Follow these instructions to download your info:\n" @@ -1044,7 +1065,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/tk760.py:344 +#: ../drivers/tk760.py:343 msgid "" "Follow these instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1071,7 +1092,7 @@ msgid "" "3 - Disconnect your interface cable\n" msgstr "" -#: ../drivers/th_uv8000.py:539 +#: ../drivers/th_uv8000.py:531 msgid "" "Follow these instructions to upload the radio memory:\n" "1 - Turn off your radio\n" @@ -1080,7 +1101,7 @@ msgid "" "4 - Radio > Upload to radio\n" msgstr "" -#: ../drivers/ic2730.py:321 +#: ../drivers/ic2730.py:320 msgid "" "Follow these instructions to upload your config:\n" "1 - Turn off your radio\n" @@ -1110,7 +1131,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/tk760.py:350 +#: ../drivers/tk760.py:349 msgid "" "Follow these instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1119,7 +1140,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:522 +#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:497 msgid "" "Follow this instructions to download your info:\n" "1 - Turn off your radio\n" @@ -1128,7 +1149,7 @@ msgid "" "4 - Do the download of your radio data\n" msgstr "" -#: ../drivers/tk270.py:341 +#: ../drivers/tk270.py:340 msgid "" "Follow this instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1137,9 +1158,9 @@ msgid "" "4 - Do the download of your radio data\n" msgstr "" -#: ../drivers/vgc.py:605 ../drivers/mursv1.py:349 -#: ../drivers/baofeng_wp970i.py:332 ../drivers/gmrsuv1.py:398 -#: ../drivers/lt725uv.py:528 ../drivers/tdxone_tdq8a.py:462 +#: ../drivers/vgc.py:605 ../drivers/mursv1.py:348 +#: ../drivers/baofeng_wp970i.py:331 ../drivers/gmrsuv1.py:398 +#: ../drivers/lt725uv.py:503 ../drivers/tdxone_tdq8a.py:461 #: ../drivers/uv6r.py:348 ../drivers/uv5x3.py:424 ../drivers/gmrsv2.py:370 msgid "" "Follow this instructions to upload your info:\n" @@ -1149,7 +1170,7 @@ msgid "" "4 - Do the upload of your radio data\n" msgstr "" -#: ../drivers/tk270.py:347 +#: ../drivers/tk270.py:346 msgid "" "Follow this instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1189,7 +1210,7 @@ msgstr "Mostrar Mem msgid "Goto Memory:" msgstr "" -#: ../wxui/clone.py:319 ../wxui/clone.py:401 +#: ../wxui/clone.py:35 msgid "Help Me..." msgstr "" @@ -1322,7 +1343,7 @@ msgid "" "despite this risk?" msgstr "" -#: ../wxui/clone.py:111 +#: ../wxui/clone.py:113 msgid "Loading settings" msgstr "" @@ -1353,7 +1374,7 @@ msgstr "" msgid "Mode" msgstr "Modo" -#: ../wxui/clone.py:243 +#: ../wxui/clone.py:246 msgid "Model" msgstr "Modelo" @@ -1374,7 +1395,7 @@ msgstr "" msgid "Module loaded successfully" msgstr "" -#: ../wxui/clone.py:366 +#: ../wxui/clone.py:374 #, python-format msgid "More than one port found: %s" msgstr "" @@ -1522,7 +1543,7 @@ msgstr "" msgid "Please be sure to quit CHIRP before installing the new version!" msgstr "" -#: ../drivers/ftlx011.py:303 +#: ../drivers/ftlx011.py:302 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1537,7 +1558,7 @@ msgid "" "get into normal mode.\n" msgstr "" -#: ../drivers/ftlx011.py:294 +#: ../drivers/ftlx011.py:293 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1560,11 +1581,11 @@ msgstr "" msgid "Please wait" msgstr "" -#: ../wxui/clone.py:344 +#: ../wxui/clone.py:351 msgid "Plug in your cable and then click OK" msgstr "" -#: ../wxui/clone.py:236 +#: ../wxui/clone.py:239 msgid "Port" msgstr "Porta" @@ -1606,12 +1627,12 @@ msgstr "" msgid "Radio" msgstr "Rdio" -#: ../drivers/ft60.py:86 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 +#: ../drivers/ft60.py:85 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 #, python-format msgid "Radio did not ack block %i" msgstr "" -#: ../wxui/clone.py:494 ../wxui/clone.py:559 +#: ../wxui/clone.py:504 ../wxui/clone.py:569 #, fuzzy msgid "Radio information" msgstr "Recuperando informaes do banco" @@ -1823,7 +1844,7 @@ msgstr "" msgid "This is an early stage beta driver - upload at your own risk\n" msgstr "" -#: ../drivers/bj9900.py:112 +#: ../drivers/bj9900.py:108 msgid "" "This is experimental support for BJ-9900 which is still under development.\n" "Please ensure you have a good backup with OEM software.\n" @@ -1872,12 +1893,12 @@ msgstr "TomSql" msgid "Tuning Step" msgstr "Tune Step" -#: ../wxui/clone.py:338 ../wxui/clone.py:345 ../wxui/clone.py:356 -#: ../wxui/clone.py:363 ../wxui/clone.py:367 +#: ../wxui/clone.py:345 ../wxui/clone.py:352 ../wxui/clone.py:363 +#: ../wxui/clone.py:371 ../wxui/clone.py:375 msgid "USB Port Finder" msgstr "" -#: ../wxui/clone.py:354 +#: ../wxui/clone.py:361 msgid "" "Unable to determine port for your cable. Check your drivers and connections." msgstr "" @@ -1917,11 +1938,11 @@ msgstr "Incapaz de efetuar altera msgid "United States" msgstr "" -#: ../wxui/clone.py:337 +#: ../wxui/clone.py:344 msgid "Unplug your cable (if needed) and then click OK" msgstr "" -#: ../wxui/clone.py:574 +#: ../wxui/clone.py:584 msgid "Upload instructions" msgstr "" @@ -1967,7 +1988,7 @@ msgstr "" msgid "Value must be zero or greater" msgstr "" -#: ../wxui/clone.py:239 +#: ../wxui/clone.py:242 msgid "Vendor" msgstr "Fornecedor" @@ -1993,7 +2014,7 @@ msgstr "" msgid "Would you like CHIRP to install a desktop icon for you?" msgstr "" -#: ../wxui/clone.py:361 +#: ../wxui/clone.py:369 msgid "Your cable appears to be on port:" msgstr "" diff --git a/chirp/locale/ru.po b/chirp/locale/ru.po index 83024e20d..a7d8dfaba 100644 --- a/chirp/locale/ru.po +++ b/chirp/locale/ru.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: CHIRP\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-21 15:28-0700\n" +"POT-Creation-Date: 2023-06-26 18:46-0700\n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -190,7 +190,7 @@ msgid "" " press the [C](SEND) key to send image.\n" msgstr "" -#: ../drivers/ft7800.py:839 +#: ../drivers/ft7800.py:838 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -203,7 +203,7 @@ msgid "" " send image.\n" msgstr "" -#: ../drivers/ft7800.py:849 +#: ../drivers/ft7800.py:848 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -234,7 +234,7 @@ msgid "" "4. Press the [MODE] key (\"-WAIT-\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft7800.py:287 +#: ../drivers/ft7800.py:286 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -247,7 +247,7 @@ msgid "" "6. Press the [LOW(ACC)] key (\"--RX--\" will appear on the display).\n" msgstr "" -#: ../drivers/ft7800.py:276 +#: ../drivers/ft7800.py:275 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -368,7 +368,7 @@ msgid "" "5. Press OK.\n" msgstr "" -#: ../drivers/vx6.py:369 ../drivers/vx3.py:374 +#: ../drivers/vx6.py:369 ../drivers/vx3.py:373 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -377,7 +377,7 @@ msgid "" "4. After clicking OK, press the [BAND] key to send image.\n" msgstr "" -#: ../drivers/vx6.py:376 ../drivers/vx3.py:381 +#: ../drivers/vx6.py:376 ../drivers/vx3.py:380 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -404,7 +404,7 @@ msgid "" "4. Press the [V/M] key (\"CLONE WAIT\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft60.py:355 +#: ../drivers/ft60.py:354 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -416,7 +416,7 @@ msgid "" " for one second to send image.\n" msgstr "" -#: ../drivers/ft60.py:364 +#: ../drivers/ft60.py:363 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -472,7 +472,7 @@ msgid "" "4. Press the [D/MR(MW)] key (\"--WAIT--\" will appear on the LCD).\n" msgstr "" -#: ../drivers/uv5r.py:777 +#: ../drivers/uv5r.py:743 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -482,7 +482,7 @@ msgid "" "6. Click OK to download image from device.\n" msgstr "" -#: ../drivers/uv5r.py:785 +#: ../drivers/uv5r.py:751 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -528,7 +528,7 @@ msgid "" "4. Press the key to receive the image.\n" msgstr "" -#: ../drivers/ft90.py:196 +#: ../drivers/ft90.py:195 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -537,7 +537,7 @@ msgid "" "4. After clicking OK, press the [SET] key to send image.\n" msgstr "" -#: ../drivers/ft90.py:203 +#: ../drivers/ft90.py:202 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -547,7 +547,7 @@ msgid "" " (\"R\" will appear on the lower left of LCD).\n" msgstr "" -#: ../drivers/bj9900.py:106 +#: ../drivers/bj9900.py:102 msgid "" "1. Turn radio off.\n" "2. Remove front head.\n" @@ -565,7 +565,7 @@ msgid "" "5. Press the [moni] key (\"-RX-\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft70.py:552 +#: ../drivers/ft70.py:551 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -575,7 +575,7 @@ msgid "" "5. After clicking OK, press the [BAND] key.\n" msgstr "" -#: ../drivers/ft70.py:560 +#: ../drivers/ft70.py:559 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -586,6 +586,27 @@ msgid "" " click Then" msgstr "" +#: ../drivers/uvk5.py:636 +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to download image from device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already " +"attached\n" +msgstr "" + +#: ../drivers/uvk5.py:643 +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to upload the image to device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already attached" +msgstr "" + #: ../wxui/main.py:1685 msgid "" "A new CHIRP version is available. Please visit the website as soon as " @@ -621,7 +642,7 @@ msgstr "" msgid "An error has occurred" msgstr "Ошибка" -#: ../wxui/clone.py:109 +#: ../wxui/clone.py:111 msgid "Applying settings" msgstr "" @@ -717,12 +738,12 @@ msgstr "" msgid "Cloning" msgstr "Загрузка" -#: ../drivers/bj9900.py:137 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 +#: ../drivers/bj9900.py:133 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 #, fuzzy msgid "Cloning from radio" msgstr "Чтение из станции" -#: ../drivers/bj9900.py:164 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 +#: ../drivers/bj9900.py:160 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 #, fuzzy msgid "Cloning to radio" msgstr "Запись в станцию" @@ -744,11 +765,11 @@ msgstr "Diff raw memories" msgid "Comment" msgstr "Комментарий" -#: ../wxui/clone.py:215 +#: ../wxui/clone.py:217 msgid "Communicate with radio" msgstr "" -#: ../wxui/clone.py:117 +#: ../wxui/clone.py:119 #, fuzzy msgid "Complete" msgstr "Завершено" @@ -773,7 +794,7 @@ msgstr "" msgid "Cross mode" msgstr "Кроссрежим" -#: ../wxui/clone.py:319 ../wxui/clone.py:394 +#: ../wxui/clone.py:36 msgid "Custom..." msgstr "" @@ -843,7 +864,7 @@ msgstr "" msgid "Distance" msgstr "" -#: ../wxui/clone.py:165 +#: ../wxui/clone.py:167 #, python-format msgid "Do not prompt again for %s" msgstr "" @@ -861,7 +882,7 @@ msgstr "" msgid "Download from radio" msgstr "Чтение из станции" -#: ../wxui/clone.py:502 +#: ../wxui/clone.py:512 #, fuzzy msgid "Download instructions" msgstr "Чтение из станции" @@ -906,7 +927,7 @@ msgstr "" msgid "Enter a new name for bank %s:" msgstr "" -#: ../wxui/clone.py:395 +#: ../wxui/clone.py:405 msgid "Enter custom port:" msgstr "" @@ -920,11 +941,11 @@ msgstr "Стирание памяти {loc}" msgid "Error applying settings" msgstr "Ошибка установки памяти" -#: ../wxui/clone.py:439 +#: ../wxui/clone.py:449 msgid "Error communicating with radio" msgstr "" -#: ../wxui/clone.py:470 +#: ../wxui/clone.py:480 msgid "Experimental driver" msgstr "" @@ -999,7 +1020,7 @@ msgid "" "3 - Disconnect your interface cable\n" msgstr "" -#: ../drivers/th_uv8000.py:533 +#: ../drivers/th_uv8000.py:525 msgid "" "Follow these instructions to download the radio memory:\n" "1 - Turn off your radio\n" @@ -1008,7 +1029,7 @@ msgid "" "4 - Radio > Download from radio\n" msgstr "" -#: ../drivers/ic2730.py:313 +#: ../drivers/ic2730.py:312 msgid "" "Follow these instructions to download your config:\n" "1 - Turn off your radio\n" @@ -1019,9 +1040,9 @@ msgid "" " no right-side audio!\n" msgstr "" -#: ../drivers/mursv1.py:343 ../drivers/baofeng_wp970i.py:326 +#: ../drivers/mursv1.py:342 ../drivers/baofeng_wp970i.py:325 #: ../drivers/btech.py:689 ../drivers/gmrsuv1.py:392 -#: ../drivers/tdxone_tdq8a.py:456 ../drivers/uv6r.py:342 +#: ../drivers/tdxone_tdq8a.py:455 ../drivers/uv6r.py:342 #: ../drivers/uv5x3.py:418 ../drivers/gmrsv2.py:364 ../drivers/bf_t1.py:483 msgid "" "Follow these instructions to download your info:\n" @@ -1040,7 +1061,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/tk760.py:344 +#: ../drivers/tk760.py:343 msgid "" "Follow these instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1067,7 +1088,7 @@ msgid "" "3 - Disconnect your interface cable\n" msgstr "" -#: ../drivers/th_uv8000.py:539 +#: ../drivers/th_uv8000.py:531 msgid "" "Follow these instructions to upload the radio memory:\n" "1 - Turn off your radio\n" @@ -1076,7 +1097,7 @@ msgid "" "4 - Radio > Upload to radio\n" msgstr "" -#: ../drivers/ic2730.py:321 +#: ../drivers/ic2730.py:320 msgid "" "Follow these instructions to upload your config:\n" "1 - Turn off your radio\n" @@ -1106,7 +1127,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/tk760.py:350 +#: ../drivers/tk760.py:349 msgid "" "Follow these instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1115,7 +1136,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:522 +#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:497 msgid "" "Follow this instructions to download your info:\n" "1 - Turn off your radio\n" @@ -1124,7 +1145,7 @@ msgid "" "4 - Do the download of your radio data\n" msgstr "" -#: ../drivers/tk270.py:341 +#: ../drivers/tk270.py:340 msgid "" "Follow this instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1133,9 +1154,9 @@ msgid "" "4 - Do the download of your radio data\n" msgstr "" -#: ../drivers/vgc.py:605 ../drivers/mursv1.py:349 -#: ../drivers/baofeng_wp970i.py:332 ../drivers/gmrsuv1.py:398 -#: ../drivers/lt725uv.py:528 ../drivers/tdxone_tdq8a.py:462 +#: ../drivers/vgc.py:605 ../drivers/mursv1.py:348 +#: ../drivers/baofeng_wp970i.py:331 ../drivers/gmrsuv1.py:398 +#: ../drivers/lt725uv.py:503 ../drivers/tdxone_tdq8a.py:461 #: ../drivers/uv6r.py:348 ../drivers/uv5x3.py:424 ../drivers/gmrsv2.py:370 msgid "" "Follow this instructions to upload your info:\n" @@ -1145,7 +1166,7 @@ msgid "" "4 - Do the upload of your radio data\n" msgstr "" -#: ../drivers/tk270.py:347 +#: ../drivers/tk270.py:346 msgid "" "Follow this instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1185,7 +1206,7 @@ msgstr "Show Raw Memory\t" msgid "Goto Memory:" msgstr "" -#: ../wxui/clone.py:319 ../wxui/clone.py:401 +#: ../wxui/clone.py:35 msgid "Help Me..." msgstr "" @@ -1318,7 +1339,7 @@ msgid "" "despite this risk?" msgstr "" -#: ../wxui/clone.py:111 +#: ../wxui/clone.py:113 msgid "Loading settings" msgstr "" @@ -1350,7 +1371,7 @@ msgstr "" msgid "Mode" msgstr "Режим" -#: ../wxui/clone.py:243 +#: ../wxui/clone.py:246 msgid "Model" msgstr "Модель" @@ -1371,7 +1392,7 @@ msgstr "" msgid "Module loaded successfully" msgstr "" -#: ../wxui/clone.py:366 +#: ../wxui/clone.py:374 #, python-format msgid "More than one port found: %s" msgstr "" @@ -1520,7 +1541,7 @@ msgstr "" msgid "Please be sure to quit CHIRP before installing the new version!" msgstr "" -#: ../drivers/ftlx011.py:303 +#: ../drivers/ftlx011.py:302 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1535,7 +1556,7 @@ msgid "" "get into normal mode.\n" msgstr "" -#: ../drivers/ftlx011.py:294 +#: ../drivers/ftlx011.py:293 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1558,11 +1579,11 @@ msgstr "" msgid "Please wait" msgstr "" -#: ../wxui/clone.py:344 +#: ../wxui/clone.py:351 msgid "Plug in your cable and then click OK" msgstr "" -#: ../wxui/clone.py:236 +#: ../wxui/clone.py:239 msgid "Port" msgstr "Порт" @@ -1605,12 +1626,12 @@ msgstr "" msgid "Radio" msgstr "Станция" -#: ../drivers/ft60.py:86 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 +#: ../drivers/ft60.py:85 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 #, python-format msgid "Radio did not ack block %i" msgstr "" -#: ../wxui/clone.py:494 ../wxui/clone.py:559 +#: ../wxui/clone.py:504 ../wxui/clone.py:569 #, fuzzy msgid "Radio information" msgstr "Получение информации" @@ -1823,7 +1844,7 @@ msgstr "" msgid "This is an early stage beta driver - upload at your own risk\n" msgstr "" -#: ../drivers/bj9900.py:112 +#: ../drivers/bj9900.py:108 msgid "" "This is experimental support for BJ-9900 which is still under development.\n" "Please ensure you have a good backup with OEM software.\n" @@ -1872,12 +1893,12 @@ msgstr "ТонШПД" msgid "Tuning Step" msgstr "Шаг" -#: ../wxui/clone.py:338 ../wxui/clone.py:345 ../wxui/clone.py:356 -#: ../wxui/clone.py:363 ../wxui/clone.py:367 +#: ../wxui/clone.py:345 ../wxui/clone.py:352 ../wxui/clone.py:363 +#: ../wxui/clone.py:371 ../wxui/clone.py:375 msgid "USB Port Finder" msgstr "" -#: ../wxui/clone.py:354 +#: ../wxui/clone.py:361 msgid "" "Unable to determine port for your cable. Check your drivers and connections." msgstr "" @@ -1917,11 +1938,11 @@ msgstr "Невозможно внести изменения в эту моде msgid "United States" msgstr "" -#: ../wxui/clone.py:337 +#: ../wxui/clone.py:344 msgid "Unplug your cable (if needed) and then click OK" msgstr "" -#: ../wxui/clone.py:574 +#: ../wxui/clone.py:584 msgid "Upload instructions" msgstr "" @@ -1967,7 +1988,7 @@ msgstr "" msgid "Value must be zero or greater" msgstr "" -#: ../wxui/clone.py:239 +#: ../wxui/clone.py:242 msgid "Vendor" msgstr "Изготовитель" @@ -1993,7 +2014,7 @@ msgstr "" msgid "Would you like CHIRP to install a desktop icon for you?" msgstr "" -#: ../wxui/clone.py:361 +#: ../wxui/clone.py:369 msgid "Your cable appears to be on port:" msgstr "" diff --git a/chirp/locale/tr_TR.po b/chirp/locale/tr_TR.po index aea187686..1a7e5f8be 100644 --- a/chirp/locale/tr_TR.po +++ b/chirp/locale/tr_TR.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: CHIRP\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-21 15:28-0700\n" +"POT-Creation-Date: 2023-06-26 18:46-0700\n" "PO-Revision-Date: 2023-03-11 18:37+0300\n" "Last-Translator: Abdullah YILMAZ (TA1AUB) \n" "Language-Team: TURKISH\n" @@ -288,7 +288,7 @@ msgstr "" "4. TAMAM'ı tıkladıktan sonra, imajı göndermek için [C](GÖNDER) tuşuna " "basın.\n" -#: ../drivers/ft7800.py:839 +#: ../drivers/ft7800.py:838 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -309,7 +309,7 @@ msgstr "" "6. Tamam'a tıkladıktan sonra, imajı göndermek için \"sol\" [V/M] " "tuşuna basın.\n" -#: ../drivers/ft7800.py:849 +#: ../drivers/ft7800.py:848 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -359,7 +359,7 @@ msgstr "" " (ekranda \"CLONE\" görünecektir).\n" "4. [MODE] tuşuna basın (ekranda \"CLONE WAIT\" görünecektir).\n" -#: ../drivers/ft7800.py:287 +#: ../drivers/ft7800.py:286 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -379,7 +379,7 @@ msgstr "" "\"CLONE\" yazısı belirecektir.\n" "6. [LOW(ACC)] tuşuna basın (ekranda \"--RX--\" görünecektir).\n" -#: ../drivers/ft7800.py:276 +#: ../drivers/ft7800.py:275 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -571,7 +571,7 @@ msgstr "" "4. [MONI] tuşuna basın (ekranda \"WAIT\" görünecektir).\n" "5. TAMAM'a basın.\n" -#: ../drivers/vx6.py:369 ../drivers/vx3.py:374 +#: ../drivers/vx6.py:369 ../drivers/vx3.py:373 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -586,7 +586,7 @@ msgstr "" "4. TAMAM'ı tıkladıktan sonra, imajı göndermek için [BAND] tuşuna " "basın.\n" -#: ../drivers/vx6.py:376 ../drivers/vx3.py:381 +#: ../drivers/vx6.py:376 ../drivers/vx3.py:380 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -629,7 +629,7 @@ msgstr "" " (ekranda \"CLONE\" görünecektir).\n" "4. [V/M] tuşuna basın (ekranda \"CLONE WAIT\" görünecektir).\n" -#: ../drivers/ft60.py:355 +#: ../drivers/ft60.py:354 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -649,7 +649,7 @@ msgstr "" "6. TAMAM'ı tıkladıktan sonra, imaj göndermek için [PTT] tuşunu bir " "saniye basılı tutun.\n" -#: ../drivers/ft60.py:364 +#: ../drivers/ft60.py:363 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -738,7 +738,7 @@ msgstr "" "3. Telsizi açarken [MHz], [LOW] ve [D/MR] tuşlarını basılı tutun.\n" "4. [D/MR(MW)] tuşuna basın (ekranda \"--WAIT--\" görünecektir).\n" -#: ../drivers/uv5r.py:777 +#: ../drivers/uv5r.py:743 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -754,7 +754,7 @@ msgstr "" "5. Telsizin etkin olmayan kanala ayarlandığından emin olun.\n" "6. İmajı cihazdan indirmek için TAMAM'a tıklayın.\n" -#: ../drivers/uv5r.py:785 +#: ../drivers/uv5r.py:751 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -826,7 +826,7 @@ msgstr "" "3. Telsizi klon için hazırlayın.\n" "4. İmajı almak için tuşuna basın.\n" -#: ../drivers/ft90.py:196 +#: ../drivers/ft90.py:195 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -841,7 +841,7 @@ msgstr "" "4. TAMAM'ı tıkladıktan sonra, imajı göndermek için [SET] tuşuna " "basın.\n" -#: ../drivers/ft90.py:203 +#: ../drivers/ft90.py:202 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -857,7 +857,7 @@ msgstr "" "4. [DISP/SS] tuşuna basın\n" " (LCD'nin sol alt köşesinde \"R\" görünecektir).\n" -#: ../drivers/bj9900.py:106 +#: ../drivers/bj9900.py:102 msgid "" "1. Turn radio off.\n" "2. Remove front head.\n" @@ -887,7 +887,7 @@ msgstr "" " (ekranda \"CLONE\" görünecektir).\n" "5. [moni] tuşuna basın (ekranda \"-RX-\" görünecektir).\n" -#: ../drivers/ft70.py:552 +#: ../drivers/ft70.py:551 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -903,7 +903,7 @@ msgstr "" "ekranda görünecektir).\n" "5. Tamam'a tıkladıktan sonra, [BAND] tuşuna basın.\n" -#: ../drivers/ft70.py:560 +#: ../drivers/ft70.py:559 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -921,6 +921,41 @@ msgstr "" "5. [MODE] tuşuna basın (LCD'de \"-WAIT-\" görünecektir). Sonra TAMAM " " tıklayın" +#: ../drivers/uvk5.py:636 +#, fuzzy +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to download image from device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already " +"attached\n" +msgstr "" +"1. Telsizi kapatın.\n" +"2. Kabloyu mic/spkr konektörüne bağlayın.\n" +"3. Konektörün sıkıca bağlandığından emin olun.\n" +"4. Telsizi açın.\n" +"5. Telsizin etkin olmayan kanala ayarlandığından emin olun.\n" +"6. İmajı cihaza yüklemek için TAMAM'a tıklayın.\n" + +#: ../drivers/uvk5.py:643 +#, fuzzy +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to upload the image to device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already attached" +msgstr "" +"1. Telsizi kapatın.\n" +"2. Kabloyu mic/spkr konektörüne bağlayın.\n" +"3. Konektörün sıkıca bağlandığından emin olun.\n" +"4. Telsizi açın.\n" +"5. Telsizin etkin olmayan kanala ayarlandığından emin olun.\n" +"6. İmajı cihaza yüklemek için TAMAM'a tıklayın.\n" + #: ../wxui/main.py:1685 msgid "" "A new CHIRP version is available. Please visit the website as soon as " @@ -957,7 +992,7 @@ msgstr "Amatör" msgid "An error has occurred" msgstr "Bir hata oluştu" -#: ../wxui/clone.py:109 +#: ../wxui/clone.py:111 msgid "Applying settings" msgstr "Ayarlar uygulanıyor" @@ -1059,11 +1094,11 @@ msgstr "Klon tamamlandı, sahte baytlar kontrol ediliyor" msgid "Cloning" msgstr "Klonlanıyor" -#: ../drivers/bj9900.py:137 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 +#: ../drivers/bj9900.py:133 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 msgid "Cloning from radio" msgstr "Telsizden klonlama" -#: ../drivers/bj9900.py:164 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 +#: ../drivers/bj9900.py:160 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 msgid "Cloning to radio" msgstr "Telsize klonlama" @@ -1084,11 +1119,11 @@ msgstr "%i kaydı sırala" msgid "Comment" msgstr "Yorum" -#: ../wxui/clone.py:215 +#: ../wxui/clone.py:217 msgid "Communicate with radio" msgstr "Telsiz ile iletişim" -#: ../wxui/clone.py:117 +#: ../wxui/clone.py:119 msgid "Complete" msgstr "Tamamla" @@ -1113,7 +1148,7 @@ msgstr "Ülke" msgid "Cross mode" msgstr "Çapraz mod" -#: ../wxui/clone.py:319 ../wxui/clone.py:394 +#: ../wxui/clone.py:36 msgid "Custom..." msgstr "Özel..." @@ -1181,7 +1216,7 @@ msgstr "devre dışı bırakıldı" msgid "Distance" msgstr "Mesafe" -#: ../wxui/clone.py:165 +#: ../wxui/clone.py:167 #, python-format msgid "Do not prompt again for %s" msgstr "%s için tekrar sorma" @@ -1198,7 +1233,7 @@ msgstr "İndir" msgid "Download from radio" msgstr "Telsizden indir" -#: ../wxui/clone.py:502 +#: ../wxui/clone.py:512 msgid "Download instructions" msgstr "İndirme talimatları" @@ -1242,7 +1277,7 @@ msgstr "TX Frekansını girin (MHz)" msgid "Enter a new name for bank %s:" msgstr "Banka %s için yeni bir ad girin:" -#: ../wxui/clone.py:395 +#: ../wxui/clone.py:405 msgid "Enter custom port:" msgstr "Özel bağlantı noktasını girin:" @@ -1255,11 +1290,11 @@ msgstr "%s kaydı silindi" msgid "Error applying settings" msgstr "Ayarlar uygulanırken hata oluştu" -#: ../wxui/clone.py:439 +#: ../wxui/clone.py:449 msgid "Error communicating with radio" msgstr "Telsizle iletişim hatası" -#: ../wxui/clone.py:470 +#: ../wxui/clone.py:480 msgid "Experimental driver" msgstr "Deneysel sürücü" @@ -1340,7 +1375,7 @@ msgstr "" "2 - Telsiz > Telsizden İndir: Telsiz kafasında herhangi bir ayar yapmayın!\n" "3 - Arayüz kablonuzu çıkarın\n" -#: ../drivers/th_uv8000.py:533 +#: ../drivers/th_uv8000.py:525 msgid "" "Follow these instructions to download the radio memory:\n" "1 - Turn off your radio\n" @@ -1354,7 +1389,7 @@ msgstr "" "3 - Telsizinizi açın, ses seviyesi @ %50\n" "4 - Telsiz > Telsizden İndir\n" -#: ../drivers/ic2730.py:313 +#: ../drivers/ic2730.py:312 msgid "" "Follow these instructions to download your config:\n" "1 - Turn off your radio\n" @@ -1371,9 +1406,9 @@ msgstr "" "4 - Telsiz > Telsizden İndir\n" "5 - Arayüz kablosunu çıkarın! Aksi takdirde, sağ taraf sesi olmayacaktır!\n" -#: ../drivers/mursv1.py:343 ../drivers/baofeng_wp970i.py:326 +#: ../drivers/mursv1.py:342 ../drivers/baofeng_wp970i.py:325 #: ../drivers/btech.py:689 ../drivers/gmrsuv1.py:392 -#: ../drivers/tdxone_tdq8a.py:456 ../drivers/uv6r.py:342 +#: ../drivers/tdxone_tdq8a.py:455 ../drivers/uv6r.py:342 #: ../drivers/uv5x3.py:418 ../drivers/gmrsv2.py:364 ../drivers/bf_t1.py:483 msgid "" "Follow these instructions to download your info:\n" @@ -1402,7 +1437,7 @@ msgstr "" "3 - Telsizinizi açın (şifre korumalıysa engelini kaldırın)\n" "4 - Başlatmak için TAMAM'a tıklayın.\n" -#: ../drivers/tk760.py:344 +#: ../drivers/tk760.py:343 msgid "" "Follow these instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1442,7 +1477,7 @@ msgstr "" "2 - Telsiz > Telsize yükle: Telsiz kafasında herhangi bir ayar yapmayın!\n" "3 - Arayüz kablonuzu çıkarın\n" -#: ../drivers/th_uv8000.py:539 +#: ../drivers/th_uv8000.py:531 msgid "" "Follow these instructions to upload the radio memory:\n" "1 - Turn off your radio\n" @@ -1456,7 +1491,7 @@ msgstr "" "3 - Telsizinizi açın, ses seviyesi @ %50\n" "4 - Telsiz > Telsize yükle\n" -#: ../drivers/ic2730.py:321 +#: ../drivers/ic2730.py:320 msgid "" "Follow these instructions to upload your config:\n" "1 - Turn off your radio\n" @@ -1503,7 +1538,7 @@ msgstr "" "3 - Telsizinizi açın (şifre korumalıysa engelini kaldırın)\n" "4 - Başlatmak için TAMAM'a tıklayın.\n" -#: ../drivers/tk760.py:350 +#: ../drivers/tk760.py:349 msgid "" "Follow these instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1517,7 +1552,7 @@ msgstr "" "3 - Telsizinizi açın (şifre korumalıysa engelini kaldırın)\n" "4 - Başlatmak için TAMAM'a tıklayın.\n" -#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:522 +#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:497 msgid "" "Follow this instructions to download your info:\n" "1 - Turn off your radio\n" @@ -1531,7 +1566,7 @@ msgstr "" "3 - Telsizinizi açın\n" "4 - Telsiz verilerinizin indirilmesini gerçekleştirin\n" -#: ../drivers/tk270.py:341 +#: ../drivers/tk270.py:340 msgid "" "Follow this instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1545,9 +1580,9 @@ msgstr "" "3 - Telsizinizi açın\n" "4 - Telsiz verilerinizin indirmesini gerçekleştirin\n" -#: ../drivers/vgc.py:605 ../drivers/mursv1.py:349 -#: ../drivers/baofeng_wp970i.py:332 ../drivers/gmrsuv1.py:398 -#: ../drivers/lt725uv.py:528 ../drivers/tdxone_tdq8a.py:462 +#: ../drivers/vgc.py:605 ../drivers/mursv1.py:348 +#: ../drivers/baofeng_wp970i.py:331 ../drivers/gmrsuv1.py:398 +#: ../drivers/lt725uv.py:503 ../drivers/tdxone_tdq8a.py:461 #: ../drivers/uv6r.py:348 ../drivers/uv5x3.py:424 ../drivers/gmrsv2.py:370 msgid "" "Follow this instructions to upload your info:\n" @@ -1562,7 +1597,7 @@ msgstr "" "3 - Telsizinizi açın\n" "4 - Telsiz verilerinizin yüklemesini gerçekleştirin\n" -#: ../drivers/tk270.py:347 +#: ../drivers/tk270.py:346 msgid "" "Follow this instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1606,7 +1641,7 @@ msgstr "Kayda Git" msgid "Goto Memory:" msgstr "Kayda Git:" -#: ../wxui/clone.py:319 ../wxui/clone.py:401 +#: ../wxui/clone.py:35 msgid "Help Me..." msgstr "Bana Yardım Et..." @@ -1743,7 +1778,7 @@ msgstr "" "doğrudan erişim sağlamasına olanak sağlayabilir! Bu riske rağmen devam " "edilsin mi?" -#: ../wxui/clone.py:111 +#: ../wxui/clone.py:113 msgid "Loading settings" msgstr "Ayarlar yükleniyor" @@ -1773,7 +1808,7 @@ msgstr "{num} kaydı {bank} bankasında değil" msgid "Mode" msgstr "Mod" -#: ../wxui/clone.py:243 +#: ../wxui/clone.py:246 msgid "Model" msgstr "Model" @@ -1793,7 +1828,7 @@ msgstr "Modül Yüklendi" msgid "Module loaded successfully" msgstr "Modül başarıyla yüklendi" -#: ../wxui/clone.py:366 +#: ../wxui/clone.py:374 #, python-format msgid "More than one port found: %s" msgstr "Birden fazla bağlantı noktası bulundu: %s" @@ -1940,7 +1975,7 @@ msgstr "Yapıştırılan kayıt, %i kaydının üzerine yazacak" msgid "Please be sure to quit CHIRP before installing the new version!" msgstr "Lütfen yeni sürümü yüklemeden önce CHIRP'den çıktığınızdan emin olun!" -#: ../drivers/ftlx011.py:303 +#: ../drivers/ftlx011.py:302 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1966,7 +2001,7 @@ msgstr "" "Klonladıktan sonra kabloyu çıkarın ve normal moda geçmek için telsizinizi " "kapatıp açın.\n" -#: ../drivers/ftlx011.py:294 +#: ../drivers/ftlx011.py:293 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -2001,11 +2036,11 @@ msgstr "" msgid "Please wait" msgstr "Lütfen bekleyin" -#: ../wxui/clone.py:344 +#: ../wxui/clone.py:351 msgid "Plug in your cable and then click OK" msgstr "Kablonuzu takın ve ardından Tamam'a tıklayın" -#: ../wxui/clone.py:236 +#: ../wxui/clone.py:239 msgid "Port" msgstr "Port" @@ -2046,12 +2081,12 @@ msgstr "RX DTCS" msgid "Radio" msgstr "Telsiz" -#: ../drivers/ft60.py:86 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 +#: ../drivers/ft60.py:85 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 #, python-format msgid "Radio did not ack block %i" msgstr "Telsiz %i bloğunu onaylamadı" -#: ../wxui/clone.py:494 ../wxui/clone.py:559 +#: ../wxui/clone.py:504 ../wxui/clone.py:569 msgid "Radio information" msgstr "Telsiz bilgisi" @@ -2279,7 +2314,7 @@ msgstr "Bu erken aşama beta sürücüsüdür\n" msgid "This is an early stage beta driver - upload at your own risk\n" msgstr "Bu, erken aşamadaki bir beta sürücüsüdür - yükleme riski size aittir\n" -#: ../drivers/bj9900.py:112 +#: ../drivers/bj9900.py:108 msgid "" "This is experimental support for BJ-9900 which is still under development.\n" "Please ensure you have a good backup with OEM software.\n" @@ -2333,12 +2368,12 @@ msgstr "Ton Susturucu" msgid "Tuning Step" msgstr "Ayarlama Adımı" -#: ../wxui/clone.py:338 ../wxui/clone.py:345 ../wxui/clone.py:356 -#: ../wxui/clone.py:363 ../wxui/clone.py:367 +#: ../wxui/clone.py:345 ../wxui/clone.py:352 ../wxui/clone.py:363 +#: ../wxui/clone.py:371 ../wxui/clone.py:375 msgid "USB Port Finder" msgstr "USB Portu Bulucu" -#: ../wxui/clone.py:354 +#: ../wxui/clone.py:361 msgid "" "Unable to determine port for your cable. Check your drivers and connections." msgstr "" @@ -2382,11 +2417,11 @@ msgstr "%s bu sistemde gösterilemiyor" msgid "United States" msgstr "Amerika Birleşik Devletleri" -#: ../wxui/clone.py:337 +#: ../wxui/clone.py:344 msgid "Unplug your cable (if needed) and then click OK" msgstr "(gerekirse) Kablonuzu çıkarın ve ardından Tamam'ı tıklayın" -#: ../wxui/clone.py:574 +#: ../wxui/clone.py:584 msgid "Upload instructions" msgstr "Yükleme talimatları" @@ -2431,7 +2466,7 @@ msgstr "Değer tam olarak %i ondalık basamak olmalıdır" msgid "Value must be zero or greater" msgstr "Değer sıfır veya daha büyük olmalıdır" -#: ../wxui/clone.py:239 +#: ../wxui/clone.py:242 msgid "Vendor" msgstr "Tedarikçi" @@ -2456,7 +2491,7 @@ msgstr "Hoşgeldiniz" msgid "Would you like CHIRP to install a desktop icon for you?" msgstr "" -#: ../wxui/clone.py:361 +#: ../wxui/clone.py:369 msgid "Your cable appears to be on port:" msgstr "Kablonuz bağlantı noktasında görünüyor:" diff --git a/chirp/locale/uk_UA.po b/chirp/locale/uk_UA.po index b1367762f..ea8f09578 100644 --- a/chirp/locale/uk_UA.po +++ b/chirp/locale/uk_UA.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: CHIRP\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-21 15:28-0700\n" +"POT-Creation-Date: 2023-06-26 18:46-0700\n" "PO-Revision-Date: 2015-11-30 10:36+0200\n" "Last-Translator: laser \n" "Language-Team: laser \n" @@ -198,7 +198,7 @@ msgid "" " press the [C](SEND) key to send image.\n" msgstr "" -#: ../drivers/ft7800.py:839 +#: ../drivers/ft7800.py:838 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -211,7 +211,7 @@ msgid "" " send image.\n" msgstr "" -#: ../drivers/ft7800.py:849 +#: ../drivers/ft7800.py:848 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -242,7 +242,7 @@ msgid "" "4. Press the [MODE] key (\"-WAIT-\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft7800.py:287 +#: ../drivers/ft7800.py:286 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -255,7 +255,7 @@ msgid "" "6. Press the [LOW(ACC)] key (\"--RX--\" will appear on the display).\n" msgstr "" -#: ../drivers/ft7800.py:276 +#: ../drivers/ft7800.py:275 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -376,7 +376,7 @@ msgid "" "5. Press OK.\n" msgstr "" -#: ../drivers/vx6.py:369 ../drivers/vx3.py:374 +#: ../drivers/vx6.py:369 ../drivers/vx3.py:373 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -385,7 +385,7 @@ msgid "" "4. After clicking OK, press the [BAND] key to send image.\n" msgstr "" -#: ../drivers/vx6.py:376 ../drivers/vx3.py:381 +#: ../drivers/vx6.py:376 ../drivers/vx3.py:380 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -412,7 +412,7 @@ msgid "" "4. Press the [V/M] key (\"CLONE WAIT\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft60.py:355 +#: ../drivers/ft60.py:354 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -424,7 +424,7 @@ msgid "" " for one second to send image.\n" msgstr "" -#: ../drivers/ft60.py:364 +#: ../drivers/ft60.py:363 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -480,7 +480,7 @@ msgid "" "4. Press the [D/MR(MW)] key (\"--WAIT--\" will appear on the LCD).\n" msgstr "" -#: ../drivers/uv5r.py:777 +#: ../drivers/uv5r.py:743 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -490,7 +490,7 @@ msgid "" "6. Click OK to download image from device.\n" msgstr "" -#: ../drivers/uv5r.py:785 +#: ../drivers/uv5r.py:751 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -536,7 +536,7 @@ msgid "" "4. Press the key to receive the image.\n" msgstr "" -#: ../drivers/ft90.py:196 +#: ../drivers/ft90.py:195 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -545,7 +545,7 @@ msgid "" "4. After clicking OK, press the [SET] key to send image.\n" msgstr "" -#: ../drivers/ft90.py:203 +#: ../drivers/ft90.py:202 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -555,7 +555,7 @@ msgid "" " (\"R\" will appear on the lower left of LCD).\n" msgstr "" -#: ../drivers/bj9900.py:106 +#: ../drivers/bj9900.py:102 msgid "" "1. Turn radio off.\n" "2. Remove front head.\n" @@ -573,7 +573,7 @@ msgid "" "5. Press the [moni] key (\"-RX-\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft70.py:552 +#: ../drivers/ft70.py:551 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -583,7 +583,7 @@ msgid "" "5. After clicking OK, press the [BAND] key.\n" msgstr "" -#: ../drivers/ft70.py:560 +#: ../drivers/ft70.py:559 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -594,6 +594,27 @@ msgid "" " click Then" msgstr "" +#: ../drivers/uvk5.py:636 +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to download image from device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already " +"attached\n" +msgstr "" + +#: ../drivers/uvk5.py:643 +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to upload the image to device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already attached" +msgstr "" + #: ../wxui/main.py:1685 msgid "" "A new CHIRP version is available. Please visit the website as soon as " @@ -629,7 +650,7 @@ msgstr "" msgid "An error has occurred" msgstr "Сталася помилка" -#: ../wxui/clone.py:109 +#: ../wxui/clone.py:111 msgid "Applying settings" msgstr "" @@ -725,12 +746,12 @@ msgstr "" msgid "Cloning" msgstr "Клонування" -#: ../drivers/bj9900.py:137 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 +#: ../drivers/bj9900.py:133 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 #, fuzzy msgid "Cloning from radio" msgstr "Скопіювати з радіостанції" -#: ../drivers/bj9900.py:164 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 +#: ../drivers/bj9900.py:160 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 #, fuzzy msgid "Cloning to radio" msgstr "Записати в радіостанцію" @@ -752,11 +773,11 @@ msgstr "Порівняти Raw пам'ять" msgid "Comment" msgstr "Коментар" -#: ../wxui/clone.py:215 +#: ../wxui/clone.py:217 msgid "Communicate with radio" msgstr "" -#: ../wxui/clone.py:117 +#: ../wxui/clone.py:119 #, fuzzy msgid "Complete" msgstr "Завершено" @@ -781,7 +802,7 @@ msgstr "" msgid "Cross mode" msgstr "Кросрежим" -#: ../wxui/clone.py:319 ../wxui/clone.py:394 +#: ../wxui/clone.py:36 msgid "Custom..." msgstr "" @@ -851,7 +872,7 @@ msgstr "" msgid "Distance" msgstr "" -#: ../wxui/clone.py:165 +#: ../wxui/clone.py:167 #, python-format msgid "Do not prompt again for %s" msgstr "" @@ -869,7 +890,7 @@ msgstr "" msgid "Download from radio" msgstr "Скопіювати з радіостанції" -#: ../wxui/clone.py:502 +#: ../wxui/clone.py:512 #, fuzzy msgid "Download instructions" msgstr "Скопіювати з радіостанції" @@ -914,7 +935,7 @@ msgstr "" msgid "Enter a new name for bank %s:" msgstr "" -#: ../wxui/clone.py:395 +#: ../wxui/clone.py:405 msgid "Enter custom port:" msgstr "" @@ -928,11 +949,11 @@ msgstr "Стирання пам'яті {loc}" msgid "Error applying settings" msgstr "Помилка настройки пам'яті" -#: ../wxui/clone.py:439 +#: ../wxui/clone.py:449 msgid "Error communicating with radio" msgstr "" -#: ../wxui/clone.py:470 +#: ../wxui/clone.py:480 msgid "Experimental driver" msgstr "" @@ -1007,7 +1028,7 @@ msgid "" "3 - Disconnect your interface cable\n" msgstr "" -#: ../drivers/th_uv8000.py:533 +#: ../drivers/th_uv8000.py:525 msgid "" "Follow these instructions to download the radio memory:\n" "1 - Turn off your radio\n" @@ -1016,7 +1037,7 @@ msgid "" "4 - Radio > Download from radio\n" msgstr "" -#: ../drivers/ic2730.py:313 +#: ../drivers/ic2730.py:312 msgid "" "Follow these instructions to download your config:\n" "1 - Turn off your radio\n" @@ -1027,9 +1048,9 @@ msgid "" " no right-side audio!\n" msgstr "" -#: ../drivers/mursv1.py:343 ../drivers/baofeng_wp970i.py:326 +#: ../drivers/mursv1.py:342 ../drivers/baofeng_wp970i.py:325 #: ../drivers/btech.py:689 ../drivers/gmrsuv1.py:392 -#: ../drivers/tdxone_tdq8a.py:456 ../drivers/uv6r.py:342 +#: ../drivers/tdxone_tdq8a.py:455 ../drivers/uv6r.py:342 #: ../drivers/uv5x3.py:418 ../drivers/gmrsv2.py:364 ../drivers/bf_t1.py:483 msgid "" "Follow these instructions to download your info:\n" @@ -1048,7 +1069,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/tk760.py:344 +#: ../drivers/tk760.py:343 msgid "" "Follow these instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1075,7 +1096,7 @@ msgid "" "3 - Disconnect your interface cable\n" msgstr "" -#: ../drivers/th_uv8000.py:539 +#: ../drivers/th_uv8000.py:531 msgid "" "Follow these instructions to upload the radio memory:\n" "1 - Turn off your radio\n" @@ -1084,7 +1105,7 @@ msgid "" "4 - Radio > Upload to radio\n" msgstr "" -#: ../drivers/ic2730.py:321 +#: ../drivers/ic2730.py:320 msgid "" "Follow these instructions to upload your config:\n" "1 - Turn off your radio\n" @@ -1114,7 +1135,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/tk760.py:350 +#: ../drivers/tk760.py:349 msgid "" "Follow these instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1123,7 +1144,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:522 +#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:497 msgid "" "Follow this instructions to download your info:\n" "1 - Turn off your radio\n" @@ -1132,7 +1153,7 @@ msgid "" "4 - Do the download of your radio data\n" msgstr "" -#: ../drivers/tk270.py:341 +#: ../drivers/tk270.py:340 msgid "" "Follow this instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1141,9 +1162,9 @@ msgid "" "4 - Do the download of your radio data\n" msgstr "" -#: ../drivers/vgc.py:605 ../drivers/mursv1.py:349 -#: ../drivers/baofeng_wp970i.py:332 ../drivers/gmrsuv1.py:398 -#: ../drivers/lt725uv.py:528 ../drivers/tdxone_tdq8a.py:462 +#: ../drivers/vgc.py:605 ../drivers/mursv1.py:348 +#: ../drivers/baofeng_wp970i.py:331 ../drivers/gmrsuv1.py:398 +#: ../drivers/lt725uv.py:503 ../drivers/tdxone_tdq8a.py:461 #: ../drivers/uv6r.py:348 ../drivers/uv5x3.py:424 ../drivers/gmrsv2.py:370 msgid "" "Follow this instructions to upload your info:\n" @@ -1153,7 +1174,7 @@ msgid "" "4 - Do the upload of your radio data\n" msgstr "" -#: ../drivers/tk270.py:347 +#: ../drivers/tk270.py:346 msgid "" "Follow this instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1193,7 +1214,7 @@ msgstr "Показати Raw пам'ять" msgid "Goto Memory:" msgstr "" -#: ../wxui/clone.py:319 ../wxui/clone.py:401 +#: ../wxui/clone.py:35 msgid "Help Me..." msgstr "" @@ -1326,7 +1347,7 @@ msgid "" "despite this risk?" msgstr "" -#: ../wxui/clone.py:111 +#: ../wxui/clone.py:113 msgid "Loading settings" msgstr "" @@ -1358,7 +1379,7 @@ msgstr "" msgid "Mode" msgstr "Режим" -#: ../wxui/clone.py:243 +#: ../wxui/clone.py:246 msgid "Model" msgstr "Модель" @@ -1379,7 +1400,7 @@ msgstr "" msgid "Module loaded successfully" msgstr "" -#: ../wxui/clone.py:366 +#: ../wxui/clone.py:374 #, python-format msgid "More than one port found: %s" msgstr "" @@ -1528,7 +1549,7 @@ msgstr "" msgid "Please be sure to quit CHIRP before installing the new version!" msgstr "" -#: ../drivers/ftlx011.py:303 +#: ../drivers/ftlx011.py:302 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1543,7 +1564,7 @@ msgid "" "get into normal mode.\n" msgstr "" -#: ../drivers/ftlx011.py:294 +#: ../drivers/ftlx011.py:293 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1566,11 +1587,11 @@ msgstr "" msgid "Please wait" msgstr "" -#: ../wxui/clone.py:344 +#: ../wxui/clone.py:351 msgid "Plug in your cable and then click OK" msgstr "" -#: ../wxui/clone.py:236 +#: ../wxui/clone.py:239 msgid "Port" msgstr "Порт" @@ -1613,12 +1634,12 @@ msgstr "" msgid "Radio" msgstr "Радіостанція" -#: ../drivers/ft60.py:86 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 +#: ../drivers/ft60.py:85 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 #, python-format msgid "Radio did not ack block %i" msgstr "" -#: ../wxui/clone.py:494 ../wxui/clone.py:559 +#: ../wxui/clone.py:504 ../wxui/clone.py:569 #, fuzzy msgid "Radio information" msgstr "Отримання інформації банку" @@ -1831,7 +1852,7 @@ msgstr "" msgid "This is an early stage beta driver - upload at your own risk\n" msgstr "" -#: ../drivers/bj9900.py:112 +#: ../drivers/bj9900.py:108 msgid "" "This is experimental support for BJ-9900 which is still under development.\n" "Please ensure you have a good backup with OEM software.\n" @@ -1880,12 +1901,12 @@ msgstr "ToneSql" msgid "Tuning Step" msgstr "Крок настройки" -#: ../wxui/clone.py:338 ../wxui/clone.py:345 ../wxui/clone.py:356 -#: ../wxui/clone.py:363 ../wxui/clone.py:367 +#: ../wxui/clone.py:345 ../wxui/clone.py:352 ../wxui/clone.py:363 +#: ../wxui/clone.py:371 ../wxui/clone.py:375 msgid "USB Port Finder" msgstr "" -#: ../wxui/clone.py:354 +#: ../wxui/clone.py:361 msgid "" "Unable to determine port for your cable. Check your drivers and connections." msgstr "" @@ -1925,11 +1946,11 @@ msgstr "Не вдається внести зміни до цієї моделі msgid "United States" msgstr "" -#: ../wxui/clone.py:337 +#: ../wxui/clone.py:344 msgid "Unplug your cable (if needed) and then click OK" msgstr "" -#: ../wxui/clone.py:574 +#: ../wxui/clone.py:584 msgid "Upload instructions" msgstr "" @@ -1975,7 +1996,7 @@ msgstr "" msgid "Value must be zero or greater" msgstr "" -#: ../wxui/clone.py:239 +#: ../wxui/clone.py:242 msgid "Vendor" msgstr "Виробник" @@ -2001,7 +2022,7 @@ msgstr "" msgid "Would you like CHIRP to install a desktop icon for you?" msgstr "" -#: ../wxui/clone.py:361 +#: ../wxui/clone.py:369 msgid "Your cable appears to be on port:" msgstr "" diff --git a/chirp/locale/zh_CN.po b/chirp/locale/zh_CN.po index 96457a591..7b3e84c8f 100644 --- a/chirp/locale/zh_CN.po +++ b/chirp/locale/zh_CN.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: CHIRP\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-21 15:28-0700\n" +"POT-Creation-Date: 2023-06-26 18:46-0700\n" "PO-Revision-Date: 2022-06-04 02:01+0800\n" "Last-Translator: DuckSoft, BH2UEP \n" "Language: zh_CN\n" @@ -197,7 +197,7 @@ msgid "" " press the [C](SEND) key to send image.\n" msgstr "" -#: ../drivers/ft7800.py:839 +#: ../drivers/ft7800.py:838 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -210,7 +210,7 @@ msgid "" " send image.\n" msgstr "" -#: ../drivers/ft7800.py:849 +#: ../drivers/ft7800.py:848 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -241,7 +241,7 @@ msgid "" "4. Press the [MODE] key (\"-WAIT-\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft7800.py:287 +#: ../drivers/ft7800.py:286 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -254,7 +254,7 @@ msgid "" "6. Press the [LOW(ACC)] key (\"--RX--\" will appear on the display).\n" msgstr "" -#: ../drivers/ft7800.py:276 +#: ../drivers/ft7800.py:275 msgid "" "1. Turn radio off.\n" "2. Connect cable to DATA jack.\n" @@ -375,7 +375,7 @@ msgid "" "5. Press OK.\n" msgstr "" -#: ../drivers/vx6.py:369 ../drivers/vx3.py:374 +#: ../drivers/vx6.py:369 ../drivers/vx3.py:373 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -384,7 +384,7 @@ msgid "" "4. After clicking OK, press the [BAND] key to send image.\n" msgstr "" -#: ../drivers/vx6.py:376 ../drivers/vx3.py:381 +#: ../drivers/vx6.py:376 ../drivers/vx3.py:380 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -411,7 +411,7 @@ msgid "" "4. Press the [V/M] key (\"CLONE WAIT\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft60.py:355 +#: ../drivers/ft60.py:354 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -423,7 +423,7 @@ msgid "" " for one second to send image.\n" msgstr "" -#: ../drivers/ft60.py:364 +#: ../drivers/ft60.py:363 msgid "" "1. Turn radio off.\n" "2. Connect cable to MIC/SP jack.\n" @@ -479,7 +479,7 @@ msgid "" "4. Press the [D/MR(MW)] key (\"--WAIT--\" will appear on the LCD).\n" msgstr "" -#: ../drivers/uv5r.py:777 +#: ../drivers/uv5r.py:743 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -489,7 +489,7 @@ msgid "" "6. Click OK to download image from device.\n" msgstr "" -#: ../drivers/uv5r.py:785 +#: ../drivers/uv5r.py:751 msgid "" "1. Turn radio off.\n" "2. Connect cable to mic/spkr connector.\n" @@ -535,7 +535,7 @@ msgid "" "4. Press the key to receive the image.\n" msgstr "" -#: ../drivers/ft90.py:196 +#: ../drivers/ft90.py:195 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -544,7 +544,7 @@ msgid "" "4. After clicking OK, press the [SET] key to send image.\n" msgstr "" -#: ../drivers/ft90.py:203 +#: ../drivers/ft90.py:202 msgid "" "1. Turn radio off.\n" "2. Connect mic and hold [ACC] on mic while powering on.\n" @@ -554,7 +554,7 @@ msgid "" " (\"R\" will appear on the lower left of LCD).\n" msgstr "" -#: ../drivers/bj9900.py:106 +#: ../drivers/bj9900.py:102 msgid "" "1. Turn radio off.\n" "2. Remove front head.\n" @@ -572,7 +572,7 @@ msgid "" "5. Press the [moni] key (\"-RX-\" will appear on the LCD).\n" msgstr "" -#: ../drivers/ft70.py:552 +#: ../drivers/ft70.py:551 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -582,7 +582,7 @@ msgid "" "5. After clicking OK, press the [BAND] key.\n" msgstr "" -#: ../drivers/ft70.py:560 +#: ../drivers/ft70.py:559 msgid "" "1. Turn radio on.\n" "2. Connect cable to DATA terminal.\n" @@ -593,6 +593,27 @@ msgid "" " click Then" msgstr "" +#: ../drivers/uvk5.py:636 +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to download image from device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already " +"attached\n" +msgstr "" + +#: ../drivers/uvk5.py:643 +msgid "" +"1. Turn radio on.\n" +"2. Connect cable to mic/spkr connector.\n" +"3. Make sure connector is firmly connected.\n" +"4. Click OK to upload the image to device.\n" +"\n" +"It will may not work if you turn on the radio with the cable already attached" +msgstr "" + #: ../wxui/main.py:1685 msgid "" "A new CHIRP version is available. Please visit the website as soon as " @@ -628,7 +649,7 @@ msgstr "" msgid "An error has occurred" msgstr "发生错误" -#: ../wxui/clone.py:109 +#: ../wxui/clone.py:111 msgid "Applying settings" msgstr "" @@ -724,12 +745,12 @@ msgstr "" msgid "Cloning" msgstr "正在复制" -#: ../drivers/bj9900.py:137 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 +#: ../drivers/bj9900.py:133 ../drivers/ft450d.py:442 ../drivers/ft817.py:343 #, fuzzy msgid "Cloning from radio" msgstr "从电台下载" -#: ../drivers/bj9900.py:164 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 +#: ../drivers/bj9900.py:160 ../drivers/ft450d.py:471 ../drivers/ft817.py:381 #, fuzzy msgid "Cloning to radio" msgstr "上传到电台" @@ -752,11 +773,11 @@ msgstr "对比原始存储" msgid "Comment" msgstr "备注" -#: ../wxui/clone.py:215 +#: ../wxui/clone.py:217 msgid "Communicate with radio" msgstr "" -#: ../wxui/clone.py:117 +#: ../wxui/clone.py:119 #, fuzzy msgid "Complete" msgstr "已完成" @@ -779,7 +800,7 @@ msgstr "" msgid "Cross mode" msgstr "收发使用不同亚音频" -#: ../wxui/clone.py:319 ../wxui/clone.py:394 +#: ../wxui/clone.py:36 msgid "Custom..." msgstr "" @@ -849,7 +870,7 @@ msgstr "已启用" msgid "Distance" msgstr "" -#: ../wxui/clone.py:165 +#: ../wxui/clone.py:167 #, python-format msgid "Do not prompt again for %s" msgstr "" @@ -867,7 +888,7 @@ msgstr "" msgid "Download from radio" msgstr "从电台下载" -#: ../wxui/clone.py:502 +#: ../wxui/clone.py:512 #, fuzzy msgid "Download instructions" msgstr "显示指引" @@ -913,7 +934,7 @@ msgstr "" msgid "Enter a new name for bank %s:" msgstr "" -#: ../wxui/clone.py:395 +#: ../wxui/clone.py:405 msgid "Enter custom port:" msgstr "" @@ -927,11 +948,11 @@ msgstr "正在擦除存储 {loc}" msgid "Error applying settings" msgstr "设置值有误:%s" -#: ../wxui/clone.py:439 +#: ../wxui/clone.py:449 msgid "Error communicating with radio" msgstr "" -#: ../wxui/clone.py:470 +#: ../wxui/clone.py:480 #, fuzzy msgid "Experimental driver" msgstr "继续使用不稳定的驱动?" @@ -1009,7 +1030,7 @@ msgid "" "3 - Disconnect your interface cable\n" msgstr "" -#: ../drivers/th_uv8000.py:533 +#: ../drivers/th_uv8000.py:525 msgid "" "Follow these instructions to download the radio memory:\n" "1 - Turn off your radio\n" @@ -1018,7 +1039,7 @@ msgid "" "4 - Radio > Download from radio\n" msgstr "" -#: ../drivers/ic2730.py:313 +#: ../drivers/ic2730.py:312 msgid "" "Follow these instructions to download your config:\n" "1 - Turn off your radio\n" @@ -1029,9 +1050,9 @@ msgid "" " no right-side audio!\n" msgstr "" -#: ../drivers/mursv1.py:343 ../drivers/baofeng_wp970i.py:326 +#: ../drivers/mursv1.py:342 ../drivers/baofeng_wp970i.py:325 #: ../drivers/btech.py:689 ../drivers/gmrsuv1.py:392 -#: ../drivers/tdxone_tdq8a.py:456 ../drivers/uv6r.py:342 +#: ../drivers/tdxone_tdq8a.py:455 ../drivers/uv6r.py:342 #: ../drivers/uv5x3.py:418 ../drivers/gmrsv2.py:364 ../drivers/bf_t1.py:483 msgid "" "Follow these instructions to download your info:\n" @@ -1050,7 +1071,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/tk760.py:344 +#: ../drivers/tk760.py:343 msgid "" "Follow these instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1077,7 +1098,7 @@ msgid "" "3 - Disconnect your interface cable\n" msgstr "" -#: ../drivers/th_uv8000.py:539 +#: ../drivers/th_uv8000.py:531 msgid "" "Follow these instructions to upload the radio memory:\n" "1 - Turn off your radio\n" @@ -1086,7 +1107,7 @@ msgid "" "4 - Radio > Upload to radio\n" msgstr "" -#: ../drivers/ic2730.py:321 +#: ../drivers/ic2730.py:320 msgid "" "Follow these instructions to upload your config:\n" "1 - Turn off your radio\n" @@ -1116,7 +1137,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/tk760.py:350 +#: ../drivers/tk760.py:349 msgid "" "Follow these instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1125,7 +1146,7 @@ msgid "" "4 - Click OK to start\n" msgstr "" -#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:522 +#: ../drivers/vgc.py:599 ../drivers/lt725uv.py:497 msgid "" "Follow this instructions to download your info:\n" "1 - Turn off your radio\n" @@ -1134,7 +1155,7 @@ msgid "" "4 - Do the download of your radio data\n" msgstr "" -#: ../drivers/tk270.py:341 +#: ../drivers/tk270.py:340 msgid "" "Follow this instructions to read your radio:\n" "1 - Turn off your radio\n" @@ -1143,9 +1164,9 @@ msgid "" "4 - Do the download of your radio data\n" msgstr "" -#: ../drivers/vgc.py:605 ../drivers/mursv1.py:349 -#: ../drivers/baofeng_wp970i.py:332 ../drivers/gmrsuv1.py:398 -#: ../drivers/lt725uv.py:528 ../drivers/tdxone_tdq8a.py:462 +#: ../drivers/vgc.py:605 ../drivers/mursv1.py:348 +#: ../drivers/baofeng_wp970i.py:331 ../drivers/gmrsuv1.py:398 +#: ../drivers/lt725uv.py:503 ../drivers/tdxone_tdq8a.py:461 #: ../drivers/uv6r.py:348 ../drivers/uv5x3.py:424 ../drivers/gmrsv2.py:370 msgid "" "Follow this instructions to upload your info:\n" @@ -1155,7 +1176,7 @@ msgid "" "4 - Do the upload of your radio data\n" msgstr "" -#: ../drivers/tk270.py:347 +#: ../drivers/tk270.py:346 msgid "" "Follow this instructions to write your radio:\n" "1 - Turn off your radio\n" @@ -1197,7 +1218,7 @@ msgstr "该存储" msgid "Goto Memory:" msgstr "该存储" -#: ../wxui/clone.py:319 ../wxui/clone.py:401 +#: ../wxui/clone.py:35 #, fuzzy msgid "Help Me..." msgstr "在线帮助..." @@ -1330,7 +1351,7 @@ msgid "" "despite this risk?" msgstr "" -#: ../wxui/clone.py:111 +#: ../wxui/clone.py:113 msgid "Loading settings" msgstr "" @@ -1361,7 +1382,7 @@ msgstr "" msgid "Mode" msgstr "制式" -#: ../wxui/clone.py:243 +#: ../wxui/clone.py:246 msgid "Model" msgstr "型号" @@ -1384,7 +1405,7 @@ msgstr "模块" msgid "Module loaded successfully" msgstr "" -#: ../wxui/clone.py:366 +#: ../wxui/clone.py:374 #, python-format msgid "More than one port found: %s" msgstr "" @@ -1533,7 +1554,7 @@ msgstr "" msgid "Please be sure to quit CHIRP before installing the new version!" msgstr "" -#: ../drivers/ftlx011.py:303 +#: ../drivers/ftlx011.py:302 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1548,7 +1569,7 @@ msgid "" "get into normal mode.\n" msgstr "" -#: ../drivers/ftlx011.py:294 +#: ../drivers/ftlx011.py:293 msgid "" "Please follow this steps carefully:\n" "1 - Turn on your radio\n" @@ -1571,11 +1592,11 @@ msgstr "" msgid "Please wait" msgstr "" -#: ../wxui/clone.py:344 +#: ../wxui/clone.py:351 msgid "Plug in your cable and then click OK" msgstr "" -#: ../wxui/clone.py:236 +#: ../wxui/clone.py:239 msgid "Port" msgstr "端口" @@ -1619,12 +1640,12 @@ msgstr "DTCS 接收代码" msgid "Radio" msgstr "电台" -#: ../drivers/ft60.py:86 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 +#: ../drivers/ft60.py:85 ../drivers/ft450d.py:495 ../drivers/ft817.py:408 #, python-format msgid "Radio did not ack block %i" msgstr "" -#: ../wxui/clone.py:494 ../wxui/clone.py:559 +#: ../wxui/clone.py:504 ../wxui/clone.py:569 #, fuzzy msgid "Radio information" msgstr "{information}" @@ -1836,7 +1857,7 @@ msgstr "" msgid "This is an early stage beta driver - upload at your own risk\n" msgstr "" -#: ../drivers/bj9900.py:112 +#: ../drivers/bj9900.py:108 msgid "" "This is experimental support for BJ-9900 which is still under development.\n" "Please ensure you have a good backup with OEM software.\n" @@ -1885,12 +1906,12 @@ msgstr "接收亚音频" msgid "Tuning Step" msgstr "调谐间隔" -#: ../wxui/clone.py:338 ../wxui/clone.py:345 ../wxui/clone.py:356 -#: ../wxui/clone.py:363 ../wxui/clone.py:367 +#: ../wxui/clone.py:345 ../wxui/clone.py:352 ../wxui/clone.py:363 +#: ../wxui/clone.py:371 ../wxui/clone.py:375 msgid "USB Port Finder" msgstr "" -#: ../wxui/clone.py:354 +#: ../wxui/clone.py:361 msgid "" "Unable to determine port for your cable. Check your drivers and connections." msgstr "" @@ -1930,11 +1951,11 @@ msgstr "无法变更此型号电台" msgid "United States" msgstr "" -#: ../wxui/clone.py:337 +#: ../wxui/clone.py:344 msgid "Unplug your cable (if needed) and then click OK" msgstr "" -#: ../wxui/clone.py:574 +#: ../wxui/clone.py:584 #, fuzzy msgid "Upload instructions" msgstr "{instructions}" @@ -1981,7 +2002,7 @@ msgstr "" msgid "Value must be zero or greater" msgstr "" -#: ../wxui/clone.py:239 +#: ../wxui/clone.py:242 msgid "Vendor" msgstr "厂商" @@ -2007,7 +2028,7 @@ msgstr "" msgid "Would you like CHIRP to install a desktop icon for you?" msgstr "" -#: ../wxui/clone.py:361 +#: ../wxui/clone.py:369 msgid "Your cable appears to be on port:" msgstr "" diff --git a/chirp/wxui/memedit.py b/chirp/wxui/memedit.py index b6b24aec3..d8b3cfcfb 100644 --- a/chirp/wxui/memedit.py +++ b/chirp/wxui/memedit.py @@ -1659,6 +1659,7 @@ def update_font(self, refresh=True): self.refresh() wx.CallAfter(self._grid.AutoSizeColumns, setAsMin=False) wx.CallAfter(self._grid.AutoSizeRows, setAsMin=False) + wx.CallAfter(self._grid.SetRowLabelSize, wx.grid.GRID_AUTOSIZE) def cb_copy(self, cut=False): rows = self.get_selected_rows_safe() diff --git a/tests/Python3_Driver_Testing.md b/tests/Python3_Driver_Testing.md index a488f8dcf..f71f6123a 100644 --- a/tests/Python3_Driver_Testing.md +++ b/tests/Python3_Driver_Testing.md @@ -233,6 +233,7 @@ | QYT_KT8900R | [Implied by BTECH_UV-2501+220](#user-content-BTECH_UV-2501+220) | 11-Nov-2022 | Yes | 0.13% | | QYT_KT980PLUS | [Implied by BTECH_UV-25X2](#user-content-BTECH_UV-25X2) | 11-Nov-2022 | Yes | 0.09% | | Quansheng_TG-UV2+ | [Reported working](https://chirp.danplanet.com/issues/10398) | 26-Feb-2023 | Yes | 0.05% | +| Quansheng_UV-K5 | [@sq5bpf](https://github.com/sq5bpf) | 29-May-2023 | Yes | | | RT_Systems_CSV | | | | | | Radioddity_DB25-G | [@KC9HI](https://github.com/KC9HI) | 11-Nov-2022 | Yes | 0.17% | | Radioddity_GA-2S | [@KC9HI](https://github.com/KC9HI) | 4-Dec-2022 | Yes | 0.19% | @@ -410,11 +411,11 @@ | Zastone_ZT-X6 | [Implied by Retevis_RT22](#user-content-Retevis_RT22) | 9-Dec-2022 | Yes | 0.11% | ## Stats -**Drivers:** 407 +**Drivers:** 408 -**Tested:** 86% (351/56) (93% of usage stats) +**Tested:** 86% (352/56) (93% of usage stats) -**Byte clean:** 89% (366/41) +**Byte clean:** 89% (367/41) ## Meaning of this testing diff --git a/tests/images/Quansheng_UV-K5.img b/tests/images/Quansheng_UV-K5.img new file mode 100644 index 000000000..4bdae31aa Binary files /dev/null and b/tests/images/Quansheng_UV-K5.img differ diff --git a/tests/py3_driver_testers.txt b/tests/py3_driver_testers.txt index 73dd42fea..1485d6210 100644 --- a/tests/py3_driver_testers.txt +++ b/tests/py3_driver_testers.txt @@ -196,6 +196,7 @@ Puxing_PX-888K,#10544,09-May-2023 Q-MAC_HF-90_v300_or_earlier,@fthain,9-Mar-2023 Q-MAC_HF-90_v301_or_later,@fthain,9-Mar-2023 Quansheng_TG-UV2+,#10398,26-Feb-2023 +Quansheng_UV-K5,@sq5bpf,29-May-2023 QYT_KT-8R,@KC9HI,11-Nov-2022 QYT_KT-UV980,+WACCOM_MINI-8900,11-Nov-2022 QYT_KT-WP12,+Anysecu_WP-9900,11-Nov-2022