Translate the remaining French and Turkish

mise.toml, the comments in app/build.gradle (corrected where they no
longer described the build: the car build is signed by build-car, and
the updater reads the version from build-car's file name), OTA.md's
message table (now the updater's current English messages), the Turkish
messages quoted in CHANGELOG.md and OTA.md (glossed in English), two
test assertion messages, an icon comment, and the ignition-state comment
in EVHardware.kt. The vendored EVHardware library still has about 120
half-French comment lines; noted in SPECS.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QLJfZQZeAKAwSqViTmLzki
This commit is contained in:
2026-10-18 17:45:56 +02:00
co-authored by Claude Opus 5.5
parent 5e2e354bdd
commit 29064cf8db
8 changed files with 116 additions and 117 deletions
@@ -335,18 +335,18 @@ object EVHardware {
}
/**
* État d'ignition courant, en valeurs [IgnitionState] (AAOS).
* Current ignition state, as [IgnitionState] (AAOS) values.
*
* CarPropertyManager d'abord. Mais SWI68 n'expose pas IGNITION_STATE via CPM : la
* property revient vide, et l'état d'allumage passait pour illisible alors que Katman5
* le rapporte correctement — le log le montre (`Katman5: state initial = 2 (RUN/READY)`)
* pendant que le diagnostic classait IGNITION_STATE en NOT_READABLE.
* CarPropertyManager first. But SWI68 does not expose IGNITION_STATE through CPM: the
* property comes back empty, and the ignition state looked unreadable although Katman5
* reports it correctly — the log shows it (`Katman5: state initial = 2 (RUN/READY)`) while
* the diagnostics classed IGNITION_STATE as NOT_READABLE.
*
* D'où le repli sur le dernier état livré par IVehicleConditionService, converti :
* Katman5 parle en [CarIgnitionItem], cette fonction rend du [IgnitionState], et les
* deux échelles ne coïncident pas (RUN vaut 2 chez l'un, OFF vaut 2 chez l'autre).
* Hence the fallback to the last state delivered by IVehicleConditionService, converted:
* Katman5 speaks [CarIgnitionItem], this function returns [IgnitionState], and the two
* scales do not line up (RUN is 2 in one, OFF is 2 in the other).
*
* Returns -1 si rien n'est lisible, 0 si la property existe mais ne dit rien.
* Returns -1 if nothing is readable, 0 if the property exists but says nothing.
*/
fun getCurrentIgnitionState(): Int {
val v0 = getIntPropertyCPM(PROP_IGNITION_STATE, 0)
@@ -356,7 +356,7 @@ object EVHardware {
return vcmIgnitionAsAaos() ?: global
}
/** Le dernier état Katman5 traduit en [IgnitionState], ou null s'il n'y en a pas eu. */
/** The last Katman5 state translated into [IgnitionState], or null if there was none. */
private fun vcmIgnitionAsAaos(): Int? = when (sLastVcmIgnitionState) {
CarIgnitionItem.OFF -> IgnitionState.OFF
CarIgnitionItem.ACCESSORY -> IgnitionState.ACC