Skip to content

Commit 7507630

Browse files
malysclaude
andcommitted
feat: add de/es/it/pt catalogue translations + localize DriveMode/RegenLevel
Add German, Spanish, Italian and Portuguese strings for every condition, action and enum label so both consumers (MG4Control, MG4Tasker) inherit them from the shared library. Expose @stringres labelRes on DriveMode and RegenLevel so consumers localize mode/regen names instead of the hardcoded English label. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent e36a3b1 commit 7507630

6 files changed

Lines changed: 467 additions & 13 deletions

File tree

‎lib/src/main/java/com/mg4/hardware/model/DriveMode.kt‎

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
package com.mg4.hardware.model
22

3-
enum class DriveMode(val value: Int, val label: String) {
4-
ECO(2, "Eco"),
5-
NORMAL(3, "Normal"),
6-
SPORT(4, "Sport"),
7-
SNOW(6, "Snow"),
8-
CUSTOM(7, "Custom");
3+
import androidx.annotation.StringRes
4+
import com.mg4.hardware.R
5+
6+
enum class DriveMode(val value: Int, val label: String, @StringRes val labelRes: Int) {
7+
ECO(2, "Eco", R.string.drive_eco),
8+
NORMAL(3, "Normal", R.string.drive_normal),
9+
SPORT(4, "Sport", R.string.drive_sport),
10+
SNOW(6, "Snow", R.string.drive_snow),
11+
CUSTOM(7, "Custom", R.string.drive_custom);
912

1013
companion object {
1114
fun fromValue(v: Int): DriveMode = values().firstOrNull { it.value == v } ?: NORMAL

‎lib/src/main/java/com/mg4/hardware/model/RegenLevel.kt‎

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
package com.mg4.hardware.model
22

3-
enum class RegenLevel(val value: Int, val label: String) {
4-
LOW(0, "Low"),
5-
MEDIUM(1, "Medium"),
6-
HIGH(2, "High"),
7-
ADAPTIVE(3, "Adaptive"),
8-
OFF(5, "Off"),
9-
ONE_PEDAL(6, "One Pedal");
3+
import androidx.annotation.StringRes
4+
import com.mg4.hardware.R
5+
6+
enum class RegenLevel(val value: Int, val label: String, @StringRes val labelRes: Int) {
7+
LOW(0, "Low", R.string.regen_low),
8+
MEDIUM(1, "Medium", R.string.regen_medium),
9+
HIGH(2, "High", R.string.regen_high),
10+
ADAPTIVE(3, "Adaptive", R.string.regen_adaptive),
11+
OFF(5, "Off", R.string.regen_off),
12+
ONE_PEDAL(6, "One Pedal", R.string.regen_one_pedal);
1013

1114
companion object {
1215
fun fromValue(v: Int): RegenLevel = values().firstOrNull { it.value == v } ?: MEDIUM
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!-- Catalogue labels — owned by the MG4Hardware library (the catalogue lives here). -->
3+
<resources>
4+
<string name="group_context">Kontext</string>
5+
<string name="group_environment">Umgebung</string>
6+
<string name="group_driving">Fahren</string>
7+
<string name="group_comfort">Komfort</string>
8+
<string name="group_audio">Audio</string>
9+
<string name="group_adas">Fahrerassistenz</string>
10+
<string name="group_climate">Klima</string>
11+
<string name="group_profile">Profil</string>
12+
<string name="group_system">System</string>
13+
<string name="unit_celsius">°C</string>
14+
<string name="unit_kmh">km/h</string>
15+
<string name="unit_percent">%</string>
16+
<string name="drive_eco">Eco</string>
17+
<string name="drive_normal">Normal</string>
18+
<string name="drive_sport">Sport</string>
19+
<string name="drive_snow">Schnee</string>
20+
<string name="drive_custom">Individuell</string>
21+
<string name="regen_low">Schwach</string>
22+
<string name="regen_medium">Mittel</string>
23+
<string name="regen_high">Stark</string>
24+
<string name="regen_adaptive">Adaptiv</string>
25+
<string name="regen_off">Aus</string>
26+
<string name="regen_one_pedal">Ein-Pedal</string>
27+
<string name="aeb_alert_only">Nur Warnung</string>
28+
<string name="aeb_alert_brake">Warnung + Bremsung</string>
29+
<string name="sensitivity_low">Niedrig</string>
30+
<string name="sensitivity_standard">Standard</string>
31+
<string name="sensitivity_high">Hoch</string>
32+
<string name="elk_off">Aus</string>
33+
<string name="elk_warn">Warnung (LDW)</string>
34+
<string name="elk_assist">Assistent (LDP)</string>
35+
<string name="elk_full">Notfall-Spurhaltung (ELK)</string>
36+
<string name="acc_off">Aus</string>
37+
<string name="acc_acc">Adaptiver Tempomat (ACC)</string>
38+
<string name="acc_tja">Stauassistent (TJA)</string>
39+
<string name="limiter_off">Aus</string>
40+
<string name="limiter_manual">Manuell</string>
41+
<string name="limiter_smart">Intelligent</string>
42+
<string name="ignition_lock">Verriegelt</string>
43+
<string name="ignition_off">Aus</string>
44+
<string name="ignition_acc">Zubehör</string>
45+
<string name="ignition_on">Läuft</string>
46+
<string name="ignition_start">Startet</string>
47+
<string name="cond_bt_device">Bluetooth-Telefon verbunden</string>
48+
<string name="cond_bt_any">Beliebiges Bluetooth-Gerät verbunden</string>
49+
<string name="cond_time">Uhrzeit</string>
50+
<string name="cond_day">Wochentag</string>
51+
<string name="cond_firmware">Firmware-Generation</string>
52+
<string name="cond_outside_temp">Außentemperatur</string>
53+
<string name="cond_ignition">Zündungszustand</string>
54+
<string name="cond_in_park">Gang in P</string>
55+
<string name="cond_speed">Geschwindigkeit</string>
56+
<string name="cond_drive_mode">Fahrmodus</string>
57+
<string name="cond_regen">Rekuperation</string>
58+
<string name="cond_energy_saving">Energiesparen</string>
59+
<string name="cond_seat_heat_l">Sitzheizung links</string>
60+
<string name="cond_seat_heat_r">Sitzheizung rechts</string>
61+
<string name="cond_steering_heat">Lenkradheizung</string>
62+
<string name="cond_media_volume">Medienlautstärke</string>
63+
<string name="cond_brightness">Bildschirmhelligkeit</string>
64+
<string name="cond_aeb">Notbremsung (AEB)</string>
65+
<string name="cond_aeb_mode">AEB-Modus</string>
66+
<string name="cond_aeb_sensitivity">AEB-Empfindlichkeit</string>
67+
<string name="cond_elk_mode">ELK-Modus</string>
68+
<string name="cond_elk_sensitivity">ELK-Empfindlichkeit</string>
69+
<string name="cond_acc_tja">ACC-/TJA-Modus</string>
70+
<string name="cond_limiter">Geschwindigkeitsbegrenzer</string>
71+
<string name="cond_tsr">Verkehrszeichenerkennung (TSR)</string>
72+
<string name="cond_overspeed">Geschwindigkeitsalarm</string>
73+
<string name="cond_speed_limit_tone">Tempolimit-Ton</string>
74+
<string name="cond_sound_warning">ADAS-Tonwarnung</string>
75+
<string name="cond_ac">Klimaanlage ein</string>
76+
<string name="cond_hvac_auto">Klima AUTO ein</string>
77+
<string name="cond_recirc">Umluft ein</string>
78+
<string name="cond_fan_speed">Gebläsestufe</string>
79+
<string name="cond_temperature_set">Solltemperatur</string>
80+
<string name="cond_window_open">Ein Fenster ist offen</string>
81+
<string name="act_apply_profile">Profil anwenden</string>
82+
<string name="act_drive_mode">Fahrmodus</string>
83+
<string name="act_regen">Rekuperation</string>
84+
<string name="act_one_pedal">Ein-Pedal-Fahren</string>
85+
<string name="act_energy_saving">Energiesparen</string>
86+
<string name="act_seat_heat_l">Sitzheizung links</string>
87+
<string name="act_seat_heat_r">Sitzheizung rechts</string>
88+
<string name="act_steering_heat">Lenkradheizung</string>
89+
<string name="act_brightness">Bildschirmhelligkeit</string>
90+
<string name="act_media_volume">Medienlautstärke</string>
91+
<string name="act_balance">Balance links / rechts</string>
92+
<string name="act_fader">Überblendung vorn / hinten</string>
93+
<string name="act_tone">Klang</string>
94+
<string name="act_bose">Bose-Klangprofil</string>
95+
<string name="act_3d">3D-Effekt</string>
96+
<string name="act_speed_volume">Geschwindigkeitsabhängige Lautstärke</string>
97+
<string name="act_aeb">Notbremsung (AEB)</string>
98+
<string name="act_aeb_mode">AEB-Modus</string>
99+
<string name="act_aeb_sensitivity">AEB-Empfindlichkeit</string>
100+
<string name="act_elk_mode">ELK-Modus</string>
101+
<string name="act_elk_sensitivity">ELK-Empfindlichkeit</string>
102+
<string name="act_acc_tja">ACC-/TJA-Modus</string>
103+
<string name="act_limiter">Geschwindigkeitsbegrenzer</string>
104+
<string name="act_tsr">Verkehrszeichenerkennung (TSR)</string>
105+
<string name="act_overspeed">Geschwindigkeitsalarm</string>
106+
<string name="act_speed_limit_tone">Tempolimit-Ton</string>
107+
<string name="act_sound_warning">ADAS-Tonwarnung</string>
108+
<string name="act_las_sound">Spurverlassenswarnung Ton</string>
109+
<string name="act_las_vibration">Spurverlassen Lenkradvibration</string>
110+
<string name="act_launch_app">App starten</string>
111+
<string name="act_notify">Benachrichtigung anzeigen</string>
112+
</resources>
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!-- Catalogue labels — owned by the MG4Hardware library (the catalogue lives here). -->
3+
<resources>
4+
<string name="group_context">Contexto</string>
5+
<string name="group_environment">Entorno</string>
6+
<string name="group_driving">Conducción</string>
7+
<string name="group_comfort">Confort</string>
8+
<string name="group_audio">Audio</string>
9+
<string name="group_adas">Asistencia a la conducción</string>
10+
<string name="group_climate">Climatización</string>
11+
<string name="group_profile">Perfil</string>
12+
<string name="group_system">Sistema</string>
13+
<string name="unit_celsius">°C</string>
14+
<string name="unit_kmh">km/h</string>
15+
<string name="unit_percent">%</string>
16+
<string name="drive_eco">Eco</string>
17+
<string name="drive_normal">Normal</string>
18+
<string name="drive_sport">Sport</string>
19+
<string name="drive_snow">Nieve</string>
20+
<string name="drive_custom">Personalizado</string>
21+
<string name="regen_low">Bajo</string>
22+
<string name="regen_medium">Medio</string>
23+
<string name="regen_high">Alto</string>
24+
<string name="regen_adaptive">Adaptativo</string>
25+
<string name="regen_off">Desactivado</string>
26+
<string name="regen_one_pedal">Un pedal</string>
27+
<string name="aeb_alert_only">Solo alerta</string>
28+
<string name="aeb_alert_brake">Alerta + frenado</string>
29+
<string name="sensitivity_low">Baja</string>
30+
<string name="sensitivity_standard">Estándar</string>
31+
<string name="sensitivity_high">Alta</string>
32+
<string name="elk_off">Desactivado</string>
33+
<string name="elk_warn">Aviso (LDW)</string>
34+
<string name="elk_assist">Asistencia (LDP)</string>
35+
<string name="elk_full">Mantenimiento de emergencia (ELK)</string>
36+
<string name="acc_off">Desactivado</string>
37+
<string name="acc_acc">Control de crucero adaptativo (ACC)</string>
38+
<string name="acc_tja">Asistente de atascos (TJA)</string>
39+
<string name="limiter_off">Desactivado</string>
40+
<string name="limiter_manual">Manual</string>
41+
<string name="limiter_smart">Inteligente</string>
42+
<string name="ignition_lock">Bloqueado</string>
43+
<string name="ignition_off">Apagado</string>
44+
<string name="ignition_acc">Accesorios</string>
45+
<string name="ignition_on">En marcha</string>
46+
<string name="ignition_start">Arrancando</string>
47+
<string name="cond_bt_device">Teléfono Bluetooth conectado</string>
48+
<string name="cond_bt_any">Cualquier dispositivo Bluetooth conectado</string>
49+
<string name="cond_time">Hora del día</string>
50+
<string name="cond_day">Día de la semana</string>
51+
<string name="cond_firmware">Generación de firmware</string>
52+
<string name="cond_outside_temp">Temperatura exterior</string>
53+
<string name="cond_ignition">Estado del contacto</string>
54+
<string name="cond_in_park">Marcha en P</string>
55+
<string name="cond_speed">Velocidad</string>
56+
<string name="cond_drive_mode">Modo de conducción</string>
57+
<string name="cond_regen">Regeneración</string>
58+
<string name="cond_energy_saving">Ahorro de energía</string>
59+
<string name="cond_seat_heat_l">Calefacción asiento izquierdo</string>
60+
<string name="cond_seat_heat_r">Calefacción asiento derecho</string>
61+
<string name="cond_steering_heat">Calefacción del volante</string>
62+
<string name="cond_media_volume">Volumen multimedia</string>
63+
<string name="cond_brightness">Brillo de pantalla</string>
64+
<string name="cond_aeb">Frenado de emergencia (AEB)</string>
65+
<string name="cond_aeb_mode">Modo AEB</string>
66+
<string name="cond_aeb_sensitivity">Sensibilidad AEB</string>
67+
<string name="cond_elk_mode">Modo ELK</string>
68+
<string name="cond_elk_sensitivity">Sensibilidad ELK</string>
69+
<string name="cond_acc_tja">Modo ACC / TJA</string>
70+
<string name="cond_limiter">Limitador de velocidad</string>
71+
<string name="cond_tsr">Reconocimiento de señales (TSR)</string>
72+
<string name="cond_overspeed">Alarma de exceso de velocidad</string>
73+
<string name="cond_speed_limit_tone">Tono de límite de velocidad</string>
74+
<string name="cond_sound_warning">Aviso sonoro ADAS</string>
75+
<string name="cond_ac">Aire acondicionado encendido</string>
76+
<string name="cond_hvac_auto">Clima AUTO encendido</string>
77+
<string name="cond_recirc">Recirculación de aire activada</string>
78+
<string name="cond_fan_speed">Velocidad del ventilador</string>
79+
<string name="cond_temperature_set">Temperatura ajustada</string>
80+
<string name="cond_window_open">Una ventanilla está abierta</string>
81+
<string name="act_apply_profile">Aplicar un perfil</string>
82+
<string name="act_drive_mode">Modo de conducción</string>
83+
<string name="act_regen">Regeneración</string>
84+
<string name="act_one_pedal">Conducción con un pedal</string>
85+
<string name="act_energy_saving">Ahorro de energía</string>
86+
<string name="act_seat_heat_l">Calefacción asiento izquierdo</string>
87+
<string name="act_seat_heat_r">Calefacción asiento derecho</string>
88+
<string name="act_steering_heat">Calefacción del volante</string>
89+
<string name="act_brightness">Brillo de pantalla</string>
90+
<string name="act_media_volume">Volumen multimedia</string>
91+
<string name="act_balance">Balance izquierda / derecha</string>
92+
<string name="act_fader">Fundido delante / detrás</string>
93+
<string name="act_tone">Tono</string>
94+
<string name="act_bose">Perfil de sonido Bose</string>
95+
<string name="act_3d">Efecto 3D</string>
96+
<string name="act_speed_volume">Volumen adaptativo a la velocidad</string>
97+
<string name="act_aeb">Frenado de emergencia (AEB)</string>
98+
<string name="act_aeb_mode">Modo AEB</string>
99+
<string name="act_aeb_sensitivity">Sensibilidad AEB</string>
100+
<string name="act_elk_mode">Modo ELK</string>
101+
<string name="act_elk_sensitivity">Sensibilidad ELK</string>
102+
<string name="act_acc_tja">Modo ACC / TJA</string>
103+
<string name="act_limiter">Limitador de velocidad</string>
104+
<string name="act_tsr">Reconocimiento de señales (TSR)</string>
105+
<string name="act_overspeed">Alarma de exceso de velocidad</string>
106+
<string name="act_speed_limit_tone">Tono de límite de velocidad</string>
107+
<string name="act_sound_warning">Aviso sonoro ADAS</string>
108+
<string name="act_las_sound">Aviso sonoro de cambio de carril</string>
109+
<string name="act_las_vibration">Vibración del volante por cambio de carril</string>
110+
<string name="act_launch_app">Abrir una app</string>
111+
<string name="act_notify">Mostrar una notificación</string>
112+
</resources>

0 commit comments

Comments
 (0)