From 7fdb5f18375ac02a9a00bc4457396136f090ffb8 Mon Sep 17 00:00:00 2001 From: Michael Persson Date: Wed, 31 Oct 2012 09:48:37 +0100 Subject: [PATCH 1/2] Translated using Weblate. --- OsmAnd/res/values-sv/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-sv/strings.xml b/OsmAnd/res/values-sv/strings.xml index 47916a816f..e42f089b38 100644 --- a/OsmAnd/res/values-sv/strings.xml +++ b/OsmAnd/res/values-sv/strings.xml @@ -687,8 +687,8 @@ Proportionell minne %4$s MB (Android gräns %5$s MB, Dalvik %6$s MB). Offline vektorkartor Sök transporter vid stopp Plats:\n Lat %1$.5f\n Lon %2$.5f - ändra IP - Ta bort IP + Ändra POI + Radera POI Till kompass Till rörelseriktning Vrid inte (norr är uppåt) From 712fbfbcad4e6eddfd7d13b9bce780438c8891e5 Mon Sep 17 00:00:00 2001 From: Cip Date: Wed, 31 Oct 2012 14:49:44 +0200 Subject: [PATCH 2/2] Romanian TTS voice added --- OsmAnd/assets/voice/ro-tts/ttsconfig.p | 107 +++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 OsmAnd/assets/voice/ro-tts/ttsconfig.p diff --git a/OsmAnd/assets/voice/ro-tts/ttsconfig.p b/OsmAnd/assets/voice/ro-tts/ttsconfig.p new file mode 100644 index 0000000000..2491638976 --- /dev/null +++ b/OsmAnd/assets/voice/ro-tts/ttsconfig.p @@ -0,0 +1,107 @@ +:- op('==', xfy, 500). +version(101). +language(ro). + +% before each announcement (beep) +preamble - []. + + +%% TURNS +turn('left', ['virați la stânga ']). +turn('left_sh', ['virați brusc la stânga ']). +turn('left_sl', ['virați ușor la stânga ']). +turn('right', ['virați la dreapta ']). +turn('right_sh', ['virați brusc la dreapta ']). +turn('right_sl', ['virați ușor la dreapta ']). +turn('right_keep', ['încadrați-vă pe partea dreaptă']). +turn('left_keep', ['încadrați-vă pe partea stângă']). + +prepare_turn(Turn, Dist) == ['Pregăți-vă să ', M, ' după ', D] :- distance(Dist) == D, turn(Turn, M). +turn(Turn, Dist) == ['After ', D, M] :- distance(Dist) == D, turn(Turn, M). +turn(Turn) == M :- turn(Turn, M). + +prepare_make_ut(Dist) == ['Pregăți-vă să întoarceți după ', D] :- distance(Dist) == D. +make_ut(Dist) == ['Peste ', D, ' întoarceți-vă '] :- distance(Dist) == D. +make_ut == ['Întoarceți-vă ']. +make_ut_wp == ['Întoarceți-vă când aveți posibilitatea ']. + +prepare_roundabout(Dist) == ['Pregăți-vă să intrați în sensul giratoriu după ', D] :- distance(Dist) == D. +roundabout(Dist, _Angle, Exit) == ['Peste ', D, ' intrați în sensul giratoriu și luați-o pe ', E, 'ieșire'] :- distance(Dist) == D, nth(Exit, E). +roundabout(_Angle, Exit) == ['Luați-o pe ', E, 'ieșire'] :- nth(Exit, E). + +go_ahead == ['Mergeți înainte ']. +go_ahead(Dist) == ['Urmăriți drumul principal pentru ', D]:- distance(Dist) == D. + +and_arrive_destination == ['și ajungeți la destinație ']. + +then == ['apoi ']. +reached_destination == ['Ați ajuns la destinație ']. +and_arrive_intermediate == ['și ajungeți la punctul intermediar ']. +reached_intermediate == ['Ați ajuns la punctul intermediar ']. +bear_right == ['încadrați-vă pe partea dreaptă ']. +bear_left == ['încadrați-vă pe partea stângă ']. + +route_new_calc(Dist) == ['Lungimea traseului ', D] :- distance(Dist) == D. +route_recalc(Dist) == ['Traseu recalculat, distanța ', D] :- distance(Dist) == D. + +location_lost == ['semnal gipies pierdut ']. + + +%% +nth(1, 'prima '). +nth(2, 'a doua '). +nth(3, 'a treia '). +nth(4, 'a patra '). +nth(5, 'a cincea '). +nth(6, 'a șasea '). +nth(7, 'a șaptea '). +nth(8, 'a opta '). +nth(9, 'a noua '). +nth(10, 'a zecea '). +nth(11, 'a unsprezecea '). +nth(12, 'a douăsprezecea '). +nth(13, 'a treisprezecea '). +nth(14, 'a paisprezecea '). +nth(15, 'a cinsprezecea '). +nth(16, 'a șaisprezecea '). +nth(17, 'a șaptesprezecea '). + + +distance(Dist) == D :- measure('km-m'), distance_km(Dist) == D. +distance(Dist) == D :- measure('mi-f'), distance_mi_f(Dist) == D. +distance(Dist) == D :- measure('mi-y'), distance_mi_y(Dist) == D. + +%%% distance measure km/m +distance_km(Dist) == [ X, ' metri'] :- Dist < 100, D is round(Dist/10.0)*10, num_atom(D, X). +distance_km(Dist) == [ X, ' metri'] :- Dist < 1000, D is round(2*Dist/100.0)*50, num_atom(D, X). +distance_km(Dist) == ['circa un kilometru '] :- Dist < 1500. +distance_km(Dist) == ['circa ', X, ' kilometri '] :- Dist < 10000, D is round(Dist/1000.0), num_atom(D, X). +distance_km(Dist) == [ X, ' kilometri '] :- D is round(Dist/1000.0), num_atom(D, X). + +%%% distance measure mi/f +distance_mi_f(Dist) == [ X, ' picioare'] :- Dist < 160, D is round(2*Dist/100.0/0.3048)*50, num_atom(D, X). +distance_mi_f(Dist) == [ X, ' zecime de milă'] :- Dist < 241, D is round(Dist/161.0), num_atom(D, X). +distance_mi_f(Dist) == [ X, ' zecimi de milă'] :- Dist < 1529, D is round(Dist/161.0), num_atom(D, X). +distance_mi_f(Dist) == ['circa o milă '] :- Dist < 2414. +distance_mi_f(Dist) == ['circa ', X, ' mile '] :- Dist < 16093, D is round(Dist/1609.0), num_atom(D, X). +distance_mi_f(Dist) == [ X, ' mile '] :- D is round(Dist/1609.0), num_atom(D, X). + +%%% distance measure mi/y +distance_mi_y(Dist) == [ X, ' iarzi'] :- Dist < 241, D is round(Dist/10.0/0.9144)*10, num_atom(D, X). +distance_mi_y(Dist) == [ X, ' iarzi'] :- Dist < 1300, D is round(2*Dist/100.0/0.9144)*50, num_atom(D, X). +distance_mi_y(Dist) == ['circa o milă '] :- Dist < 2414. +distance_mi_y(Dist) == ['circa ', X, ' mile '] :- Dist < 16093, D is round(Dist/1609.0), num_atom(D, X). +distance_mi_y(Dist) == [ X, ' mile '] :- D is round(Dist/1609.0), num_atom(D, X). + + +%% resolve command main method +%% if you are familar with Prolog you can input specific to the whole mechanism, +%% by adding exception cases. +flatten(X, Y) :- flatten(X, [], Y), !. +flatten([], Acc, Acc). +flatten([X|Y], Acc, Res):- flatten(Y, Acc, R), flatten(X, R, Res). +flatten(X, Acc, [X|Acc]). + +resolve(X, Y) :- resolve_impl(X,Z), flatten(Z, Y). +resolve_impl([],[]). +resolve_impl([X|Rest], List) :- resolve_impl(Rest, Tail), ((X == L) -> append(L, Tail, List); List = Tail). \ No newline at end of file