Announce route recalculation #6576

Merged
root merged 2 commits from recalc_and_begin_tts into master 2025-03-01 09:01:15 +00:00
Member

Fixes #5303

Addressing #2802 is saved for a later time under https://github.com/zyphlar/organicmaps/tree/begin_and_recalc_tts

Fixes #5303 Addressing #2802 is saved for a later time under https://github.com/zyphlar/organicmaps/tree/begin_and_recalc_tts
vng (Migrated from github.com) reviewed 2023-11-16 09:53:47 +00:00
matheusgomesms (Migrated from github.com) reviewed 2023-11-16 13:30:36 +00:00
matheusgomesms (Migrated from github.com) commented 2023-11-16 13:30:35 +00:00

This English string (and translations) seems a bit off to me. Apple Maps starts with "Starting route". Google Maps seems to not have this first string, starts with "Head west etc"

This English string (and translations) seems a bit off to me. Apple Maps starts with "Starting route". Google Maps seems to not have this first string, starts with "Head west etc"
matheusgomesms (Migrated from github.com) reviewed 2023-11-16 13:31:49 +00:00
matheusgomesms (Migrated from github.com) commented 2023-11-16 13:31:49 +00:00
    pt = Recalculando rota.
```suggestion pt = Recalculando rota. ```
zyphlar reviewed 2023-11-16 17:16:03 +00:00
Author
Member

@matheusgomesms yeah there's no perfect option and it's worth discussing. Can you add your experience to #2802 where I've documented some alternatives? This is just the simplest, easiest to implement option but probably not the best

@matheusgomesms yeah there's no perfect option and it's worth discussing. Can you add your experience to #2802 where I've documented some alternatives? This is just the simplest, easiest to implement option but probably not the best
matheusgomesms (Migrated from github.com) reviewed 2023-11-16 17:33:20 +00:00
matheusgomesms (Migrated from github.com) commented 2023-11-16 17:33:20 +00:00

That's what I just did, thanks!

That's what I just did, thanks!
RedAuburn reviewed 2023-11-17 13:45:49 +00:00

"Rerouting" might be too short, people might not hear it. It's also somewhat technical language which we should avoid IMO

my car's satnav says "Recalculating route" which IMO would be a better option :)

"Rerouting" might be too short, people might not hear it. It's also somewhat technical language which we should avoid IMO my car's satnav says "Recalculating route" which IMO would be a better option :)
matheusgomesms (Migrated from github.com) reviewed 2023-11-17 13:59:51 +00:00
matheusgomesms (Migrated from github.com) commented 2023-11-17 13:59:51 +00:00

This is exactly the translation I suggested to be used in Portuguese (literal translation of "Recalculating route"), because this is what I also hear on my other apps.

This is exactly the translation I suggested to be used in Portuguese (literal translation of "Recalculating route"), because this is what I also hear on my other apps.
RedAuburn reviewed 2023-11-17 15:03:44 +00:00

This is exactly the what I suggested to be used in Portuguese (literal translation of "Recalculating route"), because this is what I also hear on my other apps.

oh yeah! oops 😆

> This is exactly the what I suggested to be used in Portuguese (literal translation of "Recalculating route"), because this is what I also hear on my other apps. oh yeah! oops 😆
zyphlar reviewed 2023-11-17 19:32:44 +00:00
Author
Member

I used "recalculating" at first which I know is standard, but I considered that it's a bit unfriendly (are we using a calculator, or a navigator? Is there math involved? Are we bad drivers for making our GPS do so much math? The more it talks at us the worse we feel about our bad driving and this bad traffic.) A human navigator wouldn't tell their driver "recalculating," they'd say something like "okay, updating the route."

I wonder if a small chime is actually better than words for this, I can remember many times being frustrated at GPS for "recalculating" too much (like let's say if you're taking a detour to a gas station that's a bit off the highway but are too flustered to press buttons on the GPS) and the noise is more irritating than helpful. All we're looking for is a small reminder that the guidance has changed, we're not really communicating any substantial information. The only danger in the reminder being unheard is if the next turn is many miles away and so the GPS silently lets you continue on for a long time, but that can be solved in other ways (like in #2802 where intermediary "...continue for 232 miles" may be a good idea, which doesn't need to necessarily be announced immediately upon recalculation)

