Localisation support (foreign languages)

VK3KYY
Posts: 7478
Joined: Sat Nov 16, 2019 3:25 am
Location: Melbourne, Australia

Re: Localistion support (foreign languages)

Post by VK3KYY » Thu Nov 28, 2019 8:01 pm

Here is a version with Portuguese and German versions added.

I had to change the accented characters for non-accented versions, until the font supports them.

Also, I noticed that the accented characters are "double byte" characters, but we will be using the extended ASCII character set.

Can anyone tell me whether Tx and Rx ever need to be translated.

Also terms like FM and DMR and CTCSS ?

I noticed in the Portuguese version, that the text for "Bandwidth" was too long, as the texts on the Channel Details screen need to be shorter, because the value of the setting also needs to fit in the 16 characters.

When all the text does not fit it could possible cause the radio to have problems or even crash.
Hence this version should not be considered 100% stable
Attachments

[The extension sgl has been deactivated and can no longer be displayed.]


VK3KYY
Posts: 7478
Joined: Sat Nov 16, 2019 3:25 am
Location: Melbourne, Australia

Re: Localistion support (foreign languages)

Post by VK3KYY » Thu Nov 28, 2019 8:02 pm

BTW. I noticed I have not updated the Options or Display Options screen yet to include translated versions of the text.

So I will work on that today.

DG3GSP
Posts: 153
Joined: Sun Nov 17, 2019 9:30 am
Location: Southern Germany

Re: Localistion support (foreign languages)

Post by DG3GSP » Thu Nov 28, 2019 8:10 pm

In the contacts menu is a little bug: it shows allways "channel details" in the lower row- even in german and english language

VK3KYY
Posts: 7478
Joined: Sat Nov 16, 2019 3:25 am
Location: Melbourne, Australia

Re: Localistion support (foreign languages)

Post by VK3KYY » Thu Nov 28, 2019 8:22 pm

Thanks

I must have used the wrong index into the texts

I'll fix it

VK3KYY
Posts: 7478
Joined: Sat Nov 16, 2019 3:25 am
Location: Melbourne, Australia

Re: Localistion support (foreign languages)

Post by VK3KYY » Thu Nov 28, 2019 8:37 pm

Actually.

The display of the Channel Details is a different problem.
Its because the menu's must always have 3 items, but we cheated in the previous version by having an item which is blank
However the translations don't include any blank text.

I'll do a temporary work-around for this

EA3IGM
Posts: 17
Joined: Tue Nov 26, 2019 4:18 pm

Re: Localistion support (foreign languages)

Post by EA3IGM » Thu Nov 28, 2019 8:42 pm

Here are my translation to Catalan and Spanish. Checked for 16 char max length and no special characters

Code: Select all

