commit
e01176d4bd
39 changed files with 1095 additions and 438 deletions
|
@ -1,6 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="src" path="test/java"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="lib" path="libs/bsh-core-2.0b4.jar"/>
|
||||
<classpathentry kind="lib" path="libs/bzip2-20090327.jar"/>
|
||||
|
@ -11,5 +12,8 @@
|
|||
<classpathentry kind="lib" path="libs/tuprolog.jar"/>
|
||||
<classpathentry kind="lib" path="libs/icu4j-49_1_patched.jar"/>
|
||||
<classpathentry kind="lib" path="libs/gnu-trove-osmand.jar"/>
|
||||
<classpathentry kind="lib" path="test-libs/gson-2.6.2.jar"/>
|
||||
<classpathentry kind="lib" path="test-libs/hamcrest-core-1.3.jar"/>
|
||||
<classpathentry kind="lib" path="test-libs/junit-4.12.jar"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
|
|
|
@ -10,6 +10,11 @@
|
|||
<property name="bin.absolute.dir" location="${bin.dir}" />
|
||||
<property name="lib.dir" value="libs" />
|
||||
<property name="lib.absolute.dir" location="${lib.dir}" />
|
||||
<property name="unit.dir" value="test/java" />
|
||||
<property name="unit.absolute.dir" location="${unit.dir}" />
|
||||
<property name="test.lib.dir" value="test-libs" />
|
||||
<property name="test.lib.absolute.dir" location="${test.lib.dir}" />
|
||||
|
||||
<property name="java.encoding" value="UTF-8" />
|
||||
|
||||
<path id="build.path">
|
||||
|
@ -18,6 +23,18 @@
|
|||
</fileset>
|
||||
</path>
|
||||
|
||||
<path id="test-lib.path">
|
||||
<fileset dir="${test.lib.absolute.dir}">
|
||||
<include name="*.jar" />
|
||||
</fileset>
|
||||
</path>
|
||||
|
||||
|
||||
<path id="unit.test.path">
|
||||
<path refid="build.path"/>
|
||||
<pathelement path="test/java"/>
|
||||
</path>
|
||||
|
||||
<target name="-dirs">
|
||||
<mkdir dir="${bin.absolute.dir}" />
|
||||
</target>
|
||||
|
@ -27,6 +44,33 @@
|
|||
<delete file="OsmAnd-core.jar" />
|
||||
</target>
|
||||
|
||||
<target name="compileUnitTests" depends="compile">
|
||||
<javac srcdir="test/" destdir="${bin.absolute.dir}">
|
||||
<classpath>
|
||||
<path refid="build.path"/>
|
||||
<path refid="test-lib.path" />
|
||||
</classpath>
|
||||
</javac>
|
||||
<copy todir="${bin.absolute.dir}">
|
||||
<fileset dir="test/java">
|
||||
<include name="**/*.json" />
|
||||
</fileset>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="run-route-test" >
|
||||
<junit printsummary="yes" haltonfailure="yes" showoutput="yes">
|
||||
<classpath>
|
||||
<pathelement path="bin"/>
|
||||
<path refid="build.path"/>
|
||||
<path refid="test-lib.path" />
|
||||
</classpath>
|
||||
<test name="net.osmand.router.RouteResultPreparationTest" haltonfailure="no" outfile="result">
|
||||
<formatter type="plain"/>
|
||||
<formatter type="xml"/>
|
||||
</test>
|
||||
</junit>
|
||||
</target>
|
||||
|
||||
<target name="copy_resources">
|
||||
<copy todir="${src.absolute.dir}/net/osmand/router/">
|
||||
|
@ -90,7 +134,7 @@
|
|||
<antcall target="jar" />
|
||||
</target>
|
||||
|
||||
<target name="jar" depends="compile">
|
||||
<target name="jar" depends="compile, compileUnitTests">
|
||||
<manifestclasspath property="lib.list" jarfile="OsmAnd-core.jar">
|
||||
<classpath refid="build.path" />
|
||||
</manifestclasspath>
|
||||
|
@ -111,6 +155,9 @@
|
|||
<fileset dir="${src.absolute.dir}">
|
||||
<include name="**/*.java" />
|
||||
</fileset>
|
||||
<fileset dir="${unit.absolute.dir}">
|
||||
<include name="**/*.java" />
|
||||
</fileset>
|
||||
</jar>
|
||||
<jar destfile="OsmAnd-core-android.jar" manifest="MANIFEST.MF">
|
||||
<fileset dir="${bin.absolute.dir}">
|
||||
|
|
BIN
OsmAnd-java/test-libs/gson-2.6.2.jar
Normal file
BIN
OsmAnd-java/test-libs/gson-2.6.2.jar
Normal file
Binary file not shown.
BIN
OsmAnd-java/test-libs/hamcrest-core-1.3.jar
Normal file
BIN
OsmAnd-java/test-libs/hamcrest-core-1.3.jar
Normal file
Binary file not shown.
BIN
OsmAnd-java/test-libs/junit-4.12.jar
Normal file
BIN
OsmAnd-java/test-libs/junit-4.12.jar
Normal file
Binary file not shown.
|
@ -0,0 +1,146 @@
|
|||
package net.osmand.router;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import net.osmand.PlatformUtil;
|
||||
import net.osmand.binary.BinaryMapIndexReader;
|
||||
import net.osmand.data.LatLon;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.junit.Assert;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Parameterized;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* Created by yurkiss on 04.03.16.
|
||||
*/
|
||||
|
||||
@RunWith(Parameterized.class)
|
||||
public class RouteResultPreparationTest {
|
||||
|
||||
private static RoutePlannerFrontEnd fe;
|
||||
private static RoutingContext ctx;
|
||||
|
||||
private String testName;
|
||||
private LatLon startPoint;
|
||||
private LatLon endPoint;
|
||||
private Map<Long, String> expectedResults;
|
||||
|
||||
private Log log = PlatformUtil.getLog(RouteResultPreparationTest.class);
|
||||
|
||||
public RouteResultPreparationTest(String testName, LatLon startPoint, LatLon endPoint, Map<Long, String> expectedResults) {
|
||||
this.testName = testName;
|
||||
this.startPoint = startPoint;
|
||||
this.endPoint = endPoint;
|
||||
this.expectedResults = expectedResults;
|
||||
}
|
||||
|
||||
@BeforeClass
|
||||
public static void setUp() throws Exception {
|
||||
String fileName = "../../resources/Turn_lanes_test.obf";
|
||||
|
||||
File fl = new File(fileName);
|
||||
|
||||
RandomAccessFile raf = new RandomAccessFile(fl, "r");
|
||||
|
||||
fe = new RoutePlannerFrontEnd(false);
|
||||
RoutingConfiguration.Builder builder = RoutingConfiguration.getDefault();
|
||||
Map<String, String> params = new LinkedHashMap<String, String>();
|
||||
params.put("car", "true");
|
||||
params.put("short_way", "true");
|
||||
RoutingConfiguration config = builder.build("car", RoutingConfiguration.DEFAULT_MEMORY_LIMIT * 3, params);
|
||||
BinaryMapIndexReader[] binaryMapIndexReaders = {new BinaryMapIndexReader(raf, fl)};
|
||||
ctx = fe.buildRoutingContext(config, null, binaryMapIndexReaders,
|
||||
RoutePlannerFrontEnd.RouteCalculationMode.NORMAL);
|
||||
ctx.leftSideNavigation = false;
|
||||
RouteResultPreparation.PRINT_TO_CONSOLE_ROUTE_INFORMATION_TO_TEST = true;
|
||||
|
||||
}
|
||||
|
||||
@Parameterized.Parameters(name = "{index}: {0}")
|
||||
public static Collection<Object[]> data() throws IOException {
|
||||
|
||||
InputStream inputStream = RouteResultPreparationTest.class.getResourceAsStream("test_routes.json");
|
||||
Reader reader = new InputStreamReader(inputStream);
|
||||
Gson gson = new GsonBuilder().setPrettyPrinting().create();
|
||||
TestEntry[] testEntries = gson.fromJson(reader, TestEntry[].class);
|
||||
ArrayList<Object[]> twoDArray = new ArrayList<Object[]>();
|
||||
for (int i = 0; i < testEntries.length; ++i) {
|
||||
Object[] arr = new Object[]{
|
||||
testEntries[i].getTestName(),
|
||||
testEntries[i].getStartPoint(),
|
||||
testEntries[i].getEndPoint(),
|
||||
testEntries[i].getExpectedResults()
|
||||
};
|
||||
twoDArray.add(arr);
|
||||
}
|
||||
reader.close();
|
||||
return twoDArray;
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLanes() throws Exception {
|
||||
|
||||
List<RouteSegmentResult> routeSegments = fe.searchRoute(ctx, startPoint, endPoint, null);
|
||||
|
||||
int prevSegment = -1;
|
||||
for (int i = 0; i <= routeSegments.size(); i++) {
|
||||
if (i == routeSegments.size() || routeSegments.get(i).getTurnType() != null) {
|
||||
if (prevSegment >= 0) {
|
||||
String lanes = getLanesString(routeSegments.get(prevSegment));
|
||||
String name = routeSegments.get(prevSegment).getDescription();
|
||||
|
||||
long segmentId = routeSegments.get(prevSegment).getObject().getId();
|
||||
String expectedResult = expectedResults.get(segmentId);
|
||||
if (expectedResult != null) {
|
||||
Assert.assertEquals("Segment " + segmentId, expectedResult, lanes);
|
||||
} else {
|
||||
//TODO: action if needed when expectedResults is null
|
||||
}
|
||||
|
||||
System.out.println("segmentId: " + segmentId + " description: " + name);
|
||||
|
||||
}
|
||||
prevSegment = i;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
String getLanesString(RouteSegmentResult segment) {
|
||||
String turn = segment.getTurnType().toString();
|
||||
final int[] lns = segment.getTurnType().getLanes();
|
||||
if (lns != null) {
|
||||
String s = "";
|
||||
for (int h = 0; h < lns.length; h++) {
|
||||
if (h > 0) {
|
||||
s += ", ";
|
||||
}
|
||||
if (lns[h] % 2 == 1) {
|
||||
s += "+";
|
||||
}
|
||||
int pt = TurnType.getPrimaryTurn(lns[h]);
|
||||
if (pt == 0) {
|
||||
pt = 1;
|
||||
}
|
||||
s += TurnType.valueOf(pt, false).toXmlString();
|
||||
int st = TurnType.getSecondaryTurn(lns[h]);
|
||||
if (st != 0) {
|
||||
s += ";" + TurnType.valueOf(st, false).toXmlString();
|
||||
}
|
||||
|
||||
}
|
||||
s += "";
|
||||
turn += s;
|
||||
return s;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
51
OsmAnd-java/test/java/net/osmand/router/TestEntry.java
Normal file
51
OsmAnd-java/test/java/net/osmand/router/TestEntry.java
Normal file
|
@ -0,0 +1,51 @@
|
|||
package net.osmand.router;
|
||||
|
||||
import net.osmand.data.LatLon;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Created by User on 07.03.2016.
|
||||
*/
|
||||
public class TestEntry {
|
||||
|
||||
private String testName;
|
||||
private LatLon startPoint;
|
||||
private LatLon endPoint;
|
||||
private Map<Long, String> expectedResults;
|
||||
|
||||
public LatLon getStartPoint() {
|
||||
return startPoint;
|
||||
}
|
||||
|
||||
public void setStartPoint(LatLon startPoint) {
|
||||
this.startPoint = startPoint;
|
||||
}
|
||||
|
||||
public LatLon getEndPoint() {
|
||||
return endPoint;
|
||||
}
|
||||
|
||||
public void setEndPoint(LatLon endPoint) {
|
||||
this.endPoint = endPoint;
|
||||
}
|
||||
|
||||
public Map<Long, String> getExpectedResults() {
|
||||
return expectedResults;
|
||||
}
|
||||
|
||||
public void setExpectedResults(Map<Long, String> expectedResults) {
|
||||
this.expectedResults = expectedResults;
|
||||
}
|
||||
|
||||
public String getTestName() {
|
||||
return testName;
|
||||
}
|
||||
|
||||
public TestEntry(String testName, LatLon startPoint, LatLon endPoint, Map<Long, String> expectedResults) {
|
||||
this.testName = testName;
|
||||
this.startPoint = startPoint;
|
||||
this.endPoint = endPoint;
|
||||
this.expectedResults = expectedResults;
|
||||
}
|
||||
}
|
34
OsmAnd-java/test/java/net/osmand/router/test_routes.json
Normal file
34
OsmAnd-java/test/java/net/osmand/router/test_routes.json
Normal file
|
@ -0,0 +1,34 @@
|
|||
[
|
||||
{
|
||||
"testName": "Amstelveenseweg",
|
||||
"startPoint": {
|
||||
"longitude": 35.51630312204361,
|
||||
"latitude": 45.6971206184178
|
||||
},
|
||||
"endPoint": {
|
||||
"longitude": 35.51303619146347,
|
||||
"latitude": 45.6952846638807
|
||||
},
|
||||
"expectedResults": {
|
||||
"-94361": "TL, TL, TL, C, TR, TR",
|
||||
"-96062": "+TL, +TL, +TL, +C, TR, TR",
|
||||
"-96063": "+TL, +TL, +TL, +C, TR, TR"
|
||||
}
|
||||
},
|
||||
{
|
||||
"testName": "Amstelveenseweg2",
|
||||
"startPoint": {
|
||||
"longitude": 35.51630312204361,
|
||||
"latitude": 45.6971206184178
|
||||
},
|
||||
"endPoint": {
|
||||
"longitude": 35.51303619146347,
|
||||
"latitude": 45.6952846638807
|
||||
},
|
||||
"expectedResults": {
|
||||
"-96061": "+TL, +TL, +TL, +C, TR, TR",
|
||||
"-96062": "+TL, +TL, +TL, C, TR, TR",
|
||||
"-96063": "+TL, +TL, +TL, +C, TR, TR"
|
||||
}
|
||||
}
|
||||
]
|
|
@ -2118,4 +2118,9 @@
|
|||
<string name="full_report">Пълен доклад</string>
|
||||
<string name="open_street_map_login_and_pass">OpenStreetMap потребителско име и парола</string>
|
||||
<string name="file_name_containes_illegal_char">Името на файла съдържа неправилен символ</string>
|
||||
</resources>
|
||||
<string name="storage_directory_readonly_desc">Понастоящем, избраната от Вас папка за съхранение е само за четене. Временно папката за съхранение е прехвърлена във вътрешната памет на устройството. Моля, изберете валидна папка за запис.</string>
|
||||
<string name="osm_live_region_desc">Част от вашето дарение ще бъде изпратено до други потребители на OSM, които са допринесли за картата в този район</string>
|
||||
<string name="osm_live_header">Този абонамент позволява актуализиране на всички карти на всеки час. Голяма част от прихода отива за общността на OSM, за потребителите които са допринесли за картата. В случай че харесвате OsmAnd и OSM и искате да помогнете, това е перфектният начин да го сторите.</string>
|
||||
|
||||
<string name="show_transparency_seekbar">Показване на прозрачна лента</string>
|
||||
</resources>
|
||||
|
|
|
@ -1307,8 +1307,7 @@
|
|||
<string name="rendering_attr_hideWoodScrubs_name">Skrýt lesy a křoviny</string>
|
||||
<string name="rendering_attr_showSurfaces_name">Zobrazit povrch cesty</string>
|
||||
<string name="osmo_group_information">Prosím čtěte před vytvářením skupiny!</string>
|
||||
<string name="osmo_group_information_desc">" - Všechny vytvořené skupiny jsou veřejné! Pokud chcete být anonymní, připojte zařízení přímo přes ID.\n - Soukromé skupiny jsou omezené na 8 lidí.
|
||||
\n - V případě neaktivity nebo aktivity pouze jedné osoby v průběhu dvou týdnů, bude skupina zrušena.\n - Můžete omezit vstup do skupiny pozvánkami, ale pro ovládání skupiny musíte použít administrátorskou konzoli.\n - Pokud potřebujete vytvořit skupinu s jinými podmínkami prosím kontaktujte http://osmo.mobi"</string>
|
||||
<string name="osmo_group_information_desc">" - Vyplňte jméno a popis skupiny při vytvoření\n- From the application group are created only with Simple type, read more on the website https://osmo.mobi/g/new\n- Skupiny můžete spravovat přes webové stránky, umísťování tras a bodů je k dispozici všem\n- Nepodporujeme použití skupiny pouze jedním uživatelem, pokud to není POI skupina\n- Soukromé skupiny jsou omezené na 8 lidí.\n- Detailní pravidla a podmínky jsou vždy na stránkách OsMo.mobi\n- Pokud potřebujete zvláštní podmínky, prosím kontaktujte podporu: osmo.mobi@gmail.com "</string>
|
||||
<string name="osmo_auth_error">Chyba při autorizaci OsMo: %1$s.\n Služba může být dočasně nedostupná nebo vám vypršela registrace.
|
||||
\n Chcete pokračovat v nové registraci?</string>
|
||||
<string name="osmo_auth_error_short">Autorizace selhala</string>
|
||||
|
@ -1343,7 +1342,7 @@
|
|||
<string name="continue_navigation">Pokračování v navigaci</string>
|
||||
<string name="osmo_invite">Pozvat…</string>
|
||||
<string name="osmo_leave_confirmation_msg">Chcete opustit skupinu %1$s?</string>
|
||||
<string name="osmo_specify_tracker_id">Prosím určete id</string>
|
||||
<string name="osmo_specify_tracker_id">Prosím určete ID</string>
|
||||
<string name="rendering_attr_coloredBuildings_name">Barvy budov podle typu</string>
|
||||
<string name="lang_sw">Svahilština (Kiswahili)</string>
|
||||
<string name="lang_he">Hebrejština</string>
|
||||
|
@ -1407,8 +1406,8 @@
|
|||
<string name="speed_limit_exceed">Tolerance překročení rychlosti</string>
|
||||
<string name="speed_limit_exceed_message">Zvolte toleranci překročení povolené rychlosti, po které uslyšíte hlasové varování.</string>
|
||||
<string name="osmo_device_not_found">Zařízení nenalezeno</string>
|
||||
<string name="osmo_no_connection_msg">Služba OsMo není k dispozici:\n- zkontrolujte připojení;\n- zkontrolujte nastavení;\n- podívejte se na náš Twitter: https://twitter.com/OsMomobi</string>
|
||||
<string name="anonymous_user_hint">Anonymní uživatel nemůže:\n- vytvářet skupiny;\n- synchronizovat skupiny a zařízení se serverem;\n- spravovat soukromé skupiny a zařízení.</string>
|
||||
<string name="osmo_no_connection_msg">Nelze se připojit k serveru OsMo:\n- zkontrolujte své internetové připojení;\n- zkontrolujte nastavení;\n- podívejte se na náš Twitter: https://twitter.com/OsMomobi</string>
|
||||
<string name="anonymous_user_hint">Anonymní uživatel nemůže:\n- vytvářet skupiny;\n- synchronizovat skupiny a zařízení se serverem;\n- spravovat skupiny a zařízení v osobním ovládacím panelu na webových stránkách.</string>
|
||||
<string name="anonymous_user">Anonymní uživatel</string>
|
||||
<string name="logged_as">Přihlášen jako %1$s</string>
|
||||
<string name="rendering_category_details">Detaily</string>
|
||||
|
@ -1929,7 +1928,7 @@
|
|||
<string name="find_parking">Najít parkování</string>
|
||||
<string name="shared_string_status">Stav</string>
|
||||
<string name="shared_string_save_changes">Uložit změny</string>
|
||||
<string name="shared_string_read_more">Číst více</string>
|
||||
<string name="shared_string_read_more">Více...</string>
|
||||
<string name="select_map_marker">Vyberte mapovou značku</string>
|
||||
<string name="map_markers_other">Ostatní značky</string>
|
||||
<string name="upload_anonymously">Nahrát anonymně</string>
|
||||
|
@ -1989,4 +1988,5 @@
|
|||
<string name="consider_turning_polygons_off">Je doporučeno vypnout zobrazování polygonů.</string>
|
||||
<string name="rendering_attr_showMtbRoutes_name">Zobrazit trasy pro horská kola</string>
|
||||
<string name="storage_permission_restart_is_required">Nyní aplikace umožňuje zapisovat na externí úložiště. Je potřeba provést ruční restart aplikace.</string>
|
||||
</resources>
|
||||
<string name="file_name_containes_illegal_char">Název souboru obsahuje nepovolené znaky</string>
|
||||
</resources>
|
||||
|
|
|
@ -2715,4 +2715,38 @@
|
|||
<string name="poi_amenity_vacuum_cleaner">Støvsuger</string>
|
||||
|
||||
<string name="poi_sport_free_flying">Fri flyvning (sport)</string>
|
||||
</resources>
|
||||
<string name="poi_bicycle_repair_station">Cykel reparation stander</string>
|
||||
|
||||
<string name="poi_water_tap">Vandhane</string>
|
||||
|
||||
<string name="poi_button_operated_yes">Knapbetjent: ja</string>
|
||||
<string name="poi_button_operated_no">Knapbetjent: nej</string>
|
||||
|
||||
<string name="poi_free_flying_paragliding_yes">Paragliding: ja</string>
|
||||
<string name="poi_free_flying_paragliding_no">Paragliding: nej</string>
|
||||
<string name="poi_free_flying_hanggliding_yes">Hanggliding: ja</string>
|
||||
<string name="poi_free_flying_hanggliding_no">Hanggliding: nej</string>
|
||||
<string name="poi_free_flying_site_orientation_s">Frit flyvested orientering: S</string>
|
||||
<string name="poi_free_flying_site_orientation_sw">Frit flyvested orientering: SV</string>
|
||||
<string name="poi_free_flying_site_orientation_w">Frit flyvested orientering: V</string>
|
||||
<string name="poi_free_flying_site_orientation_nw">Frit flyvested orientering: NV</string>
|
||||
<string name="poi_free_flying_site_orientation_n">Frit flyvested orientering: N</string>
|
||||
<string name="poi_free_flying_site_orientation_ne">Frit flyvested orientering: NØ</string>
|
||||
<string name="poi_free_flying_site_orientation_e">Frit flyvested orientering: Ø</string>
|
||||
<string name="poi_free_flying_site_orientation_se">Frit flyvested orientering: SØ</string>
|
||||
<string name="poi_free_flying_no_flight_time">Ingen flyvetid (fri flyvning)</string>
|
||||
<string name="poi_free_flying_guest_guidelines_yes">Gæsteretningslinjer for fri flyvning: ja</string>
|
||||
<string name="poi_free_flying_guest_guidelines_no">Gæsteretningslinjer for fri flyvning: nej</string>
|
||||
|
||||
<string name="poi_solarium">Solarium</string>
|
||||
|
||||
<string name="poi_free_flying_site_takeoff">Fri flyvning sted: start</string>
|
||||
<string name="poi_free_flying_site_landing">Fri flyvning sted: landing</string>
|
||||
<string name="poi_free_flying_site_toplanding">Fri flyvning sted: toplanding</string>
|
||||
<string name="poi_free_flying_site_towing">Fri flyvning sted: trækanordning</string>
|
||||
<string name="poi_free_flying_site_training">"Fri flyvning sted: træning"</string>
|
||||
<string name="poi_free_flying_official_yes">Fri flyvning funktionær: ja</string>
|
||||
<string name="poi_free_flying_official_no">Fri flyvning funktionær: nej</string>
|
||||
<string name="poi_free_flying_rigid_yes">Fri flyvning fastvinge: ja</string>
|
||||
<string name="poi_free_flying_rigid_no">Fri flyvning fastvinge: nej</string>
|
||||
</resources>
|
||||
|
|
|
@ -1521,7 +1521,7 @@
|
|||
<string name="osmo_not_signed_in">OsMo log ind mislykkedes</string>
|
||||
<string name="osmo_group_information">Læs dette før oprettelse af en gruppe!</string>
|
||||
<string name="osmo_group_by_invite">Tilslut med invitation</string>
|
||||
<string name="osmo_group_information_desc">" - Alle grupper der oprettes er offentlige! Hvis de skal være anonyme, tilsluttes enheder direkte via sporings-id\'er.\n - Private grupper er begrænset til 8 personer\n - I tilfælde af inaktivitet eller aktivitet af kun 1 person i 2 uger, vil gruppen blive slettet.\n - Man kan begrænse adgangen til gruppen, til kun med invitation, men for at kontrollere gruppen skal man bruge administrationskonsollen.\n - Hvis der er brug for at oprette en gruppe, men med andre betingelser, kontakt http://osmo.mobi"</string>
|
||||
<string name="osmo_group_information_desc">" - Oprettelse af en gruppe angiv et navn og udfyld beskrivelsen\n- Fra programmet kan kun oprettes en gruppe af simpel type, læs mere på hjemmesiden https://osmo.mobi/g/new\n- Via en hjemmeside kan administreres en gruppe, til at placere spor og punkter til rådighed for alle\n- Understøtter ikke brugen af en gruppe for kun én bruger, hvis dette ikke er IP-gruppen\n- Private grupper er begrænset til 8 personer\n- Detaljerede vilkår kan altid ses på hjemmesiden OsMo.mobi\n- Brug for særlige vilkår - kontakt support: osmo.mobi@gmail.com "</string>
|
||||
<string name="osmo_auth_error_short">Autorisation fejlede</string>
|
||||
<string name="osmo_auth_error">"OsMo autorisation fejl: %1$s.\nDet kan være at tjenesten midlertidig er nede eller registreringen er ududløbet. Fortsæt med en ny registrering?"</string>
|
||||
<string name="rendering_attr_hideBuildings_name">Skjul bygninger</string>
|
||||
|
@ -2323,7 +2323,7 @@
|
|||
<string name="recalculate_route">Genberegn ruten</string>
|
||||
<string name="shared_string_topbar">Topbjælke</string>
|
||||
<string name="storage_directory_shared">Delt hukommelse</string>
|
||||
<string name="storage_directory_readonly_desc">Den aktuelt valgte lagerpladsmappe til data er skrivebeskyttet. Lagermappe blev midlertidigt skifte til Intern hukommelse. Vælg en gyldig lagerpladsmappe.</string>
|
||||
<string name="storage_directory_readonly_desc">Den aktuelt valgte mappe til data er skrivebeskyttet. Mappe blev midlertidigt skifte til Intern hukommelse. Vælg en gyldig mappe.</string>
|
||||
<string name="avoid_road">Undgå vej</string>
|
||||
<string name="finish_navigation">Afslut navigation</string>
|
||||
<string name="shared_string_move_up">Flyt op</string>
|
||||
|
@ -2333,5 +2333,5 @@
|
|||
<string name="open_street_map_login_and_pass">OpenStreetMap brugernavn og adgangskode</string>
|
||||
<string name="storage_permission_restart_is_required">Nu har programmet lov til at skrive til ekstern lager. Manuel genstart er påkrævet.</string>
|
||||
<string name="report">Rapport</string>
|
||||
<string name="file_name_containes_illegal_char">Filnavnet indeholder ulovlige tegn</string>
|
||||
<string name="file_name_containes_illegal_char">Filnavnet indeholder ikke tilladte tegn</string>
|
||||
</resources>
|
||||
|
|
|
@ -1551,7 +1551,7 @@ Für Hilfe mit der OsmAnd-App kontaktieren Sie bitte unser Support-Team unter su
|
|||
<string name="osmo_no_connection_msg">OsMo-Dienst ist nicht verfügbar:\n- bitte Verbindung prüfen;\n- bitte Einstellungen prüfen;\n- ggf. Meldung auf Twitter: https://twitter.com/OsMomobi</string>
|
||||
<string name="anonymous_user">Anonymer Benutzer</string>
|
||||
<string name="logged_as">Angemeldet als %1$s</string>
|
||||
<string name="anonymous_user_hint">Anonyme Benutzer können nicht:\n- Gruppen bilden;\n- Gruppen und Geräte mit dem Server synchronisieren;\n- Gruppen und Geräte im Privatbereich verwalten.</string>
|
||||
<string name="anonymous_user_hint">Anonyme Benutzer können keine:\n- Gruppen bilden;\n- Gruppen und Geräte mit dem Server synchronisieren;\n- Gruppen und Geräte im Privatbereich verwalten.</string>
|
||||
<string name="rendering_category_routes">Routen</string>
|
||||
<string name="rendering_category_details">Details</string>
|
||||
<string name="rendering_category_transport">ÖPNV-Linien</string>
|
||||
|
@ -2108,7 +2108,7 @@ Für Hilfe mit der OsmAnd-App kontaktieren Sie bitte unser Support-Team unter su
|
|||
<string name="osm_live_subscription_settings">Abonnementeinstellungen</string>
|
||||
<string name="osm_live_ask_for_purchase">Kaufen Sie bitte zuerst ein OSM Live Abonnement</string>
|
||||
|
||||
<string name="osm_live_region_desc">Teile Ihrer Spende werden am OSM-Mitwirkende weitergegeben, welche diese Region bearbeiten.</string>
|
||||
<string name="osm_live_region_desc">Teile Ihrer Spende werden an OSM-Mitwirkende weitergegeben, welche diese Region bearbeiten</string>
|
||||
<string name="osm_live_header">Dieses Abonnement schaltet stündliche Updates für die gesamten weltweiten Karten frei. Ein Großteil dieser Einnahmen geht zurück an die OSM-Gemeinschaft, eine Auszahlung erfolgt je nach Anzahl der Beiträge zu den OSM-Daten. Falls Sie OsmAnd mögen und das Projekt OpenStreetMap unterstützen wollen, so ist dies dafür eine perfekte Möglichkeit.</string>
|
||||
|
||||
<string name="shared_string_topbar">Obere Leiste</string>
|
||||
|
@ -2116,7 +2116,7 @@ Für Hilfe mit der OsmAnd-App kontaktieren Sie bitte unser Support-Team unter su
|
|||
<string name="avoid_road">Straßen vermeiden</string>
|
||||
<string name="storage_directory_readonly_desc">Der momentan gewählte Speicherort ist schreibgeschützt. Es wurde vorübergehend zum internen Speicher gewechselt. Bitte einen gültigen Speicherort wählen.</string>
|
||||
<string name="storage_directory_shared">Gemeinsamer Speicher</string>
|
||||
<string name="release_2_3">" • OSM Live. Unterstütze Karten Mitwirkende und Entwickler und bekomme stündliche Karten Aktualisierungen.\n\n • Karten Markierungen. Ein neuer Weg um schnell ausgewählte Plätze auf der Karte auszuwählen.\n\n • Detailliertere OSM Karten mit länderspezifischen Straßenschildern und einer Menge weitere Funktionalitäten.\n\n • Verbessertes Aussehen und Gefühl der Routen Vorbereitung.\n\n • Viele Verbesserungen der Karten Kontextmenüs, wie beispielsweise kontextabhängige Adresssuche.
|
||||
<string name="release_2_3">" • OSM Live. Unterstütze Karten-Mitwirkende und Entwickler und erhalte stündliche Karten Aktualisierungen.\n\n • Karten Markierungen. Ein neuer Weg um schnell ausgewählte Plätze auf der Karte auszuwählen.\n\n • Detailliertere OSM Karten mit länderspezifischen Straßenschildern und einer Menge weitere Funktionalitäten.\n\n • Verbessertes Aussehen und Gefühl der Routen Vorbereitung.\n\n • Viele Verbesserungen der Karten Kontextmenüs, wie beispielsweise kontextabhängige Adresssuche.
|
||||
\n\n und mehr… "</string>
|
||||
<string name="full_report">Vollständiger Report</string>
|
||||
<string name="open_street_map_login_and_pass">OpenStreetMap Zugang und Passwort</string>
|
||||
|
@ -2126,4 +2126,5 @@ Für Hilfe mit der OsmAnd-App kontaktieren Sie bitte unser Support-Team unter su
|
|||
<string name="storage_permission_restart_is_required">Die Anwendung darf nun auf den externen Speicher schreiben. Ein manueller Neustart der Anwendung ist nötig.</string>
|
||||
<string name="shared_string_move_up">Hoch bewegen</string>
|
||||
<string name="shared_string_move_down">Runter bewegen</string>
|
||||
</resources>
|
||||
<string name="file_name_containes_illegal_char">Datenname beinhaltet nicht erlaubt Zeichen</string>
|
||||
</resources>
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<string name="osm_live_enter_email">Bonvolu entajpi korektan retadreson</string>
|
||||
<string name="osm_live_enter_user_name">Bonvolu entajpi Publikan Nomon</string>
|
||||
<string name="osm_live_thanks">Dankon al ci por aboni aŭtomatajn ĝisdatigojn!</string>
|
||||
<string name="osm_live_region_desc">Parton de viaj donacioj oni sendos al OSM-uzantoj kiuj sendas ŝanĝojn al mapoj en tiu regiono</string>
|
||||
<string name="osm_live_region_desc">Parton de viaj donacoj oni sendos al OSM-uzantoj kiuj sendas ŝanĝojn al mapoj en tiu regiono</string>
|
||||
<string name="osm_live_subscription_settings">Abonaj agordoj</string>
|
||||
<string name="osm_live_ask_for_purchase">Bonvolu aĉeti abonon al OSM Live antaŭe</string>
|
||||
|
||||
|
@ -65,7 +65,7 @@
|
|||
<string name="lang_zh_CN">Ĉina (simpligita)</string>
|
||||
<string name="lang_zh_TW">Ĉina (tradicia)</string>
|
||||
<string name="lang_vo">Volapuko</string>
|
||||
<string name="osmand_play_title_30_chars">OsmAnd Mapoj kaj Navigado</string>
|
||||
<string name="osmand_play_title_30_chars">OsmAnd Mapoj k Navigado</string>
|
||||
<string name="shared_string_reverse_order">Inversa ordigo</string>
|
||||
<string name="switch_start_finish">Anstataŭigi komencpunkton per finpunkto</string>
|
||||
<string name="rendering_attr_hideIcons_name">Kaŝi Interesejajn piktogramojn</string>
|
||||
|
@ -310,7 +310,7 @@
|
|||
<string name="rendering_value_disabled_name">Malaktiva</string>
|
||||
<string name="rendering_value_walkingRoutesScopeOSMC_name">Kolorigi laŭ speco de kurso</string>
|
||||
<string name="rendering_value_walkingRoutesOSMC_name">Kolorigi laŭ OSMC</string>
|
||||
<string name="osmo_share_my_location">Kunhavigi mian pozicion</string>
|
||||
<string name="osmo_share_my_location">Transsendi mian pozicion</string>
|
||||
<string name="shared_string_logoff">Elsaluti</string>
|
||||
<string name="rendering_attr_hideHouseNumbers_name">Kaŝi numerojn de domoj</string>
|
||||
<string name="application_dir_change_warning3">Ĉu vi ankaŭ volas kopii ĝiajn dutumdosierojn al la nova loko?</string>
|
||||
|
@ -370,7 +370,7 @@
|
|||
<string name="shared_string_download">Elŝuti</string>
|
||||
<string name="shared_string_downloading">Elŝutanta</string>
|
||||
<string name="shared_string_close">Fermi</string>
|
||||
<string name="shared_string_exit">Finigi</string>
|
||||
<string name="shared_string_exit">Forlasi</string>
|
||||
<string name="shared_string_show">Montri</string>
|
||||
<string name="shared_string_show_all">Montri ĉiujn</string>
|
||||
<string name="shared_string_map">Mapo</string>
|
||||
|
@ -416,4 +416,172 @@
|
|||
<string name="osmo_connect_to_device_tracker_id">Ŝanĝospurila ID</string>
|
||||
<string name="osmo_connect">Konekti</string>
|
||||
<string name="osmo_groups">Grupoj OsMo</string>
|
||||
<string name="osmo_auto_send_locations_descr">Aŭtomate komencas registrigi ekskurson kaj sendas poziciojn dum starto de aplikaĵo</string>
|
||||
<string name="osmo_auto_send_locations">Aŭtomate eki ekskurs-registrilon</string>
|
||||
<string name="osmo_tracker_id">Ŝanĝospurila ID</string>
|
||||
<string name="osmo_tracker_id_descr">Alklaku por vidi identigilon de ŝanĝospurilo</string>
|
||||
<string name="osmo_connect_to_my_nickname">Kaŝnomo</string>
|
||||
<string name="osmo_plugin_name">OpenStreetMap Observado</string>
|
||||
<string name="osmo_plugin_description">"Tiu ĉi kromprogramo parte liveras eblecojn de la OpenStreetMap Observado, rigardu https://osmo.mobi\n\nVi povas spuri ĉiujn aparatojn de partoprenanta grupo realtempe. Ankaŭ vi povas vidi interesejojn kaj kursojn alŝutitajn al la grupo al kiu vi apartenas. "</string>
|
||||
<string name="storage_permission_restart_is_required">Nun la aplikaĵo estas permesita por skribi en ekstera memorejo. Permana restarto de aplikaĵo nepras.</string>
|
||||
<string name="full_report">Plena raporto</string>
|
||||
<string name="open_street_map_login_and_pass">Uzantnomo kaj pasvorto al OpenStreetMap</string>
|
||||
<string name="application_dir">Datum-konservada dosierujo</string>
|
||||
<string name="filter_poi_hint">Filtri laŭ nomo</string>
|
||||
<string name="shared_string_open">Malfermi</string>
|
||||
<string name="search_poi_category_hint">Entajpu por serĉi ĉie</string>
|
||||
<string name="agps_info">A-GPS informoj</string>
|
||||
<string name="rendering_attr_OSMMapperAssistant_name">OSM-mapiga helpilo</string>
|
||||
<string name="shared_string_manage">Administri</string>
|
||||
<string name="agps_data_last_downloaded">Lasta elŝuto de A-GPS datumoj: %1$s</string>
|
||||
<string name="confirm_usage_speed_cameras">En multaj landoj (Germanujo, Francujo, Italujo, kaj aliaj) uzado de sciigoj pri rapid-kontroloj estas kontraŭleĝaj. Aŭtoroj de OsmAnd ne responsos se vi rompos leĝon. Bonvolu elekti \"Jes\" nur tiam kiam vi havas rajton uzi tiu ĉi funkcio.</string>
|
||||
<string name="welcome_select_region">Por korekte prezenti viajn trafiksignojn kaj regulojn, bonvolu elekti vian trafikan regionon:</string>
|
||||
<string name="welcome_text">OsmAnd ebligas uzi tutmondajn mapojn kaj navigadon eksterrete!</string>
|
||||
<string name="current_route">Nuna kurso</string>
|
||||
<string name="osm_changes_added_to_local_edits">OSM-aj ŝanĝoj aldonitaj al loka ŝanĝaro</string>
|
||||
<string name="mark_to_delete">Marki por forigi</string>
|
||||
<string name="osmo_grop_name_length_alert">Grupa nomo devas enhavi almenaŭ 3 signojn!</string>
|
||||
<string name="local_recordings_delete_all_confirm">Ĉu vi certe volas forigi %1$d notojn?</string>
|
||||
<string name="local_osm_changes_upload_all_confirm">Ĉu vi certe volas alŝuti %1$d ŝanĝojn al OSM?</string>
|
||||
<string name="confirmation_to_clear_history">Ĉu vi volas vakigi la historion?</string>
|
||||
<string name="delay_to_start_navigation">Eki navigadon turnon post turno post…</string>
|
||||
<string name="shared_string_go">Eki</string>
|
||||
<string name="delay_to_start_navigation_descr">Difinas tempon de montrado de la kurs-plana ekrano</string>
|
||||
<string name="osmand_parking_overdue">posttempa</string>
|
||||
<string name="action_create">Krei</string>
|
||||
<string name="action_modify">Modifi</string>
|
||||
<string name="action_delete">Forigi</string>
|
||||
<string name="osm_edits">OSM-aj redaktoj</string>
|
||||
<string name="parking_place_limited">Parkuma tempo limigita ĝis</string>
|
||||
<string name="osmand_parking_time_left">restas</string>
|
||||
<string name="your_edits">Viaj redaktoj</string>
|
||||
<string name="waypoint_visit_after">Viziti poste</string>
|
||||
<string name="waypoint_visit_before">Viziti antaŭe</string>
|
||||
<string name="simulate_your_location">Simuli vian pozicion</string>
|
||||
<string name="drawer">Plata listo</string>
|
||||
<string name="short_location_on_map">Lat %1$s\nLon %2$s</string>
|
||||
<string name="tips_and_tricks_descr">Oftaj demandoj, lastaj ŝanĝoj, kaj aliaj</string>
|
||||
<string name="shared_string_do_not_use">Ne uzi</string>
|
||||
<string name="shared_string_selected_lowercase">elektitaj</string>
|
||||
<string name="shared_string_none">Nenia</string>
|
||||
<string name="shared_string_save_as_gpx">Konservi kiel GPX-kurso</string>
|
||||
<string name="shared_string_more_actions">Pli agadoj</string>
|
||||
<string name="shared_string_do_not_show_again">Ne montri plue</string>
|
||||
<string name="shared_string_remember_my_choice">Memori mian elekton</string>
|
||||
<string name="shared_string_refresh">Aktualigi</string>
|
||||
<string name="shared_string_download_successful">Elŝutado sukcesis</string>
|
||||
<string name="shared_string_io_error">En/eliga eraro okazis</string>
|
||||
<string name="shared_string_unexpected_error">Neatendita eraro okazis</string>
|
||||
<string name="shared_string_action_template">Agado {0}</string>
|
||||
<string name="shared_string_show_on_map">Montri en mapo</string>
|
||||
<string name="shared_string_collapse">Maletendi</string>
|
||||
<string name="shared_string_add_to_favorites">Aldoni al ŝatataj</string>
|
||||
<string name="shared_string_my_location">Mia pozicio</string>
|
||||
<string name="shared_string_my_favorites">Miaj ŝatataj</string>
|
||||
<string name="shared_string_currently_recording_track">Aktuale registranta kurso</string>
|
||||
<string name="route_points">Punktoj de kurso</string>
|
||||
<string name="track_segments">Segmentoj de kurso</string>
|
||||
<string name="track_points">Punktoj de kurso</string>
|
||||
<string name="shared_string_online_maps">Enretaj mapoj</string>
|
||||
<string name="rename_failed">Renomado malsukcesis.</string>
|
||||
<string name="days_behind">tagoj antaŭ</string>
|
||||
<string name="back_to_map">Reen mapen</string>
|
||||
<string name="share_note">Kunhavigi noton</string>
|
||||
<string name="location_on_map">Pozicio:\nLat %1$s\nLon %2$s</string>
|
||||
<string name="watch">Montri</string>
|
||||
<string name="notes">Notoj</string>
|
||||
<string name="online_map">Enreta mapo</string>
|
||||
<string name="roads_only">Nur vojoj</string>
|
||||
<string name="rendering_attr_pisteRoutes_name">Skitrakoj</string>
|
||||
<string name="free">"Libera %1$s "</string>
|
||||
<string name="gps_status">GPS-a stato</string>
|
||||
<string name="osmand_plus_play_title_30_chars">OsmAnd+ Mapoj k Navigado</string>
|
||||
<string name="map_widget_show_ruler">Mezurilo</string>
|
||||
<string name="osmand_rastermaps_plugin_description">"Per tiu ĉi kromprogramo vi povas atingi multajn enretajn (ankaŭ nomitaj kiel kahelaj aŭ rastrumaj) mapojn, ekzemple: antaŭgeneritaj OpenStreetMap kaheloj (kiel Mapnik), sputnik-fotoj kaj mapoj por specialaj uzoj: veteraj, klimataj, tersciencaj mapoj, tavoloj de nivel-ombrumo, ktp.\n\nĈiuj de tiuj mapoj oni eblas uzi kiel ĉefa (baza) mapo por OsmAnd, aŭ kiel supra aŭ malsupra tavolo por alia bazmapo (ekz. por norma OsmAnd-a eksterreta mapo). Por igi malsupran tavolon de mapo pli klaran, kelkaj elementoj de vektoraj OSM-aj mapoj oni eblas facile kaŝi uzante \'Agordi mapon\' menuon.\n\nKahelajn mapojn oni povas elŝuti senpere de interreto, aŭ prepari por eksterreta uzado (kaj permane kopii al OSM-a datum-dosierujo) kiel SQLite-a datumbazo kiu povas esti farita uzante diversajn eksterajn ilojn por prepari mapojn. "</string>
|
||||
<string name="shared_string_accessibility">Alirebleco</string>
|
||||
<string name="device_memory">Aparata memoro</string>
|
||||
<string name="edit_group">Redakti grupon</string>
|
||||
<string name="parking_place">Parkumejo</string>
|
||||
<string name="rendering_attr_pisteGrooming_name">Skitrakta prepar-speco</string>
|
||||
<string name="world_ski_missing">Por montri skitraktajn mapojn, oni povas elŝuti specialan eksterretan mapon</string>
|
||||
<string name="nautical_maps_missing">Por montri ŝipveturadajn mapojn, oni povas elŝuti specialan eksterretan mapon</string>
|
||||
<string name="remove_the_tag">FORIGI LA MARKON</string>
|
||||
<string name="version_settings">Versioj</string>
|
||||
<string name="version_settings_descr">Elŝutas antaŭ-alfajn versiojn</string>
|
||||
<string name="rendering_attr_streetLighting_name">Stratlumigado</string>
|
||||
<string name="proxy_pref_title">Prokurilo</string>
|
||||
<string name="proxy_pref_descr">Agordu prokurilan servilon (ang. proxy server)</string>
|
||||
<string name="points">Punktoj</string>
|
||||
<string name="navigation_over_track">Ĉu eki navigadon laŭlonge de vojo?</string>
|
||||
<string name="avoid_roads_msg">Vi povas vidi alternativan kurson per elekti vojojn evitindajn</string>
|
||||
<string name="speak_pedestrian">Pasejoj zebrostriaj</string>
|
||||
<string name="rendering_attr_roadStyle_name">Voja montrmaniero</string>
|
||||
<string name="rendering_attr_roadStyle_description">Kiamaniere montri vojojn</string>
|
||||
<string name="rendering_value__name">Defaŭlta</string>
|
||||
<string name="rendering_value_default_name">Defaŭlta</string>
|
||||
<string name="rendering_value_germanRoadAtlas_name">Germana voja maparo</string>
|
||||
<string name="rendering_value_highContrastRoads_name">Kontrastegaj vojoj</string>
|
||||
<string name="traffic_warning_railways">Traknivela pasejo</string>
|
||||
<string name="traffic_warning_pedestrian">Zebrostria pasejo</string>
|
||||
<string name="show_railway_warnings">Montri traknivelajn pasejojn</string>
|
||||
<string name="show_pedestrian_warnings">Montri zebrostriajn pasejojn</string>
|
||||
<string name="rendering_value_americanRoadAtlas_name">Usona voja maparo</string>
|
||||
<string name="routing_attr_no_new_routing_name">Sen v1.9 kursaj reguloj</string>
|
||||
<string name="routing_attr_no_new_routing_description">Ne uzas regulojn por difini vojojn enkondukitajn je v1.9</string>
|
||||
<string name="dash_download_msg_none">Ĉu vi volas elŝuti eksterretajn mapojn?</string>
|
||||
<string name="dash_download_msg">Vi elŝutis %1$s mapojn</string>
|
||||
<string name="dash_download_new_one">Elŝuti novan mapon</string>
|
||||
<string name="dash_download_manage">Administri</string>
|
||||
<string name="rendering_attr_transportStops_name">Haltejoj</string>
|
||||
|
||||
<string name="navigate_point_zone">Zono</string>
|
||||
<string name="navigate_point_northing">Ordinato</string>
|
||||
<string name="navigate_point_easting">Absciso</string>
|
||||
<string name="download_tab_downloads">Ĉiuj</string>
|
||||
<string name="download_tab_local">Lokaj</string>
|
||||
<string name="no_internet_connection">Elŝutado ne eblas, bonvolu kontroli vian retkonekton.</string>
|
||||
<string name="record_plugin_name">Registrado de kursoj</string>
|
||||
<string name="record_plugin_description">"Tiu ĉi kromprogramo ebligas al vi registri kaj konservi viajn kursojn per permana elektado de GPX-registrada fenestraĵo sur la mapekrano, aŭ ankaŭ aŭtomate registri ĉiujn viajn navigadajn kursojn al GPX-dosiero.\n\nRegistritaj kursoj povas esti kunhavigitaj kun viaj amikoj aŭ esti uzita por kontribui la OSM-on. Atletoj povas uzi registritajn kursojn por monitori siajn ekzercojn. Kelkaj bazaj ecoj oni povas analizi senpere per OsmAnd, kiel: tempoj de ĉirkaŭoj, muzumaj rapidecoj, ktp, kaj kursoj oni povas poste analizi uzante specialajn eksterajn programojn. "</string>
|
||||
<string name="use_opengl_render">Uzi OpenGL-bildigon</string>
|
||||
<string name="use_opengl_render_descr">Uzas aparatan plirapidigan OpenGL-bildigon (povas ne funkcii je iuj aparatoj)</string>
|
||||
<string name="error_avoid_specific_road">Ne trovis ĉirkaŭvojon</string>
|
||||
<string name="home_button">Ĉefekrano</string>
|
||||
<string name="map_update">Ĝisdatigoj disponeblaj por %1$s mapoj</string>
|
||||
<string name="search_for">Serĉi</string>
|
||||
<string name="coordinates">Koordinatoj</string>
|
||||
<string name="rendering_attr_publicTransportMode_name">Busaj, trolebusaj, pramaj kursoj</string>
|
||||
<string name="rendering_attr_tramTrainRoutes_name">Tramaj kaj vagonaraj kursoj</string>
|
||||
<string name="rendering_attr_subwayMode_name">Metroaj kursoj</string>
|
||||
<string name="lock_screen_request_explanation">%1$s bezonas tiu ĉi permeson por malŝalti ekranon por energiŝparan funkcion.</string>
|
||||
<string name="wake_on_voice">Ŝalti ekranon</string>
|
||||
<string name="wake_on_voice_descr">Ŝaltas aparatan ekranon dum proksimigado al turno</string>
|
||||
<string name="impassable_road">Eviti vojojn…</string>
|
||||
<string name="rendering_attr_tramRoutes_name">Tramaj kursoj</string>
|
||||
<string name="rendering_attr_trainLightrailRoutes_name">Vagonaraj kursoj</string>
|
||||
<string name="rendering_attr_shareTaxiRoutes_name">Kunhavigi taksiajn kursojn</string>
|
||||
<string name="rendering_attr_trolleybusRoutes_name">Trolebusaj kursoj</string>
|
||||
<string name="rendering_attr_busRoutes_name">Busaj kursoj</string>
|
||||
<string name="rendering_category_hide">Kaŝi</string>
|
||||
<string name="rendering_category_routes">Kursoj</string>
|
||||
<string name="rendering_category_details">Detaloj</string>
|
||||
<string name="rendering_category_transport">Transporto</string>
|
||||
<string name="rendering_category_others">Aliaj mapecoj</string>
|
||||
<string name="map_widget_appearance_rem">Aliaj elementoj</string>
|
||||
<string name="map_widget_vector_attributes">Bildigaj ecoj</string>
|
||||
<string name="map_widget_top">Stata breto</string>
|
||||
<string name="map_widget_right">Dekstra panelo</string>
|
||||
<string name="map_widget_left">Maldekstra panelo</string>
|
||||
<string name="configure_map">Agordi mapon</string>
|
||||
<string name="search_radius_proximity">En proksime de</string>
|
||||
<string name="osmo_device_not_found">Ne trovis aparaton</string>
|
||||
<string name="anonymous_user">Anonima uzanto</string>
|
||||
<string name="logged_as">Ensalutita kiel %1$s</string>
|
||||
<string name="speed_limit_exceed">Tolerado de rapidlimo</string>
|
||||
<string name="traffic_warning_speed_limit">Rapidlimo</string>
|
||||
<string name="speak_favorites">Proksimaj ŝatataj</string>
|
||||
<string name="speed_limit_exceed_message">Elektas rango de tolerado de rapidlimo, supre kiu vi ricevos sonajn avertojn</string>
|
||||
<string name="fav_point_emoticons_message">La nomo de ŝatata punkto estas ŝanĝita al %1$s por plifaciligi korektan konservadon de tekstoĉeno kun miensimboloj al dosiero.</string>
|
||||
<string name="print_route">Presi kurson</string>
|
||||
<string name="fav_point_dublicate">Duplikata nomo</string>
|
||||
<string name="fav_point_dublicate_message">Difinita nomo de ŝatata punkto estas jam uzata, ĝi estas ŝanĝita al %1$s por eviti duplikatadon.</string>
|
||||
</resources>
|
||||
|
|
|
@ -2686,4 +2686,37 @@
|
|||
<string name="poi_amenity_vacuum_cleaner">Aspiradoras</string>
|
||||
|
||||
<string name="poi_sport_free_flying">Vuelo libre (deporte)</string>
|
||||
<string name="poi_bicycle_repair_station">Estación de reparación para bicicletas</string>
|
||||
<string name="poi_water_tap">Canilla pública</string>
|
||||
|
||||
<string name="poi_button_operated_yes">Activado por botón</string>
|
||||
<string name="poi_button_operated_no">No activado por botón</string>
|
||||
|
||||
<string name="poi_free_flying_site_takeoff">Sitio de vuelo libre: Despegue</string>
|
||||
<string name="poi_free_flying_site_landing">Sitio de vuelo libre: Aterrizaje</string>
|
||||
<string name="poi_free_flying_site_toplanding">Sitio de vuelo libre: Aterrizaje en la cima</string>
|
||||
<string name="poi_free_flying_site_towing">Sitio de vuelo libre: Remolque</string>
|
||||
<string name="poi_free_flying_site_training">Sitio de capacitación en vuelo libre</string>
|
||||
<string name="poi_free_flying_official_yes">Sitio permitido para vuelo libre</string>
|
||||
<string name="poi_free_flying_official_no">Sitio no permitido para vuelo libre</string>
|
||||
<string name="poi_free_flying_paragliding_yes">Parapente: Sí</string>
|
||||
<string name="poi_free_flying_paragliding_no">Parapente: No</string>
|
||||
<string name="poi_free_flying_hanggliding_yes">Ala delta: Sí</string>
|
||||
<string name="poi_free_flying_hanggliding_no">Ala delta: No</string>
|
||||
<string name="poi_free_flying_rigid_yes">Ala delta rígido: Sí</string>
|
||||
<string name="poi_free_flying_rigid_no">Ala delta rígido: No</string>
|
||||
<string name="poi_free_flying_site_orientation_n">Orientación del sitio en vuelo libre: N</string>
|
||||
<string name="poi_free_flying_site_orientation_ne">Orientación del sitio en vuelo libre: NE</string>
|
||||
<string name="poi_free_flying_site_orientation_e">Orientación del sitio en vuelo libre: E</string>
|
||||
<string name="poi_free_flying_site_orientation_se">Orientación del sitio en vuelo libre: SE</string>
|
||||
<string name="poi_free_flying_site_orientation_s">Orientación del sitio en vuelo libre: S</string>
|
||||
<string name="poi_free_flying_site_orientation_sw">Orientación del sitio en vuelo libre: SO</string>
|
||||
<string name="poi_free_flying_site_orientation_w">Orientación del sitio en vuelo libre: O</string>
|
||||
<string name="poi_free_flying_site_orientation_nw">Orientación del sitio en vuelo libre: NO</string>
|
||||
<string name="poi_free_flying_no_flight_time">Sin horario de vuelo (vuelo libre)</string>
|
||||
<string name="poi_free_flying_guest_guidelines_yes">Con directrices de invitado en vuelo libre</string>
|
||||
<string name="poi_free_flying_guest_guidelines_no">Sin directrices de invitado en vuelo libre</string>
|
||||
|
||||
<string name="poi_solarium">Centro de bronceado (solarium)</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -2449,4 +2449,37 @@
|
|||
<string name="poi_amenity_vacuum_cleaner">Aspiradoras</string>
|
||||
|
||||
<string name="poi_sport_free_flying">Vuelo libre (deporte)</string>
|
||||
<string name="poi_bicycle_repair_station">Estación de reparación para bicicletas</string>
|
||||
<string name="poi_water_tap">Grifo público</string>
|
||||
|
||||
<string name="poi_button_operated_yes">Activado por botón</string>
|
||||
<string name="poi_button_operated_no">No activado por botón</string>
|
||||
|
||||
<string name="poi_free_flying_site_takeoff">Sitio de despegue para vuelo libre</string>
|
||||
<string name="poi_free_flying_site_landing">Sitio de aterrizaje para vuelo libre</string>
|
||||
<string name="poi_free_flying_site_toplanding">Sitio de aterrizaje en la cima para vuelo libre</string>
|
||||
<string name="poi_free_flying_site_towing">Sitio de vuelo libre: Remolque</string>
|
||||
<string name="poi_free_flying_site_training">Sitio de capacitación en vuelo libre</string>
|
||||
<string name="poi_free_flying_official_yes">Sitio permitido para vuelo libre</string>
|
||||
<string name="poi_free_flying_official_no">Sitio no permitido para vuelo libre</string>
|
||||
<string name="poi_free_flying_paragliding_yes">Parapente: Sí</string>
|
||||
<string name="poi_free_flying_paragliding_no">Parapente: No</string>
|
||||
<string name="poi_free_flying_hanggliding_yes">Ala delta: Sí</string>
|
||||
<string name="poi_free_flying_hanggliding_no">Ala delta: No</string>
|
||||
<string name="poi_free_flying_rigid_yes">Ala delta rígido: Sí</string>
|
||||
<string name="poi_free_flying_rigid_no">Ala delta rígido: No</string>
|
||||
<string name="poi_free_flying_site_orientation_n">Orientación del sitio en vuelo libre: N</string>
|
||||
<string name="poi_free_flying_site_orientation_ne">Orientación del sitio en vuelo libre: NE</string>
|
||||
<string name="poi_free_flying_site_orientation_e">Orientación del sitio en vuelo libre: E</string>
|
||||
<string name="poi_free_flying_site_orientation_se">Orientación del sitio en vuelo libre: SE</string>
|
||||
<string name="poi_free_flying_site_orientation_s">Orientación del sitio en vuelo libre: S</string>
|
||||
<string name="poi_free_flying_site_orientation_sw">Orientación del sitio en vuelo libre: SO</string>
|
||||
<string name="poi_free_flying_site_orientation_w">Orientación del sitio en vuelo libre: O</string>
|
||||
<string name="poi_free_flying_site_orientation_nw">Orientación del sitio en vuelo libre: NO</string>
|
||||
<string name="poi_free_flying_no_flight_time">Sin horario de vuelo (vuelo libre)</string>
|
||||
<string name="poi_free_flying_guest_guidelines_yes">Con directrices de invitado en vuelo libre</string>
|
||||
<string name="poi_free_flying_guest_guidelines_no">Sin directrices de invitado en vuelo libre</string>
|
||||
|
||||
<string name="poi_solarium">Centro de bronceado (solarium)</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -1300,7 +1300,7 @@
|
|||
<string name="osmo_settings_uuid">ID univoco del dispositivo</string>
|
||||
<string name="osmo_settings_descr">Configura le impostazioni di monitoraggio e imposta il canale di monitoraggio personale</string>
|
||||
<string name="osmo_plugin_description">"Questo componente aggiuntivo fornisce le funzionalità del cosiddetto monitoraggio avanzato in diretta OsMo, vedi http://osmo.mobi.\n\nPuoi tracciare in tempo reale tutti i dispositivi di un gruppo di partecipanti e comunicare con loro. Viene fornito con varie opzioni di monitoraggio della sessione in corso o permanentemente.\n\nI gruppi anonimi possono essere creati autonomamente per uno specifico numero di giorni e sono limitati ad alcune funzioni, es. non ci sono controllo remoto e l\'amministratore del gruppo. Gruppi con tutte le funzionalità possono essere creati dal sito e solo gli utenti registrati possono accedervi. "</string>
|
||||
<string name="osmo_plugin_name">OsMo (monitoraggio OSM)</string>
|
||||
<string name="osmo_plugin_name">Monitoraggio OpenStreetMap</string>
|
||||
<string name="osmo_settings">OsMO</string>
|
||||
<string name="keep_informing_never">Solo manualmente (tap sulla freccia)</string>
|
||||
<string name="keep_informing_descr">Annuncia nuovamente a intervalli regolari le indicazioni di navigazione</string>
|
||||
|
@ -1314,10 +1314,10 @@
|
|||
<string name="share_fav_subject">Preferiti condivisi tramite OsmAnd</string>
|
||||
<string name="use_points_as_intermediates">Calcola il percorso tra i punti</string>
|
||||
|
||||
<string name="osmo_auto_send_locations_descr">Avvia automaticamente la registrazione della sessione e invia la localizzazione dopo l\'avvio dell\'applicazione</string>
|
||||
<string name="osmo_auto_send_locations">Avvia automaticamente la sessione di tracciamento</string>
|
||||
<string name="osmo_tracker_id">ID tracciamento personale</string>
|
||||
<string name="osmo_tracker_id_descr">Clicca per visualizzare o condividere l\'id della tracciabilità. Usando l\'id della tracciabilità i dispositivi connessi saranno in grado di seguire tutti i movimenti di questo dispositivo! Per disconnettersi seleziona l\'opzione Rigenera l\'id.</string>
|
||||
<string name="osmo_auto_send_locations_descr">Avvia automaticamente il viaggio e invia la localizzazione dopo l\'avvio dell\'applicazione</string>
|
||||
<string name="osmo_auto_send_locations">Avvia automaticamente il viaggio</string>
|
||||
<string name="osmo_tracker_id">ID tracciamento</string>
|
||||
<string name="osmo_tracker_id_descr">Clicca per visualizzare l\'ID della tracciabilità.</string>
|
||||
<string name="osmo_session_token">Token della sessione: %1$s</string>
|
||||
<string name="osmo_auth_pending">In attesa di autorizzazione…</string>
|
||||
<string name="osmo_locations_sent">Localizzazioni inviate %1$d (nel buffer %2$d) </string>
|
||||
|
@ -1328,12 +1328,12 @@
|
|||
<string name="minutes_ago">minuti fa</string>
|
||||
<string name="seconds_ago">secondi fa</string>
|
||||
<string name="osmo_connect_to_device_name">Nome utente</string>
|
||||
<string name="osmo_connect_to_device_tracker_id">Id tracciabilità</string>
|
||||
<string name="osmo_connect_to_device_tracker_id">ID tracciabilità</string>
|
||||
<string name="osmo_connect_to_device">Collegamento con il dispositivo</string>
|
||||
|
||||
|
||||
<string name="osmo_connected_devices">Dispositivi collegati</string>
|
||||
<string name="osmo_groups">Gruppi/Dispositivi OsMo</string>
|
||||
<string name="osmo_groups">Gruppi OsMo</string>
|
||||
<string name="osmo_group_info">Informazioni</string>
|
||||
<string name="osmo_group">Gruppo OsMo</string>
|
||||
<string name="osmo_group_share">Per collegarsi al gruppo %2$s, specificare l\'id del gruppo (%1$s) o cliccare %3$s.</string>
|
||||
|
@ -1350,10 +1350,10 @@
|
|||
<string name="osmo_expire_group">Scade fra</string>
|
||||
<string name="osmo_group_description">Descrizione</string>
|
||||
<string name="osmo_group_policy">Regole</string>
|
||||
<string name="osmo_connect_to_group_id">Id gruppo</string>
|
||||
<string name="osmo_connect_to_group_id">ID gruppo</string>
|
||||
<string name="osmo_group_name">Nome gruppo</string>
|
||||
<string name="osmo_connect_to_group">Collegamento con il gruppo</string>
|
||||
<string name="osmo_connect">Collega a</string>
|
||||
<string name="osmo_connect">Entra</string>
|
||||
<string name="osmo_create_group">Crea gruppo</string>
|
||||
<string name="osmo_server_operation_failed">Operazione del server OsMo fallita</string>
|
||||
<string name="osmo_activity">Monitoraggio OpenStreetMap</string>
|
||||
|
@ -1382,7 +1382,7 @@
|
|||
<string name="osmo_center_location">Centra nello schermo</string>
|
||||
<string name="osmo_set_moving_target">Imposta come obiettivo mobile</string>
|
||||
<string name="osmo_use_server_name">Nome registrato</string>
|
||||
<string name="osmo_connect_to_my_nickname">Mio nickname</string>
|
||||
<string name="osmo_connect_to_my_nickname">Nick</string>
|
||||
<string name="osmo_user_name">Utente</string>
|
||||
|
||||
|
||||
|
@ -1485,7 +1485,7 @@
|
|||
<string name="rendering_attr_subwayMode_name">Percorsi metró</string>
|
||||
<string name="osmo_invite">Invita…</string>
|
||||
<string name="osmo_leave_confirmation_msg">Vuoi abbandonare il gruppo %1$s?</string>
|
||||
<string name="osmo_specify_tracker_id">Per favore specifica l\'id</string>
|
||||
<string name="osmo_specify_tracker_id">Per favore specifica l\'ID</string>
|
||||
<string name="continue_navigation">Prosegui la navigazione</string>
|
||||
<string name="pause_navigation">Metti in pausa la navigazione</string>
|
||||
<string name="rendering_attr_alpineHiking_name">Scala escursionismo alpino (SAC)</string>
|
||||
|
@ -1546,8 +1546,8 @@
|
|||
<string name="speed_limit_exceed">Tolleranza del limite di velocità</string>
|
||||
<string name="speed_limit_exceed_message">Seleziona il valore di superamento del limite di velocità dal quale si desidera avere l\'avviso vocale.</string>
|
||||
<string name="osmo_device_not_found">Dispositivo non trovato</string>
|
||||
<string name="osmo_no_connection_msg">Il servizio OsMo non è disponibile:\n- controlla la connessione;\n- controlla le impostazioni;\n- contattaci su Twitter: https://twitter.com/OsMomobi</string>
|
||||
<string name="anonymous_user_hint">Un utente anonimo non può:\n- creare gruppi;\n- sincronizzare con il server gruppi e dispositivi;\n- gestire gruppi e dispositivi in un ufficio privato.</string>
|
||||
<string name="osmo_no_connection_msg">Connessione al server OsMo non riuscita:\n- controlla la connessione a internet;\n- controlla le impostazioni;\n- contattaci su Twitter: https://twitter.com/OsMomobi</string>
|
||||
<string name="anonymous_user_hint">Un utente anonimo non può:\n- creare gruppi;\n- sincronizzare con il server gruppi e dispositivi;\n- gestire gruppi e dispositivi nel pannello di controllo sul sito.</string>
|
||||
<string name="anonymous_user">Utente anonimo</string>
|
||||
<string name="logged_as">Registrato come %1$s</string>
|
||||
<string name="rendering_category_routes">Percorsi</string>
|
||||
|
@ -1817,7 +1817,7 @@
|
|||
<string name="routing_attr_height_description">Specifica l\'altezza del veicolo che deve essere permessa sui percorsi</string>
|
||||
<string name="use_fast_recalculation">Ricalcolo percorso intelligente</string>
|
||||
<string name="use_fast_recalculation_desc">Ricalcola solo la prima parte del percorso per i viaggi lunghi</string>
|
||||
<string name="osmo_share_my_location">Condividi la mia posizione</string>
|
||||
<string name="osmo_share_my_location">Invia la posizione</string>
|
||||
<string name="shared_string_logoff">Esci</string>
|
||||
<string name="rendering_value_disabled_name">Disabilitato</string>
|
||||
<string name="rendering_value_walkingRoutesScopeOSMC_name">Colorazione in base al tipo di percorso</string>
|
||||
|
@ -2214,4 +2214,6 @@
|
|||
<string name="avoid_road">Evita la strada</string>
|
||||
<string name="storage_directory_shared">Memoria condivisa</string>
|
||||
<string name="storage_directory_readonly_desc">La carella di memorizzazione selezionata è in sola lettura. La cartella di memorizzazione sarà temporaneamente cambiata nella memoria interna. Per favore scegliere una cartella di destinazione valida.</string>
|
||||
<string name="report">Rapporto</string>
|
||||
<string name="storage_permission_restart_is_required">Ora l\'applicazione ha i permessi per scrivere sulla memoria esterna. È necessario riavviare l\'applicazione.</string>
|
||||
</resources>
|
||||
|
|
|
@ -1477,7 +1477,7 @@
|
|||
<string name="osmo_auto_connect">Automatisch verbinding maken</string>
|
||||
<string name="osmo_start_service">OsMo service</string>
|
||||
<string name="osmo_gpx_track_downloaded">OsMo track: %1$s opgehaald.</string>
|
||||
<string name="osmo_group_information_desc">" - Alle groepen zijn openbaar! Om anoniem te blijven moet u apparaten rechtstreeks met elkaar verbinden via hun Tracker-ID, en niet in een groep.\n- Er kunnen maximaal 8 deelnemers in een groep.\n- Als er gedurende 2 weken geen of nog maar 1 deelnemer actief is, wordt de groep verwijderd.\n- Een groep kan besloten worden gemaakt (\"alleen op uitnodiging\"). Het beheer daarvan moet op de beheerspagina gebeuren.\n- Als u een groep nodig heeft met andere voorwaarden, ga dan naar http://osmo.mobi"</string>
|
||||
<string name="osmo_group_information_desc">" - Geef een naam en omschrijving om een groep te maken\n- Hier gemaakte groepen zijn van het type \'Simple\'; zie voor uitleg https://osmo.mobi/g/new\n- Via de website kunnen groepen beheerd worden en paden en punten beschikbaar worden gemaakt\n- Een groep is voor meerdere gebruikers, als het niet de POI-groep is\n- Er kunnen maximaal 8 deelnemers in een prive-groep\n- Gebruiksvoorwaarden zijn beschikbaar op de site osmo.mobi\n- Als u een groep nodig heeft met andere voorwaarden, neem dan contact op met support: osmo.mobi@gmail.com "</string>
|
||||
<string name="osmo_group_information">Lees dit voordat u een groep maakt!</string>
|
||||
<string name="osmo_not_signed_in">Kon niet inloggen op OsMo</string>
|
||||
<string name="osmo_group_by_invite">Alleen toegang met uitnodiging</string>
|
||||
|
@ -1532,7 +1532,7 @@
|
|||
<string name="rendering_attr_coloredBuildings_name">Gebouwen kleuren per soort</string>
|
||||
<string name="osmo_invite">Uitnodiging voor…</string>
|
||||
<string name="osmo_leave_confirmation_msg">Wil je de groep %1$s verlaten?</string>
|
||||
<string name="osmo_specify_tracker_id">Specificeer je tracker-id alsjeblieft</string>
|
||||
<string name="osmo_specify_tracker_id">Geef tracker-ID</string>
|
||||
<string name="arrival_distance_factor_early">Vroegtijdig</string>
|
||||
<string name="arrival_distance_factor_normally">Op tijd</string>
|
||||
<string name="arrival_distance_factor_late">Laat</string>
|
||||
|
@ -1593,7 +1593,7 @@
|
|||
<string name="configure_map">Kaart instellen</string>
|
||||
<string name="search_radius_proximity">In de buurt van</string>
|
||||
<string name="osmo_device_not_found">Apparaat niet gevonden</string>
|
||||
<string name="osmo_no_connection_msg">OsMo service is niet beschikbaar:\n- Controleer de verbinding;\n- Controleer de instellingen;\n- Kijk op Twitter: https://twitter.com/OsMomobi</string>
|
||||
<string name="osmo_no_connection_msg">OsMo service is niet bereikbaar:\n- Controleer de verbinding;\n- Controleer de instellingen;\n- Kijk op Twitter: https://twitter.com/OsMomobi</string>
|
||||
<string name="anonymous_user_hint">een anonieme gebruiker kan niet:\n- een groep aanmaken;\n- groepen en apparaten synchroniseren met de server;\n- groepen en apparaten beheren in een eigen omgeving.</string>
|
||||
<string name="anonymous_user">Anonieme gebruiker</string>
|
||||
<string name="logged_as">Ingelogd als %1$s</string>
|
||||
|
@ -2243,4 +2243,5 @@
|
|||
<string name="full_report">Volledig Verslag</string>
|
||||
<string name="open_street_map_login_and_pass">OpenStreetMap loginnaam and wachtwoord</string>
|
||||
<string name="report">Verslag</string>
|
||||
</resources>
|
||||
<string name="file_name_containes_illegal_char">Bestandsnaam bevat verkeerd teken</string>
|
||||
</resources>
|
||||
|
|
|
@ -1039,7 +1039,7 @@
|
|||
<string name="poi_denomination_new_apostolic">Kościół Nowoapostolski</string>
|
||||
<string name="poi_shower">Prysznic</string>
|
||||
<string name="poi_email">E-mail</string>
|
||||
<string name="poi_fax"/>
|
||||
<string name="poi_fax">Fax</string>
|
||||
<string name="poi_facebook">Facebook</string>
|
||||
<string name="poi_twitter">Twitter</string>
|
||||
<string name="poi_skype">Skype</string>
|
||||
|
@ -1181,4 +1181,75 @@
|
|||
<string name="poi_association">Biura stowarzyszenia</string>
|
||||
<string name="poi_financial">Biuro finansowe</string>
|
||||
<string name="poi_denomination_episcopal">Biskupi</string>
|
||||
<string name="poi_aerialway_pylon">Słup podtrzymujący kable wyciągu</string>
|
||||
|
||||
<string name="poi_lighting_tower">Maszt oświetleniowy</string>
|
||||
<string name="poi_greenfield">Teren niezagospodarowany</string>
|
||||
<string name="poi_capital">Stolica</string>
|
||||
<string name="poi_religion_multifaith">Wielowyznaniowość</string>
|
||||
<string name="poi_denomination_shia">Szyityzm</string>
|
||||
<string name="poi_denomination_united">Kościół Unicki (grecko-katolicki)</string>
|
||||
<string name="poi_denomination_tibetan">Buddyzm tybetański</string>
|
||||
<string name="poi_denomination_united_reformed">Kościół Zjednoczony (Unijny)</string>
|
||||
<string name="poi_denomination_mennonite">Mennonici</string>
|
||||
<string name="poi_denomination_quaker">Kwakrzy</string>
|
||||
<string name="poi_denomination_assemblies_of_god">Zbory Boże</string>
|
||||
<string name="poi_denomination_adventist">Adwentyści</string>
|
||||
<string name="poi_denomination_nazarene">Kościół Nazarejczyka</string>
|
||||
<string name="poi_denomination_old_believers">Staroobrzędowcy</string>
|
||||
<string name="poi_denomination_serbian_orthodox">Serbski ortodoksyjny</string>
|
||||
<string name="poi_denomination_armenian_apostolic">Apostolski Kościół Ormiański</string>
|
||||
<string name="poi_denomination_dutch_reformed">Holenderski Kościół Reformowany</string>
|
||||
<string name="poi_denomination_apostolic">Kościół Apostolski</string>
|
||||
<string name="poi_denomination_latter_day_saints">Kościół Jezusa Chrystusa Świętych w Dniach Ostatnich</string>
|
||||
<string name="poi_denomination_church_of_christ"/>
|
||||
<string name="poi_denomination_georgian_orthodox">Gruziński prawosławny</string>
|
||||
<string name="poi_denomination_romanian_orthodox">Rumuński prawosławny</string>
|
||||
<string name="poi_denomination_coptic_orthodox">Koptyjski</string>
|
||||
<string name="poi_denomination_shaktism">Śaktyzm</string>
|
||||
<string name="poi_denomination_shingon_shu">Shingon</string>
|
||||
<string name="poi_denomination_maronite">Maronityzm</string>
|
||||
<string name="poi_denomination_mahayana">Mahajana</string>
|
||||
|
||||
<string name="poi_internet_access_yes">Dostęp do internetu: tak</string>
|
||||
<string name="poi_internet_access_no">Dostęp do internetu: nie</string>
|
||||
|
||||
<string name="poi_mobile">Telefon komórkowy</string>
|
||||
<string name="poi_drinking_water_no">Brak wody pitnej</string>
|
||||
<string name="poi_seasonal_no">Całoroczny</string>
|
||||
<string name="poi_seasonal_dry_season">Pora sucha</string>
|
||||
<string name="poi_seasonal_wet_season">Pora deszczowa</string>
|
||||
<string name="poi_wheelchair">Wózki inwalidzkie</string>
|
||||
<string name="poi_wheelchair_no">Brak dostępu dla wózków inwalidzkich</string>
|
||||
<string name="poi_access_private">Dostęp prywatny</string>
|
||||
<string name="poi_content_fuel">Zawartość: paliwo</string>
|
||||
<string name="poi_content_wine">Zawartość: wino</string>
|
||||
<string name="poi_content_gas">Zawartość: gaz</string>
|
||||
<string name="poi_content_biomass">Zawartość: biomasa</string>
|
||||
<string name="poi_content_crop">Zawartość: plony</string>
|
||||
<string name="poi_content_beer">Zawartość: piwo</string>
|
||||
<string name="poi_content_salt">Zawartość: sól</string>
|
||||
<string name="poi_content_grain">Zawartość: zboże</string>
|
||||
|
||||
<string name="poi_content_water">Zawartość: woda</string>
|
||||
<string name="poi_content_oil">Zawartość: ropa naftowa</string>
|
||||
<string name="poi_nudism_permissive">Nudyzm: dozwolony</string>
|
||||
|
||||
<string name="poi_bicycle_parking_stands">Stoiska</string>
|
||||
<string name="poi_bicycle_parking_building">Budynek specjalny</string>
|
||||
<string name="poi_bicycle_parking_shed">Zadaszenie</string>
|
||||
<string name="poi_bicycle_parking_bollard">Słupek</string>
|
||||
<string name="poi_trees_olive">Krzewy oliwne</string>
|
||||
<string name="poi_trees_apple">Jabłonie</string>
|
||||
<string name="poi_urban">Miejski</string>
|
||||
<string name="poi_animal_shelter">Schronisko</string>
|
||||
<string name="poi_pump_no">Brak pompy</string>
|
||||
<string name="poi_pump_yes">Pompa</string>
|
||||
|
||||
<string name="poi_water_characteristic_mineral">Charakterystyka wody: mineralna</string>
|
||||
<string name="poi_water_characteristic_mud">Charakterystyka wody: mętna</string>
|
||||
<string name="poi_water_characteristic_sulfuric">Charakterystyka wody: siarczkowa</string>
|
||||
|
||||
<string name="poi_amenity_vacuum_cleaner">Odkurzacz</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -100,7 +100,7 @@
|
|||
<string name="map_text_size_descr">Wybierz rozmiar tekstu dla nazw na mapie</string>
|
||||
<string name="map_text_size">Rozmiar tekstu</string>
|
||||
<string name="trace_rendering">Informacje o diagnozowaniu błędów renderowania</string>
|
||||
<string name="trace_rendering_descr">Wyświetlaj informacje o wydajności renderowania</string>
|
||||
<string name="trace_rendering_descr">Wyświetla informacje o wydajności renderowania</string>
|
||||
|
||||
|
||||
<string name="installing_new_resources">Rozpakowywanie nowych danych…</string>
|
||||
|
@ -153,7 +153,7 @@
|
|||
<string name="preferred_locale">Język interfejsu</string>
|
||||
|
||||
|
||||
<string name="shared_string_next">Dalej</string>
|
||||
<string name="shared_string_next">Naprzód</string>
|
||||
<string name="shared_string_previous">Wstecz</string>
|
||||
<string name="unit_of_length_descr">Zmienia jednostki długości i prędkości</string>
|
||||
<string name="unit_of_length">Jednostki miar</string>
|
||||
|
@ -236,7 +236,7 @@
|
|||
<string name="daynight_descr">Zdefiniuj kryterium przełączania trybu dzień/noc</string>
|
||||
<string name="daynight">Tryb dzienny/nocny</string>
|
||||
<string name="download_files_question">Pobrać {0} plik(ów) ({1} MB)?</string>
|
||||
<string name="items_were_selected">{0} element(ów) zaznaczono</string>
|
||||
<string name="items_were_selected">zaznaczono {0} element(ów)</string>
|
||||
<string name="filter_existing_indexes">Pobrane</string>
|
||||
|
||||
<string name="shared_string_select_all">Zaznacz wszystko</string>
|
||||
|
@ -249,9 +249,9 @@
|
|||
<string name="osmand_service_descr">Działanie aplikacji, gdy ekran jest wygaszony</string>
|
||||
<string name="fast_route_mode">Najszybsza trasa</string>
|
||||
<string name="fast_route_mode_descr">"Wyznacza najszybszą trasę zamiast najkrótszej "</string>
|
||||
<string name="tiles_to_download_estimated_size">Na poziomie {0} pobrano {1} kafelków ({2} MB)</string>
|
||||
<string name="shared_string_download_map">Pobieranie mapy</string>
|
||||
<string name="select_max_zoom_preload_area">Wybierz maksymalne przybliżenie do pobrania</string>
|
||||
<string name="tiles_to_download_estimated_size">Do pobrania {1} kafelków na poziomie {0} ({2} MB)</string>
|
||||
<string name="shared_string_download_map">Pobierz mapę</string>
|
||||
<string name="select_max_zoom_preload_area">Proszę wybrać maksymalne przybliżenie do pobrania</string>
|
||||
<string name="maps_could_not_be_downloaded">Nie udało się pobrać tej mapy</string>
|
||||
<string name="continuous_rendering">Rysowanie ciągłe</string>
|
||||
<string name="continuous_rendering_descr">Używaj ciągłego rysowania podczas wyświetlania zamiast rysować jeden obrazek na raz</string>
|
||||
|
@ -656,7 +656,7 @@
|
|||
<string name="support_new_features">Wesprzyj prace</string>
|
||||
|
||||
<string name="show_ruler_level">Wyświetl linijkę</string>
|
||||
<string name="info_button">Informacja</string>
|
||||
<string name="info_button">Informacje</string>
|
||||
<string name="back_to_location">Powróć do pozycji</string>
|
||||
<string name="shared_string_help">Pomoc</string>
|
||||
|
||||
|
@ -785,7 +785,7 @@
|
|||
<string name="rendering_attr_appMode_name">Tryb rysowania</string>
|
||||
<string name="rendering_attr_appMode_description">Optymalizuj mapę dla</string>
|
||||
<string name="rendering_attr_contourLines_description">Wyświetlanie od poziomu powiększenia (wymagane dane poziomicowe):</string>
|
||||
<string name="rendering_attr_contourLines_name">Wyświetlanie poziomic</string>
|
||||
<string name="rendering_attr_contourLines_name">Poziomice</string>
|
||||
<string name="rendering_attr_hmRendered_description">Zwiększ ilość detali pokazywanych na mapie</string>
|
||||
<string name="rendering_attr_hmRendered_name">Pokaż więcej detali na mapie</string>
|
||||
<string name="route_roundabout">Rondo: wybierz %1$d zjazd</string>
|
||||
|
@ -1067,7 +1067,7 @@
|
|||
<string name="local_openstreetmap_act_title">Modyfikacje OSM</string>
|
||||
<string name="shared_string_more_actions">Więcej akcji</string>
|
||||
<string name="favourites_list_activity">Wybierz ulubione</string>
|
||||
<string name="download_using_mobile_internet">Urządzenie nie jest połączone przez Wi-Fi. Czy chcesz kontynuować pobieranie używając obecnego połączenia?</string>
|
||||
<string name="download_using_mobile_internet">Połączenie sieciowe nie jest nawiązane za pośrednictwem Wi-Fi. Kontynuować pobieranie używając obecnego połączenia?</string>
|
||||
<string name="clear_destination">Usuń punkt docelowy</string>
|
||||
<string name="cancel_navigation">Zatrzymaj nawigację</string>
|
||||
<string name="cancel_route">Odrzuć trasę</string>
|
||||
|
@ -1075,8 +1075,8 @@
|
|||
<string name="other_location">Inna</string>
|
||||
<string name="files_limit">Pozostało %1$d plików</string>
|
||||
<string name="available_downloads_left">%1$d dostępnych plików do pobrania</string>
|
||||
<string name="use_magnetic_sensor_descr">Użyj czujnika pola magnetycznego, aby określić kierunek kompasu</string>
|
||||
<string name="use_magnetic_sensor">Użyj czujnika magnetycznego (kompas)</string>
|
||||
<string name="use_magnetic_sensor_descr">Wykorzystuje czujnik pola magnetycznego zamiast czujnika orientacji, w celu określania kierunku kompasu</string>
|
||||
<string name="use_magnetic_sensor">Używanie czujnika magnetycznego</string>
|
||||
<string name="local_indexes_cat_srtm">Poziomice</string>
|
||||
<string name="use_kalman_filter_compass_descr">Redukuje szumy w odczytach kompasu, ale zwiększa bezwładność</string>
|
||||
<string name="use_kalman_filter_compass">Używanie filtra Kalmana</string>
|
||||
|
@ -1212,16 +1212,16 @@
|
|||
<string name="app_mode_aircraft">Samolot</string>
|
||||
<string name="map_widget_map_rendering">Renderowanie</string>
|
||||
<string name="app_modes_choose">Profile programu</string>
|
||||
<string name="app_modes_choose_descr">Wybierz używane profile widoczne w aplikacji</string>
|
||||
<string name="app_modes_choose_descr">Wybiera używane profile widoczne w programie</string>
|
||||
<string name="amenity_type_seamark">Żeglugowy znak orientacyjny</string>
|
||||
|
||||
|
||||
<string name="speech_rate_descr">Określa tempo odtwarzania syntezowanych komunikatów głosowych</string>
|
||||
<string name="speech_rate">Szybkość mowy</string>
|
||||
|
||||
<string name="disable_complex_routing_descr">Wyłącz 2-fazowe obliczanie trasy dla nawigacji samochodowej</string>
|
||||
<string name="disable_complex_routing_descr">Wyłącza 2-etapowe wyznaczanie trasy dla nawigacji samochodowej</string>
|
||||
<string name="complex_route_calculation_failed">Błąd szybkiego obliczania trasy (%s). Przełączanie na tryb powolny.</string>
|
||||
<string name="disable_complex_routing">Wyłącz złożone wyznaczanie trasy</string>
|
||||
<string name="disable_complex_routing">Wyłączenie złożonego wyznaczanie trasy</string>
|
||||
<string name="guidance_preferences_descr">Ustawienia nawigacji</string>
|
||||
<string name="routing_preferences_descr">Wyznaczanie trasy</string>
|
||||
<string name="app_mode_truck">Ciężarówka</string>
|
||||
|
@ -1381,10 +1381,10 @@
|
|||
<string name="osmo_expire_group">Wygasa za</string>
|
||||
<string name="osmo_group_description">Opis</string>
|
||||
<string name="osmo_group_policy">Polityka grup</string>
|
||||
<string name="osmo_connect_to_group_id">ID grupy</string>
|
||||
<string name="osmo_connect_to_group_id">Identyfikator grupy</string>
|
||||
<string name="osmo_group_name">Nazwa grupy</string>
|
||||
<string name="osmo_connect_to_group">Sparuj z grupą</string>
|
||||
<string name="osmo_connect">Połącz</string>
|
||||
<string name="osmo_connect">Dołącz</string>
|
||||
<string name="osmo_create_group">Utwórz grupę</string>
|
||||
<string name="osmo_server_operation_failed">Błąd działania Serwera OsMo</string>
|
||||
<string name="osmo_activity">Monitorowanie OpenStreetMap</string>
|
||||
|
@ -1516,7 +1516,7 @@
|
|||
<string name="rendering_attr_coloredBuildings_name">Kolorowy kod typów budynków</string>
|
||||
<string name="osmo_invite">Zaproś…</string>
|
||||
<string name="osmo_leave_confirmation_msg">Opuścić grupę %1$s?</string>
|
||||
<string name="osmo_specify_tracker_id">Określ id</string>
|
||||
<string name="osmo_specify_tracker_id">Proszę określić identyfikator</string>
|
||||
<string name="continue_navigation">Kontynuuj nawigację</string>
|
||||
<string name="pause_navigation">Wstrzymaj nawigację</string>
|
||||
<string name="rendering_attr_alpineHiking_name">Skala wspinaczki alpinistycznej (SAC)</string>
|
||||
|
@ -1683,7 +1683,7 @@
|
|||
<string name="waypoint_visit_after">Odwiedź później</string>
|
||||
<string name="waypoint_visit_before">Odwiedź wcześniej</string>
|
||||
<string name="simulate_your_location">Symulowanie lokalizacji</string>
|
||||
<string name="short_location_on_map">Szerokość %1$s\nDługość %2$s</string>
|
||||
<string name="short_location_on_map">Szerokość %1$s\n Długość %2$s</string>
|
||||
<string name="tips_and_tricks_descr">Wyświetla najczęściej zadawane pytania, ostatnie zmiany i inne</string>
|
||||
<string name="routing_settings_2">Ustawienia nawigacji</string>
|
||||
<string name="general_settings_2">Ustawienia ogólne</string>
|
||||
|
@ -1932,8 +1932,8 @@
|
|||
<string name="srtm_plugin_disabled">Wyłączone poziomice</string>
|
||||
<string name="favourites_edit_dialog_title">Informacje ulubione</string>
|
||||
<string name="downloading_number_of_files">Pobieranie - %1$d plik</string>
|
||||
<string name="show_free_version_banner">Pokaż baner darmowej wersji</string>
|
||||
<string name="show_free_version_banner_description">Nawet jeśli posiadasz płatną wersję to nadal nadal możesz zobaczyć baner darmowej wersji</string>
|
||||
<string name="show_free_version_banner">Baner darmowej wersji</string>
|
||||
<string name="show_free_version_banner_description">Wyświetla baner wersji darmowej w przypadku zainstalowania wersji płatnej</string>
|
||||
<string name="buy">KUP</string>
|
||||
<string name="activate_seamarks_plugin">Proszę włączyć wtyczkę latarni morskich</string>
|
||||
<string name="activate_srtm_plugin">Proszę włączyć wtyczkę SRTM</string>
|
||||
|
@ -1942,7 +1942,7 @@
|
|||
<string name="downloads">Pobierz</string>
|
||||
<string name="favorite_category_add_new_title">Dodaj nową kategorię</string>
|
||||
<string name="favorite_category_name">Nazwa kategorii</string>
|
||||
<string name="favorite_category_dublicate_message">Taka nazwa kategorii już istnieje. Proszę wybrać inną.</string>
|
||||
<string name="favorite_category_dublicate_message">Określona nazwa kategorii już istnieje. Proszę wybrać inną.</string>
|
||||
<string name="share_menu_location">Udostępnij położenie</string>
|
||||
<string name="shared_string_send">Wyślij</string>
|
||||
<string name="file_size_in_mb">%.1f MB</string>
|
||||
|
@ -1952,11 +1952,11 @@
|
|||
<string name="value_downloaded_of_max">%1$.1f z %2$.1f MB</string>
|
||||
<string name="shared_string_qr_code">Kod QR</string>
|
||||
<string name="enter_country_name">Proszę wybrać kraj</string>
|
||||
<string name="map_downloaded_descr">Mapa %1$s została pobrana. Proszę powrócić do mapy, aby rozpocząć jej używanie.</string>
|
||||
<string name="map_downloaded_descr">Pobrano mapę %1$s. Proszę powrócić do mapy, aby rozpocząć jej używanie.</string>
|
||||
<string name="world_map_download_descr">Brak podstawowej mapy świata (pokrywającej cały glob w małych przybliżeniach) lub jest ona przestarzała. Proszę rozważyć pobranie mapy podstawowej, aby uzyskać kompletne środowisko.</string>
|
||||
<string name="map_downloaded">Pobrano mapę</string>
|
||||
<string name="go_to_map">Powróć do mapy</string>
|
||||
<string name="simulate_initial_startup">Symulowania pierwszego uruchomienia programu</string>
|
||||
<string name="simulate_initial_startup">Zasymuluj pierwsze uruchomienie programu</string>
|
||||
<string name="read_more">Czytaj dalej</string>
|
||||
<string name="whats_new">Co nowego w</string>
|
||||
<string name="rendering_attr_hideProposed_name">Ukrywanie proponowanych obiektów</string>
|
||||
|
@ -1964,7 +1964,7 @@
|
|||
<string name="shared_string_upload">Prześlij</string>
|
||||
<string name="osm_edit_created_poi">Utwórz punkt orientacyjny OSM</string>
|
||||
|
||||
<string name="simulate_initial_startup_descr">Ustaw flagę wskazującą pierwsze uruchomienie aplikacji, utrzymuje wszystkie inne ustawienia bez zmian</string>
|
||||
<string name="simulate_initial_startup_descr">Ustala flagę wskazującą pierwsze uruchomienie programu zachowując wszystkie pozostałe ustawienia</string>
|
||||
<string name="share_geo">geo:</string>
|
||||
<string name="confirm_download_roadmaps">Pobrać mapę samochodową, nawet jeśli pobrano już zwykłą mapę?</string>
|
||||
<string name="free_downloads_used_description">Wyświetla ilość zużytych darmowych pobrań</string>
|
||||
|
@ -2109,15 +2109,15 @@
|
|||
<string name="shared_string_add_to_map_markers">Dodaj znacznik mapy</string>
|
||||
<string name="select_map_markers">Wybierz znacznik mapy</string>
|
||||
<string name="shared_string_reverse_order">Odwróć kolejność</string>
|
||||
<string name="show_map_markers_description">Aktywuj funkcję Znaczników mapy</string>
|
||||
<string name="show_map_markers_description">Aktywuje funkcję znaczników mapy</string>
|
||||
<string name="clear_active_markers_q">Usunąć wszystkie aktywne znaczniki?</string>
|
||||
<string name="clear_markers_history_q">Wyczyścić historię znaczników mapy?</string>
|
||||
<string name="active_markers">Aktywne znaczniki</string>
|
||||
<string name="map_markers">Znaczniki mapy</string>
|
||||
<string name="map_marker">Znacznik mapy</string>
|
||||
<string name="consider_turning_polygons_off">Zaleca się wyłączenie renderowania wielokątów.</string>
|
||||
<string name="rendering_attr_showMtbRoutes_name">Pokaż trasy MTB</string>
|
||||
<string name="show_polygons">Pokaż wielokąty</string>
|
||||
<string name="rendering_attr_showMtbRoutes_name">Trasy MTB</string>
|
||||
<string name="show_polygons">Wielokąty</string>
|
||||
<string name="find_parking">Znajdź parking</string>
|
||||
<string name="shared_string_status">Status</string>
|
||||
<string name="add_time_span">Dodaj przedział czasowy</string>
|
||||
|
@ -2135,9 +2135,15 @@
|
|||
<string name="osm_live_subscribe_btn">Zasubskrybuj</string>
|
||||
<string name="storage_permission_restart_is_required">Teraz aplikacja może zapisywać do pamięci zewnętrznej. Wymagane jest manualne ponowne uruchomienie.</string>
|
||||
<string name="full_report">Pełny raport</string>
|
||||
<string name="donations">Suma datków</string>
|
||||
<string name="donations">Kwota datków</string>
|
||||
<string name="number_of_recipients">Liczba odbiorców</string>
|
||||
<string name="report">Raport</string>
|
||||
<string name="avoid_road">Omiń drogę</string>
|
||||
<string name="recalculate_route">Wyznacz ponownie trasę</string>
|
||||
<string name="open_street_map_login_and_pass">Nazwa użytkownika i hasło OpenStreetMap</string>
|
||||
<string name="osm_editors_ranking">Ranking edytorów OSM</string>
|
||||
<string name="osm_live_enter_email">Proszę wprowadzić prawidłowy adres e-mail</string>
|
||||
<string name="osm_live_thanks">Dziękujemy za zasubskrybowanie bieżących aktualizacji!</string>
|
||||
<string name="osm_live_subscription_settings">Ustawienia subskrypcji</string>
|
||||
<string name="show_transparency_seekbar">Pasek przezroczystości</string>
|
||||
</resources>
|
||||
|
|
|
@ -2654,5 +2654,37 @@
|
|||
<string name="poi_amenity_vacuum_cleaner">Пылесос</string>
|
||||
|
||||
<string name="poi_sport_free_flying">Свободный полёт (спорт)</string>
|
||||
<string name="poi_bicycle_repair_station">Стойка для ремонта велосипедов</string>
|
||||
<string name="poi_water_tap">Водопроводный кран</string>
|
||||
|
||||
<string name="poi_button_operated_yes">Включается кнопкой: да</string>
|
||||
<string name="poi_button_operated_no">Включается кнопкой: нет</string>
|
||||
|
||||
<string name="poi_free_flying_site_takeoff">Свободный полёт: подъём</string>
|
||||
<string name="poi_free_flying_site_landing">Свободный полёт: посадка</string>
|
||||
<string name="poi_free_flying_site_toplanding">Свободный полёт: посадка на вершине</string>
|
||||
<string name="poi_free_flying_site_towing">Свободный полёт: буксировка</string>
|
||||
<string name="poi_free_flying_site_training">Свободный полёт: тренировка</string>
|
||||
<string name="poi_free_flying_official_yes">Официальное место для свободного полёта: да</string>
|
||||
<string name="poi_free_flying_official_no">Официальное место для свободного полёта: нет</string>
|
||||
<string name="poi_free_flying_paragliding_yes">Парапланеризм: да</string>
|
||||
<string name="poi_free_flying_paragliding_no">Парапланеризм: нет</string>
|
||||
<string name="poi_free_flying_hanggliding_yes">Дельтапланеризм: да</string>
|
||||
<string name="poi_free_flying_hanggliding_no">Дельтапланеризм: нет</string>
|
||||
<string name="poi_free_flying_rigid_yes">Дельтаплан с жестким крылом: да</string>
|
||||
<string name="poi_free_flying_rigid_no">Дельтаплан с жестким крылом: нет</string>
|
||||
<string name="poi_free_flying_site_orientation_n">Ориентация площадки для свободного полёта: С</string>
|
||||
<string name="poi_free_flying_site_orientation_ne">Ориентация площадки для свободного полёта: СВ</string>
|
||||
<string name="poi_free_flying_site_orientation_e">Ориентация площадки для свободного полёта: В</string>
|
||||
<string name="poi_free_flying_site_orientation_se">Ориентация площадки для свободного полёта: ЮВ</string>
|
||||
<string name="poi_free_flying_site_orientation_s">Ориентация площадки для свободного полёта: Ю</string>
|
||||
<string name="poi_free_flying_site_orientation_sw">Ориентация площадки для свободного полёта: ЮЗ</string>
|
||||
<string name="poi_free_flying_site_orientation_w">Ориентация площадки для свободного полёта: З</string>
|
||||
<string name="poi_free_flying_site_orientation_nw">Ориентация площадки для свободного полёта: СЗ</string>
|
||||
<string name="poi_free_flying_no_flight_time">Запрещенное для свободного полёта время</string>
|
||||
<string name="poi_free_flying_guest_guidelines_yes">Инструктаж для свободного полёта: обязательно</string>
|
||||
<string name="poi_free_flying_guest_guidelines_no">Инструктаж для свободного полёта: необязательно</string>
|
||||
|
||||
<string name="poi_solarium">Солярий</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -1096,8 +1096,8 @@
|
|||
<string name="routing_attr_short_way_description">Использовать кратчайший путь</string>
|
||||
<string name="routing_attr_avoid_toll_name">Избегать платных дорог</string>
|
||||
<string name="routing_attr_avoid_toll_description">Избегать платных дорог</string>
|
||||
<string name="routing_attr_avoid_unpaved_name">Избегать грунтовые дороги</string>
|
||||
<string name="routing_attr_avoid_unpaved_description">Избегать грунтовые дороги</string>
|
||||
<string name="routing_attr_avoid_unpaved_name">Избегать грунтовых дорог</string>
|
||||
<string name="routing_attr_avoid_unpaved_description">Избегать грунтовых дорог</string>
|
||||
<string name="routing_attr_avoid_ferries_name">Избегать паромов</string>
|
||||
<string name="routing_attr_avoid_ferries_description">Избегать паромов</string>
|
||||
<string name="routing_attr_weight_name">Максимальная масса</string>
|
||||
|
@ -1424,7 +1424,7 @@
|
|||
<string name="local_index_description">Нажмите на любой элемент списка для просмотра более подробной информации, нажмите и удерживайте, чтобы поместить в архив или удалить. Текущие данные на устройстве (%1$s свободно):</string>
|
||||
<string name="osmo_device_not_found">Устройство не обнаружено</string>
|
||||
<string name="anonymous_user">Анонимный пользователь</string>
|
||||
<string name="osmo_no_connection_msg">Сервис OsMo не доступен:\n- проверьте соединение;\n- проверьте настройки;\n- проверьте наш Twitter: https://twitter.com/OsMomobi</string>
|
||||
<string name="osmo_no_connection_msg">Сервис OsMo не доступен:\n- проверьте интернет соединение;\n- проверьте настройки;\n- проверьте наш Twitter: https://twitter.com/OsMomobi</string>
|
||||
<string name="anonymous_user_hint">Анонимному пользователю недоступно:\n- создание групп;\n- синхронизация групп и устройств с сервером;\n- управление группами и устройствами в личном кабинете.</string>
|
||||
<string name="logged_as">Вы вошли как %1$s</string>
|
||||
<string name="rendering_category_routes">Маршруты</string>
|
||||
|
@ -1648,7 +1648,7 @@
|
|||
<string name="search_poi_category_hint">Напечатайте для поиска</string>
|
||||
<string name="rendering_attr_hideHouseNumbers_name">Скрыть номера домов</string>
|
||||
|
||||
<string name="routing_attr_avoid_borders_description">Избегать пересечение границы с другой страной</string>
|
||||
<string name="routing_attr_avoid_borders_description">Избегать пересечения границы с другой страной</string>
|
||||
<string name="routing_attr_height_name">Ограничение высоты</string>
|
||||
<string name="routing_attr_height_description">Укажите высоту автомобиля для учёта при построении маршрута</string>
|
||||
<string name="use_fast_recalculation">Умный перерасчет маршрута</string>
|
||||
|
@ -1868,7 +1868,7 @@
|
|||
<string name="context_menu_item_edit_waypoint">Редактировать точку GPX</string>
|
||||
<string name="routing_attr_avoid_stairs_name">Избегать лестниц</string>
|
||||
<string name="routing_attr_avoid_stairs_description">Избегать лестниц</string>
|
||||
<string name="routing_attr_avoid_borders_name">Избегать пересечение бордюра</string>
|
||||
<string name="routing_attr_avoid_borders_name">Избегать пересечения границы</string>
|
||||
<string name="update">Обновлять каждые</string>
|
||||
<string name="only_download_over_wifi">Загружать только через WiFi</string>
|
||||
<string name="update_now">Обновить сейчас</string>
|
||||
|
@ -1898,7 +1898,7 @@
|
|||
<string name="night">Ночь</string>
|
||||
<string name="morning">Утро</string>
|
||||
<string name="rec_split_storage_size_desc">Объём памяти, который может быть занят всеми видеоклипами</string>
|
||||
<string name="rec_split_clip_length">Продолжительность видеоклипа</string>
|
||||
<string name="rec_split_clip_length">Длина ролика</string>
|
||||
<string name="rec_split_clip_length_desc">Продолжительность каждого записанного клипа не будет больше выбранного значения</string>
|
||||
<string name="rec_split">Разбиение на клипы</string>
|
||||
<string name="rec_split_title">Использовать разбиение на клипы</string>
|
||||
|
@ -1919,8 +1919,8 @@
|
|||
<string name="osm_live_hide_user_name">Не показывать мое имя в отчетах</string>
|
||||
<string name="osm_live_month_cost">Стоимость в месяц</string>
|
||||
<string name="osm_live_month_cost_desc">Ежемесячный платеж</string>
|
||||
<string name="osm_live_enter_email">Пожалуйста, введите действительный адрес электронной почты</string>
|
||||
<string name="osm_live_thanks">Благодарим вас за подписку на live обновления!</string>
|
||||
<string name="osm_live_enter_email">Пожалуйста, введите корректный адрес электронной почты</string>
|
||||
<string name="osm_live_thanks">Благодарим вас за подписку на живые обновления!</string>
|
||||
<string name="osm_live_subscription_settings">Параметры подписки</string>
|
||||
<string name="osm_live_ask_for_purchase">Пожалуйста сначала приобретите подписку OSM Live</string>
|
||||
|
||||
|
@ -1928,7 +1928,7 @@
|
|||
|
||||
<string name="select_map_marker">Выберите маркер</string>
|
||||
<string name="map_markers_other">Другие маркеры</string>
|
||||
<string name="upload_anonymously">Добавлено анонимно</string>
|
||||
<string name="upload_anonymously">Загрузить анонимно</string>
|
||||
<string name="map_marker_1st">Первый маркер</string>
|
||||
<string name="map_marker_2nd">Второй маркер</string>
|
||||
<string name="shared_string_toolbar">Панель инструментов</string>
|
||||
|
@ -1945,7 +1945,7 @@
|
|||
<string name="shared_string_save_changes">Сохранить изменения</string>
|
||||
<string name="shared_string_email_address">Адрес электронной почты</string>
|
||||
<string name="shared_string_read_more">Подробнее</string>
|
||||
<string name="item_removed">Элемент удален</string>
|
||||
<string name="item_removed">Запись удалена</string>
|
||||
<string name="n_items_removed">элементы удалены</string>
|
||||
<string name="live_updates">Live обновления</string>
|
||||
<string name="select_voice_provider_descr">Выберите или скачайте голосовые подсказки для вашего языка</string>
|
||||
|
@ -1955,7 +1955,7 @@
|
|||
<string name="number_of_recipients">Количество получателей</string>
|
||||
<string name="osm_live_active">Активные</string>
|
||||
<string name="osm_live_not_active">Неактивные</string>
|
||||
<string name="osm_live_region_desc">Часть вашего пожертвования будет направляться OSM пользователям внесшим изменения в карту этого региона</string>
|
||||
<string name="osm_live_region_desc">Часть вашего пожертвования будет направляться пользователям OpenStreetMap внесшим изменения в карту этого региона</string>
|
||||
<string name="download_files_error_not_enough_space">Недостаточно места! Необходимо {3} Мб временно и {1} Мб на постоянной основе. В настоящее время доступно только {2} Мб свободного места.</string>
|
||||
<string name="upload_osm_note_description">Вы можете загрузить вашу OSM заметку анонимно, используя свой профиль OpenStreetMap.org.</string>
|
||||
<string name="upload_osm_note">Загрузить OSM заметку</string>
|
||||
|
@ -1968,4 +1968,11 @@
|
|||
<string name="storage_permission_restart_is_required">Приложение получило разрешение на запись во внешнее хранилище. Требуется перезагрузка приложения.</string>
|
||||
<string name="release_2_3">" • OSM Live. Поддержка авторов и разработчиков карт и получение почасовых обновлений карты.\n\n• Маркеры. Новый способ для быстрого выбора мест на карте.\n\n• Более подробные OSM карты со специфическими дорожными знаками стран и с большим количеством новых функций.\n\n• Улучшен внешний вид и подготовка маршрута.\n\n• Множество улучшений в контекстном меню карты таких как поиск адреса.\n\nИ многое другое... "</string>
|
||||
<string name="report">Отчёт</string>
|
||||
<string name="shared_string_move_up">Переместить вверх</string>
|
||||
<string name="shared_string_move_down">Переместить вниз</string>
|
||||
<string name="finish_navigation">Завершить навигацию</string>
|
||||
<string name="avoid_road">Избегать дорог</string>
|
||||
<string name="osm_live_user_public_name">Публичное имя</string>
|
||||
<string name="osm_live_support_region">Поддерживаемый регион</string>
|
||||
<string name="osm_live_enter_user_name">Пожалуйста введите имя</string>
|
||||
</resources>
|
||||
|
|
|
@ -239,7 +239,7 @@
|
|||
<string name="osmo_plugin_description">"Custa estensione frunit sas funtzionalidades pro impreare sa compidada avantzada in dereta OsMo, bie http://osmo.mobi.
|
||||
\n\nSighi totu sos dispositivos de unu grupu in ue e comùnica cun sos àteros. Sunt disponìbiles meda impostatziones pro s’arrastamentu, pro sa sessione in cursu o permanentes.
|
||||
\n\nSos grupos anònimos podent èssere creados pro su nùmeru pretzisu de dies e bi sunt lìmites pro calicuna de sas funtziones, es. non b’est su controllu remotu e nemmancu s’amministradore de su grupu. Grupos cun totu sas funtzionalidades podent èssere creados in su giassu e petzi sos impitadores registrados podent atzèdere. "</string>
|
||||
<string name="osmo_plugin_name">OsMo (Compidada OSM)</string>
|
||||
<string name="osmo_plugin_name">Compidada OpenStreetMap</string>
|
||||
<string name="osmo_settings">OsMo</string>
|
||||
|
||||
|
||||
|
@ -530,7 +530,7 @@
|
|||
<string name="osmo_center_location">Tzentra in s’ischermu</string>
|
||||
<string name="osmo_set_moving_target">Imposta comente obietivu mòbile</string>
|
||||
<string name="osmo_use_server_name">Nùmene registrau</string>
|
||||
<string name="osmo_connect_to_my_nickname">Zistru meu</string>
|
||||
<string name="osmo_connect_to_my_nickname">Zistru</string>
|
||||
<string name="osmo_user_name">Impitadore</string>
|
||||
|
||||
<string name="rendering_value_pink_name">rosa</string>
|
||||
|
@ -559,13 +559,13 @@
|
|||
<string name="osmo_expire_group">Iscadidi intre</string>
|
||||
<string name="osmo_group_description">Descritzione</string>
|
||||
<string name="osmo_group_policy">Règulas</string>
|
||||
<string name="osmo_connect_to_device_tracker_id">Id de arrastamentu</string>
|
||||
<string name="osmo_connect_to_device_tracker_id">ID de arrastamentu</string>
|
||||
<string name="osmo_connect_to_device_name">Nùmene impitadore</string>
|
||||
<string name="osmo_connect_to_group_id">Id grupu</string>
|
||||
<string name="osmo_connect_to_group_id">ID grupu</string>
|
||||
<string name="osmo_group_name">Nùmene grupu</string>
|
||||
<string name="osmo_connect_to_device">Cullegamentu cun su dispositivu</string>
|
||||
<string name="osmo_connect_to_group">Cullegamentu cun su grupu</string>
|
||||
<string name="osmo_connect">Cullega a</string>
|
||||
<string name="osmo_connect">Auni·ti</string>
|
||||
<string name="osmo_create_group">Crea grupu</string>
|
||||
<string name="osmo_server_operation_failed">Operatzione de su server Osmo fallida</string>
|
||||
<string name="osmo_activity">Compidada OpenStreetMap</string>
|
||||
|
@ -575,11 +575,11 @@
|
|||
<string name="minutes_ago">minutos àchede</string>
|
||||
<string name="seconds_ago">secundos àchede</string>
|
||||
<string name="osmo_connected_devices">Dispositivos cullegaos</string>
|
||||
<string name="osmo_groups">Grupos/Dispositivos OsMo</string>
|
||||
<string name="osmo_auto_send_locations_descr">Avia/Inghitza automaticamente sa registratzione de sa sessione e imbia sa localizatzione a pustis de s\'aviu de s’aplicu</string>
|
||||
<string name="osmo_auto_send_locations">Avia automaticamente sa sessione de arrastamentu</string>
|
||||
<string name="osmo_tracker_id">Id pessonale arrastamentu</string>
|
||||
<string name="osmo_tracker_id_descr">Carca pro visualizzare o cumpartzire s’id de arrastamentu. Impreende s’id de arrastamentu sos dispositivos connessos ant a èssere capatzes de sighire totu sos movimentos de custu dispositivu! Pro ti disconnèttere ischerta s’optzione \"Torra a ingendrare\".</string>
|
||||
<string name="osmo_groups">Grupos OsMo</string>
|
||||
<string name="osmo_auto_send_locations_descr">Incumintza automaticamente su biàgiu e imbia sas localizatziones a pustis de s\'aviu de s’aplicatzione</string>
|
||||
<string name="osmo_auto_send_locations">Incumintza automaticamente su biàgiu</string>
|
||||
<string name="osmo_tracker_id">ID arrastamentu</string>
|
||||
<string name="osmo_tracker_id_descr">Incarca pro bìdere s’ID de arrastamentu</string>
|
||||
<string name="osmo_session_token">Token de sa sessione: %1$s</string>
|
||||
<string name="osmo_auth_pending">Isetende pro s’autorizatzione…</string>
|
||||
<string name="osmo_locations_sent">"Localizatziones imbiadas %1$d (in su buffer %2$d) "</string>
|
||||
|
@ -842,7 +842,7 @@
|
|||
<string name="rendering_attr_coloredBuildings_name">Edifìtzios colorados pro casta</string>
|
||||
<string name="osmo_invite">Invita…</string>
|
||||
<string name="osmo_leave_confirmation_msg">Boles essire dae su grupu %1$s?</string>
|
||||
<string name="osmo_specify_tracker_id">Pro piaghere dislinda s’id</string>
|
||||
<string name="osmo_specify_tracker_id">Pro piaghere dislinda s’ID</string>
|
||||
<string name="continue_navigation">Sighi cun su nàvigu</string>
|
||||
<string name="pause_navigation">Pone in pasu su nàvigu</string>
|
||||
<string name="rendering_attr_alpineHiking_name">Iscala pro s’alpinismu (SAC)</string>
|
||||
|
@ -1541,7 +1541,7 @@
|
|||
<string name="osmo_device_not_found">Dispositivu no agatau</string>
|
||||
<string name="anonymous_user">Impitadore anònimu</string>
|
||||
<string name="logged_as">Identificadu comente %1$s</string>
|
||||
<string name="osmo_no_connection_msg">Su servìtziu OsMo no est disponìbile:\n- còmpida sa connessione;\n- còmpida sas impostatziones;\n- abbista su Twitter nostru: https://twitter.com/OsMomobi</string>
|
||||
<string name="osmo_no_connection_msg">Connessione a su server OsMo non disponìbile:\n- còmpida sa connessione ìnternet tua;\n- còmpida sas impostatziones;\n- abbista su Twitter nostru: https://twitter.com/OsMomobi</string>
|
||||
<string name="anonymous_user_hint">Un\'impitadore anònimu non podet:\n- creare grupos;\n- sincronizare grupos e dispositivos cun su server;\n- gestire grupos e dispositivos in un\'ufìtziu privadu.</string>
|
||||
<string name="rendering_category_details">Minujas</string>
|
||||
<string name="configure_map">Cunfigura sa mapa</string>
|
||||
|
@ -1760,7 +1760,7 @@
|
|||
<string name="use_fast_recalculation_desc">Torra a calculare petzi su cantu initziale de s’àndala pro biàgios longos</string>
|
||||
|
||||
<string name="rendering_value_disabled_name">Disabilitadu</string>
|
||||
<string name="osmo_share_my_location">Cumpartzi sa positzione mea</string>
|
||||
<string name="osmo_share_my_location">Cumpartzi sa positzione</string>
|
||||
<string name="shared_string_logoff">Essi</string>
|
||||
<string name="rendering_value_walkingRoutesScopeOSMC_name">Coloratzione a segunda de sa casta de àndala</string>
|
||||
<string name="rendering_value_walkingRoutesOSMC_name">Coloratzione a segunda de OSMC</string>
|
||||
|
@ -1896,7 +1896,7 @@
|
|||
<string name="favorite_category_select">Ischerta sa categoria</string>
|
||||
<string name="default_speed_system_descr">Issèbera s’unidade de medida de sa lestresa</string>
|
||||
<string name="default_speed_system">Medida de sa lestresa</string>
|
||||
<string name="nm">nm</string>
|
||||
<string name="nm">nmi</string>
|
||||
<string name="si_nm">Mìglios nàuticos</string>
|
||||
<string name="si_kmh">Chilòmetros pro ora</string>
|
||||
<string name="si_mph">Mìglios pro ora</string>
|
||||
|
@ -1904,7 +1904,7 @@
|
|||
<string name="si_min_km">Minutos pro chilòmetru</string>
|
||||
<string name="si_min_m">Minutos pro mìgliu</string>
|
||||
<string name="si_nm_h">Mìglios nàuticos pro ora (knot)</string>
|
||||
<string name="nm_h">nmh</string>
|
||||
<string name="nm_h">nmi/h</string>
|
||||
<string name="min_mile">min/m</string>
|
||||
<string name="min_km">min/km</string>
|
||||
<string name="m_s">m/s</string>
|
||||
|
@ -2151,4 +2151,16 @@
|
|||
<string name="shared_string_widgets">Widgets</string>
|
||||
<string name="recalculate_route">Torra a calculare s’àndala</string>
|
||||
<string name="shared_string_topbar">Barra in pitzu</string>
|
||||
<string name="storage_permission_restart_is_required">Como s\'aplicatzione est autorizada a iscrìere in sa memòria esterna. Pro aplicare custa modìfica, depet èssere torrada a allùere manualmente.</string>
|
||||
<string name="shared_string_move_up">Moe prus in artu</string>
|
||||
<string name="shared_string_move_down">Moe prus in bassu</string>
|
||||
<string name="finish_navigation">Concrui su nàvigu</string>
|
||||
<string name="avoid_road">Istransi s\'istrada</string>
|
||||
<string name="storage_directory_shared">Memòria cumpartzida</string>
|
||||
<string name="full_report">Raportu cumpridu</string>
|
||||
<string name="open_street_map_login_and_pass">Nùmene impreadore e crae de OpenStreetMap</string>
|
||||
<string name="release_2_3">" • OSM Live. Suporta sos contribuidores a sa mapa e sos isvilupadores pro otènnere mapas agiornadas cada ora.
|
||||
\n\n • Marcadores mapa. Una manera noa de ischertare in manera lestra logos in sa mapa.\n\n • Mapas OSM prus a sa minuda cun caraterìsticas pro sas istradas pro cada istadu e unu muntone de àteras funtzionalidades.\n\n • Megioramentu de s’aparèntzia e de s’ammaniamentu de sas àndalas.
|
||||
\n\n • Medas megioramentos in su menù de sa mapa, comente sa chirca cuntestuale de sos indiritzos.\n\n e àteru… "</string>
|
||||
<string name="storage_directory_readonly_desc">Sa cartella de memorizatzione ischertada est in letura ebbia. Sa cartella de memorizatzione est istada mudada pro impreare sa mamòria interna. Pro praghere issèbera una cartella de destinatzione vàlida.</string>
|
||||
</resources>
|
||||
|
|
|
@ -1364,17 +1364,17 @@ OsmAnd має відкриті сирці і активно розвиваєть
|
|||
<string name="osmo_group_description">Опис</string>
|
||||
<string name="osmo_connect_to_device_name">Ім’я пристрою</string>
|
||||
<string name="osmo_create_group">Створити групу</string>
|
||||
<string name="osmo_connect">Приєднатись до</string>
|
||||
<string name="osmo_connect">Приєднатись</string>
|
||||
<string name="osmo_enable_tracker">Надіслати мої місцезнаходження</string>
|
||||
<string name="hours_ago">годин тому</string>
|
||||
<string name="minutes_ago">хвилин тому</string>
|
||||
<string name="seconds_ago">секунд тому</string>
|
||||
<string name="osmo_connected_devices">Під’єднані пристрої</string>
|
||||
<string name="osmo_groups">OsMo Групи/Пристрої</string>
|
||||
<string name="osmo_groups">OsMo Групи</string>
|
||||
<string name="osmo_auto_send_locations_descr">Автоматично запускати сесію трекера та надсилати місцезнаходження після запуску застосунку</string>
|
||||
<string name="osmo_auto_send_locations">Автоматично запускати моніторинг</string>
|
||||
<string name="osmo_tracker_id">Персональний ID трекера</string>
|
||||
<string name="osmo_tracker_id_descr">Натисніть, щоб подивитись або поділитись ID трекера. Використовуючи ID трекера, можна відстежувати пересування цього пристрою! Для відключення скористайтесь опцією Перестворити.</string>
|
||||
<string name="osmo_tracker_id">ID трекера</string>
|
||||
<string name="osmo_tracker_id_descr">Натисніть, щоб подивитись ID трекера</string>
|
||||
<string name="osmo_server_operation_failed">OsMo Server збій виконання операції</string>
|
||||
<string name="osmo_activity">OpenStreetMap Моніторинг</string>
|
||||
<string name="osmo_control">OsMo швидкий доступ</string>
|
||||
|
@ -1527,7 +1527,7 @@ OsmAnd має відкриті сирці і активно розвиваєть
|
|||
<string name="osmo_settings_descr">Налаштування параметрів моніторингу та встановлення персонального каналу моніторингу</string>
|
||||
<string name="osmo_settings">OsMo</string>
|
||||
<string name="osmo_plugin_description">"Цей втулок надає можливість сучасного онлайн моніторингу OsMo, дивіться http://osmo.mobi.\n\nВи можете відстежувати пристрої учасників з ваших групи в поточному часі та підтримувати зв’язок друг з другом. Втулок має різноманітні налаштування сесій чи постійного відстеження.\n\nАнонімні групи можуть створюватись та існувати вказану кількість днів та мати зазначені функції, ними неможливо керувати віддалено та вони не мають адміністраторів. Групи з повним набором функцій можуть бути створені на веб-сайті і тільки зареєстровані користувачі матимуть до них доступ. "</string>
|
||||
<string name="osmo_plugin_name">OsMo (OSM моніторинг)</string>
|
||||
<string name="osmo_plugin_name">OpenStreetMap моніторинг</string>
|
||||
<string name="always_center_position_on_map">Показувати положення завжди в центрі</string>
|
||||
<string name="voice_pref_title">Голос</string>
|
||||
<string name="misc_pref_title">Різне</string>
|
||||
|
@ -1678,7 +1678,7 @@ OsmAnd має відкриті сирці і активно розвиваєть
|
|||
<string name="rendering_attr_coloredBuildings_name">Кольорове маркування будівель за типом</string>
|
||||
<string name="osmo_invite">Запросити…</string>
|
||||
<string name="osmo_leave_confirmation_msg">Ви бажаєте вийти з групи %1$s?</string>
|
||||
<string name="osmo_specify_tracker_id">Будь ласка, вкажіть id</string>
|
||||
<string name="osmo_specify_tracker_id">Будь ласка, вкажіть ID</string>
|
||||
<string name="continue_navigation">Продовжити навігацію</string>
|
||||
<string name="pause_navigation">Призупинити навігацію</string>
|
||||
<string name="rendering_attr_subwayMode_name">Маршрути метро</string>
|
||||
|
@ -2316,4 +2316,5 @@ OsmAnd має відкриті сирці і активно розвиваєть
|
|||
<string name="select_map_marker">Виберіть позначку</string>
|
||||
<string name="upload_anonymously">Вивантажено анонімно</string>
|
||||
<string name="show_transparency_seekbar">Показати прозору пошукову панель</string>
|
||||
<string name="report">Звіт</string>
|
||||
</resources>
|
||||
|
|
|
@ -2656,4 +2656,36 @@
|
|||
<string name="poi_amenity_vacuum_cleaner">Vacuum cleaner</string>
|
||||
|
||||
<string name="poi_sport_free_flying">Free flying (sport)</string>
|
||||
<string name="poi_bicycle_repair_station">Bicycle self-repair station</string>
|
||||
<string name="poi_water_tap">Water tap</string>
|
||||
<string name="poi_button_operated_yes">Button operated: yes</string>
|
||||
<string name="poi_button_operated_no">Button operated: no</string>
|
||||
|
||||
<string name="poi_free_flying_site_takeoff">Free flying site: takeoff</string>
|
||||
<string name="poi_free_flying_site_landing">Free flying site: landing</string>
|
||||
<string name="poi_free_flying_site_toplanding">Free flying site: toplanding</string>
|
||||
<string name="poi_free_flying_site_towing">Free flying site: towing</string>
|
||||
<string name="poi_free_flying_site_training">Free flying site: training</string>
|
||||
<string name="poi_free_flying_official_yes">Free flying official: yes</string>
|
||||
<string name="poi_free_flying_official_no">Free flying official: no</string>
|
||||
<string name="poi_free_flying_paragliding_yes">Paragliding: yes</string>
|
||||
<string name="poi_free_flying_paragliding_no">Paragliding: no</string>
|
||||
<string name="poi_free_flying_hanggliding_yes">Hanggliding: yes</string>
|
||||
<string name="poi_free_flying_hanggliding_no">Hanggliding: no</string>
|
||||
<string name="poi_free_flying_rigid_yes">Free flying rigid: yes</string>
|
||||
<string name="poi_free_flying_rigid_no">Free flying rigid: no</string>
|
||||
<string name="poi_free_flying_site_orientation_n">Free flying site orientation: N</string>
|
||||
<string name="poi_free_flying_site_orientation_ne">Free flying site orientation: NE</string>
|
||||
<string name="poi_free_flying_site_orientation_e">Free flying site orientation: E</string>
|
||||
<string name="poi_free_flying_site_orientation_se">Free flying site orientation: SE</string>
|
||||
<string name="poi_free_flying_site_orientation_s">Free flying site orientation: S</string>
|
||||
<string name="poi_free_flying_site_orientation_sw">Free flying site orientation: SW</string>
|
||||
<string name="poi_free_flying_site_orientation_w">Free flying site orientation: W</string>
|
||||
<string name="poi_free_flying_site_orientation_nw">Free flying site orientation: NW</string>
|
||||
<string name="poi_free_flying_no_flight_time">No flight time (free flying)</string>
|
||||
<string name="poi_free_flying_guest_guidelines_yes">Guest guidelines for free flying: yes</string>
|
||||
<string name="poi_free_flying_guest_guidelines_no">Guest guidelines for free flying: no</string>
|
||||
|
||||
<string name="poi_solarium">Solarium</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -587,8 +587,6 @@
|
|||
<string name="use_opengl_render_descr">Use hardware accelerated OpenGL rendering (may not work on some devices)</string>
|
||||
<string name="error_avoid_specific_road">No bypass found</string>
|
||||
<string name="home_button">Home</string>
|
||||
<string name="osmo_use_https_descr">Use secure connection to server</string>
|
||||
<string name="osmo_use_https">Use HTTPS</string>
|
||||
<string name="map_update">Updates available for %1$s maps</string>
|
||||
<string name="search_for">Search for</string>
|
||||
<string name="coordinates">Coordinates</string>
|
||||
|
|
|
@ -1001,9 +1001,6 @@ public class OsmandSettings {
|
|||
|
||||
public final OsmandPreference<Boolean> OSMO_AUTO_CONNECT = new BooleanPreference("osmo_automatically_connect", false).makeGlobal();
|
||||
|
||||
public final CommonPreference<Boolean> OSMO_USE_HTTPS = new BooleanPreference("osmo_use_https",
|
||||
Build.VERSION.SDK_INT < 14/*Build.VERSION_CODES.ICE_CREAM_SANDWICH*/ ? false : true).makeGlobal();
|
||||
|
||||
public final OsmandPreference<Long> OSMO_LAST_PING = new LongPreference("osmo_last_ping", 0).makeGlobal().cache();
|
||||
|
||||
public final OsmandPreference<Boolean> OSMO_SEND_LOCATIONS_STATE = new BooleanPreference("osmo_send_locations", false).cache().makeGlobal();
|
||||
|
|
|
@ -945,7 +945,7 @@ public class MapActivity extends AccessibleActivity implements DownloadEvents,
|
|||
changeKeyguardFlags();
|
||||
updateMapSettings();
|
||||
mapViewTrackingUtilities.updateSettings();
|
||||
app.getRoutingHelper().setAppMode(settings.getApplicationMode());
|
||||
//app.getRoutingHelper().setAppMode(settings.getApplicationMode());
|
||||
if (mapLayers.getMapInfoLayer() != null) {
|
||||
mapLayers.getMapInfoLayer().recreateControls();
|
||||
}
|
||||
|
|
|
@ -415,7 +415,7 @@ public class MapActivityActions implements DialogProvider {
|
|||
TargetPointsHelper targets = app.getTargetPointsHelper();
|
||||
|
||||
ApplicationMode mode = getRouteMode(from);
|
||||
app.getSettings().APPLICATION_MODE.set(mode);
|
||||
//app.getSettings().APPLICATION_MODE.set(mode);
|
||||
app.getRoutingHelper().setAppMode(mode);
|
||||
app.initVoiceCommandPlayer(mapActivity);
|
||||
// save application mode controls
|
||||
|
@ -443,7 +443,7 @@ public class MapActivityActions implements DialogProvider {
|
|||
TargetPointsHelper targets = app.getTargetPointsHelper();
|
||||
|
||||
ApplicationMode mode = getRouteMode(null);
|
||||
app.getSettings().APPLICATION_MODE.set(mode);
|
||||
//app.getSettings().APPLICATION_MODE.set(mode);
|
||||
app.getRoutingHelper().setAppMode(mode);
|
||||
app.initVoiceCommandPlayer(mapActivity);
|
||||
// save application mode controls
|
||||
|
|
|
@ -28,7 +28,7 @@ public class AppModeDialog {
|
|||
if(!showDefault) {
|
||||
values.remove(ApplicationMode.DEFAULT);
|
||||
}
|
||||
if (showDefault || settings.getApplicationMode() != ApplicationMode.DEFAULT) {
|
||||
if (showDefault || (settings.getApplicationMode() != ApplicationMode.DEFAULT && !singleSelection)) {
|
||||
selected.add(settings.getApplicationMode());
|
||||
}
|
||||
return prepareAppModeView(a, values, selected, parent, singleSelection, false, useMapTheme, onClickListener);
|
||||
|
|
|
@ -200,19 +200,19 @@ public class SettingsAudioVideoActivity extends SettingsBaseActivity {
|
|||
|
||||
List<String> qNames = new ArrayList<>();
|
||||
List<Integer> qValues = new ArrayList<>();
|
||||
if (CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_LOW)) {
|
||||
if (Build.VERSION.SDK_INT < 11 || CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_LOW)) {
|
||||
qNames.add(getString(R.string.av_video_quality_low));
|
||||
qValues.add(CamcorderProfile.QUALITY_LOW);
|
||||
}
|
||||
if (CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_480P)) {
|
||||
if (Build.VERSION.SDK_INT >= 11 && CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_480P)) {
|
||||
qNames.add("720 x 480 (480p)");
|
||||
qValues.add(CamcorderProfile.QUALITY_480P);
|
||||
}
|
||||
if (CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_720P)) {
|
||||
if (Build.VERSION.SDK_INT >= 11 && CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_720P)) {
|
||||
qNames.add("1280 x 720 (720p)");
|
||||
qValues.add(CamcorderProfile.QUALITY_720P);
|
||||
}
|
||||
if (CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_1080P)) {
|
||||
if (Build.VERSION.SDK_INT >= 11 && CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_1080P)) {
|
||||
qNames.add("1920 x 1080 (1080p)");
|
||||
qValues.add(CamcorderProfile.QUALITY_1080P);
|
||||
}
|
||||
|
@ -220,7 +220,7 @@ public class SettingsAudioVideoActivity extends SettingsBaseActivity {
|
|||
qNames.add("3840x2160 (2160p)");
|
||||
qValues.add(CamcorderProfile.QUALITY_2160P);
|
||||
}
|
||||
if (CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_HIGH)) {
|
||||
if (Build.VERSION.SDK_INT < 11 || CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_HIGH)) {
|
||||
qNames.add(getString(R.string.av_video_quality_high));
|
||||
qValues.add(CamcorderProfile.QUALITY_HIGH);
|
||||
}
|
||||
|
|
|
@ -225,8 +225,9 @@ public class MapRouteInfoMenu implements IRouteInformationListener {
|
|||
}
|
||||
|
||||
private void updateApplicationModes(final View parentView) {
|
||||
final OsmandSettings settings = mapActivity.getMyApplication().getSettings();
|
||||
ApplicationMode am = settings.APPLICATION_MODE.get();
|
||||
//final OsmandSettings settings = mapActivity.getMyApplication().getSettings();
|
||||
//ApplicationMode am = settings.APPLICATION_MODE.get();
|
||||
ApplicationMode am = routingHelper.getAppMode();
|
||||
final Set<ApplicationMode> selected = new HashSet<>();
|
||||
selected.add(am);
|
||||
ViewGroup vg = (ViewGroup) parentView.findViewById(R.id.app_modes);
|
||||
|
@ -237,8 +238,9 @@ public class MapRouteInfoMenu implements IRouteInformationListener {
|
|||
public void onClick(View v) {
|
||||
if (selected.size() > 0) {
|
||||
ApplicationMode next = selected.iterator().next();
|
||||
settings.APPLICATION_MODE.set(next);
|
||||
updateMenu();
|
||||
//settings.APPLICATION_MODE.set(next);
|
||||
//updateMenu();
|
||||
routingHelper.setAppMode(next);
|
||||
mapActivity.getRoutingHelper().recalculateRouteDueToSettingsChange();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -279,7 +279,7 @@ public class RoutePreferencesMenu {
|
|||
public ArrayAdapter<LocalRoutingParameter> getRoutePreferencesDrawerAdapter(final boolean nightMode) {
|
||||
|
||||
listAdapter = new ArrayAdapter<LocalRoutingParameter>(mapActivity, R.layout.layers_list_activity_item, R.id.title,
|
||||
getRoutingParameters(settings.APPLICATION_MODE.get())) {
|
||||
getRoutingParameters(routingHelper.getAppMode()/*settings.APPLICATION_MODE.get()*/)) {
|
||||
@Override
|
||||
public View getView(final int position, View convertView, ViewGroup parent) {
|
||||
LocalRoutingParameter parameter = getItem(position);
|
||||
|
@ -560,7 +560,8 @@ public class RoutePreferencesMenu {
|
|||
}
|
||||
|
||||
private void updateParameters() {
|
||||
ApplicationMode am = settings.APPLICATION_MODE.get();
|
||||
//ApplicationMode am = settings.APPLICATION_MODE.get();
|
||||
ApplicationMode am = routingHelper.getAppMode();
|
||||
listAdapter.setNotifyOnChange(false);
|
||||
listAdapter.clear();
|
||||
for (LocalRoutingParameter r : getRoutingParameters(am)) {
|
||||
|
|
|
@ -189,13 +189,13 @@ public class OsMoGroups implements OsMoReactor, OsmoTrackerListener {
|
|||
} else if (command.equalsIgnoreCase("GROUP_DISCONNECT")) {
|
||||
group = storage.getGroup(gid);
|
||||
if (group != null) {
|
||||
if (!obj.has("error")) {
|
||||
if (obj == null || !obj.has("error")) {
|
||||
disconnectAllGroupUsers(group);
|
||||
disableGroupTracks(group, group.groupTracks);
|
||||
disableGroupTracks(group, Collections.singleton(group.name + " points.gpx"));
|
||||
}
|
||||
}
|
||||
processed = true;
|
||||
}
|
||||
}
|
||||
} else if (command.equalsIgnoreCase("GROUP_CONNECT")) {
|
||||
group = storage.getGroup(gid);
|
||||
if (group != null) {
|
||||
|
@ -269,7 +269,6 @@ public class OsMoGroups implements OsMoReactor, OsmoTrackerListener {
|
|||
for (OsMoGroupsUIListener listener : uiListeners) {
|
||||
listener.groupsListChange(operation, group);
|
||||
}
|
||||
|
||||
}
|
||||
return processed;
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@ import android.content.DialogInterface.OnCancelListener;
|
|||
import android.content.DialogInterface.OnClickListener;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.ActivityInfo;
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.ColorFilter;
|
||||
|
@ -26,6 +27,7 @@ import android.os.Build;
|
|||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
import android.support.annotation.ColorInt;
|
||||
import android.support.v4.view.MenuItemCompat;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.support.v7.view.ActionMode;
|
||||
|
@ -52,7 +54,6 @@ import android.widget.CompoundButton;
|
|||
import android.widget.CompoundButton.OnCheckedChangeListener;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ExpandableListView;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
|
@ -63,6 +64,7 @@ import android.widget.Toast;
|
|||
|
||||
import net.osmand.AndroidUtils;
|
||||
import net.osmand.Location;
|
||||
import net.osmand.PlatformUtil;
|
||||
import net.osmand.StateChangedListener;
|
||||
import net.osmand.access.AccessibleToast;
|
||||
import net.osmand.data.LatLon;
|
||||
|
@ -88,11 +90,14 @@ import net.osmand.plus.osmo.OsMoGroupsStorage.OsMoGroup;
|
|||
import net.osmand.plus.osmo.OsMoService.SessionInfo;
|
||||
import net.osmand.util.MapUtils;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
|
||||
import java.text.Collator;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -104,6 +109,7 @@ import gnu.trove.list.array.TIntArrayList;
|
|||
*/
|
||||
public class OsMoGroupsActivity extends OsmandExpandableListActivity implements OsmAndCompassListener,
|
||||
OsmAndLocationListener, OsMoGroupsUIListener, StateChangedListener<Boolean> {
|
||||
private static final Log LOG = PlatformUtil.getLog(OsMoGroupsActivity.class);
|
||||
|
||||
public static final int CONNECT_TO = 1;
|
||||
protected static final int DELETE_ACTION_ID = 2;
|
||||
|
@ -116,6 +122,9 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
protected static final int LOGIN_ID = 12;
|
||||
public static final int LIST_REFRESH_MSG_ID = OsmAndConstants.UI_HANDLER_SEARCH + 30;
|
||||
public static final long RECENT_THRESHOLD = 60000;
|
||||
private static final int WIDTH_IN_DP = 24;
|
||||
private static final int HEIGHT_ID_DP = 24;
|
||||
|
||||
private boolean joinGroup;
|
||||
|
||||
private OsMoPlugin osMoPlugin;
|
||||
|
@ -124,9 +133,9 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
private OsmandApplication app;
|
||||
private Handler uiHandler;
|
||||
|
||||
private float width = 24;
|
||||
private float height = 24;
|
||||
private Path directionPath = new Path();
|
||||
private float widthInPx;
|
||||
private float heightInPx;
|
||||
private Path directionPath;
|
||||
private float lastCompass;
|
||||
private ActionMode actionMode;
|
||||
private Object selectedObject = null;
|
||||
|
@ -137,6 +146,8 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
private CompoundButton srvc;
|
||||
|
||||
private int connections = 0;
|
||||
private final Map<Integer, DirectionDrawable> direactionDrawables = new HashMap<>();
|
||||
private final Map<Integer, NonDirectionDrawable> nonDireactionDrawables = new HashMap<>();
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle icicle) {
|
||||
|
@ -148,16 +159,17 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
super.onCreate(icicle);
|
||||
app = (OsmandApplication) getApplication();
|
||||
osMoPlugin = OsmandPlugin.getEnabledPlugin(OsMoPlugin.class);
|
||||
if(osMoPlugin == null) {
|
||||
if (osMoPlugin == null) {
|
||||
osMoPlugin = OsmandPlugin.getPlugin(OsMoPlugin.class);
|
||||
OsmandPlugin.enablePlugin(this, app, osMoPlugin, true);
|
||||
}
|
||||
if(getIntent() != null) {
|
||||
if("http".equals(getIntent().getScheme())) {
|
||||
if (getIntent() != null) {
|
||||
if ("http".equals(getIntent().getScheme())) {
|
||||
new OsMoIntentHandler(app, osMoPlugin).execute(getIntent());
|
||||
}
|
||||
}
|
||||
setContentView(R.layout.osmo_group_list);
|
||||
//noinspection ConstantConditions
|
||||
getSupportActionBar().setTitle(R.string.osmo);
|
||||
setSupportProgressBarIndeterminateVisibility(false);
|
||||
setupHeader();
|
||||
|
@ -171,7 +183,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
|
||||
|
||||
uiHandler = new Handler();
|
||||
directionPath = createDirectionPath();
|
||||
initDirectionPath();
|
||||
|
||||
white = new Paint();
|
||||
white.setStyle(Style.FILL_AND_STROKE);
|
||||
|
@ -252,12 +264,11 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
});
|
||||
|
||||
|
||||
|
||||
TextView mtd = (TextView) header.findViewById(R.id.motd);
|
||||
SessionInfo si = osMoPlugin.getService().getCurrentSessionInfo();
|
||||
boolean visible = si != null && si.motd != null && si.motd.length() > 0;
|
||||
mtd.setVisibility(visible ? View.VISIBLE : View.GONE);
|
||||
if(visible) {
|
||||
if (visible) {
|
||||
mtd.setText(si.motd);
|
||||
mtd.setLinksClickable(true);
|
||||
mtd.setMovementMethod(LinkMovementMethod.getInstance());
|
||||
|
@ -269,7 +280,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
private void updateTrackerButton() {
|
||||
CompoundButton trackr = (CompoundButton) header.findViewById(R.id.enable_tracker);
|
||||
trackr.setText(R.string.osmo_share_my_location);
|
||||
if(osMoPlugin != null && osMoPlugin.getTracker() != null){
|
||||
if (osMoPlugin != null && osMoPlugin.getTracker() != null) {
|
||||
trackr.setOnCheckedChangeListener(null);
|
||||
trackr.setChecked(osMoPlugin.getTracker().isEnabledTracker());
|
||||
}
|
||||
|
@ -277,7 +288,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
if(isChecked) {
|
||||
if (isChecked) {
|
||||
if (app.getLocationProvider().checkGPSEnabled(OsMoGroupsActivity.this)) {
|
||||
if (osMoPlugin != null && osMoPlugin.getTracker() != null) {
|
||||
osMoPlugin.getTracker().enableTracker();
|
||||
|
@ -287,11 +298,11 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
// app.getSettings().SERVICE_OFF_INTERVAL.set(0);
|
||||
}
|
||||
} else {
|
||||
if (osMoPlugin != null && osMoPlugin.getTracker() != null){
|
||||
if (osMoPlugin != null && osMoPlugin.getTracker() != null) {
|
||||
osMoPlugin.getTracker().disableTracker();
|
||||
}
|
||||
if (app.getNavigationService() != null) {
|
||||
app.getNavigationService().stopIfNeeded(app,NavigationService.USED_BY_LIVE);
|
||||
app.getNavigationService().stopIfNeeded(app, NavigationService.USED_BY_LIVE);
|
||||
}
|
||||
}
|
||||
updateStatus();
|
||||
|
@ -307,7 +318,8 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
|
||||
long lastUpdateTime;
|
||||
private Drawable blinkImg;
|
||||
private void blink(final ImageView status, Drawable bigger, final Drawable smaller ) {
|
||||
|
||||
private void blink(final ImageView status, Drawable bigger, final Drawable smaller) {
|
||||
blinkImg = smaller;
|
||||
status.setImageDrawable(bigger);
|
||||
status.invalidate();
|
||||
|
@ -349,7 +361,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
blink(status, big, small);
|
||||
}
|
||||
supportInvalidateOptionsMenu();
|
||||
if(service.isConnected()) {
|
||||
if (service.isConnected()) {
|
||||
header.findViewById(R.id.motd).setVisibility(View.VISIBLE);
|
||||
header.findViewById(R.id.share_my_location_layout).setVisibility(View.VISIBLE);
|
||||
header.findViewById(R.id.share_my_location).setVisibility(tracker.isEnabledTracker() ? View.VISIBLE : View.INVISIBLE);
|
||||
|
@ -365,14 +377,14 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
}
|
||||
}
|
||||
|
||||
private Path createDirectionPath() {
|
||||
private void initDirectionPath() {
|
||||
int h = 15;
|
||||
int w = 4;
|
||||
float sarrowL = 8; // side of arrow
|
||||
float harrowL = (float) Math.sqrt(2) * sarrowL; // hypotenuse of arrow
|
||||
float hpartArrowL = (harrowL - w) / 2;
|
||||
Path path = new Path();
|
||||
path.moveTo(width / 2, height - (height - h) / 3);
|
||||
path.moveTo(WIDTH_IN_DP / 2, HEIGHT_ID_DP - (HEIGHT_ID_DP - h) / 3);
|
||||
path.rMoveTo(w / 2, 0);
|
||||
path.rLineTo(0, -h);
|
||||
path.rLineTo(hpartArrowL, 0);
|
||||
|
@ -387,9 +399,9 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
mgr.getDefaultDisplay().getMetrics(dm);
|
||||
pathTransform.postScale(dm.density, dm.density);
|
||||
path.transform(pathTransform);
|
||||
width *= dm.density;
|
||||
height *= dm.density;
|
||||
return path;
|
||||
widthInPx = WIDTH_IN_DP * dm.density;
|
||||
heightInPx = HEIGHT_ID_DP * dm.density;
|
||||
directionPath = path;
|
||||
}
|
||||
|
||||
|
||||
|
@ -400,14 +412,14 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
mapLocation = new Location("map");
|
||||
mapLocation.setLatitude(ml.getLatitude());
|
||||
mapLocation.setLongitude(ml.getLongitude());
|
||||
if(!app.accessibilityEnabled()) {
|
||||
if (!app.accessibilityEnabled()) {
|
||||
app.getLocationProvider().addCompassListener(this);
|
||||
app.getLocationProvider().registerOrUnregisterCompassListener(true);
|
||||
}
|
||||
app.getLocationProvider().addLocationListener(this);
|
||||
app.getLocationProvider().resumeAllUpdates();
|
||||
osMoPlugin.getGroups().addUiListeners(this);
|
||||
if(osMoPlugin.getService().isConnected()) {
|
||||
if (osMoPlugin.getService().isConnected()) {
|
||||
adapter.synchronizeGroups();
|
||||
}
|
||||
osMoPlugin.setGroupsActivity(this);
|
||||
|
@ -425,7 +437,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
super.onPause();
|
||||
app.getSettings().OSMO_SEND_LOCATIONS_STATE.removeListener(this);
|
||||
app.getLocationProvider().pauseAllUpdates();
|
||||
if(!app.accessibilityEnabled()) {
|
||||
if (!app.accessibilityEnabled()) {
|
||||
app.getLocationProvider().removeCompassListener(this);
|
||||
}
|
||||
app.getLocationProvider().removeLocationListener(this);
|
||||
|
@ -434,7 +446,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
}
|
||||
|
||||
private void showDeviceOnMap(final Object o) {
|
||||
if(!checkOperationIsNotRunning()) {
|
||||
if (!checkOperationIsNotRunning()) {
|
||||
return;
|
||||
}
|
||||
OsMoDevice device = (OsMoDevice) (o instanceof OsMoDevice ? o : null);
|
||||
|
@ -452,14 +464,14 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
}
|
||||
|
||||
private void enterSelectionMode(final Object o) {
|
||||
if(!checkOperationIsNotRunning()) {
|
||||
if (!checkOperationIsNotRunning()) {
|
||||
return;
|
||||
}
|
||||
actionMode = startSupportActionMode(new ActionMode.Callback() {
|
||||
private OsMoGroup group;
|
||||
private Menu menu;
|
||||
|
||||
private MenuItem createActionModeMenuItem(final ActionMode actionMode, Menu m, int id, int titleRes, int icon, int menuItemType){
|
||||
private MenuItem createActionModeMenuItem(final ActionMode actionMode, Menu m, int id, int titleRes, int icon, int menuItemType) {
|
||||
final MenuItem menuItem = createMenuItem(m, id, titleRes, icon,
|
||||
menuItemType);
|
||||
menuItem.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
|
||||
|
@ -483,7 +495,6 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
}
|
||||
this.menu = menu;
|
||||
group = (OsMoGroup) (o instanceof OsMoGroup ? o : null);
|
||||
MenuItem mi = null;
|
||||
if (group != null) {
|
||||
createActionModeMenuItem(actionMode, menu, SHARE_ID, R.string.shared_string_share, R.drawable.ic_action_gshare_dark,
|
||||
MenuItemCompat.SHOW_AS_ACTION_ALWAYS);
|
||||
|
@ -494,23 +505,6 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
R.drawable.ic_action_delete_dark,
|
||||
MenuItemCompat.SHOW_AS_ACTION_ALWAYS);
|
||||
}
|
||||
|
||||
|
||||
if (mi != null) {
|
||||
final LayoutInflater inflater = LayoutInflater.from(OsMoGroupsActivity.this);
|
||||
FrameLayout l = new FrameLayout(OsMoGroupsActivity.this);
|
||||
View view = inflater.inflate(R.layout.check_item_rel, l);
|
||||
final CompoundButton check = (CompoundButton) view.findViewById(R.id.check_item);
|
||||
check.setChecked(group != null && group.isActive() && group.isEnabled());
|
||||
check.setOnCheckedChangeListener(new OnCheckedChangeListener() {
|
||||
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
onOffAction(check);
|
||||
}
|
||||
});
|
||||
MenuItemCompat.setActionView(mi, l);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -523,7 +517,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
public void onDestroyActionMode(ActionMode mode) {
|
||||
selectedObject = null;
|
||||
refreshList();
|
||||
if (AndroidUiHelper.isOrientationPortrait(OsMoGroupsActivity.this)){
|
||||
if (AndroidUiHelper.isOrientationPortrait(OsMoGroupsActivity.this)) {
|
||||
onCreateOptionsMenu(menu);
|
||||
}
|
||||
}
|
||||
|
@ -577,20 +571,19 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
}
|
||||
|
||||
|
||||
|
||||
protected void showGroupInfo(final OsMoGroup group) {
|
||||
AlertDialog.Builder bld = new AlertDialog.Builder(this);
|
||||
bld.setTitle(R.string.osmo_group);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
if (group != null){
|
||||
if (group != null) {
|
||||
setFields(sb, R.string.osmo_group_name, group.name);
|
||||
if(group.description != null) {
|
||||
if (group.description != null) {
|
||||
setFields(sb, R.string.osmo_group_description, group.description);
|
||||
}
|
||||
if(group.expireTime != 0) {
|
||||
if (group.expireTime != 0) {
|
||||
setFields(sb, R.string.osmo_expire_group, new Date(group.expireTime).toString());
|
||||
}
|
||||
if(group.policy != null) {
|
||||
if (group.policy != null) {
|
||||
setFields(sb, R.string.osmo_group_policy, group.policy);
|
||||
}
|
||||
setFields(sb, R.string.osmo_connect_to_group_id, group.groupId);
|
||||
|
@ -680,7 +673,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
|
||||
public static void shareSessionUrl(OsMoPlugin osMoPlugin, Activity ctx) {
|
||||
String sessionURL = osMoPlugin.getTracker().getSessionURL();
|
||||
if(sessionURL == null ) {
|
||||
if (sessionURL == null) {
|
||||
AccessibleToast.makeText(ctx, R.string.osmo_session_not_available, Toast.LENGTH_SHORT).show();
|
||||
} else {
|
||||
ShareDialog dlg = new ShareDialog(ctx);
|
||||
|
@ -693,7 +686,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
|
||||
private void shareOsMoGroup(String name, String groupId) {
|
||||
ShareDialog dlg = new ShareDialog(this);
|
||||
String url = OsMoService.SHARE_GROUP_URL +Uri.encode(groupId)+"&name="+Uri.encode(name);
|
||||
String url = OsMoService.SHARE_GROUP_URL + Uri.encode(groupId) + "&name=" + Uri.encode(name);
|
||||
dlg.setTitle(getString(R.string.osmo_group));
|
||||
dlg.viewContent(groupId);
|
||||
dlg.shareURLOrText(url, getString(R.string.osmo_group_share, groupId, name, url), null);
|
||||
|
@ -716,16 +709,16 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
private void signinPost(final boolean createGroup) {
|
||||
final Dialog dialog = new Dialog(this,
|
||||
app.getSettings().isLightContent() ?
|
||||
R.style.OsmandLightTheme:
|
||||
R.style.OsmandLightTheme :
|
||||
R.style.OsmandDarkTheme);
|
||||
LinearLayout ll = new LinearLayout(this);
|
||||
ll.setOrientation(LinearLayout.VERTICAL);
|
||||
Toolbar tb = new Toolbar(this);
|
||||
tb.setClickable(true);
|
||||
Drawable back = ((OsmandApplication)getApplication()).getIconsCache().getIcon(R.drawable.abc_ic_ab_back_mtrl_am_alpha);
|
||||
Drawable back = ((OsmandApplication) getApplication()).getIconsCache().getIcon(R.drawable.abc_ic_ab_back_mtrl_am_alpha);
|
||||
tb.setNavigationIcon(back);
|
||||
tb.setTitle(R.string.osmo_sign_in);
|
||||
tb.setBackgroundColor(getResources().getColor( getResIdFromAttribute(this, R.attr.pstsTabBackground)));
|
||||
tb.setBackgroundColor(getResources().getColor(getResIdFromAttribute(this, R.attr.pstsTabBackground)));
|
||||
tb.setTitleTextColor(getResources().getColor(getResIdFromAttribute(this, R.attr.pstsTextColor)));
|
||||
tb.setNavigationOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
|
@ -780,7 +773,8 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
setSupportProgressBarIndeterminateVisibility(false);
|
||||
wv.requestFocus(View.FOCUS_DOWN);
|
||||
}
|
||||
public boolean shouldOverrideUrlLoading(WebView view, String url){
|
||||
|
||||
public boolean shouldOverrideUrlLoading(WebView view, String url) {
|
||||
if (url.contains(OsMoService.SIGNED_IN_CONTAINS)) {
|
||||
Uri data = Uri.parse(url);
|
||||
String user = data.getQueryParameter("u");
|
||||
|
@ -802,7 +796,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
}
|
||||
|
||||
public void createGroupWithDelay(final int delay) {
|
||||
if(delay <= 0) {
|
||||
if (delay <= 0) {
|
||||
app.showToastMessage(R.string.osmo_not_signed_in);
|
||||
setSupportProgressBarIndeterminateVisibility(false);
|
||||
return;
|
||||
|
@ -812,7 +806,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
|
||||
@Override
|
||||
public void run() {
|
||||
if(osMoPlugin.getService().getRegisteredUserName() == null) {
|
||||
if (osMoPlugin.getService().getRegisteredUserName() == null) {
|
||||
createGroupWithDelay(delay - 700);
|
||||
} else {
|
||||
setSupportProgressBarIndeterminateVisibility(false);
|
||||
|
@ -826,8 +820,8 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
builder.setTitle(R.string.osmo_sign_in);
|
||||
String message = "";
|
||||
if(app.getSettings().OSMO_USER_PWD.get() != null) {
|
||||
message = getString(R.string.osmo_credentials_not_valid) +"\n";
|
||||
if (app.getSettings().OSMO_USER_PWD.get() != null) {
|
||||
message = getString(R.string.osmo_credentials_not_valid) + "\n";
|
||||
}
|
||||
message += getString(R.string.osmo_create_groups_confirm);
|
||||
builder.setMessage(message);
|
||||
|
@ -847,7 +841,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
}
|
||||
|
||||
private void createGroup(boolean check) {
|
||||
if(osMoPlugin.getService().getRegisteredUserName() == null && check) {
|
||||
if (osMoPlugin.getService().getRegisteredUserName() == null && check) {
|
||||
signin();
|
||||
return;
|
||||
}
|
||||
|
@ -866,7 +860,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
@Override
|
||||
public void onClick(View v) {
|
||||
int vls = warnCreateDesc.getVisibility();
|
||||
warnCreateDesc.setVisibility(vls == View.VISIBLE? View.GONE : View.VISIBLE);
|
||||
warnCreateDesc.setVisibility(vls == View.VISIBLE ? View.GONE : View.VISIBLE);
|
||||
}
|
||||
};
|
||||
ImageButton info = (ImageButton) v.findViewById(R.id.info);
|
||||
|
@ -879,8 +873,8 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
builder.setPositiveButton(R.string.shared_string_ok, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
if(!checkOperationIsNotRunning()) {
|
||||
return ;
|
||||
if (!checkOperationIsNotRunning()) {
|
||||
return;
|
||||
}
|
||||
joinGroup = true;
|
||||
String op = osMoPlugin.getGroups().createGroup(name.getText().toString(), onlyByInvite.isChecked(),
|
||||
|
@ -921,8 +915,8 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
private void connectToDevice() {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
final View v = getLayoutInflater().inflate(R.layout.osmo_connect_to_device, getExpandableListView(), false);
|
||||
final TextView labelTracker = (TextView ) v.findViewById(R.id.LabelTrackerId);
|
||||
final TextView labelName = (TextView ) v.findViewById(R.id.LabelName);
|
||||
final TextView labelTracker = (TextView) v.findViewById(R.id.LabelTrackerId);
|
||||
final TextView labelName = (TextView) v.findViewById(R.id.LabelName);
|
||||
final EditText tracker = (EditText) v.findViewById(R.id.TrackerId);
|
||||
final EditText name = (EditText) v.findViewById(R.id.Name);
|
||||
final View mgv = v.findViewById(R.id.MyGroupName);
|
||||
|
@ -937,7 +931,6 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
mgv.setVisibility(View.VISIBLE);
|
||||
|
||||
|
||||
|
||||
builder.setView(v);
|
||||
builder.setNegativeButton(R.string.shared_string_cancel, null);
|
||||
builder.setPositiveButton(R.string.shared_string_apply, new DialogInterface.OnClickListener() {
|
||||
|
@ -1030,7 +1023,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
|
||||
@Override
|
||||
public void run() {
|
||||
if(OsMoGroupsActivity.this.operation != null) {
|
||||
if (OsMoGroupsActivity.this.operation != null) {
|
||||
Toast.makeText(OsMoGroupsActivity.this, R.string.osmo_server_operation_failed, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
hideProgressBar();
|
||||
|
@ -1050,20 +1043,21 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
@Override
|
||||
public void run() {
|
||||
String top = OsMoGroupsActivity.this.operation;
|
||||
if(operation == top || (operation != null && operation.equals(top))) {
|
||||
if (top.equals(operation) || (operation != null && operation.equals(top))) {
|
||||
hideProgressBar();
|
||||
}
|
||||
if(joinGroup && (operation != null && operation.startsWith("GROUP_CONNECT"))) {
|
||||
if (joinGroup && (operation != null && operation.startsWith("GROUP_CONNECT"))) {
|
||||
showGroupInfo(group);
|
||||
joinGroup = false;
|
||||
}
|
||||
if(group != null) {
|
||||
if (group != null) {
|
||||
adapter.update(group);
|
||||
adapter.notifyDataSetChanged();
|
||||
} else if (operation.startsWith("GROUP_GET_ALL")
|
||||
} else if (operation != null &&
|
||||
(operation.startsWith("GROUP_GET_ALL")
|
||||
|| operation.startsWith("DEVICE_GET_ALL")
|
||||
|| operation.startsWith("SUBSCRIBE")
|
||||
|| operation.startsWith("UNSUBSCRIBE")) {
|
||||
|| operation.startsWith("UNSUBSCRIBE"))) {
|
||||
adapter.synchronizeGroups();
|
||||
}
|
||||
updateStatus();
|
||||
|
@ -1072,7 +1066,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
}
|
||||
|
||||
public boolean checkOperationIsNotRunning() {
|
||||
if(operation != null) {
|
||||
if (operation != null) {
|
||||
Toast.makeText(this, R.string.wait_current_task_finished, Toast.LENGTH_SHORT).show();
|
||||
return false;
|
||||
}
|
||||
|
@ -1081,8 +1075,8 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
|
||||
class OsMoGroupsAdapter extends OsmandBaseExpandableListAdapter {
|
||||
|
||||
private List<OsMoGroup> sortedGroups = new ArrayList<OsMoGroup>();
|
||||
private Map<OsMoGroup, List<OsMoDevice>> users = new LinkedHashMap<OsMoGroup, List<OsMoDevice>>();
|
||||
private List<OsMoGroup> sortedGroups = new ArrayList<>();
|
||||
private Map<OsMoGroup, List<OsMoDevice>> users = new LinkedHashMap<>();
|
||||
private OsMoGroups grs;
|
||||
private OsMoTracker tracker;
|
||||
private OsMoService srv;
|
||||
|
@ -1091,13 +1085,13 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
this.grs = grs;
|
||||
this.tracker = tracker;
|
||||
this.srv = srv;
|
||||
if(srv.isConnected()) {
|
||||
if (srv.isConnected()) {
|
||||
synchronizeGroups();
|
||||
}
|
||||
}
|
||||
|
||||
public void update(OsMoGroup group) {
|
||||
if(group.isDeleted()) {
|
||||
if (group.isDeleted()) {
|
||||
sortedGroups.remove(group);
|
||||
users.remove(group);
|
||||
} else {
|
||||
|
@ -1112,7 +1106,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
}
|
||||
});
|
||||
users.put(group, us);
|
||||
if(!sortedGroups.contains(group)) {
|
||||
if (!sortedGroups.contains(group)) {
|
||||
sortedGroups.add(group);
|
||||
}
|
||||
}
|
||||
|
@ -1201,24 +1195,24 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
adjustIndicator(groupPosition, isExpanded, row, light);
|
||||
TextView label = (TextView) row.findViewById(R.id.category_name);
|
||||
final OsMoGroup model = getGroup(groupPosition);
|
||||
if(selectedObject == model) {
|
||||
if (selectedObject == model) {
|
||||
row.setBackgroundColor(getResources().getColor(R.color.row_selection_color));
|
||||
} else {
|
||||
row.setBackgroundColor(Color.TRANSPARENT);
|
||||
}
|
||||
label.setText(model.getVisibleName(OsMoGroupsActivity.this));
|
||||
if(model.isMainGroup() || model.isActive()) {
|
||||
if (model.isMainGroup() || model.isActive()) {
|
||||
label.setTypeface(Typeface.DEFAULT, Typeface.NORMAL);
|
||||
} else {
|
||||
label.setTypeface(Typeface.DEFAULT, Typeface.ITALIC);
|
||||
}
|
||||
View v = row.findViewById(R.id.settings);
|
||||
if(model.isMainGroup()) {
|
||||
if (model.isMainGroup()) {
|
||||
v.setVisibility(View.GONE);
|
||||
} else {
|
||||
// (ImageView) v.setImageDrawable(getMyApplication().getIconsCache().getContentIcon(R.drawable.ic_action_settings));
|
||||
|
||||
if((selectedObject == model) != ((CheckBox) v).isChecked()) {
|
||||
if ((selectedObject == model) != ((CheckBox) v).isChecked()) {
|
||||
((CheckBox) v).setChecked(selectedObject == model);
|
||||
}
|
||||
v.setVisibility(View.VISIBLE);
|
||||
|
@ -1235,7 +1229,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
});
|
||||
}
|
||||
CompoundButton ci = (CompoundButton) row.findViewById(R.id.check_item);
|
||||
if(model.isMainGroup()) {
|
||||
if (model.isMainGroup()) {
|
||||
ci.setVisibility(View.GONE);
|
||||
} else {
|
||||
ci.setVisibility(View.VISIBLE);
|
||||
|
@ -1245,7 +1239,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
if(isChecked) {
|
||||
if (isChecked) {
|
||||
String operation = osMoPlugin.getGroups().connectGroup(model);
|
||||
startLongRunningOperation(operation);
|
||||
} else {
|
||||
|
@ -1266,8 +1260,8 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
LayoutInflater inflater = getLayoutInflater();
|
||||
row = inflater.inflate(R.layout.osmo_group_list_item, parent, false);
|
||||
}
|
||||
final OsMoDevice model = getChild(groupPosition, childPosition);
|
||||
row.setTag(model);
|
||||
final OsMoDevice osmoDevice = getChild(groupPosition, childPosition);
|
||||
row.setTag(osmoDevice);
|
||||
if (app.getSettings().isLightContent()) {
|
||||
row.setBackgroundResource(R.drawable.expandable_list_item_background_light);
|
||||
} else {
|
||||
|
@ -1276,58 +1270,53 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
TextView label = (TextView) row.findViewById(R.id.osmo_label);
|
||||
TextView labelTime = (TextView) row.findViewById(R.id.osmo_label_time);
|
||||
ImageView icon = (ImageView) row.findViewById(R.id.osmo_user_icon);
|
||||
Location location = model.getLastLocation();
|
||||
if(model.getTrackerId().equals(osMoPlugin.getService().getMyGroupTrackerId())) {
|
||||
Location location = osmoDevice.getLastLocation();
|
||||
if (osmoDevice.getTrackerId().equals(osMoPlugin.getService().getMyGroupTrackerId())) {
|
||||
location = tracker.getLastSendLocation();
|
||||
}
|
||||
int color = getResources().getColor(R.color.color_unknown);
|
||||
int activeColor = model.getColor();
|
||||
if (activeColor == 0) {
|
||||
activeColor = ColorDialogs.getRandomColor();
|
||||
osMoPlugin.getGroups().setGenColor(model, activeColor);
|
||||
}
|
||||
//Location location = tracker.getLastLocation(model.trackerId);
|
||||
if(!model.isEnabled()) {
|
||||
int color = osmoDevice.getColor();
|
||||
if (!osmoDevice.isEnabled()) {
|
||||
icon.setVisibility(View.INVISIBLE);
|
||||
label.setTypeface(Typeface.DEFAULT, Typeface.ITALIC);
|
||||
label.setText(model.getVisibleName());
|
||||
label.setText(osmoDevice.getVisibleName());
|
||||
labelTime.setText("");
|
||||
} else if (location == null || mapLocation == null) {
|
||||
label.setTypeface(Typeface.DEFAULT, Typeface.NORMAL);
|
||||
icon.setVisibility(View.VISIBLE);
|
||||
NonDirectionDrawable draw ;
|
||||
if(icon.getDrawable() instanceof NonDirectionDrawable) {
|
||||
draw = (NonDirectionDrawable) icon.getDrawable();
|
||||
} else {
|
||||
draw = new NonDirectionDrawable();
|
||||
NonDirectionDrawable nonDirectionDrawable;
|
||||
nonDirectionDrawable = nonDireactionDrawables.get(color);
|
||||
if (nonDirectionDrawable == null) {
|
||||
nonDirectionDrawable = new NonDirectionDrawable(getResources(), widthInPx, heightInPx);
|
||||
nonDirectionDrawable.setColor(color);
|
||||
nonDireactionDrawables.put(color, nonDirectionDrawable);
|
||||
}
|
||||
draw.setColor(model.isEnabled() ? activeColor : color);
|
||||
icon.setImageDrawable(draw);
|
||||
label.setText(model.getVisibleName());
|
||||
icon.setImageDrawable(nonDirectionDrawable);
|
||||
label.setText(osmoDevice.getVisibleName());
|
||||
labelTime.setText("");
|
||||
} else {
|
||||
label.setTypeface(Typeface.DEFAULT, Typeface.NORMAL);
|
||||
icon.setVisibility(View.VISIBLE);
|
||||
DirectionDrawable draw;
|
||||
if (icon.getDrawable() instanceof DirectionDrawable) {
|
||||
draw = (DirectionDrawable) icon.getDrawable();
|
||||
} else {
|
||||
draw = new DirectionDrawable();
|
||||
}
|
||||
float[] mes = new float[2];
|
||||
net.osmand.Location.distanceBetween(location.getLatitude(), location.getLongitude(),
|
||||
mapLocation.getLatitude(), mapLocation.getLongitude(), mes);
|
||||
//TODO: Hardy: Check: The arrow direction below may only be correct for the default display's standard orientation
|
||||
// i.e. still needs to be corrected for .ROTATION_90/180/170
|
||||
// Keep in mind: getRotation was introduced from Android 2.2
|
||||
draw.setAngle(mes[1] - lastCompass + 180);
|
||||
long now = System.currentTimeMillis();
|
||||
final boolean recent = Math.abs( now - location.getTime() ) < RECENT_THRESHOLD;
|
||||
draw.setColor(recent ? activeColor : color);
|
||||
icon.setImageDrawable(draw);
|
||||
final boolean recent = Math.abs(now - location.getTime()) < RECENT_THRESHOLD;
|
||||
color = recent ? color : getResources().getColor(R.color.color_unknown);
|
||||
DirectionDrawable directionDrawable;
|
||||
directionDrawable = direactionDrawables.get(color);
|
||||
if (directionDrawable == null) {
|
||||
directionDrawable = new DirectionDrawable(getResources(), widthInPx, heightInPx);
|
||||
directionDrawable.setColor(color);
|
||||
direactionDrawables.put(color, directionDrawable);
|
||||
}
|
||||
directionDrawable.setAngle(mes[1] - lastCompass + 180);
|
||||
icon.setImageDrawable(directionDrawable);
|
||||
int dist = (int) mes[0];
|
||||
long seconds = Math.max(0, (now - location.getTime()) / 1000);
|
||||
String time = "";
|
||||
String time;
|
||||
if (seconds < 60) {
|
||||
seconds = (seconds / 5) * 5;
|
||||
time = seconds + " " + getString(R.string.seconds_ago);
|
||||
|
@ -1338,7 +1327,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
time = (seconds / (60 * 60)) + " " + getString(R.string.hours_ago);
|
||||
}
|
||||
String distance = OsmAndFormatter.getFormattedDistance(dist, getMyApplication()) + " ";
|
||||
String visibleName = model.getVisibleName();
|
||||
String visibleName = osmoDevice.getVisibleName();
|
||||
String firstPart = distance + visibleName;
|
||||
label.setText(firstPart, TextView.BufferType.SPANNABLE);
|
||||
((Spannable) label.getText()).setSpan(
|
||||
|
@ -1352,30 +1341,26 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
|
||||
return row;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateLocation(Location location) {
|
||||
MapViewTrackingUtilities mv = MapActivity.getSingleMapViewTrackingUtilities();
|
||||
if(mv != null && mv.isMapLinkedToLocation() && location != null) {
|
||||
if (mv != null && mv.isMapLinkedToLocation() && location != null) {
|
||||
Location lt = mapLocation;
|
||||
mapLocation = location;
|
||||
if(lt == null || location.distanceTo(lt) > 8) {
|
||||
if (lt == null || location.distanceTo(lt) > 8) {
|
||||
refreshList();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void updateCompassValue(float value) {
|
||||
float vl = lastCompass;
|
||||
lastCompass = value;
|
||||
if(Math.abs(MapUtils.degreesDiff(vl, value)) > 15) {
|
||||
if (Math.abs(MapUtils.degreesDiff(vl, value)) > 15) {
|
||||
refreshList();
|
||||
}
|
||||
}
|
||||
|
@ -1395,7 +1380,6 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void deviceLocationChanged(OsMoDevice device) {
|
||||
refreshList();
|
||||
|
@ -1408,7 +1392,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
final LayoutInflater inflater = LayoutInflater.from(ctx);
|
||||
View view = inflater.inflate(R.layout.osmo_edit_device, null);
|
||||
final EditText name = (EditText) view.findViewById(R.id.Name);
|
||||
if(device.getColor() == 0) {
|
||||
if (device.getColor() == 0) {
|
||||
plugin.getGroups().setDeviceProperties(device, device.getVisibleName(),
|
||||
ColorDialogs.getRandomColor());
|
||||
}
|
||||
|
@ -1420,7 +1404,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
final TIntArrayList list = new TIntArrayList();
|
||||
ColorDialogs.setupColorSpinner(ctx, devColor, colorSpinner, list);
|
||||
|
||||
bld.setPositiveButton(R.string .shared_string_yes, new DialogInterface.OnClickListener() {
|
||||
bld.setPositiveButton(R.string.shared_string_yes, new DialogInterface.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
|
@ -1432,27 +1416,22 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
bld.show();
|
||||
}
|
||||
|
||||
abstract static class ColorDrawable extends Drawable {
|
||||
protected Paint paintRouteDirection;
|
||||
protected final float width;
|
||||
protected final float height;
|
||||
|
||||
|
||||
class NonDirectionDrawable extends Drawable {
|
||||
Paint paintRouteDirection;
|
||||
|
||||
public void setColor(int color) {
|
||||
paintRouteDirection.setColor(color);
|
||||
}
|
||||
|
||||
public NonDirectionDrawable() {
|
||||
public ColorDrawable(Resources resource, float wight, float height) {
|
||||
this.width = wight;
|
||||
this.height = height;
|
||||
paintRouteDirection = new Paint();
|
||||
paintRouteDirection.setStyle(Style.FILL_AND_STROKE);
|
||||
paintRouteDirection.setColor(getResources().getColor(R.color.color_unknown));
|
||||
paintRouteDirection.setColor(resource.getColor(R.color.color_unknown));
|
||||
paintRouteDirection.setAntiAlias(true);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(Canvas canvas) {
|
||||
canvas.drawCircle(width/2, height/2, (width + height) / 6, white);
|
||||
canvas.drawCircle(width/2, height/2, (width + height) / 7, paintRouteDirection);
|
||||
public void setColor(@ColorInt int color) {
|
||||
paintRouteDirection.setColor(color);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1463,29 +1442,32 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
@Override
|
||||
public void setAlpha(int alpha) {
|
||||
paintRouteDirection.setAlpha(alpha);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setColorFilter(ColorFilter cf) {
|
||||
paintRouteDirection.setColorFilter(cf);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class DirectionDrawable extends Drawable {
|
||||
Paint paintRouteDirection;
|
||||
class NonDirectionDrawable extends ColorDrawable {
|
||||
public NonDirectionDrawable(Resources resource, float wight, float height) {
|
||||
super(resource, wight, height);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(Canvas canvas) {
|
||||
canvas.drawCircle(width / 2, height / 2, (width + height) / 6, white);
|
||||
canvas.drawCircle(width / 2, height / 2, (width + height) / 7, paintRouteDirection);
|
||||
}
|
||||
}
|
||||
|
||||
class DirectionDrawable extends ColorDrawable {
|
||||
private float angle;
|
||||
|
||||
public DirectionDrawable() {
|
||||
paintRouteDirection = new Paint();
|
||||
paintRouteDirection.setStyle(Style.FILL_AND_STROKE);
|
||||
paintRouteDirection.setColor(getResources().getColor(R.color.color_unknown));
|
||||
paintRouteDirection.setAntiAlias(true);
|
||||
}
|
||||
|
||||
public void setColor(int color) {
|
||||
paintRouteDirection.setColor(color);
|
||||
public DirectionDrawable(Resources resource, float wight, float height) {
|
||||
super(resource, wight, height);
|
||||
}
|
||||
|
||||
public void setAngle(float angle) {
|
||||
|
@ -1497,22 +1479,6 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
canvas.rotate(angle, width / 2, height / 2);
|
||||
canvas.drawPath(directionPath, paintRouteDirection);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getOpacity() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAlpha(int alpha) {
|
||||
paintRouteDirection.setAlpha(alpha);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setColorFilter(ColorFilter cf) {
|
||||
paintRouteDirection.setColorFilter(cf);
|
||||
}
|
||||
}
|
||||
|
||||
private void logoff() {
|
||||
|
@ -1537,7 +1503,6 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
|||
}
|
||||
|
||||
|
||||
|
||||
public void handleConnect() {
|
||||
app.runInUIThread(new Runnable() {
|
||||
@Override
|
||||
|
|
|
@ -3,6 +3,7 @@ package net.osmand.plus.osmo;
|
|||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Build;
|
||||
import android.view.View;
|
||||
import android.widget.ArrayAdapter;
|
||||
|
||||
|
@ -34,7 +35,6 @@ import org.json.JSONException;
|
|||
import org.json.JSONObject;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
|
@ -53,7 +53,7 @@ public class OsMoPlugin extends OsmandPlugin implements OsMoReactor {
|
|||
protected Activity groupsActivity;
|
||||
protected OsMoControlDevice deviceControl;
|
||||
|
||||
private final static Log log = PlatformUtil.getLog(OsMoPlugin.class);
|
||||
private final static Log LOG = PlatformUtil.getLog(OsMoPlugin.class);
|
||||
|
||||
|
||||
public OsMoPlugin(final OsmandApplication app) {
|
||||
|
@ -398,6 +398,7 @@ public class OsMoPlugin extends OsmandPlugin implements OsMoReactor {
|
|||
try {
|
||||
color = Algorithms.parseColor(obj.getString("color"));
|
||||
} catch (RuntimeException e) {
|
||||
LOG.warn("", e);
|
||||
}
|
||||
}
|
||||
boolean visible = obj.has("visible");
|
||||
|
@ -406,12 +407,10 @@ public class OsMoPlugin extends OsmandPlugin implements OsMoReactor {
|
|||
long len = !f.exists() ? -1 : f.length();
|
||||
boolean sizeEqual = obj.has("size") && obj.getLong("size") == len;
|
||||
boolean modifySupported = f.setLastModified(timestamp - 1);
|
||||
if (sizeEqual && !modifySupported) {
|
||||
// false alarm
|
||||
} else {
|
||||
if (!sizeEqual || modifySupported) {
|
||||
changed = true;
|
||||
String url = obj.getString("url");
|
||||
log.info("Download gpx " + url);
|
||||
LOG.info("Download gpx " + url);
|
||||
DownloadFileHelper df = new DownloadFileHelper(app);
|
||||
InputStream is = df.getInputStreamToDownload(new URL(url), false);
|
||||
int av = is.available();
|
||||
|
@ -431,10 +430,7 @@ public class OsMoPlugin extends OsmandPlugin implements OsMoReactor {
|
|||
}
|
||||
app.getSelectedGpxHelper().setGpxFileToDisplay(selectGPXFile);
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
errors += e.getMessage() + "\n";
|
||||
} catch (IOException e) {
|
||||
} catch (JSONException | IOException e) {
|
||||
e.printStackTrace();
|
||||
errors += e.getMessage() + "\n";
|
||||
}
|
||||
|
@ -443,7 +439,7 @@ public class OsMoPlugin extends OsmandPlugin implements OsMoReactor {
|
|||
}
|
||||
|
||||
private void redownloadFile(File f, long timestamp, int color, InputStream is)
|
||||
throws FileNotFoundException, IOException {
|
||||
throws IOException {
|
||||
FileOutputStream fout = new FileOutputStream(f);
|
||||
byte[] buf = new byte[1024];
|
||||
int k;
|
||||
|
@ -453,7 +449,7 @@ public class OsMoPlugin extends OsmandPlugin implements OsMoReactor {
|
|||
fout.close();
|
||||
is.close();
|
||||
if (!f.setLastModified(timestamp)) {
|
||||
log.error("Timestamp updates are not supported");
|
||||
LOG.error("Timestamp updates are not supported");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -468,8 +464,6 @@ public class OsMoPlugin extends OsmandPlugin implements OsMoReactor {
|
|||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(String result) {
|
||||
if (result.length() > 0) {
|
||||
|
@ -512,7 +506,7 @@ public class OsMoPlugin extends OsmandPlugin implements OsMoReactor {
|
|||
}
|
||||
|
||||
public boolean useHttps() {
|
||||
return app.getSettings().OSMO_USE_HTTPS.get();
|
||||
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -70,11 +70,6 @@ public class SettingsOsMoActivity extends SettingsBaseActivity {
|
|||
showGroupNotifiations.setSummary(R.string.osmo_show_group_notifications_descr);
|
||||
grp.addPreference(showGroupNotifiations);
|
||||
|
||||
CheckBoxPreference useHttps = createCheckBoxPreference(settings.OSMO_USE_HTTPS);
|
||||
useHttps.setTitle(R.string.osmo_use_https);
|
||||
useHttps.setSummary(R.string.osmo_use_https_descr);
|
||||
grp.addPreference(useHttps);
|
||||
|
||||
// if (OsmandPlugin.isDevelopment()) {
|
||||
debugPref = new Preference(this);
|
||||
debugPref.setTitle(R.string.osmo_settings_debug);
|
||||
|
@ -86,6 +81,7 @@ public class SettingsOsMoActivity extends SettingsBaseActivity {
|
|||
|
||||
private void updateDebugPref() {
|
||||
final OsMoPlugin plugin = OsMoPlugin.getEnabledPlugin(OsMoPlugin.class);
|
||||
assert plugin != null;
|
||||
OsMoService service = plugin.getService();
|
||||
OsMoTracker tracker = plugin.getTracker();
|
||||
StringBuilder s = new StringBuilder();
|
||||
|
@ -103,7 +99,7 @@ public class SettingsOsMoActivity extends SettingsBaseActivity {
|
|||
if(err == null) {
|
||||
err = "...";
|
||||
}
|
||||
s.append(getString(R.string.osmo_io_error) + err).append("\n");
|
||||
s.append(getString(R.string.osmo_io_error)).append(err).append("\n");
|
||||
}
|
||||
s.append(getString(R.string.osmo_locations_sent,
|
||||
tracker.getLocationsSent(),
|
||||
|
@ -116,6 +112,7 @@ public class SettingsOsMoActivity extends SettingsBaseActivity {
|
|||
@Override
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
final OsMoPlugin plugin = OsMoPlugin.getEnabledPlugin(OsMoPlugin.class);
|
||||
assert plugin != null;
|
||||
if (preference == debugPref) {
|
||||
updateDebugPref();
|
||||
AlertDialog.Builder bld = new AlertDialog.Builder(this);
|
||||
|
@ -157,7 +154,6 @@ public class SettingsOsMoActivity extends SettingsBaseActivity {
|
|||
} else {
|
||||
ShareDialog dlg = new ShareDialog(this);
|
||||
dlg.setTitle(getString(R.string.osmo_tracker_id));
|
||||
dlg.setAction(getString(R.string.osmo_regenerate_login_ids), getRegenerateAction());
|
||||
dlg.viewContent(ci.trackerId);
|
||||
String url = OsMoService.SHARE_TRACKER_URL+Uri.encode(ci.trackerId);
|
||||
dlg.shareURLOrText(ci.trackerId, getString(R.string.osmo_tracker_id_share, ci.trackerId, "", url), null);
|
||||
|
@ -167,27 +163,6 @@ public class SettingsOsMoActivity extends SettingsBaseActivity {
|
|||
return super.onPreferenceClick(preference);
|
||||
}
|
||||
|
||||
private Runnable getRegenerateAction() {
|
||||
return new Runnable() {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
AlertDialog.Builder bld = new AlertDialog.Builder(SettingsOsMoActivity.this);
|
||||
bld.setMessage(R.string.osmo_regenerate_login_ids_confirm);
|
||||
bld.setPositiveButton(R.string.shared_string_yes, new OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
final OsMoPlugin plugin = OsMoPlugin.getEnabledPlugin(OsMoPlugin.class);
|
||||
plugin.getService().pushCommand(OsMoService.REGENERATE_CMD);
|
||||
}
|
||||
});
|
||||
bld.setNegativeButton(R.string.shared_string_no, null);
|
||||
bld.show();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
boolean p = super.onPreferenceChange(preference, newValue);
|
||||
|
@ -195,6 +170,7 @@ public class SettingsOsMoActivity extends SettingsBaseActivity {
|
|||
if (id.equals(settings.OSMO_AUTO_CONNECT.getId())) {
|
||||
if ((Boolean) newValue) {
|
||||
final OsMoPlugin plugin = OsMoPlugin.getEnabledPlugin(OsMoPlugin.class);
|
||||
assert plugin != null;
|
||||
plugin.getService().connect(false);
|
||||
}
|
||||
// sendLocationsref.setEnabled(settings.OSMO_AUTO_CONNECT.get());
|
||||
|
|
|
@ -97,6 +97,7 @@ public class RoutingHelper {
|
|||
settings = context.getSettings();
|
||||
voiceRouter = new VoiceRouter(this, settings);
|
||||
provider = new RouteProvider();
|
||||
setAppMode(settings.APPLICATION_MODE.get());
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -464,11 +464,15 @@ public class MapControlsLayer extends OsmandMapLayer {
|
|||
RoutingHelper routingHelper = app.getRoutingHelper();
|
||||
if (routingHelper.isFollowingMode()) {
|
||||
switchToRouteFollowingLayout();
|
||||
if (app.getSettings().APPLICATION_MODE.get() != routingHelper.getAppMode()) {
|
||||
app.getSettings().APPLICATION_MODE.set(routingHelper.getAppMode());
|
||||
}
|
||||
} else {
|
||||
if (!app.getTargetPointsHelper().checkPointToNavigateShort()) {
|
||||
mapRouteInfoMenu.show();
|
||||
} else {
|
||||
touchEvent = 0;
|
||||
app.getSettings().APPLICATION_MODE.set(routingHelper.getAppMode());
|
||||
mapActivity.getMapViewTrackingUtilities().backToLocationImpl();
|
||||
app.getSettings().FOLLOW_THE_ROUTE.set(true);
|
||||
routingHelper.setFollowingMode(true);
|
||||
|
|
Loading…
Reference in a new issue