I haven't heard Google/etc say "recalculating" in a long time, I wonder what all the various apps do? I know some of them just give a new direction like "turn left" or "continue straight" in lieu of announcing the new route itself. (The immediate question is "recalculating to what, what are you doing???")

I used "recalculating" at first which I know is standard, but I considered that it's a bit unfriendly (are we using a calculator, or a navigator? Is there math involved? Are we bad drivers for making our GPS do so much math? The more it talks at us the worse we feel about our bad driving and this bad traffic.) A human navigator wouldn't tell their driver "recalculating," they'd say something like "okay, updating the route." I wonder if a small chime is actually better than words for this, I can remember many times being frustrated at GPS for "recalculating" too much (like let's say if you're taking a detour to a gas station that's a bit off the highway but are too flustered to press buttons on the GPS) and the noise is more irritating than helpful. All we're looking for is a small reminder that the guidance has changed, we're not really communicating any substantial information. The only danger in the reminder being unheard is if the next turn is many miles away and so the GPS silently lets you continue on for a long time, but that can be solved in other ways (like in #2802 where intermediary "...continue for 232 miles" may be a good idea, which doesn't need to necessarily be announced immediately upon recalculation) I haven't heard Google/etc say "recalculating" in a long time, I wonder what all the various apps do? I know some of them just give a new direction like "turn left" or "continue straight" in lieu of announcing the new route itself. (The immediate question is "recalculating to what, what are you doing???")
biodranik (Migrated from github.com) reviewed 2023-11-18 13:36:28 +00:00
biodranik (Migrated from github.com) commented 2023-11-18 13:33:06 +00:00

Considering OM's simplicity to use, and the availability of some test strings in settings, this announcement is not needed, because the user already knows what he/she just did.

Considering OM's simplicity to use, and the availability of some test strings in settings, this announcement is not needed, because the user already knows what he/she just did.
biodranik (Migrated from github.com) commented 2023-11-18 13:34:39 +00:00

Recalculating the route is a better option considering that it takes some time. Google doesn't say it because it does it (almost) instantly on fast servers.

Recalculating the route is a better option considering that it takes some time. Google doesn't say it because it does it (almost) instantly on fast servers.
biodranik (Migrated from github.com) commented 2023-11-18 13:35:41 +00:00

Why are these counters needed? Are they really needed? Can you please describe the logic here and in a code comment?

Why are these counters needed? Are they really needed? Can you please describe the logic here and in a code comment?
zyphlar reviewed 2023-11-18 18:19:06 +00:00
Author
Member

@biodranik that's fine, in which case the attached issue should be closed as wontfix and I'll remove "beginning route" as an announcement. Alternately we could announce something more useful like "head north/etc on/to Some Road" as a first instruction like GMaps.

@biodranik that's fine, in which case the attached issue should be closed as wontfix and I'll remove "beginning route" as an announcement. Alternately we could announce something more useful like "head north/etc on/to Some Road" as a first instruction like GMaps.
zyphlar reviewed 2023-11-18 18:28:01 +00:00
Author
Member

routingRebuildCount is an existing counter so I reused that logic to prevent duplicate or unneeded announcements especially for beginning a new route. Notifications are generated as a separate routine from deciding recalculation is necessary, so it would be major refactoring to try and put a notification on the stack directly from the "we need to / are currently recalculating" function. Instead the need for a recalculation announcement is detected when the counters are off (some class state needs to be persisted in between the unrelated functions.)

routingRebuildCount is an existing counter so I reused that logic to prevent duplicate or unneeded announcements especially for beginning a new route. Notifications are generated as a separate routine from deciding recalculation is necessary, so it would be major refactoring to try and put a notification on the stack directly from the "we need to / are currently recalculating" function. Instead the need for a recalculation announcement is detected when the counters are off (some class state needs to be persisted in between the unrelated functions.)
biodranik (Migrated from github.com) reviewed 2023-11-19 08:33:54 +00:00
biodranik (Migrated from github.com) commented 2023-11-19 08:33:53 +00:00

It doesn't look like the right solution. There should be a direct place in the code where recalculation is triggered. Counting on side counters (that can be removed/refactored at any time) is not a robust design.

It doesn't look like the right solution. There should be a direct place in the code where recalculation is triggered. Counting on side counters (that can be removed/refactored at any time) is not a robust design.
biodranik (Migrated from github.com) reviewed 2023-12-15 23:49:01 +00:00
biodranik (Migrated from github.com) commented 2023-12-15 23:49:01 +00:00

Announcing the first instruction sounds useful. We can fix/merge this PR for recalculation only, and then implement the first instruction in a separate PR.

Announcing the first instruction sounds useful. We can fix/merge this PR for recalculation only, and then implement the first instruction in a separate PR.
zyphlar reviewed 2023-12-19 17:46:22 +00:00
Author
Member

@biodranik I'm not sure if there is. Notifications are generated opportunistically when a state requiring them has been met, and GenerateNotifications can be called any number of times per actual notification message output; the function needs to know when it should actually output stuff (like the Boolean for Route IsValid so we don't announce invalid routes.) So we need to track if now is a good time to announce route beginning and route recalculation, and the answer is it's a good time (a) if we haven't yet announced the beginning, state stored separately, and (b) if we've recalculated elsewhere (state stored separately) but not yet announced it (again state somehow persisted across multiple announcements but not between routing sessions)

