msgid "No instance has been created, exiting\n"
msgstr "Es wurde keine Instanz erzeugt, Ende\n"
-#: ../src/navigation.c:162
+#: ../src/navigation.c:163
#, c-format
msgid "%d m"
msgstr "%d Meter"
-#: ../src/navigation.c:164
+#: ../src/navigation.c:165
#, c-format
msgid "in %d m"
msgstr "In %d metern"
-#: ../src/navigation.c:168
+#: ../src/navigation.c:169
#, c-format
msgid "%d meters"
msgstr "%d Meter"
-#: ../src/navigation.c:170
+#: ../src/navigation.c:171
#, c-format
msgid "in %d meters"
msgstr "In %d metern"
-#: ../src/navigation.c:176
+#: ../src/navigation.c:177
#, c-format
msgid "%d.%d kilometer"
msgstr "%d,%d Kilometer"
-#: ../src/navigation.c:178
+#: ../src/navigation.c:179
#, c-format
msgid "in %d.%d kilometers"
msgstr "In %d,%d Kilometern"
-#: ../src/navigation.c:182
+#: ../src/navigation.c:183
#, c-format
msgid "one kilometer"
msgid_plural "%d kilometers"
msgstr[0] "einen Kilometer"
msgstr[1] "%d Kilometer"
-#: ../src/navigation.c:184
+#: ../src/navigation.c:185
#, c-format
msgid "in one kilometer"
msgid_plural "in %d kilometers"
msgstr[0] "In einem Kilometer"
msgstr[1] "In %d Kilometern"
-#: ../src/navigation.c:404
+#: ../src/navigation.c:406
msgid "right"
msgstr "rechts"
-#: ../src/navigation.c:411
+#: ../src/navigation.c:413
msgid "left"
msgstr "links"
-#: ../src/navigation.c:415
+#: ../src/navigation.c:417
msgid "easily "
msgstr "leicht "
-#: ../src/navigation.c:419
+#: ../src/navigation.c:421
msgid "strongly "
msgstr "scharf "
-#: ../src/navigation.c:422
+#: ../src/navigation.c:424
msgid "unknown "
msgstr "unbekannt "
#
-#: ../src/navigation.c:428
+#: ../src/navigation.c:430
msgid "When possible, please turn around"
msgstr "Wenn möglich bitte wenden"
-#: ../src/navigation.c:435
+#: ../src/navigation.c:437
#, c-format
msgid "Follow the road for the next %s"
msgstr "Dem Straßenverlauf %s folgen"
-#: ../src/navigation.c:439
+#: ../src/navigation.c:441
msgid "soon"
msgstr "Demnächst"
-#: ../src/navigation.c:445
+#: ../src/navigation.c:447
msgid "now"
msgstr "Jetzt"
-#: ../src/navigation.c:448
+#: ../src/navigation.c:450
msgid "error"
msgstr "fehler"
+#: ../src/navigation.c:474
+msgid "exit"
+msgstr "Ausfahrt"
+
+#: ../src/navigation.c:476
+msgid "ramp"
+msgstr "Autobahneinfahrt"
+
+#: ../src/navigation.c:510
+#, c-format
+msgid "Turn %1$s%2$s %3$s onto %4$s"
+msgstr "%3$s %1$s%2$s abbiegen auf den %4$s"
+
+#: ../src/navigation.c:512
+#, c-format
+msgid "Turn %1$s%2$s %3$s into %4$s"
+msgstr "%3$s %1$s%2$s abbiegen auf die %4$s"
+
#. TRANSLATORS: The first argument is strength, the second direction and the third distance
-#: ../src/navigation.c:452
+#: ../src/navigation.c:516
#, c-format
msgid "Turn %1$s%2$s %3$s"
msgstr "%3$s %1$s%2$s abbiegen"
-#: ../src/navigation.c:455
+#: ../src/navigation.c:522
#, c-format
msgid "You have reached your destination %s"
msgstr "%s haben Sie ihr Ziel erreicht"
int length;
int dest_time;
int dest_length;
+ int told;
struct navigation_itm *next;
struct navigation_itm *prev;
};
struct coord c[5];
if (ritem) {
+ ret->told=0;
if (! item_attr_get(ritem, attr_street_item, &street_item)) {
dbg(0,"no street item\n");
return NULL;
d=g_strdup(_("error"));
}
if (cmd->itm->next) {
+ short tellStreetName = 0;
+ char * streetName = 0;
+
+ if(cmd->itm->name1 || cmd->itm->name2 || cmd->itm->item.type == type_ramp) // If the next street has a name
+ {
+ if(cmd->itm->name1 && cmd->itm->name2 )
+ streetName = g_strdup_printf("%s %s", cmd->itm->name1, cmd->itm->name2);
+ else if(cmd->itm->name1)
+ streetName = g_strdup(cmd->itm->name1);
+ else if(cmd->itm->name2)
+ streetName = g_strdup(cmd->itm->name2);
+
+ // Now special handling for ramps and exists
+
+ if(streetName == 0 && cmd->itm->item.type == type_ramp)
+ {
+ //printf(">> Next is ramp %lx current is %lx \n", cmd->itm->item.type, itm->item.type);
+
+ if(itm->item.type == type_ramp)
+ streetName = 0; // looks like we stay on the ramp
+ if(itm->item.type == type_highway_city || itm->item.type == type_highway_land )
+ streetName = g_strdup(_("exit"));
+ else
+ streetName = g_strdup(_("ramp"));
+ }
+
+ if(type == attr_navigation_speech) // In voice mode
+ {
+ // In Voice Mode only tell the street name in level 1 or in level 0 if level 1
+ // was skipped
+
+ if (level == 1) // we are close to the intersection
+ {
+ cmd->itm->told = 1; // remeber to be checked when we turn
+ tellStreetName = 1; // Ok so we tell the name of the street
+ }
+
+ if (level == 0)
+ {
+ if(cmd->itm->told == 0) // we are write at the intersection
+ tellStreetName = 1;
+ else
+ cmd->itm->told = 0; // reset just in case we come to the same street again
+ }
+
+ }
+ else
+ tellStreetName = 1;
+ }
+
+ if(streetName && tellStreetName )
+ {
+ /* TRANSLATORS: The first argument is strength, the second direction and the third distance */
+
+ if( strcasestr(streetName,"weg")
+ || strcasestr(streetName,"platz")
+ || strcasestr(streetName,"ring"))
+ ret=g_strdup_printf(_("Turn %1$s%2$s %3$s onto %4$s"), strength, dir, d, streetName);
+ else
+ ret=g_strdup_printf(_("Turn %1$s%2$s %3$s into %4$s"), strength, dir, d, streetName);
+ }
+ else
/* TRANSLATORS: The first argument is strength, the second direction and the third distance */
ret=g_strdup_printf(_("Turn %1$s%2$s %3$s"), strength, dir, d);
+
+ if(streetName)
+ g_free(streetName);
}
else
ret=g_strdup_printf(_("You have reached your destination %s"), d);