const stringsTable_t catalanLanguage =
{
	.LANGUAGE_NAME             = "Catala",
	.language                  = "Idioma",
	.menu                      = "Menu",
	.credits                   = "Credits",
	.zone                      = "Zona",
	.rssi                      = "RSSI",
	.battery                   = "Bateria",
	.contacts                  = "Contactes",
	.firmware_info             = "Info firmware",
	.last_heard                = "Escoltats",
	.options                   = "Opcions",
	.display_options     = "Opcions display",
	.channel_details     = "Menu rapid",
	.new_contact         = "Nou contacte",
	.contact_list        = "Contactes",
	.hotspot_mode        = "Mode Hotspot",
	.contact_details     = "Detall contacte",
	.batteryVoltage            = "%d.%dV",
	.built                     = "Compilat",
	.built                     = "Compilat",
	.zones                     = "Zones",
	.keypad_locked             = "Teclat blocat",
	.press_blue_plus_star      = "Prem Blau + (*)",
	.to_unlock                 = "per desblocar",
	.unlocked                  = "Desbloquejat",
	.power_off                 = "Apagant...",
	.error                     = "ERROR",
	.rx_only                   = "Nomes Rx",
	.out_of_band         = "FORA DE BANDA",
	.timeout                   = "TIMEOUT",
	.tg_entry                  = "Entreu TG",
	.pc_entry                  = "Entreu PC",
	.user_dmr_id         = "ID Usuari DMR",
	.contact                   = "Contacte",
	.displayRxFreq             = "%d.%05d MHz",
	.accept_call         =  "Acceptar PC?",
	.private_call        = "Trucada privada",
	.squelch                   = "Squelch",
	.vfoRxFreq                 = "%cR %d.%05d MHz",
	.vfoTxFreq                 = "%cT %d.%05d MHz",
	.vfoEnterFreq        = "%c%c%c.%c%c%c%c%c MHz",
	.quick_menu          = "Menu Rapid",
	.filter                           = "Filtre:%s",
	.all_channels        = "Tots els canals",
	.gotoChannel         = "Anar canal %d",
	.scan                      = "Scan",
	.channelToVfo        = "Canal --> VFO",
	.vfoToChannel        = "VFO --> Canal",
	.group                     = "Grup",
	.private                   = "Privada",
	.all                       = "Tots",
	.type                      = "Tipus:",
	.timeSlot                  = "Timeslot",
	.none                      = "cap",
	.contact_saved             = "Contacte desat",
	.duplicate                 =  "Duplicat",
	.tg                               = "TG",
	.pc                               = "PC",
	.ts                               = "TS",
	.mode                      = "Mode",
	.colour_code         = "Color Code",
	.n_a                       = "N/A",
	.channelDetailsRx    = "Rx:%d.%05dMHz",
	.channelDetailsTx    = "Tx:%d.%05dMHz",
	.bandwidth                 = "Ample banda",
	.stepFreq                         = "Pases:%d.%02dkHz",
	.tot                       = "TOT",
	.off                       = "Off",
	.skip                      = "Saltar",
	.yes                       = "Si",
	.no                               = "No",
	.rx_group                  = "Grup RX",
	.on					= "On",
	.timeout_beep		= "So timeout",
	.factory_reset		= "Reinici fabr.",
	.calibration		= "Calibracio",
	.band_limits		= "Limits de banda",
	.beep_volume		= "Volum so",
	.dmr_mic_gain		= "Guany DMR",
	.key_long			= "Key long:%1d.%1ds",
	.key_repeat			= "Key rpt:%1d.%1ds",
	.dmr_filter_timeout	= "Filtre temps",
};



Spanish

Code: Select all

const stringsTable_t spanishLanguage =
{
	.LANGUAGE_NAME             = "Spanish",
	.language                  = "Idioma",
	.menu                      = "Menu",
	.credits                   = "Creditos",
	.zone                      = "Zona",
	.rssi                      = "RSSI",
	.battery                   = "Bateria",
	.contacts                  = "Contactos",
	.firmware_info             = "Info firmware",
	.last_heard                = "Ultimo oido",
	.options                   = "Opciones",
	.display_options     = "Opciones display",
	.channel_details     = "Menu rapido",
	.new_contact         = "Nuevo contacto",
	.contact_list        = "Lista contactos",
	.hotspot_mode        = "Modo Hotspot",
	.contact_details     = "Detalle contacto",
	.batteryVoltage            = "%d.%dV",
	.built                     = "Compilado",
	.built                     = "Compilado",
	.zones                     = "Zonas",
	.keypad_locked             = "Teclas bloq.",
	.press_blue_plus_star      = "Pulsa Azul + (*)",
	.to_unlock                 = "para desbloq.",
	.unlocked                  = "Desbloqueado",
	.power_off                 = "Apagando...",
	.error                     = "ERROR",
	.rx_only                   = "Solo Rx",
	.out_of_band         = "FUERA DE BANDA",
	.timeout                   = "TIMEOUT",
	.tg_entry                  = "Entrar TG",
	.pc_entry                  = "Entrar PC",
	.user_dmr_id         = "ID DMR Usuario",
	.contact                   = "Contacto",
	.displayRxFreq             = "%d.%05d MHz",
	.accept_call         =  "Aceptar PC?",
	.private_call        = "Llamada priv.",
	.squelch                   = "Squelch",
	.vfoRxFreq                 = "%cR %d.%05d MHz",
	.vfoTxFreq                 = "%cT %d.%05d MHz",
	.vfoEnterFreq        = "%c%c%c.%c%c%c%c%c MHz",
	.quick_menu          = "Menu rapido",
	.filter                           = "Filtro:%s",
	.all_channels        = "Lista canales",
	.gotoChannel         = "Ir canal %d",
	.scan                      = "Escanear",
	.channelToVfo        = "Canal --> VFO",
	.vfoToChannel        = "VFO --> Canal",
	.group                     = "Grupo",
	.private                   = "Privada",
	.all                       = "Todos",
	.type                      = "Tipo:",
	.timeSlot                  = "Timeslot",
	.none                      = "ninguno",
	.contact_saved             = "Ctto guardado",
	.duplicate                 =  "Duplicado",
	.tg                               = "TG",
	.pc                               = "PC",
	.ts                               = "TS",
	.mode                      = "Modo",
	.colour_code         = "Color Code",
	.n_a                       = "N/A",
	.channelDetailsRx    = "Rx:%d.%05dMHz",
	.channelDetailsTx    = "Tx:%d.%05dMHz",
	.bandwidth                 = "Ancho banda",
	.stepFreq                         = "Paso:%d.%02dkHz",
	.tot                       = "TOT",
	.off                       = "Off",
	.skip                      = "Saltar",
	.yes                       = "Si",
	.no                               = "No",
	.rx_group                  = "Grupo RX",
	.on					= "On",
	.timeout_beep		= "Sonido TOT",
	.factory_reset		= "Reset fab",
	.calibration		= "Calibracion",
	.band_limits		= "Limites banda",
	.beep_volume		= "Vol sonido",
	.dmr_mic_gain		= "Ganancia DMR",
	.key_long			= "Key long:%1d.%1ds",
	.key_repeat			= "Key rpt:%1d.%1ds",
	.dmr_filter_timeout	= "Filtro tiempo",
};