I'm ok with storing state differently somehow but this was the simplest way I could find

@biodranik I'm not sure if there is. Notifications are generated opportunistically when a state requiring them has been met, and GenerateNotifications can be called any number of times per actual notification message output; the function needs to know *when* it should actually output stuff (like the Boolean for Route IsValid so we don't announce invalid routes.) So we need to track if now is a good time to announce route beginning and route recalculation, and the answer is it's a good time (a) if we haven't yet announced the beginning, state stored separately, and (b) if we've recalculated elsewhere (state stored separately) but not yet announced it (again state somehow persisted across multiple announcements but not between routing sessions) I'm ok with storing state differently somehow but this was the simplest way I could find
biodranik (Migrated from github.com) reviewed 2023-12-19 19:04:19 +00:00
biodranik (Migrated from github.com) commented 2023-12-19 19:04:19 +00:00

I assume that there should be two explicit places in the code, where:

  1. Navigation is started (the route is already calculated/present at that moment, so directions should be known/easily calculable).
  2. Route rebuild is triggered (this happens when the current location is compared with the existing route).

These two places would be the best to announce.

Does it make sense to split this PR into two parts?

  1. Announce route recalculation
  2. Announce the first starting direction (only if necessary! e.g. "turn left in 100 meters", not "turn left in 10km").
I assume that there should be two explicit places in the code, where: 1. Navigation is started (the route is already calculated/present at that moment, so directions should be known/easily calculable). 2. Route rebuild is triggered (this happens when the current location is compared with the existing route). These two places would be the best to announce. Does it make sense to split this PR into two parts? 1. Announce route recalculation 2. Announce the first starting direction (only if necessary! e.g. "turn left in 100 meters", not "turn left in 10km").
zyphlar reviewed 2023-12-19 19:47:47 +00:00
Author
Member

I'm ok with changing "follow the highlighted" to an initial instruction. This has already been merged into yesterday's beta so I'm not sure the overall plan but I'm happy to make future improvements too.

You're correct that there are places when routing is started and recalculation is triggered, but those are not places where notifications are triggered. Notifications are placed on the stack via a separate function which is called from a different place so I'm not sure we can directly generate notifications from the route begin or route recalculate functions.

Consider that notifications is a pointer passed into this function and modified. Generating notifications outside of this function would be rearchitecting.

GenerateNotifications(std::vector<std::string> & notifications){
  //...
  notifications.emplace_back(m_turnNotificationsMgr.GenerateRecalculatingText());
  return;
}
I'm ok with changing "follow the highlighted" to an initial instruction. This has already been merged into yesterday's beta so I'm not sure the overall plan but I'm happy to make future improvements too. You're correct that there are places when routing is started and recalculation is triggered, but those are not places where *notifications* are triggered. Notifications are placed on the stack via a separate function which is called from a different place so I'm not sure we can directly generate notifications from the route begin or route recalculate functions. Consider that notifications is a pointer passed into this function and modified. Generating notifications outside of this function would be rearchitecting. ``` GenerateNotifications(std::vector<std::string> & notifications){ //... notifications.emplace_back(m_turnNotificationsMgr.GenerateRecalculatingText()); return; } ```
biodranik (Migrated from github.com) reviewed 2023-12-19 23:25:06 +00:00
biodranik (Migrated from github.com) commented 2023-12-19 23:25:06 +00:00

