Files
mg4/app/src/main/res/values/strings.xml
T
nilsandClaude Opus 5.5 d711e0cfda App 2.12.0, server 2.5.0: enter settings on the phone
The ABRP credentials are long to type on the car. "Enter on phone"
(Live data tab, and Settings next to the charging price) shows a QR
code; it opens a form on the server where the phone sends the ABRP API
key and user token, charging price and usable capacity, confirmed with
the approval password. The car polls with its own token and collects
the values once, then saves them through the same checks as the fields
on screen.

Same device-flow shape as pairing. The server keeps the values in memory
only, at most ten minutes, hands them out once with no-store, and never
logs them or puts them back into the page; a paired token only reaches
its own installation's request. Pairing's QR dialog is now shared
(PhoneQrDialog), and the phone pages share one stylesheet.

The config file also takes charging_price and usable_kwh.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QLJfZQZeAKAwSqViTmLzki
2026-10-18 12:59:03 +02:00

205 lines
14 KiB
XML

<resources>
<string name="app_name">Nils\' MG4</string>
<!-- Main screen -->
<string name="tab_service">Live data</string>
<string name="tab_vehicle">Overview</string>
<string name="tab_consumption">Consumption</string>
<string name="tab_charging">Charging</string>
<string name="consumption_title">Consumption</string>
<string name="consumption_subtitle">Since start, motor, lifetime and trip counters</string>
<string name="charging_title">Charging</string>
<string name="charging_subtitle">Live battery values and SOC/power curve</string>
<string name="tab_server">Server</string>
<string name="tab_settings">Settings</string>
<string name="tab_log">Logs</string>
<!-- Wi-Fi page -->
<string name="wifi_card_title">WI-FI</string>
<string name="wifi_current">Connected network</string>
<string name="wifi_state">Status</string>
<string name="wifi_connect_now">Connect Now</string>
<string name="wifi_auto_label">Auto-connect in the background</string>
<string name="wifi_auto_hint">While the upload service is running, it tries to reconnect to saved networks on its own when the connection drops.</string>
<string name="wifi_saved_title">SAVED NETWORKS</string>
<string name="wifi_saved_empty">Could not read saved networks</string>
<string name="wifi_not_connected">Not connected</string>
<!-- Vehicle page -->
<string name="vehicle_live_data">Live Vehicle Data</string>
<string name="vehicle_tires">Tire Pressures</string>
<string name="vehicle_row_soc">Charge (SOC)</string>
<string name="vehicle_row_range">Range</string>
<string name="vehicle_row_power">Power</string>
<string name="vehicle_row_range_trip">Range since start</string>
<string name="vehicle_row_range_average">Range at 5-min average</string>
<string name="vehicle_row_usage_trip">Usage since start</string>
<string name="vehicle_row_usage_average">Usage, 5-min average</string>
<string name="range_consumption">%1$.1f kWh/100 km</string>
<string name="range_over">&gt; %1$d km</string>
<string name="range_waiting">needs a few minutes of driving</string>
<string name="range_recuperating">while recuperating</string>
<string name="range_trip_waiting">once the car has moved</string>
<string name="usage_over_distance">over %1$.1f km</string>
<string name="usage_last_5_min">over the last 5 minutes</string>
<string name="hint_usable_capacity">Usable battery capacity</string>
<string name="btn_save_capacity">Save capacity</string>
<string name="helper_usable_capacity">Used for the range estimates on the Vehicle tab. The 51 kWh MG4 battery has 50.8 kWh usable, the 64 kWh one 61.7, the 77 kWh one 74.4.</string>
<string name="usable_capacity_saved">Usable capacity saved</string>
<string name="usable_capacity_invalid">Enter a value between 10 and 150 kWh</string>
<string name="vehicle_row_speed">Speed</string>
<string name="vehicle_row_odometer">Odometer</string>
<string name="vehicle_row_batt_temp">Battery Temperature</string>
<string name="vehicle_row_cabin_temp">Cabin Temperature</string>
<string name="vehicle_row_hvac">Climate Setpoint</string>
<string name="vehicle_row_capacity">Battery Capacity</string>
<string name="vehicle_row_charging">Charging Status</string>
<string name="vehicle_tire_fl">Front Left</string>
<string name="vehicle_tire_fr">Front Right</string>
<string name="vehicle_tire_rl">Rear Left</string>
<string name="vehicle_tire_rr">Rear Right</string>
<string name="btn_save">Save</string>
<string name="btn_test">Test connection</string>
<string name="btn_import">Import from file</string>
<!-- Server page -->
<string name="server_card_title">Car server</string>
<string name="hint_server_url">Server URL</string>
<string name="helper_server_url">For example https://car.k8s.stinnesbeck.com</string>
<string name="hint_server_token">Ingest token</string>
<string name="helper_server_token">The server\'s INGEST_TOKEN, at least 24 characters</string>
<string name="hint_installation_id">Installation ID</string>
<string name="helper_installation_id">Your data is stored under this ID. Keep it when reinstalling.</string>
<string name="server_err_url">Enter an https:// URL</string>
<string name="btn_pair">Pair with phone</string>
<string name="pair_hint">Shows a QR code: scan it with your phone and approve with the approval password. The token below is then filled in for you.</string>
<string name="pair_title">Pair with phone</string>
<string name="pair_scan">Scan the QR code with your phone, or open %1$s and enter the code %2$s:</string>
<string name="pair_waiting">Waiting for approval…</string>
<string name="pair_starting">Contacting the server…</string>
<string name="pair_ok">Paired — this car now has its own token</string>
<string name="pair_denied">Pairing was denied on the phone</string>
<string name="pair_expired">The code expired — press Pair with phone again</string>
<string name="pair_not_enabled">Pairing is not enabled on the server (no APPROVAL_PASSWORD)</string>
<string name="pair_error">Pairing failed: %1$s</string>
<string name="pair_close">Close</string>
<string name="pair_err_old_server">The server has no pairing (HTTP 404). It needs server version 2.1.0 or newer.</string>
<string name="err_dns">Server name %1$s not found. Is it in public DNS?</string>
<string name="err_unreachable">Server %1$s not reachable</string>
<string name="err_http">Server answered HTTP %1$d</string>
<string name="pair_cancel">Cancel</string>
<string name="pair_qr_description">QR code to approve this car on your phone</string>
<string name="server_err_token">The token must be at least 24 characters, without spaces</string>
<string name="server_err_installation_id">Not a valid ID (UUID)</string>
<string name="server_saved">Server settings saved</string>
<string name="server_not_configured">Server not configured — open the Server tab</string>
<string name="import_hint">Put a text file with server_url and token in %1$s (on the head unit or a USB stick in the same folder), then press Import.</string>
<!-- Config file import -->
<string name="import_ok">Config imported and saved — press Test to verify</string>
<string name="import_ok_deleted">Config imported and saved; the file was deleted</string>
<string name="import_ok_not_deleted">Config imported and saved, but the file could not be deleted. It holds your token: delete %1$s</string>
<string name="import_err_read">Could not read that file</string>
<string name="import_err_values">The charging price or usable capacity in the file is not plausible</string>
<string name="import_err_empty">No settings found in that file</string>
<string name="import_err_not_found">No config file found. Copy it to %1$s</string>
<!-- Connection test -->
<string name="conn_testing">Testing…</string>
<string name="conn_ok">Connected — server accepts the token</string>
<string name="conn_err_auth">Token rejected — check it against the server\'s INGEST_TOKEN</string>
<string name="perm_denied_location">Location denied — telemetry will have no position. Grant it in Settings to send GPS to ABRP.</string>
<string name="perm_denied_car">Vehicle data denied — no battery %%, speed or range will be sent. Grant it in Settings.</string>
<string name="perm_denied_all">Location and vehicle data denied — only a timestamp will be sent. Grant both in Settings.</string>
<string name="conn_err_no_internet">No internet connection</string>
<string name="conn_err_timeout">Connection timed out</string>
<string name="conn_err_http">Server error (HTTP %1$d)</string>
<string name="label_full_screen">Full screen</string>
<string name="hint_full_screen">Hides the car\'s top and bottom bars while this app is open. Swipe in from the top or bottom edge to show them briefly, e.g. for the climate controls.</string>
<string name="label_voice_key">Double-press the voice key to open this app</string>
<string name="hint_voice_key">Press the voice key on the steering wheel twice quickly. The voice assistant may still react to the presses.</string>
<string name="label_steering_keys">Steering-wheel keys</string>
<string name="hint_steering_keys">The last key reports the car sent, newest first. If double-pressing the voice key does not open the app, a photo of this list shows how the car reports it.</string>
<string name="steering_keys_empty">No key reports received yet. Press a steering-wheel key.</string>
<string name="label_abrp_upload_enabled">Send live data</string>
<string name="hint_abrp_upload_enabled">To your server, which stores it, and straight to ABRP when the ABRP credentials below are set. Consumption and charging tracking keep running when this is off.</string>
<string name="hint_abrp_direct">The car sends live data to ABRP itself with your ABRP API key and user token. Without them, ABRP gets no live data; your server only stores it.</string>
<string name="hint_abrp_api_key">ABRP API key</string>
<string name="hint_abrp_token">ABRP user token</string>
<string name="abrp_saved">Saved: the car sends live data to ABRP directly</string>
<string name="abrp_cleared">Cleared: ABRP gets no live data</string>
<string name="abrp_invalid">Enter both, without spaces, or leave both empty</string>
<string name="abrp_testing">Checking with ABRP…</string>
<string name="abrp_test_ok">ABRP accepted these credentials</string>
<string name="abrp_test_failed">ABRP refused: HTTP %1$d</string>
<string name="abrp_test_offline">ABRP not reachable: %1$s</string>
<string name="abrp_not_set">Set both first</string>
<string name="btn_phone_settings">Enter on phone</string>
<string name="hint_phone_settings">Type the ABRP credentials, charging price and usable capacity on your phone instead: a QR code opens a form on your server.</string>
<string name="phone_settings_title">Enter settings on your phone</string>
<string name="phone_settings_scan">Scan the QR code with your phone, or open %1$s and enter the code %2$s. Fill in what you want to change and send it with the approval password.</string>
<string name="phone_settings_waiting">Waiting for the phone…</string>
<string name="phone_settings_needs_server">Set up the server first (Server tab): the form for the phone runs on your server.</string>
<string name="phone_settings_not_enabled">Not available on the server: it needs version 2.5.0 or newer and an APPROVAL_PASSWORD</string>
<string name="pair_expired_settings">The code expired — press Enter on phone again</string>
<string name="phone_settings_applied">Settings from the phone saved</string>
<string name="phone_settings_partly">Some values from the phone were not plausible and were not saved</string>
<!-- Cadence configuration -->
<string name="label_frequency">Upload frequency</string>
<string name="hint_frequency">Applies while driving. Parked and unplugged, the app backs off to one upload every 15 minutes on its own.</string>
<string name="label_boost_low_soc">Upload more often at low battery</string>
<string name="label_low_soc_threshold">Low battery threshold (%)</string>
<plurals name="interval_seconds">
<item quantity="one">Every %1$d second</item>
<item quantity="other">Every %1$d seconds</item>
</plurals>
<plurals name="interval_minutes">
<item quantity="one">Every %1$d minute</item>
<item quantity="other">Every %1$d minutes</item>
</plurals>
<!-- Service state -->
<string name="state_stopped">Stopped</string>
<string name="state_starting">Starting…</string>
<string name="state_running">Running</string>
<string name="state_abrp_only">Running — live data to ABRP only, no server set up</string>
<string name="state_tracking_locally">Tracking locally — live telemetry off</string>
<string name="notif_tracking_locally">Tracking locally — live telemetry off</string>
<string name="state_error">In error — last %1$d uploads failed</string>
<!-- Call log -->
<string name="label_call_log">Recent uploads</string>
<string name="call_log_empty">No upload attempted yet.</string>
<string name="btn_flush_now">Upload now</string>
<string name="status_starting">Starting…</string>
<string name="status_running_no_upload">Running — waiting for first upload</string>
<string name="status_last_upload">Last upload: %1$s (%2$s)</string>
<string name="status_ok">OK</string>
<!-- Notification -->
<string name="notif_channel_name">ABRP Upload Service</string>
<string name="notif_channel_desc">Shows vehicle telemetry upload status</string>
<string name="notif_title">ABRP Uploader</string>
<string name="notif_action_stop">Stop</string>
<string name="ota_install_success">Update installed — restart the app</string>
<string name="ota_install_failed">Installation failed: %1$s</string>
<string name="update_check">Check for updates</string>
<string name="update_checking">Checking for a new OTA version…</string>
<string name="update_dialog_title">Software update</string>
<string name="update_downloading">Downloading and verifying…</string>
<string name="update_downloading_percent">Downloading… %1$d%%</string>
<string name="about_action">About</string>
<string name="about_title">About Nils\' MG4</string>
<string name="about_version">Version %1$s</string>
<string name="about_attribution">Fork of fatihdonmezdev / FatihsMG4,\nmalys / EVABRPUploader\nand Leon Kernan / ABRP_Uploader</string>
<string name="about_repository">github.com/fatihdonmezdev/FatihsMG4</string>
<string name="about_made_with_love">MG4 EH32 · SWI69</string>
<string name="about_logo_description">Nils\' MG4 logo</string>
<string name="about_qr_description">QR code for the project repository</string>
<string name="about_version_unknown">unknown</string>
<string name="about_close">Close</string>
</resources>