EDIT 21:59 : Corrections and added new items
Last edited by EA3IGM on Thu Nov 28, 2019 9:18 pm, edited 5 times in total.

DG3GSP
Posts: 153
Joined: Sun Nov 17, 2019 9:30 am
Location: Southern Germany

Re: Localistion support (foreign languages)

Post by DG3GSP » Thu Nov 28, 2019 8:48 pm

Btw. Terms like FM, DMR, RX, ect. are nonessential to translate (in my opinion). I consider to keep a few english terms/words like TOT or Scan because the german words will be to long.

VK3KYY
Posts: 7478
Joined: Sat Nov 16, 2019 3:25 am
Location: Melbourne, Australia

Re: Localistion support (foreign languages)

Post by VK3KYY » Thu Nov 28, 2019 8:52 pm

DG3GSP wrote:
Thu Nov 28, 2019 8:48 pm
Btw. Terms like FM, DMR, RX, ect. are nonessential to translate (in my opinion). I consider to keep a few english terms/words like TOT or Scan because the german words will be to long.
OK

Thanks

I just added localistion to the options screen.

These are the new texts

Code: Select all

.on					= "On",
.timeout_beep		= "Timeout beep",
.factory_reset		= "Fact Reset",
.calibration		= "Calibration",
.band_limits		= "Band Limits",
.beep_volume		= "Beep vol",
.dmr_mic_gain		= "DMR mic",
.key_long			= "Key long:%1d.%1ds",
.key_repeat			= "Key rpt:%1d.%1ds",
.dmr_filter_timeout	= "Filter time",
I'll add the Spanish and Catalan and then do the Display options and then post a new version

EA3IGM
Posts: 17
Joined: Tue Nov 26, 2019 4:18 pm

Re: Localistion support (foreign languages)

Post by EA3IGM » Thu Nov 28, 2019 8:53 pm

Thank you so much again!!
EDIT: Fixed some wording, added new items

VK3KYY
Posts: 7478
Joined: Sat Nov 16, 2019 3:25 am
Location: Melbourne, Australia

Re: Localistion support (foreign languages)

Post by VK3KYY » Thu Nov 28, 2019 9:05 pm

Try this version

It now has Spanish and Catalan

Also I fixed the bug on the Contacts screen, and also I added support for translation to the Options screen (albeit people will need to send updated translations for the new texts for the Options screen)

BTW.

Each language is now its own file on github

see

https://github.com/rogerclarkmelbourne/ ... /languages
Attachments

[The extension sgl has been deactivated and can no longer be displayed.]


Post Reply