@zyphlar Pease don't consider the beta branch as merged. It's a temporary branch where we cherry-pick some open PRs that need testing.

@vng did you check that code? As an architect, do you see a better way to trigger these notifications?

@zyphlar Pease don't consider the beta branch as _merged_. It's a temporary branch where we cherry-pick some open PRs that need testing. @vng did you check that code? As an architect, do you see a better way to trigger these notifications?
Jean-BaptisteC (Migrated from github.com) requested changes 2024-05-26 08:47:07 +00:00
Jean-BaptisteC (Migrated from github.com) commented 2024-05-26 08:47:00 +00:00

fr = Recalcul de l'itinéraire

fr = Recalcul de l'itinéraire
vng (Migrated from github.com) requested changes 2024-05-26 13:17:34 +00:00
vng (Migrated from github.com) left a comment

Well, at first glance I can say that checking RoutingSession::IsRebuildingOnly() should be enough here (without counters).

Should try-and-test. IDK how and when these states are updated and if they are correct.

Well, at first glance I can say that checking RoutingSession::IsRebuildingOnly() should be enough here (without counters). Should try-and-test. IDK how and when these states are updated and if they are correct.
biodranik (Migrated from github.com) reviewed 2024-05-30 06:44:52 +00:00
biodranik (Migrated from github.com) left a comment

There should be a place in the code that is called once, when route recalculation is triggered, from which notification can be posted. Debug logging can be used if necessary to discover it.

There should be a place in the code that is called _once_, when route recalculation is triggered, from which notification can be posted. Debug logging can be used if necessary to discover it.
biodranik (Migrated from github.com) reviewed 2024-08-10 18:08:15 +00:00
biodranik (Migrated from github.com) commented 2024-08-10 08:33:43 +00:00

Maybe this will be better (although it could sound longer...), as some original translations are not clear.

    en = Recalculating the route
    af = Herbereken die roete
    ar = إعادة حساب المسار
    az = Marşrutun yenidən hesablanması
    be = Пераразлік маршруту
    bg = Преизчисляване на маршрута
    ca = Recalcular el recorregut
    cs = Přepočítání trasy
    da = Genberegning af ruten
    de = Neuberechnung der Route
    el = Επαναϋπολογισμός της διαδρομής
    es = Recalcular la ruta
    et = Marsruudi ümberarvutamine
    eu = Ibilbidea berriro kalkulatzea
    fa = محاسبه مجدد مسیر
    fi = Reitin uudelleenlaskenta
    fr = Recalculer l'itinéraire
    he = חישוב מחדש של המסלול
    hi = मार्ग की पुनर्गणना
    hu = Az útvonal újraszámítása
    id = Menghitung ulang rute
    it = Ricalcolo del percorso
    ja = ルートの再計算
    ko = 경로 다시 계산하기
    lt = Maršruto perskaičiavimas
    mr = मार्गाची पुनर्गणना करत आहे
    nb = Beregner ruten på nytt
    nl = De route herberekenen
    pl = Ponowne obliczanie trasy
    pt = Recalcular o itinerário
    pt-BR = Recalcular a rota
    ro = Recalcularea traseului
    ru = Перерасчет маршрута
    sk = Prepočítanie trasy
    sv = Omberäkning av rutten
    sw = Kuhesabu upya njia
    th = การคำนวณเส้นทางใหม่
    tr = Rotanın yeniden hesaplanması
    uk = Перерахунок маршруту
    vi = Tính toán lại lộ trình
    zh-Hans = 重新计算路线
    zh-Hant = 重新計算路
Maybe this will be better (although it could sound longer...), as some original translations are not clear. ``` en = Recalculating the route af = Herbereken die roete ar = إعادة حساب المسار az = Marşrutun yenidən hesablanması be = Пераразлік маршруту bg = Преизчисляване на маршрута ca = Recalcular el recorregut cs = Přepočítání trasy da = Genberegning af ruten de = Neuberechnung der Route el = Επαναϋπολογισμός της διαδρομής es = Recalcular la ruta et = Marsruudi ümberarvutamine eu = Ibilbidea berriro kalkulatzea fa = محاسبه مجدد مسیر fi = Reitin uudelleenlaskenta fr = Recalculer l'itinéraire he = חישוב מחדש של המסלול hi = मार्ग की पुनर्गणना hu = Az útvonal újraszámítása id = Menghitung ulang rute it = Ricalcolo del percorso ja = ルートの再計算 ko = 경로 다시 계산하기 lt = Maršruto perskaičiavimas mr = मार्गाची पुनर्गणना करत आहे nb = Beregner ruten på nytt nl = De route herberekenen pl = Ponowne obliczanie trasy pt = Recalcular o itinerário pt-BR = Recalcular a rota ro = Recalcularea traseului ru = Перерасчет маршрута sk = Prepočítanie trasy sv = Omberäkning av rutten sw = Kuhesabu upya njia th = การคำนวณเส้นทางใหม่ tr = Rotanın yeniden hesaplanması uk = Перерахунок маршруту vi = Tính toán lại lộ trình zh-Hans = 重新计算路线 zh-Hant = 重新計算路 ```
biodranik (Migrated from github.com) reviewed 2024-08-26 08:15:17 +00:00
biodranik (Migrated from github.com) left a comment

@vng looks like the current implementation keeps an internal route state and polls notifications to announce periodically (e.g. on a location update event), instead of using a callback and call native TTS code from C++ at the time of an event. Could it be the source of other issues like delayed/not on-time announcements?

  1. What is your opinion on the proposed implementation of announcing reroutes?
  2. In general, does it make sense to refactor this approach in the longer term? For example, there are "traffic announcement" event that should also trigger a route rebuild. If GPS update won't come for any reason, then such an announcement will be delayed.

CC @fabwu @zyphlar @kirylkaveryn

@vng looks like the current implementation keeps an internal route state and polls notifications to announce periodically (e.g. on a location update event), instead of using a callback and call native TTS code from C++ at the time of an event. Could it be the source of other issues like delayed/not on-time announcements? 1. What is your opinion on the proposed implementation of announcing reroutes? 2. In general, does it make sense to refactor this approach in the longer term? For example, there are "traffic announcement" event that should also trigger a route rebuild. If GPS update won't come for any reason, then such an announcement will be delayed. CC @fabwu @zyphlar @kirylkaveryn
@ -234,6 +234,7 @@ private:
double m_passedDistanceOnRouteMeters = 0.0;
// Rerouting count
int m_routingRebuildCount = -1; // -1 for the first rebuild called in BuildRoute().
int m_routingRebuildAnnounceCount = 0; // track TTS announcement state (ignore the first build)
biodranik (Migrated from github.com) commented 2024-08-26 08:10:35 +00:00

It should also be reset in BuildRoute L77

It should also be reset in BuildRoute L77
matheusgomesms (Migrated from github.com) reviewed 2024-08-26 08:20:46 +00:00
matheusgomesms (Migrated from github.com) commented 2024-08-26 08:20:46 +00:00

In the languages I know these strings are a bit off. Something coming from "to recalculate" instead of "recalculating", which seems off to me to be in infinitive for TTS announcements.

In the languages I know these strings are a bit off. Something coming from "to recalculate" instead of "recalculating", which seems off to me to be in infinitive for TTS announcements.
zyphlar reviewed 2024-08-26 08:26:49 +00:00
Author
Member

@matheusgomesms feel free to suggest more natural translations for the languages you know. I personally think "recalculating" by itself of "rerouting" is most understandable but all suggestions are welcome.

@matheusgomesms feel free to suggest more natural translations for the languages you know. I personally think "recalculating" by itself of "rerouting" is most understandable but all suggestions are welcome.
matheusgomesms (Migrated from github.com) reviewed 2024-08-26 08:31:47 +00:00
matheusgomesms (Migrated from github.com) commented 2024-08-26 08:31:47 +00:00

The problem is that the translations are in infinitive, instead of gerund (-ing in English). I can't confirm for all languages, but the ones I know are all off, so I suppose all other languages are off too.

I'll gladly suggest corrections to my languages, but just wanted to confirm that these are the strings that will be used, and will not be replaced by another regen.

The problem is that the translations are in infinitive, instead of gerund (-ing in English). I can't confirm for all languages, but the ones I know are all off, so I suppose all other languages are off too. I'll gladly suggest corrections to my languages, but just wanted to confirm that these are the strings that will be used, and will not be replaced by another regen.
biodranik (Migrated from github.com) reviewed 2024-08-26 08:38:58 +00:00
biodranik (Migrated from github.com) commented 2024-08-26 08:38:58 +00:00

Maybe this would be better? (Although a shorter translation is preferred...)

    en = The route is being recalculated.
    af = Die roete word herbereken.
    ar = يتم إعادة حساب المسار.
    az = Marşrut yenidən hesablanır.
    be = Маршрут пералічваецца.
    bg = Маршрутът се преизчислява.
    ca = Es torna a calcular el recorregut.
    cs = Trasa se přepočítá.
    da = Ruten genberegnes.
    de = Die Route wird neu kalkuliert.
    el = Η διαδρομή υπολογίζεται εκ νέου.
    en-GB = The route is recalculated.
    es = Se vuelve a calcular la ruta.
    et = Marsruut arvutatakse uuesti.
    eu = Ibilbidea berriro kalkulatu da.
    fa = مسیر دوباره محاسبه می شود.
    fi = Reitti lasketaan uudelleen.
    fr = L'itinéraire est recalculé.
    he = המסלול מחושב מחדש.
    hi = मार्ग की पुनर्गणना की गई है.
    hu = Az útvonal újraszámításra kerül.
    id = Rute dihitung ulang.
    it = Il percorso viene ricalcolato.
    ja = ルートが再計算されます。
    ko = 경로가 다시 계산됩니다.
    lt = Maršrutas apskaičiuojamas iš naujo.
    mr = मार्गाची पुनर्गणना केली जाते.
    nb = Ruten beregnes på nytt.
    nl = De route wordt opnieuw berekend.
    pl = Trasa zostanie ponownie obliczona.
    pt = A rota é recalculada.
    ro = Traseul este recalculat.
    ru = Маршрут пересчитывается.
    sk = Trasa sa prepočíta.
    sv = Rutten beräknas på nytt.
    sw = Njia imehesabiwa upya.
    th = เส้นทางจะถูกคำนวณใหม่
    tr = Rota yeniden hesaplanır.
    uk = Маршрут перераховується.
    vi = Lộ trình được tính toán lại.
    zh-Hans = 重新计算路线。
    zh-Hant = 路線重新計算。
Maybe this would be better? (Although a shorter translation is preferred...) ``` en = The route is being recalculated. af = Die roete word herbereken. ar = يتم إعادة حساب المسار. az = Marşrut yenidən hesablanır. be = Маршрут пералічваецца. bg = Маршрутът се преизчислява. ca = Es torna a calcular el recorregut. cs = Trasa se přepočítá. da = Ruten genberegnes. de = Die Route wird neu kalkuliert. el = Η διαδρομή υπολογίζεται εκ νέου. en-GB = The route is recalculated. es = Se vuelve a calcular la ruta. et = Marsruut arvutatakse uuesti. eu = Ibilbidea berriro kalkulatu da. fa = مسیر دوباره محاسبه می شود. fi = Reitti lasketaan uudelleen. fr = L'itinéraire est recalculé. he = המסלול מחושב מחדש. hi = मार्ग की पुनर्गणना की गई है. hu = Az útvonal újraszámításra kerül. id = Rute dihitung ulang. it = Il percorso viene ricalcolato. ja = ルートが再計算されます。 ko = 경로가 다시 계산됩니다. lt = Maršrutas apskaičiuojamas iš naujo. mr = मार्गाची पुनर्गणना केली जाते. nb = Ruten beregnes på nytt. nl = De route wordt opnieuw berekend. pl = Trasa zostanie ponownie obliczona. pt = A rota é recalculada. ro = Traseul este recalculat. ru = Маршрут пересчитывается. sk = Trasa sa prepočíta. sv = Rutten beräknas på nytt. sw = Njia imehesabiwa upya. th = เส้นทางจะถูกคำนวณใหม่ tr = Rota yeniden hesaplanır. uk = Маршрут перераховується. vi = Lộ trình được tính toán lại. zh-Hans = 重新计算路线。 zh-Hant = 路線重新計算。 ```
matheusgomesms (Migrated from github.com) reviewed 2024-08-26 09:00:57 +00:00
matheusgomesms (Migrated from github.com) commented 2024-08-26 09:00:57 +00:00

Ahh I see. The problem is Deepl itself. When I use Google Translate for the previous string (en=Recalculating the route), it gives me correct translations. Deepl, for some reason, goes from gerund to infinitive, even if I append "it is" in the beginning.

What about this?

en = Recalculating the route.
af = Herbereken die roete.
ar = إعادة حساب الطريق.
az = Marşrutun yenidən hesablanması.
be = Пераразлік маршруту.
bg = Преизчисляване на маршрута.
ca = Recalcul de la ruta.
cs = Přepočítávání trasy.
da = Genberegning af ruten.
de = Neuberechnung der Route.
el = Επανυπολογισμός της διαδρομής.
es = Recalculando la ruta.
et = Marsruudi ümberarvutamine.
eu = Ibilbidea berriro kalkulatzea.
fa = محاسبه مجدد مسیر.
fi = Reitin uudelleenlaskenta.
fr = Recalculer l'itinéraire.
he = חישוב מחדש של המסלול.
hi = मार्ग की पुनर्गणना.
hu = Az útvonal újratervezése.
id = Menghitung ulang rute.
it = Ricalcolando il percorso.
ja = ルートの再計算。
ko = 경로 재계산 중.
lt = Maršruto perskaičiavimas.
mr = मार्गाची पुनर्गणना करत आहे.
nb = Rekalkulerer ruten.
nl = De route opnieuw berekenen.
pl = Ponowne obliczanie trasy.
pt = Recalculando a rota.
ro = Recalcularea traseului.
ru = Перерасчет маршрута.
sk = Prepočítavanie trasy.
sv = Beräknar om rutten.
sw = Kuhesabu upya njia.
th = การคำนวณเส้นทางใหม่
tr = Rotanın yeniden hesaplanması.
uk = Перерахунок маршруту.
vi = Tính toán lại lộ trình.
zh-Hans = 重新计算路线。
zh-Hant = 重新計算路線。
Ahh I see. The problem is Deepl itself. When I use Google Translate for the previous string (en=Recalculating the route), it gives me correct translations. Deepl, for some reason, goes from gerund to infinitive, even if I append "it is" in the beginning. What about this? ``` en = Recalculating the route. af = Herbereken die roete. ar = إعادة حساب الطريق. az = Marşrutun yenidən hesablanması. be = Пераразлік маршруту. bg = Преизчисляване на маршрута. ca = Recalcul de la ruta. cs = Přepočítávání trasy. da = Genberegning af ruten. de = Neuberechnung der Route. el = Επανυπολογισμός της διαδρομής. es = Recalculando la ruta. et = Marsruudi ümberarvutamine. eu = Ibilbidea berriro kalkulatzea. fa = محاسبه مجدد مسیر. fi = Reitin uudelleenlaskenta. fr = Recalculer l'itinéraire. he = חישוב מחדש של המסלול. hi = मार्ग की पुनर्गणना. hu = Az útvonal újratervezése. id = Menghitung ulang rute. it = Ricalcolando il percorso. ja = ルートの再計算。 ko = 경로 재계산 중. lt = Maršruto perskaičiavimas. mr = मार्गाची पुनर्गणना करत आहे. nb = Rekalkulerer ruten. nl = De route opnieuw berekenen. pl = Ponowne obliczanie trasy. pt = Recalculando a rota. ro = Recalcularea traseului. ru = Перерасчет маршрута. sk = Prepočítavanie trasy. sv = Beräknar om rutten. sw = Kuhesabu upya njia. th = การคำนวณเส้นทางใหม่ tr = Rotanın yeniden hesaplanması. uk = Перерахунок маршруту. vi = Tính toán lại lộ trình. zh-Hans = 重新计算路线。 zh-Hant = 重新計算路線。 ```
Nanush7 (Migrated from github.com) reviewed 2025-02-16 01:30:53 +00:00
Nanush7 (Migrated from github.com) left a comment

Making Spanish l10n sound more natural. "Recalcular la ruta" means "Recalculate the route". :)

Btw, what's the current status of this PR?

Making Spanish l10n sound more natural. "Recalcular la ruta" means "Recalculate the route". :) Btw, what's the current status of this PR?
Nanush7 (Migrated from github.com) commented 2025-02-16 01:17:47 +00:00
"route_recalculating":"Recalculando la ruta",
```suggestion "route_recalculating":"Recalculando la ruta", ```
Nanush7 (Migrated from github.com) commented 2025-02-16 01:17:59 +00:00
"route_recalculating":"Recalculando la ruta",
```suggestion "route_recalculating":"Recalculando la ruta", ```
Nanush7 (Migrated from github.com) commented 2025-02-16 01:19:20 +00:00
    es = Recalculando la ruta
```suggestion es = Recalculando la ruta ```
rtsisyk approved these changes 2025-02-24 11:44:22 +00:00
rtsisyk left a comment
Owner

LGTM

LGTM
pastk reviewed 2025-02-26 08:18:10 +00:00

@zyphlar could you please apply es suggestions?

@zyphlar could you please apply `es` suggestions?
zyphlar reviewed 2025-02-26 19:43:30 +00:00
Author
Member

@pastk done

@pastk done
Jean-BaptisteC (Migrated from github.com) approved these changes 2025-02-26 20:26:44 +00:00
Jean-BaptisteC (Migrated from github.com) left a comment

✔ Pixel 6 - Android 15
✔French strings

✔ Pixel 6 - Android 15 ✔French strings
matheusgomesms (Migrated from github.com) reviewed 2025-02-27 10:06:51 +00:00
matheusgomesms (Migrated from github.com) commented 2025-02-27 10:06:51 +00:00
    pt = Recalculando itinerário
    pt-BR = Recalculando rota
```suggestion pt = Recalculando itinerário pt-BR = Recalculando rota ```
matheusgomesms (Migrated from github.com) reviewed 2025-02-27 10:07:40 +00:00
matheusgomesms (Migrated from github.com) commented 2025-02-27 10:07:40 +00:00
"route_recalculating":"Recalculando rota",
```suggestion "route_recalculating":"Recalculando rota", ```
pastk approved these changes 2025-02-28 02:38:20 +00:00
This repo is archived. You cannot comment on pull requests.
No labels
Accessibility
Accessibility
Address
Address
Android
Android
Android Auto
Android Auto
Android Automotive (AAOS)
Android Automotive (AAOS)
API
API
AppGallery
AppGallery
AppStore
AppStore
Battery and Performance
Battery and Performance
Blocker
Blocker
Bookmarks and Tracks
Bookmarks and Tracks
Borders
Borders
Bug
Bug
Build
Build
CarPlay
CarPlay
Classificator
Classificator
Community
Community
Core
Core
CrashReports
CrashReports
Cycling
Cycling
Desktop
Desktop
DevEx
DevEx
DevOps
DevOps
dev_sandbox
dev_sandbox
Directions
Directions
Documentation
Documentation
Downloader
Downloader
Drape
Drape
Driving
Driving
Duplicate
Duplicate
Editor
Editor
Elevation
Elevation
Enhancement
Enhancement
Epic
Epic
External Map Datasets
External Map Datasets
F-Droid
F-Droid
Fonts
Fonts
Frequently User Reported
Frequently User Reported
Fund
Fund
Generator
Generator
Good first issue
Good first issue
Google Play
Google Play
GPS
GPS
GSoC
GSoC
iCloud
iCloud
Icons
Icons
iOS
iOS
Legal
Legal
Linux Desktop
Linux Desktop
Linux packaging
Linux packaging
Linux Phone
Linux Phone
Mac OS
Mac OS
Map Data
Map Data
Metro
Metro
Navigation
Navigation
Need Feedback
Need Feedback
Night Mode
Night Mode
NLnet 2024-06-281
NLnet 2024-06-281
No Feature Parity
No Feature Parity
Opening Hours
Opening Hours
Outdoors
Outdoors
POI Info
POI Info
Privacy
Privacy
Public Transport
Public Transport
Raw Idea
Raw Idea
Refactoring
Refactoring
Regional
Regional
Regression
Regression
Releases
Releases
RoboTest
RoboTest
Route Planning
Route Planning
Routing
Routing
Ruler
Ruler
Search
Search
Security
Security
Styles
Styles
Tests
Tests
Track Recording
Track Recording
Translations
Translations
TTS
TTS
UI
UI
UX
UX
Walk Navigation
Walk Navigation
Watches
Watches
Web
Web
Wikipedia
Wikipedia
Windows
Windows
Won't fix
Won't fix
World Map
World Map
No milestone
No project
No assignees
5 participants
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: organicmaps/organicmaps-tmp#6576
No description provided.