From 78654efc69b6569706b255297b856aabb4d7fa1f Mon Sep 17 00:00:00 2001 From: xmd5a Date: Wed, 16 May 2018 10:47:24 +0300 Subject: [PATCH 01/17] Add phrase --- OsmAnd/res/values-ru/phrases.xml | 2 ++ OsmAnd/res/values/phrases.xml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/OsmAnd/res/values-ru/phrases.xml b/OsmAnd/res/values-ru/phrases.xml index 8d82b18646..b07a911a36 100644 --- a/OsmAnd/res/values-ru/phrases.xml +++ b/OsmAnd/res/values-ru/phrases.xml @@ -3809,4 +3809,6 @@ Электронный Маршрут + Камень + diff --git a/OsmAnd/res/values/phrases.xml b/OsmAnd/res/values/phrases.xml index 642e8edbaf..311df0ee9f 100644 --- a/OsmAnd/res/values/phrases.xml +++ b/OsmAnd/res/values/phrases.xml @@ -3832,4 +3832,6 @@ Electronic Course + Rock + From 690ccc2587e258e4c79c6c1db971b295f58cb66e Mon Sep 17 00:00:00 2001 From: Dmitriy Prodchenko Date: Wed, 16 May 2018 11:41:11 +0300 Subject: [PATCH 02/17] Add 16dp arrow icon --- OsmAnd/res/drawable-hdpi/ic_arrow_left_16.png | Bin 0 -> 1141 bytes OsmAnd/res/drawable-hdpi/ic_arrow_right_16.png | Bin 0 -> 1138 bytes OsmAnd/res/drawable-mdpi/ic_arrow_left_16.png | Bin 0 -> 1087 bytes OsmAnd/res/drawable-mdpi/ic_arrow_right_16.png | Bin 0 -> 1098 bytes OsmAnd/res/drawable-xhdpi/ic_arrow_left_16.png | Bin 0 -> 1177 bytes OsmAnd/res/drawable-xhdpi/ic_arrow_right_16.png | Bin 0 -> 1176 bytes OsmAnd/res/drawable-xxhdpi/ic_arrow_left_16.png | Bin 0 -> 1262 bytes OsmAnd/res/drawable-xxhdpi/ic_arrow_right_16.png | Bin 0 -> 1258 bytes 8 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 OsmAnd/res/drawable-hdpi/ic_arrow_left_16.png create mode 100644 OsmAnd/res/drawable-hdpi/ic_arrow_right_16.png create mode 100644 OsmAnd/res/drawable-mdpi/ic_arrow_left_16.png create mode 100644 OsmAnd/res/drawable-mdpi/ic_arrow_right_16.png create mode 100644 OsmAnd/res/drawable-xhdpi/ic_arrow_left_16.png create mode 100644 OsmAnd/res/drawable-xhdpi/ic_arrow_right_16.png create mode 100644 OsmAnd/res/drawable-xxhdpi/ic_arrow_left_16.png create mode 100644 OsmAnd/res/drawable-xxhdpi/ic_arrow_right_16.png diff --git a/OsmAnd/res/drawable-hdpi/ic_arrow_left_16.png b/OsmAnd/res/drawable-hdpi/ic_arrow_left_16.png new file mode 100644 index 0000000000000000000000000000000000000000..674f960de5b77dc5e5a9437240679a63a8517621 GIT binary patch literal 1141 zcmbVMOK8+k6iprc&{7cuZC%JSDkzxAXOc`3I=0hEs{>B02#`#;=(}Q=jNXKIrrX74i0Q< zZ(Y+$QB-?zyIv-HNAfOPLe}^7+%(xbabFehMh>nUA*Av)G9f5>#txTTj&1~1Ee(PK3L%iv zGGp->1!UDUFR6+kZUF+v%Pgm|yvT68#;F>|gSm$$-a^~a%6k8tFLKM#HH-s|W$X2N zx}Hg+aERqqRb@GW6$FN8FwvNgjhOMH^-T*pjI7WNu#0?jrr5Nz5MIyc zc~Q)A63;0--=`>9y`W_B{hXZdEoAlHCbsBD*zhgb^z9Pg4XoV%Ppno5p@C6YL1?7e z1%ow&QB*?#C=`;aXTheDVYz-H+?*7uk+%**_ZYPML*#*3rZsngC{)ujvl1^byzMBA z$U%`YWz%G!%*#*|4aaf_0}Z_WzYMY@C^l)AzuKoMB0ZTL=ZAq@=En*8WQIaAELT6C zQ^}xRD(d-4{LcI}Gt-@7T2`jcKfb>B+A8k$qMtN)m~U(AIm0gfPz76e-do+%+1}=) zK1eg`jz}x+z8~DS;-he!nfkHka>s=i6E|j_r=H#3cam9t;!@|k?#c5h2OMe{eLY^g zxJx?wl6l)Rxp8_!{>qk9`|q4N*jD{<`pe#EdT%j literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-hdpi/ic_arrow_right_16.png b/OsmAnd/res/drawable-hdpi/ic_arrow_right_16.png new file mode 100644 index 0000000000000000000000000000000000000000..389ef827ba198e0bb2528477e9b370d90c72fa7b GIT binary patch literal 1138 zcmbVMOK8+k6pby4*cKI~Xf60iHx|t2Wipv0cC6D$s{>9Qrh|@Mi21zf#5Nz3S10X4 zq_}aR_(Rd9F6>GdZbTOOy<8uC>YI+W<$2x4}_ykQ+J-v~yo1+K=1C7{jn*RFeF%4`hO&>|-`MjS+Rr|nX zfQBXqOXlRLsaSOHUeFV%#DIga4kBmF4b>=3FWObfITmv?SX9BIX?iKBa=rkvUVuQ7 zl^7EyWROx=m{epz+zkXCN*u3nP-J+h@`}nsu>8=(TVPexqBgMXi`>$56=PrJxLU2o z))K52jBrp<6pj}-L12gm6Hd5Tj~F-XYFN-vXa=^AZO;Xw94F3eQ9Hy%^e2o}wZqbckGLWVz45>#^{8|;z=XShJBk%aH0q(i zCPmT5G|wD&kc)F#nkHXZ%eGY6G!v4PP#Ba{ct(^3osk8BCkt;Rla^6246$KnHN2L| zKv9&kNyy6(_RDfg%gTw&054_wvMH^vfz7!g)?E`deA~qLGPduZST!3U9eY8^^Trxo zP^fy?3#*JF<*lK>K837-z;nPN)2h8n6pCRQsU#E_XjNoJ zBCyS=_Pbtc-p>HfRdQ{leOmgjHghMQhjEu$SA z`?0fWhJrh!@vG%C?yKRkYxQ^0Z0|(9cKJu)<2}l#oOrS3 z<+rx^);sT~J`|o^|15N#-QGRDk!_mm25+g^#}Br`3y0;~?X9O$ESV+XBBa@ literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-mdpi/ic_arrow_left_16.png b/OsmAnd/res/drawable-mdpi/ic_arrow_left_16.png new file mode 100644 index 0000000000000000000000000000000000000000..cc33dfd2bc97552ce87f909ad416acb92eacc147 GIT binary patch literal 1087 zcmbVL%}>){7;k1Y1SBq+NYF%^f<_bixvpy)CT{Hpix$aP;w~oi<1K4g`yn!@;A`g9k4jOz`d4&;#LMlfEC%`~05g_k2B{o1GpWyfR1- z#Bgm!uj4(N{sZUmdj032iMLTyX`*@PqK+8>qU1mekTu_21a)9KtIO}fBte`>yhal> zjr*z%ea1|6n8Xh;njj{plF+o503t20=mkaU$J~HFbxaOjK;Z2goE7za7MCQlz?eReVmxEJb!z&{B~)BGokJNDW4S%rg>g^EsI; zC=8!hWI>!D1&)_kPGNbG=6ID;RE{TmABDX|j;q%7YR?zG6{!|Np~|wIPKW8_7#J_~Y}+|W$|*F+D;zD#f=SDQz~P0n@_EN{Elcd%ISF6kN|GX$3wfTC zdA=gc1znSKr79tC8^vQ0fRqq5Aie+1vzCiPiE7KweMB0)piv|)e z0Z}wv+r=3;!aM()K^Bu@({}l%eflEYlj-qz81UtIoIrqQD8j??a(h?AgZ8MVmm0}u z>-XW|)R`OW%U`eVJ<|>@ZNiHnvwybracFZlvpjHFIls+(F}B=n^}^GgyA##D4=>i6 z*LFq@p8OihPG`So+8g7e8}~BKekFRhFn$wk4HE+#p?w;8Rd2lhmX36-GONESFKqk) DSVL7f literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-mdpi/ic_arrow_right_16.png b/OsmAnd/res/drawable-mdpi/ic_arrow_right_16.png new file mode 100644 index 0000000000000000000000000000000000000000..f518ede0743cfd60968fb83b3f430ee996cc2473 GIT binary patch literal 1098 zcmbVLNodqi7>h7cA6pvU2GK+X&AL_8)O<)}Ojm~>Z)k3QWPv!J0L_=)>8? znX<81H)N9>KMlr01skv-(m-g>JAo3W$d+9NpCd6%f|d%Zr^t3tl|m8ZTpt1Z@Y zkU&z7vw|#f{3zfUR-_r3W_gNX6-HJV7IZ!md-KhzQc@>7zVIzY))4X(nr=3m@n$0K z`g1fZ%QDSyG{;d`g9;WLq=l3djC3uiFfe?}Lze4+$fBmZ4U{5rr0o=JuTa=F>;xU6 zFlBV8c{CemXxonRYH0_k1pkJyqjpeU@E~1+f!pv6T#xEV7mT^v-BF~7qfyTJ7A}f5 zuewIVh7QWBDH6ZLP0Lgy!$^o?LZ+Y~GZZgz8YOWYgBL~@1XHi-I^VUk6JE_^Se{Sv z0?SA&J0VF)H76x9lZ=?j=8|f*i_JR$(i{VJeOuUf2bo6j+X8&8kH44CE(_3jN2gvr z`I#PFSwH+e{o!_OiuiUEtmHmr%%wvIHb17n%sAPH`!)x_M&1EKeZNEpm6rN_GML{VWP86xq$PrDcVtdAGdu@|#_Q$(q1slR@l{( zI(u3;pa2pQAaUhT4uJzwix3Bds7fh<6ID6EjrLMNs)C@+p;8zp*}x&{0ZX2r=lAoy z@4e?Y=jWat8-08f05H~^HQQ{5+56B@w#NPbUu-*()EAQl+D&>^L_o!*Hi1pwS|V*? zx$CcdPo@FLrCw(-S!_LPIMf%cOh-ulkXZvTJ(Gr(vqBPRlO-=GakszxnuDHO;?5~8 z)Cy~4*_-W0WT8LTar!Hc?s79{;dE*+2R=zGnEIo)_aSZ8R z3VzsX9XJl+eWDm;VrqpV7Le%sSzf!^andIL!Z=hr?yQGIY?GL-MGmV+cVcMFxVwL# zOp&26o{KzI6l>L_&YDkxq-mBo_C;_#*U%iNpsEF(CyI`ES(7YYlO)6zWGjkmcWql9 z`Z>(L-caf$#z?_P!?><#MYEtG3M(6{|#+t*+B$4D8vv|Cd3LffBQJ`A_={MXV>Y;Cm)V&JhAa(O+Iz?&%*2nZ!cVrs>k!@#d~M? zsmYsz_jf)%cIU>$V=r;;M|N-nPL7Y}w)D+M1aRT>SLX-9JFxL?{=Es|`CrDboOwY1 zb?T?_rOjKwe&%wo{Kv?Z?*`jN<@b@R*IwAl5TV}&*TcsaC`vaMw#rRTRy9NhXs?LPtB3w06L$WjgAxC^bLdbYh!)+2pH} z4j!aZ@CWo{ad!{0Cp{G}7P~9RmObb}5cQxQR*Im4i|c|1*%kE5wA1xaJZvD}&ztvo zf1dY!b8eu2e@FYb?G#0Ia{vPb2sFjgZD&unDfNCK(VZ=I#$n^=DqPq4)zG00(Oq+1n@iNR`zusYJ$IdWE zQU$KyYq09{)dM(K?=M;P5lgX|eS7JyNF@ebhz&Y&N4-#uGEBp+O3twuFmyu&k7SsI zpvr{-T0;S(QwfQ+_@qpyl?0zsWI^0R3mh*2P652ga=gkZD#z1{4@0~Kc111fy^Frc zEyGkX_Ei9CwOXQi%v8!Y zE2b$n?JS4y;j)q<=5i^XlX<>JmeaZ>C$qhrl+9^rJ=etMy$~Co1)IJd;(HOB{VG<~ z0%%|qln@$icELauVH8%8PitCS^)$V+U|5b93wOnZTF6_6fpZety#aFR2GgpuOcaV~ znduZSu)JN7S&@SxYf7fcLW!54C>j;3LKs-U+y9qAK!O5syL{0;O%dtI__#C-^l~``f2{P&InsVrhVXa%f>4|cCS6*Q{d|4lMmhDjg`ClZcFc5*F2pl z{t>q3pI^M$z58#xe*Eh1>sp>~oBGsdo9Syq%CYT7H%}$k9-5o#xHbD|=r`3~C4PK6 z2ae5aZPgDiI!|r-C%NZnG{0fG{OSCq?{?oqAt-7iaz$pY0!xv>jI-R=nv+137TyZN~l8wrUTIk(zzpW6s-z;R0YF^mBxPi@Fa#B zdKw!@#f0yJO(UqJ(N#PWn7jV;*~;6A)2F?31A zuconOQiJ&dD%vhU6GRf%=s1U_c!Eyw9K+s+G8CO8DW0TRoT3Ga7bqHCc`)eB)yqOr z%B}cc`J#6DI){LA!&jlO*4#ZN!#;_;5v;pwY}1q1IQxq>`_;P z^(b#?fMM=#>?l-(Y=j3~0~SRYk!)?$1ePyLX$*cLbVC<7O^YX!aUKT=p2As) zGTg2X13avb6R_Y6xo}vX`?mFS1c}@tOPNw|?$XOgTTW3MvqMAAMjtzP>tbs2`OS0k z-0q`qo_syJEqb~6#9aa_%Wbn8zW(OIixa(nd^gwgbo) zwner(>yB3^&;DL}@W7Azv;SOeezmZ>J4POIufWGn?61>UH|Nr=vNC* zwqCoqefDs7|KIPPSrD3-eLoz7qI%)|J*fS{+rRSY{KU^ech@H~hrGS>+|@U_&UbX& zbf8{*>G)fJZr{1H@DQoJldGp+-vj?B(n4Scc6tm}-t=DO{FMQebaHJV|?V)?$xo0u6EBph=**@uT&))t2 E0*}P2RR910 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xxhdpi/ic_arrow_right_16.png b/OsmAnd/res/drawable-xxhdpi/ic_arrow_right_16.png new file mode 100644 index 0000000000000000000000000000000000000000..ec01d2ef33778621e37cf6a09c5a8ded89221ea9 GIT binary patch literal 1258 zcmbVMTWl0n7@kt9bZfyViNVA;4isr{b}qX!J2UPq?#{HbkuB@8rkhrbb2;0N-MKJx z%1#T$7D^1kXb=dH0BHy&8UYQ73Bi~)l?U~~YhsiKQw=6)Oo|W0h=zEk?N%Qe9-L&( z`OlgE`~UC1&B0>N)9tZ`V;F|D=eMdQwA0bM>K?TAuK4p+w5@|(6}ZE#!n)=IENi+t z!1J~?07^hJM|OP*(iqkpTIC9?6t+o*Ysa-nCmz}!LStBZOXz9F5P-N21}sM==02Pv zaLbg5UamkFJOvC|TStAcW3;Dij1C#1No>jB=}xsDQ4^WIKiWJRKEK4E{G8l277Lrb|zF|QHf#F*ov|I;| zENZ$t3}pf_T?oPU3WX)ZPOz9Llrk#RJc^0alx;_G&1(m+1pcM5taeZy@c>lf(}w@^{En(7+EHgI5Gl?n7EZd#@!7)FBU6Cw#XktUM@tC0fB z(rBS|jx+VDt|uFImcuIwL$lfLEXU9S!*mHkN>zkJwwva&IVGj$8rZxOK+Q2g!?%Te zFJi^JVkN}~8g%`#>(&}wP#koj8w|Q0t|(E}Q~0KWW>`*i*%=jTA#N4;)^1>S`>u`8 zXIiqBVIk^Gq0uGuX9}Uabf4@gzSktP!nk|RdemnkAY=&NYp#R?z|#gX^pL3 zee2#sw_hT1EgfgZ4)jS^H(u`(AIjV~dg_gHdFSn;v1`wtp8UD1DOMa?v33$`+4NM? z)UmO)6Z=2e{eE#)JiY(UUr)9?c(e9R%zSH(sq|l%c%kWwtFz}bn_Hee^81FBv4cn2 zT06&cKUEHYw|DbnowI7LZ@O;=zPa-HXD+$z(#ap1>-X=;IJZtU_x>?`Upn1(ZfbN* z`KvuI_kW*RcjJQ}AHUf43f)eTlONC3W}b-&tyBjRcTOCCpz`g+9RJAnvyWaL*M70& zOXAs%+vA;=_Z_ptcV2(3AV*vqwC||19n+Zb<;GtRai4F9{yzDx9`$1G#eM$(`_-b| literal 0 HcmV?d00001 From 1aaf10c6764d7ab0064f9d3647143f2aa19a7bce Mon Sep 17 00:00:00 2001 From: Dimitris Spingos Date: Wed, 16 May 2018 08:48:29 +0000 Subject: [PATCH 03/17] Translated using Weblate (Greek) Currently translated at 100.0% (2595 of 2595 strings) --- OsmAnd/res/values-el/strings.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-el/strings.xml b/OsmAnd/res/values-el/strings.xml index 2df9a1e888..0881824788 100644 --- a/OsmAnd/res/values-el/strings.xml +++ b/OsmAnd/res/values-el/strings.xml @@ -1839,7 +1839,7 @@ Κρατήστε σημειώσεις! Προσθήκη ήχου, βίντεο ή σημείωση φωτογραφίας για κάθε σημείο στο χάρτη, χρησιμοποιώντας το widget ή το συναφές μενού. Σημειώσεις κατά ημερομηνία - Ταξιδιωτικοί χάρτες + Ταξιδιωτικοί οδηγοί Το άρθρο αφαιρέθηκε Αναζήτηση: Χώρα, πόλη, επαρχία Ανάγνωση @@ -2129,7 +2129,7 @@ Διαγράφηκαν σημεία. Πρόκειται να διαγράψετε %1$d σημεία. Είσαστε σίγουρος; Στροφές για προσπέραση σε αυτό το δρομολόγιο - Σημαντικά σημεία σε αυτό το δρομολόγιο + Σημεία διαδρομής, σημεία ενδιαφέροντος, επώνυμα χαρακτηριστικά Ίχνος Μέγιστη ταχύτητα Μέση ταχύτητα @@ -3152,4 +3152,6 @@ Σελιδοδείκτης Κατάλληλο για χρήση κατά την οδήγηση εκτός δρόμου. Κατάλληλο για χρήση με πράσινες εικόνες δορυφόρου ως χάρτης υποστρώματος. Βασικά σημεία: μειωμένο πάχος κύριου δρόμου, αυξημένο πάχος ιχνών, διαδρομών, ποδηλάτων και άλλων διαδρομών. Βασισμένο σε μορφή \'τοπογραφική\'. Μορφή υψηλών λεπτομερειών για τουριστικούς σκοπούς. Περιλαμβάνει όλες τις επιλογές διαμόρφωσης της προεπιλεγμένης μορφής και επιπλέον: Εμφανίζει τη μεγαλύτερη δυνατή λεπτομέρεια, ιδιαίτερα σε δρόμους, διαδρομές και άλλους τρόπους ταξιδιού. Καθαρή οπτική διάκριση μεταξύ όλων των διαφορετικών τύπων δρόμου, που θυμίζει πολλούς τουριστικούς άτλαντες. Χρωματικός συνδυασμός υψηλής αντίθεσης για εξωτερική χρήση, κατάσταση μέρας και νύχτας. + Ενδιάμεσος χρόνος άφιξης + Ενδιάμεσος χρόνος From 8d8f46df62e254f63b0030dc2eb58cc193c712e5 Mon Sep 17 00:00:00 2001 From: Suren Date: Wed, 16 May 2018 03:45:01 +0000 Subject: [PATCH 04/17] Translated using Weblate (Armenian) Currently translated at 87.7% (2276 of 2595 strings) --- OsmAnd/res/values-hy/strings.xml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/OsmAnd/res/values-hy/strings.xml b/OsmAnd/res/values-hy/strings.xml index 0afab3632a..b8fa420f17 100644 --- a/OsmAnd/res/values-hy/strings.xml +++ b/OsmAnd/res/values-hy/strings.xml @@ -251,7 +251,7 @@ Առցանց լուսանկարներ Ավելացնել լուսանկարներ Այս վայրի համար լուսանկարներ չունենք։ - Նպաստել այս դիրքի համար ձեր սեփական փողոցային դիտարկումներով Mapillary- ի միջոցով: + Նպաստել այս դիրքի համար ձեր սեփական փողոցային դիտարկումներով Mapillary-ի միջոցով: Mapillary վիջեթը Թույլ է տալիս արագորեն նպաստել Mapillary-ին։ Առցանց փողոցային նկարներ բոլորի համար: Բացահայտեք վայրերը, համագործակցեք, նկարեք աշխարհը: @@ -332,7 +332,7 @@ Ավելացնել նոր թղթապանակ Կետ(եր)ը ջնջված է: Դուք մտադիր եք ջնջել կետ(եր)ը: Համոզված եք? - Հայտնի կետեր այս երթուղու վրա + Ճանապարհային կետեր, POI, հատկանիշներ Տրեկ Առավելագույն արագություն Միջին արագությունը @@ -427,7 +427,7 @@ Ազատ տեղ OsmAnd-ը կպահպանի տվյալները (քարտեզներ, երթուղիներ և այլն) %1$s։ Տալ թույլտվություն - "Միացնել Իմ Դիրքի անիմացումը քարտեզի համայնապատկերում նավիգացիայի ժամանակ։" + "Միացնել \"Իմ Դիրքի\" անիմացումը քարտեզի համայնապատկերում նավիգացիայի ժամանակ։" Ծովային խորության կետերը հարավային կիսագնդում Ծովային խորության կետերը հյուսիսային կիսագնդում OsmAnd հավաքում է միայն այն տեղեկատվությունները, որոնք վերաբերվում են հավելվածին օգտագործման։ Ձեր գտնվելու վայրը երբեք չի ուղարկվի, ոչ էլ այն, ինչ դուք մուտք եք գործել հավեվածում կամ ձեր դիտած, որոնման և ներբեռնելու տարածքների մանրամասները: @@ -488,7 +488,7 @@ Նպատակակետը սահմանված չէ Մագնիսական կրող Երթուղին դադարեցնելուց հետո երթուղու վերահաշվարկ չի կատարվում - Կանխել երթուղու ավտոմատ վերահաշվարկը երթուղին դադարեցնելուց հետո։ + Կանխել երթուղու վերահաշվարկը երթուղուց շեղվելու դեպքում։ Չվերահաշվարկել երթուղին հակառակ ուղղության համար Կանխել երթուղու ավտոմատ վերահաշվարկը հակառակ ողղությամբ շարժվելու ժամանակ։ Smart ավտո-հայտարարում @@ -504,7 +504,7 @@ Մուտքագրեք անուն Մուտքագրեք կատեգորիան Մուտքագրեք նկարագրություն: - Քարտեզը կապված է գտնվելու վայրի հետ + "Քարտեզ կցված է գտնվելու վայրին" Փակել ցանկը Ընդլայնված ցուցակ Դատարկ ցուցակ @@ -522,10 +522,10 @@ Խնդրում ենք ավելացնել մարկերներ քարտեզի վրա Ոչ մի ճանապարհային նշան չի գտնվել - Անանուն օգտվողը չի կարող՝ -\n-ստեղծել խմբեր; -\n-խմբերի և սարքերի համաժամեցում սերվերի հետ; -\n-կառավարել խմբերը և սարքերը անձնական էջում: + Անանուն օգտվողը չի կարող՝ +\n-Ստեղծել խմբեր; +\n-Խմբերի և սարքերի համաժամեցում սերվերի հետ; +\n-Կառավարել խմբերը և սարքերը անձնական էջում: Հաշվետվությունում @@ -538,9 +538,9 @@ - "Այժմ ծրագիրը իրավունք ունի մուտթագրել տվյալներ արտաքին պահեստավորման սարքի վրա։ Պահանջվում է վերագործարկել ծրագիրը." - Տեղափոխել վերև - Տեղափոխել ներքև + "Այժմ ծրագիրը իրավունք ունի մուտթագրել տվյալներ արտաքին պահեստավորման սարքի վրա։ Պահանջվում է վերագործարկել ծրագիրը։" + Տեղափոխել ↑ + Տեղափոխել ↓ "Ավարտել նավարկությունը" Խուսափել ճանապարհներից Տվյալների պահպանման համար ընտրված թղթապանակը միայն կարդալու է: Փոխարենը ժամանակավորապես կկիրառվի ներքին հիշողությունը: Խնդրում ենք ընտրել համապատասխան պահպանման վայր: From 59b68e6e527a18b57fa4995676066c5c3d2e19fe Mon Sep 17 00:00:00 2001 From: josep constanti Date: Tue, 15 May 2018 19:36:21 +0000 Subject: [PATCH 05/17] Translated using Weblate (Catalan) Currently translated at 94.8% (2462 of 2595 strings) --- OsmAnd/res/values-ca/strings.xml | 35 +++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/OsmAnd/res/values-ca/strings.xml b/OsmAnd/res/values-ca/strings.xml index f4a25309bc..28f2567f20 100644 --- a/OsmAnd/res/values-ca/strings.xml +++ b/OsmAnd/res/values-ca/strings.xml @@ -585,7 +585,7 @@ Memòria proporcional %4$s MB (límit de l\'Android %5$s MB, Dalvik %6$s MB).Especifiqueu l\'idioma, baixada/recàrrega de dades. Utilitza la navegació en línia Desa la traça actual a la SD ara mateix. - Afegeix a Preferits + Afegeix a \'Preferits\' Trieu el país Trieu el carrer Trieu la ciutat o el codi postal @@ -1813,7 +1813,7 @@ Per retornar a l\'estil habitual dels mapes d\'OsmAnd, només cal desactivar aqu Trieu on voleu desar els fitxers de mapes i d\'altres dades. Codi QR Mapa baixat - S\'ha baixat el mapa de %1$s, ja el podeu començar a utilitzar. + El mapa de %1$s està a punt per ser utilitzat. Mostra el mapa El mapa base mundial (d\'abast mundial i poc detall) no es troba o està caducat. Considereu baixar-lo per una tenir una perspectiva global. Si es desactiva s\'engega amb la pantalla del mapa. @@ -2032,7 +2032,8 @@ L\'espai disponible és només de {2} MB. Subscripció a OsmAnd Live Per informar-vos d\'aportacions. Zona de suport - Us agraïm haver-vos subscrit a les actualitzacions en directe + Us agraïm el vostre recolçament a OsmAnd +\nPer activar totes les noves funcionalitats us caldrà reiniciar OsmAnd. Una part del vostre donatiu s\'enviarà als usuaris d\'OSM que enviïn modificacions del mapa a aquesta regió. Primer heu de comprar una subscripció a OsmAnd Live @@ -2397,7 +2398,7 @@ Abasta l\'àrea: %1$s x %2$s El(s) punt(s) s\'ha(n) esborrat. Esteu eliminant %1$d punt(s). Ho confirmeu? Canvis de direcció a la ruta - Punts destacables en aquesta ruta + Fites, punts d\'interès, elements famosos Afegeix a una carpeta nova Pista Berber @@ -2587,9 +2588,9 @@ Abasta l\'àrea: %1$s x %2$s Escolliu el perfil de navegació Afegeix punts de la ruta Afegeix una línia - Afegeix i enregistra traces + Afegiu i enregistreu traces Enregistra o importa traces per veure. - Afegeix als preferits + Afegiu als preferits Afegiu preferits al mapa o importeu-los. Importa traça El fitxer %1$s no conté fites, voleu importar-lo com una traça? @@ -2723,8 +2724,16 @@ Abasta l\'àrea: %1$s x %2$s Per data Per tipus Modifica la consulta de cerca. - \\022 -\n + \\022 Nou menú Viatge: consulta articles de Viquiviatges sense internet +\n +\n• Viquipèdia: nova imatge, enllaços actius, imatges +\n +\n• IU de rutes Open Track: mostra grups de fites +\n +\n• Marcadors de mapa: importa determinats grups dels fitxers GPX, nou aspecte de l\'introducció de coordenades +\n +\n• La subscripció OsmAnd Live ara inclou totes les característiques d\'OsmAnd +\n \n S\'activa amb un toc El que hi ha aquí: @@ -2811,7 +2820,7 @@ Abasta l\'àrea: %1$s x %2$s S N "Nom opcional del punt " - Rutes properes a + Rutes prou properes A prop Introduïu el nom del fitxer. Error d\'importació del mapa @@ -2843,7 +2852,7 @@ Abasta l\'àrea: %1$s x %2$s Memòria cau d\'imatges Esborra l\'historial de cerca Mostra les imatges - Mapes de viatge + Guies de viatge Article esborrat Seleccioneu un pla Compreu un dels elements següents per llegir articles de viatge sense connexió: @@ -2908,4 +2917,10 @@ Abasta l\'àrea: %1$s x %2$s Buscant el corresponent article a la wiki Adreça d\'interès Dissenyat per un ús alternatiu en conducció. Pensat per posar imatges de satèl·lit com un mapa de fons. Principals característiques: gruix reduit de les carreteres principals, augment del gruix de pistes, camins, vies ciclistes i altres vies. Basat en l\'estil Topo. + Estil contrastat dissenyat principalment per senderisme, excursionisme i ciclisme de natura. Força llegible amb il·luminació ambient extrema. Principals característiques: Contrast de vies i objectes naturals, diferents tipus de rutes, corbes de nivell amb configuració avançada, més detallat que l\'estil normal i ajustat al nivell de zoom. L\'opció d\'integritat de superfície permet distingir el tipus de superfície de la via. No hi ha mode nocturn. + Estil de renderitzat per defecte de l\'antic \'Mapnik\'. Principals característiques: colors semblants als de l\'estil \'Mapnik\'. + Estil molt detallat per fer turisme. Inclou totes les opcions de configuració de l\'estil per defecte, afegint: Pantalles amb el màxim detall, en particular totes les carreteres, camins, i altres maneres de viatjar. Distinció visual clara entre tots els tipus diferents de via, semblant al de molts atles de viatge. Paleta de colors d\'alt contrast per utilitzar a l\'exterior, mode diürn i nocturn. + Estil de propòsit general. Renderitzat simplificat i més clar dins les ciutats densament poblades. Principals característiques: Corbes de nivell, vies, tipus de superfície, restriccions d\'accés, codis de les carreteres, camins representats segons l\'escala de SAC, característiques per esports aquàtics. + Temps de pas + Temps de pas From 7e47c3f1c2f7bb17e4cf148fabe433b67de752ad Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Wed, 16 May 2018 04:44:34 +0000 Subject: [PATCH 06/17] Translated using Weblate (Hebrew) Currently translated at 99.8% (2592 of 2595 strings) --- OsmAnd/res/values-he/strings.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OsmAnd/res/values-he/strings.xml b/OsmAnd/res/values-he/strings.xml index 1d4335f7ba..958064829b 100644 --- a/OsmAnd/res/values-he/strings.xml +++ b/OsmAnd/res/values-he/strings.xml @@ -3153,4 +3153,6 @@ סימנייה מתאים לנהיגת שטח. מתאים לשימוש עם תמונות לוויין ירוקות כמפה בשכבה שמתחת. נקודות מפתח: דרכים ראשיות צרות יותר, המסלולים, דרכי הגישה, מסלולי האופניים ודרכים נוספות עבים יותר. סגנון פירוט מדויק לטובת תיירות. כולל את כל אפשרויות התצוגה של בררת המחדל, בנוסף: מציג כמה שיותר פרטים ככל הניתן, במיוחד את כל הדרכים, השבילים ודרכי טיול נוספות. הבחנה חזותית ברורה בין כל סוגי הדרכים השונים, העלאת זכרונות בתצורת אטלסים לתיירות. ערכת צבעים בניגודיות גבוהה לשימוש בחוץ לצד מצבי יום ולילה. + זמן הגעה לנקודת ביניים + זמן ביניים From 05027ce86fc988587d098fb43d4468823676f509 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Wed, 16 May 2018 07:24:33 +0000 Subject: [PATCH 07/17] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegian?= =?UTF-8?q?=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 99.0% (2570 of 2595 strings) --- OsmAnd/res/values-nb/strings.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OsmAnd/res/values-nb/strings.xml b/OsmAnd/res/values-nb/strings.xml index 05847a224c..3814ca0ea5 100644 --- a/OsmAnd/res/values-nb/strings.xml +++ b/OsmAnd/res/values-nb/strings.xml @@ -3124,4 +3124,6 @@ Bokmerk Nytt for bruk under villmarkskjøring. Nyttig for bruk med grønne satellittbilder som underlagskart. Nøkkelpunkter: Redusert tykkelse for hovedveier, økt tykkelse for småveier, stier, sykkel- og andre -ruter. \nBasert på Topo-stil. + Mellomliggende ankomsttid + Mellomliggende tid From 268065e6cda26f25dd7ae34219e95dd8f82cf646 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Sok=C3=B3=C5=82?= Date: Tue, 15 May 2018 21:34:01 +0000 Subject: [PATCH 08/17] Translated using Weblate (Polish) Currently translated at 94.4% (2450 of 2595 strings) --- OsmAnd/res/values-pl/strings.xml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-pl/strings.xml b/OsmAnd/res/values-pl/strings.xml index cb335e279f..11e8b0f6fe 100644 --- a/OsmAnd/res/values-pl/strings.xml +++ b/OsmAnd/res/values-pl/strings.xml @@ -3075,9 +3075,9 @@ Reprezentuje obszar: %1$s x %2$s Popularne cele podróży Aplikacja płatna Wtyczka płatna - Dostępne są nowe dane Wikipodróży, zaktualizuj je, aby cieszyć się nimi. + Dostępne są nowe dane Wikipodróży. Proszę je uaktualnić, aby z nich korzystać. Pobierz te przewodniki podróży Wikipodróże, aby wyświetlić artykuły o miejscach na całym świecie bez połączenia z Internetem. - Aktualizacja jest dostępna + Dostępne uaktualnienie Pobierz plik Bezpłatny przewodnik po świecie, który każdy może edytować. Podróże oparte są na Wikivoyage. Podczas otwartych beta-testów masz możliwość oceny wszystkich funkcji za darmo. Po zakończeniu okresu beta, Podróże będą dostępne dla subskrybentów OsmAnd Unlimited oraz posiadaczy OsmAnd+ @@ -3138,7 +3138,8 @@ Reprezentuje obszar: %1$s x %2$s Anulowano subskrypcję OsmAnd Live Proszę przedłużyć subskrypcję, aby kontynuować korzystanie z wszystkich funkcji: - Na podstawie zapisanych artykułów, zalecamy pobranie poniższych map: - Mapy, które potrzebujesz + Zalecamy pobranie poniższych map, na podstawie zapisanych artykułów: + Potrzebne mapy Zespół OsmAnd + Pobierz wszystkie From 7c84385e5d074607287e999841f5d66fada3aaea Mon Sep 17 00:00:00 2001 From: Piotr Strebski Date: Wed, 16 May 2018 06:38:25 +0000 Subject: [PATCH 09/17] Translated using Weblate (Polish) Currently translated at 94.4% (2450 of 2595 strings) --- OsmAnd/res/values-pl/strings.xml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/OsmAnd/res/values-pl/strings.xml b/OsmAnd/res/values-pl/strings.xml index 11e8b0f6fe..f94bf94685 100644 --- a/OsmAnd/res/values-pl/strings.xml +++ b/OsmAnd/res/values-pl/strings.xml @@ -2844,14 +2844,14 @@ Reprezentuje obszar: %1$s x %2$s Porządkowanie według: Pokaż linie przewodnie Strzałki na mapie - Wyświetl datę - Ukryj datę + Wyświetl ominięte + Ukryj ominięte Wprowadź współrzędne Znaczniki Format współrzędnych Proszę wybrać format współrzędnych. Zawsze można go zmienić za naciskając \"Opcje\". Omijanie lodowych dróg i brodów - Omija lodowe drogi i brody. + Omijaj drogi lodowe i brody. Użyj położenia Aktualne położenie Koniec trasy @@ -3142,4 +3142,9 @@ Reprezentuje obszar: %1$s x %2$s Potrzebne mapy Zespół OsmAnd Pobierz wszystkie + Zakładka + Ukryj pełny opis + Wyświetl pełny opis + Odnośnik zostanie otwarty w przeglądarce internetowej. + Jak otwierać odnośniki? From 02bb9c44aa83fc7bc563cc10eb967d332c7daef0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Grzegorz=20G=C5=82owacki?= Date: Wed, 16 May 2018 06:41:33 +0000 Subject: [PATCH 10/17] Translated using Weblate (Polish) Currently translated at 94.4% (2450 of 2595 strings) --- OsmAnd/res/values-pl/strings.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-pl/strings.xml b/OsmAnd/res/values-pl/strings.xml index f94bf94685..090f8f3e00 100644 --- a/OsmAnd/res/values-pl/strings.xml +++ b/OsmAnd/res/values-pl/strings.xml @@ -2442,7 +2442,7 @@ Długość %2$s \n \n i więcej… Aktywuj szybkie rejestrowanie - Wyświetl powiadomienie systemowe z opcją rozpoczęcia rejestrowania śladu. + Wyświetl powiadomienie systemowe z opcję rozpoczęcia rejestrowania śladu. Powiadomienia @@ -2720,7 +2720,7 @@ Reprezentuje obszar: %1$s x %2$s Pozwala na szybkie udostępnianie do Mapillary. Udostępnia zdjęcia w widoku ulicznym. Pozwala na odkrywanie miejsc, współpracę nad uchwyceniem świata. Zdjęcia w sieci - Nie ma zdjęć tego położenia. + Nie ma zdjęć dla tego położenia. Udostępnia zdjęcia w widoku ulicznym. Pozwala na odkrywanie miejsc, współpracę nad uchwyceniem świata. Zainstaluj Zwiększ pokrycie zdjęć Mapillary @@ -2742,7 +2742,7 @@ Reprezentuje obszar: %1$s x %2$s Wyświetl tylko dodane obrazy Proszę wprowadzić nazwę użytkownika Można filtrować obrazy według nazwy użytkownika lub daty. Filtry mają zastosowanie dla większych przybliżeń. - "Wyświetla obrazy dodane przez " + Wyświetl obrazy dodane tylko przez Ślady w miesięcznych katalogach Przechowuje zarejestrowane ślady w podkatalogach odpowiadającym miesiącom (np. 2018-01). Wyczyść @@ -2829,7 +2829,7 @@ Reprezentuje obszar: %1$s x %2$s Znacznik mapy przeniesiono do aktywnych Lista Grupy - Ostatnio użyty: %1$s + Ostatnio użyte: %1$s Uaktywnij Dzisiaj Wczoraj From 1b43bd204cdab3fdd54f61af3adc9ce3c06e1a39 Mon Sep 17 00:00:00 2001 From: Igor Eliezer Date: Wed, 16 May 2018 01:05:51 +0000 Subject: [PATCH 11/17] Translated using Weblate (Portuguese (Brazil)) Currently translated at 77.7% (2017 of 2595 strings) --- OsmAnd/res/values-pt-rBR/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-pt-rBR/strings.xml b/OsmAnd/res/values-pt-rBR/strings.xml index e4e6732f18..58632ce775 100644 --- a/OsmAnd/res/values-pt-rBR/strings.xml +++ b/OsmAnd/res/values-pt-rBR/strings.xml @@ -784,7 +784,7 @@ Pôr do Sol: %2$s Camada de gravação Gravação não pode ser reproduzida Apagar gravação - Ouvir + Tocar Gravando %1$s %3$s %2$s Gravando Notas de áudio/vídeo From de182afeea06963d688ac714f175038bea674482 Mon Sep 17 00:00:00 2001 From: Niklas Henriksson Date: Tue, 15 May 2018 23:52:54 +0000 Subject: [PATCH 12/17] Translated using Weblate (Swedish) Currently translated at 83.4% (2166 of 2595 strings) --- OsmAnd/res/values-sv/strings.xml | 160 ++++++++++++++++++++++++++++++- 1 file changed, 155 insertions(+), 5 deletions(-) diff --git a/OsmAnd/res/values-sv/strings.xml b/OsmAnd/res/values-sv/strings.xml index 56f237a82b..c1384f9fb2 100644 --- a/OsmAnd/res/values-sv/strings.xml +++ b/OsmAnd/res/values-sv/strings.xml @@ -2909,7 +2909,7 @@ Vänligen tillhandahåll fullständig kod Forsränning OsmAnd är open-source och är utvecklas aktivt. Alla kan bidra till programmet genom att rapportera buggar, förbättra översättningar eller programmera nya funktioner. Projektet är i ett dynamiskt tillstånd av kontinuerlig förbättring av alla dessa former genom utvecklare och interaktion med användare. Projektet är också beroende av ekonomiska bidrag för att finansiera kodning och testning av nya funktioner. Ungefärlig karttäckning och kvalitet: • Västeuropa: **** • Östeuropa: *** • Ryssland: *** • Nordamerika: *** • Sydamerika: ** • Asien: ** • Japan & Korea: *** • Mellanöstern: ** • Afrika: ** • Antarktis: * De flesta länder runt om i världen finns tillgängliga för nedladdning! Få en tillförlitlig navigator i ditt land - det kan vara Tyskland, Frankrike, Mexiko, Storbritannien, Spanien, Nederländerna, USA, Ryssland, Brasilien eller något annat. OsmAnd+ (OSM Automated Navigation Directions) OsmAnd+ är ett open source-navigationsprogram med tillgång till ett brett utbud av global OpenStreetMap(OSM)-data. Alla kartdata (vektor- eller rasterkartor) kan sparas på telefonens minneskort för användning offline. OsmAnd erbjuder även offline och online-ruttunktioner, inklusive turn-by-turn röstguidning. OsmAnd+ är den betalda appversionen, genom att köpa det stödjer du projektet, finansierar utveckling av nya funktioner, och får de senaste uppdateringarna. Några av de centrala funktionerna: - Komplett offline-funktionalitet (spara vektor- eller rasterkartor i enhetens lagring) - Kompakta offline vektorkartor för hela världen finns tillgängliga - Obegränsad nedladdning av land- eller regionkartor direkt från appen - Offline Wikipedia-artiklar (ladda ner Wikipedia POI), utmärkt för sightseeing - Överlagring av flera kartskikt är möjligt, som GPX eller navigeringsspår, Punkter av Intresse, favoriter, höjdkurvor, hållplatser för kollektivtrafiken, fler kartor med anpassningsbar genomskinlighet- Offlinesökning efter adresser och intressepunkter (POI) - Offline routing för mediumdistansavstånd - Bil-, cykel- och fotgängarelägen med: - tillval automatiskt byte av dag/nattläge - valfri hastighetsbunden kartzoom - valfri kartjustering enligt kompass eller riktning - som tillval körfältsguide, hastighetsgräns visas, inspelade- och TTS-röster - Vi kunde inte hitta något i radien: + Kunde inte hitta något inom: Du kan lägga till alla spårens vägpunkter, eller välj separata kategorier. Totalt OsmAnd+ (OSM Automated Navigation Directions) är en kartnavigationsapp med tillgång till gratis världsomfattande och högkvalitativa OpenStreetMap(OSM)-data. Njut av röst- och visuell navigation, visning av POI(points of interest - intressepunkter), att skapa och hantera GPX-spår, se höjdkurvor och höjdinfo, välja mellan bil-cykel- och fotgängarlägen, OSM-redigering och mycket mer. OsmAnd+ är en betald version av appen. Genom att köpa den, stödjer du projektet, finansierar utveckling av nya funktioner, och får de senaste uppdateringarna. Några av de viktigaste funktionerna: @@ -2935,13 +2935,163 @@ Vänligen tillhandahåll fullständig kod Knackning på åtgärdsknappen visar eller döljer Intressepunkter på kartan. Lämna tomt för att automatiskt använda adressen eller platsens namn. Tunnlar -Sök: Land, Stad, Region +Sök: Land, stad, region Läs - Sparade artiklar + Bokmärkta artiklar Utforska Resultat - Använd två siffror longitud + Använd tvåsiffrig longitud Resor Waypoints tas bort från kartmarkörer Donationer totalt - + Bokmärke + Dölj fullständig beskrivning + Visa fullständig beskrivning + Lämplig för användning vid off-road körning. Lämplig för användning med gröna satellitbilder som ett underlagskarta. Viktiga egenskaper: minskad tjocklek på stora vägar, ökad tjocklek av spår, stigar, cykelvägar och andra stigar. Baserat på \'Topo\' stil. + Nautisk navigeringsstil. Viktiga funktioner: bojar, fyrar, vattendrag, farleder och märken, hamnar, sjömärken, djupkonturer. + Skidåkningsstil. Viktiga funktioner: Renderar pister, skidliftar och andra skidanläggningar på ett bekvämt sätt. Mindre distraherande sekundära kartobjekt. + Enkel och kontrastrik stil för navigering med bil. Skonsam mot ögonen under natten. Viktiga funktioner: höjdkurvor, kontrastrik orange stil på vägar, mindre störande sekundära kartobjekt. + Kontraststil utformad främst för vandring, trekking och cykling i naturen. Bra läsbarhet vid komplex extern belysning. Viktiga funktioner: kontrastrika vägar och naturliga objekt, olika typer av rutter, höjdkurvor med avancerade inställningar för mer detaljer på motsvarande zoomnivåer än standard. Ytläge-alternativet kan skilja vägens ytkvalitet. Inget nattläge. + Gamla \"Mapnik\'-stil standardrendering. Viktiga funktioner: Färger som liknar \"Mapnik\" stil. + Högsdetaljsstil för touringändamål. Innehåller alla inställningar av standardstilen, men även: Visar så mycket information som möjligt, i synnerhet alla vägar, stigar och andra sätt att resa. Tydliga visuella skillnader mellan olika vägtyper, påminnande av många atlaser. Högkontrastfärger för användning utomhus, dag- och nattläge. + Stil för allmänna ändamål. Förenklad återgivning i tätbefolkade städer. Viktiga funktioner: höjdkurvor, rutter, ytkvalitet, tillträdeskontroll, farthinder, stigrendering enligt SAC-skala, vattensporter. + Öppna Wikipedia-länk på nätet + Länken kommer att öppnas i en webbläsare. + Skaffa OsmAnd Live-prenumeration för att läsa Wikipedia och Wikipedia-artiklar offline. + Hur man öppnar länken? + Läs Wikipedia offline + Ladda ner alla + Starta om + Visa bilder + Du har annullerat ditt OsmAnd Live-abonnemang + Förnya abonnemanget för att fortsätta använda alla funktioner: + + Baserat på de artiklar som du bokmärkt, följande kartor rekommenderas för dig att ladda ner: + Kartor du behöver + OsmAnd team + Populära destinationer + Betald app + Betald plugin + Nya Wikivoyage-data tillgängliga, uppdatera för att njuta. + Ladda ner dessa Wikivoyage-reseguider för att visa artiklar om platser runt om i världen utan en internetanslutning. + Uppdatering tillgänglig + Ladda ned fil + Den fria, världsomspännande reseguiden som alla kan redigera. + Resor är baserade på Wikivoyage. Testa alla funktioner under öppnen beta-testning gratis. Efteråt kommer resor att vara tillgängliga för prenumeranter av OsmAnd Obegränsad och ägare av OsmAnd+ + Du kan och borde redigera en artikel på Wikivoyage. Dela med sig av kunskap, erfarenhet, talang och din kännedom + Börja redigera + Få obegränsad tillgång + Välkommen till öppen beta + Reseguiden Wikivoyage + Guider till de mest intressanta platserna i världen, inuti OsmAnd, utan en internetanslutning. + Kartuppdateringar: Varje månad + Kartuppdateringar: Varje timme + Köp i app + Engångsbetalning + När det väl är köpt, blir det permanent tillgängligt för dig. + Köp - %1$s + Prenumerera - %1$s + + Wikivoyage offline + + Obegränsat antal nedladdningar + Wikipedia offline + Höjdkurvor & höjdreliefer + Låsa upp alla OsmAnd-funktioner + + Välj abonnemang + Köp något av följande för att läsa researtiklar offline: + Välj lämpligt val: + Gör inte + Gör + Endast på Wi-Fi + Hämta bilder + Bilder från artiklar kan laddas ner för användning offline. +\nDu kan alltid ändra inställningen i \"Utforska\" → \"Alternativ\". + Endast på Wi-Fi + Välj resebok + Resebok + Sidan endast tillgänglig online. Öppna i webbläsare? + Bildcache + Ta bort sökhistorik + Visa bilder + Reseguider + Wikivoyage + Artikeln borttagen + Innehåll + Världsomspännande Wikivoyage-artiklar + Mellanliggande ankomsttid + Mellanliggande tid + Använda OSM-Data och Wikipedia +\n• Högkvalitetsinformation från de bästa samarbetsprojekten i världen +\n• OSM-data som är tillgängliga per land eller region +\n• Wikipedia Intressepunkter, perfekt för sightseeing +\n• Obegränsat antal gratis nedladdningar, direkt från appen +\n• Kompakt offline vektorkartor uppdateras minst en gång i månaden +\n +\n• Val mellan hela regionen data och bara vägnätet (Exempel: Hela Japan är 700 MB eller endast vägnätet för 200 MB) + Säkerhetsfunktioner • Valfri växling mellan dag-/nattläge • Valfri visning av hastighet, med en påminnelse om du överskrider den • Valfri hastighetsbaserad zoomning • Dela din position så att dina vänner kan hitta dig + Funktioner för cykel och gående • Se vägar för gående och cyklande samt vandringsstigar, utmärkta för utomhusaktiviteter • Speciella ruttval och visningsläge för cykel och gående • Valfria kollektivtrafiksplatser (buss, spårvagn, tåg) inklusive linjenamn • Valfri reseinspelning till lokal GPX-fil eller onlinetjänst • Valfri visning av hastighet och höjd • Visa konturlinjer och höjdreliefer (via separat plugin) + Bidra direkt till OSM +\n• Rapportera databuggar +\n• Ladda upp GPX-spår till OSM direkt från appen +\n• Lägg till Intressepunkter och ladda upp dem direkt till OSM (eller senare om offline) +\n• Valfri reseinspelning i bakgrundsläge (när enheten är i strömsparläge) +\nOsmAnd utvecklas aktivt med öppen källkod. Alla kan bidra till appen genom att rapportera buggar, förbättra översättningar eller koda nya funktioner. Dock är projektet beroende av ekonomiska bidrag för att finansiera kodning och testning av nya funktioner. +\n + Ungefärlig karttäckning och kvalitet: +\n• Västeuropa: **** +\n• Östreuropa: *** +\n• Ryssland: *** +\n• Nordamerika: *** +\n• Sydamerika: ** +\n• Asien: ** +\n• Japan & Korea: *** +\n• Mellanöstern: ** +\n• Afrika: ** +\n• Antarktis: * +\nDe flesta länder runt om i världen finns som nedladdningar +\nFrån Afghanistan till Zimbabwe, från Australien till USA. Argentina, Brasilien, Kanada, Frankrike, Tyskland, Mexiko, Storbritannien, Spanien, ... +\n + Detta meddelande ingår i kommentarsfältet. + Välj kategorin du vill spara favoriten i. + Välj en valfri kategori. + POI-lista + Lägga till en eller flera POI-kategorier som ska visas på kartan. + Lägg till en kartstil + Fyll i alla parametrar + Kartstilar + Ändra kartöversikt + Du måste vara ansluten till Internet för att visa foton från Mapillary. + Lägg till ruttpunkter + Lägg till vägpunkt + Lägg till rad + Spara GPX-Waypoint + Spara ruttpunkt + Vägpunkt 1 + Ruttpunkt 1 + Lägg till och spela in spår + Spela in eller importera spår för att visa. + Lägg Till Favoriter + Importera eller markera favoriter på kartan. + Importera spår + Filen %1$ s innehåller inte vägpunkter, importera det som ett spår? + Flytta punkt + Lägg till i ett GPX-spår + OSM-mottagare + av + Vinter och skidor + Touringvy + Nautisk + Kopia punkt/POI namn + Ej namngiven plats + Tunnel framför + Hämta Wikipedia-artiklar om %1$s för att läsa dem offline. + Hämta Wikipedia-data + Öppna artikeln online + Visa artikeln i en webbläsare. + denna region + Söka efter motsvarande wiki-artikel + Artikeln hittades inte + Hur man öppnar Wikipedia-artiklar? + From 39b01122885d58dd02c645bdbca5c9a1384ce1be Mon Sep 17 00:00:00 2001 From: Verdulo Date: Tue, 15 May 2018 20:58:10 +0000 Subject: [PATCH 13/17] Translated using Weblate (Esperanto) Currently translated at 99.9% (3483 of 3484 strings) --- OsmAnd/res/values-eo/phrases.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-eo/phrases.xml b/OsmAnd/res/values-eo/phrases.xml index 0768508156..92e569ff0a 100644 --- a/OsmAnd/res/values-eo/phrases.xml +++ b/OsmAnd/res/values-eo/phrases.xml @@ -3861,4 +3861,8 @@ stampilo kodo memorkajero - + demandaro + elektronika ilo + Ekskurso + + From 529af1b64dbf80d07215fa174b6cc0a592defdf7 Mon Sep 17 00:00:00 2001 From: xmd5a Date: Wed, 16 May 2018 11:59:30 +0300 Subject: [PATCH 14/17] Add phrases --- OsmAnd/res/values-ru/phrases.xml | 2 ++ OsmAnd/res/values/phrases.xml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/OsmAnd/res/values-ru/phrases.xml b/OsmAnd/res/values-ru/phrases.xml index b07a911a36..3e7ee14a2c 100644 --- a/OsmAnd/res/values-ru/phrases.xml +++ b/OsmAnd/res/values-ru/phrases.xml @@ -3811,4 +3811,6 @@ Камень + Дата закрытия + diff --git a/OsmAnd/res/values/phrases.xml b/OsmAnd/res/values/phrases.xml index 311df0ee9f..5fa74d0755 100644 --- a/OsmAnd/res/values/phrases.xml +++ b/OsmAnd/res/values/phrases.xml @@ -3834,4 +3834,6 @@ Rock + End date + From 32469825b9770781fe615bd8d3e9c0ddf1141250 Mon Sep 17 00:00:00 2001 From: iman Date: Wed, 16 May 2018 09:11:27 +0000 Subject: [PATCH 15/17] Translated using Weblate (Persian) Currently translated at 100.0% (2595 of 2595 strings) --- OsmAnd/res/values-fa/strings.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OsmAnd/res/values-fa/strings.xml b/OsmAnd/res/values-fa/strings.xml index 93deb22290..d3ef1036c0 100644 --- a/OsmAnd/res/values-fa/strings.xml +++ b/OsmAnd/res/values-fa/strings.xml @@ -3257,4 +3257,6 @@ نشانک مناسب رانندگی برون‌جاده‌ای (آفرود). بهتر است با زیرلایهٔ سبزرنگ از تصاویر ماهواره‌ای استفاده شود. \nویژگی‌های اصلی: ضخامت کمتر برای راه‌های اصلی. ضخامت بیشتر برای trackها،‏ pathها، مسیرهای دوچرخه و سایر مسیرها. بر پایهٔ سبک Topo است. + زمان متوسط رسیدن + زمان متوسط From 4aeba9b449b829dbcfc39fbe4396efb536783266 Mon Sep 17 00:00:00 2001 From: Alexey Kulish Date: Wed, 16 May 2018 14:27:32 +0300 Subject: [PATCH 16/17] Added dialog for group name/color editing (waypoints) --- .../EditFavoriteGroupDialogFragment.java | 112 ++++--- .../osmand/plus/activities/TrackActivity.java | 12 +- .../osmand/plus/helpers/AndroidUiHelper.java | 7 +- .../EditTrackGroupDialogFragment.java | 309 ++++++++++++++++++ .../plus/myplaces/TrackPointFragment.java | 19 +- 5 files changed, 399 insertions(+), 60 deletions(-) create mode 100644 OsmAnd/src/net/osmand/plus/myplaces/EditTrackGroupDialogFragment.java diff --git a/OsmAnd/src/net/osmand/plus/activities/EditFavoriteGroupDialogFragment.java b/OsmAnd/src/net/osmand/plus/activities/EditFavoriteGroupDialogFragment.java index ef40e119ad..3d463dafab 100644 --- a/OsmAnd/src/net/osmand/plus/activities/EditFavoriteGroupDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/activities/EditFavoriteGroupDialogFragment.java @@ -1,5 +1,6 @@ package net.osmand.plus.activities; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; @@ -13,10 +14,13 @@ import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.view.ViewGroup.LayoutParams; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.EditText; +import android.widget.FrameLayout; import android.widget.ImageView; +import android.widget.LinearLayout; import android.widget.TextView; import net.osmand.AndroidUtils; @@ -66,26 +70,35 @@ public class EditFavoriteGroupDialogFragment extends MenuBottomSheetDialogFragme .setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - AlertDialog.Builder b = new AlertDialog.Builder(getContext()); - b.setTitle(R.string.favorite_group_name); - final EditText nameEditText = new EditText(getContext()); - nameEditText.setText(group.name); - b.setView(nameEditText); - b.setNegativeButton(R.string.shared_string_cancel, null); - b.setPositiveButton(R.string.shared_string_save, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - String name = nameEditText.getText().toString(); - boolean nameChanged = !Algorithms.objectEquals(group.name, name); - if (nameChanged) { - app.getFavorites() - .editFavouriteGroup(group, name, group.color, group.visible); - updateParentFragment(); + Activity activity = getActivity(); + if (activity != null) { + AlertDialog.Builder b = new AlertDialog.Builder(activity); + b.setTitle(R.string.favorite_group_name); + final EditText nameEditText = new EditText(activity); + nameEditText.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); + nameEditText.setText(group.name); + LinearLayout container = new LinearLayout(activity); + int sidePadding = AndroidUtils.dpToPx(activity, 24f); + int topPadding = AndroidUtils.dpToPx(activity, 4f); + container.setPadding(sidePadding, topPadding, sidePadding, topPadding); + container.addView(nameEditText); + b.setView(container); + b.setNegativeButton(R.string.shared_string_cancel, null); + b.setPositiveButton(R.string.shared_string_save, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + String name = nameEditText.getText().toString(); + boolean nameChanged = !Algorithms.objectEquals(group.name, name); + if (nameChanged) { + app.getFavorites() + .editFavouriteGroup(group, name, group.color, group.visible); + updateParentFragment(); + } + dismiss(); } - dismiss(); - } - }); - b.show(); + }); + b.show(); + } } }) .create(); @@ -102,35 +115,38 @@ public class EditFavoriteGroupDialogFragment extends MenuBottomSheetDialogFragme .setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - final ListPopupWindow popup = new ListPopupWindow(getActivity()); - popup.setAnchorView(changeColorView); - popup.setContentWidth(AndroidUtils.dpToPx(app, 200f)); - popup.setModal(true); - popup.setDropDownGravity(Gravity.END | Gravity.TOP); - if (AndroidUiHelper.isOrientationPortrait(getActivity())) { - popup.setVerticalOffset(AndroidUtils.dpToPx(app, 48f)); - } else { - popup.setVerticalOffset(AndroidUtils.dpToPx(app, -48f)); - } - popup.setHorizontalOffset(AndroidUtils.dpToPx(app, -6f)); - final FavoriteColorAdapter colorAdapter = new FavoriteColorAdapter(getActivity()); - popup.setAdapter(colorAdapter); - popup.setOnItemClickListener(new AdapterView.OnItemClickListener() { - @Override - public void onItemClick(AdapterView parent, View view, int position, long id) { - Integer color = colorAdapter.getItem(position); - if (color != null) { - if (color != group.color) { - app.getFavorites() - .editFavouriteGroup(group, group.name, color, group.visible); - updateParentFragment(); - } - } - popup.dismiss(); - dismiss(); + Activity activity = getActivity(); + if (activity != null) { + final ListPopupWindow popup = new ListPopupWindow(activity); + popup.setAnchorView(v); + popup.setContentWidth(AndroidUtils.dpToPx(app, 200f)); + popup.setModal(true); + popup.setDropDownGravity(Gravity.END | Gravity.TOP); + if (AndroidUiHelper.isOrientationPortrait(activity)) { + popup.setVerticalOffset(AndroidUtils.dpToPx(app, 48f)); + } else { + popup.setVerticalOffset(AndroidUtils.dpToPx(app, -48f)); } - }); - popup.show(); + popup.setHorizontalOffset(AndroidUtils.dpToPx(app, -6f)); + final FavoriteColorAdapter colorAdapter = new FavoriteColorAdapter(activity); + popup.setAdapter(colorAdapter); + popup.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + Integer color = colorAdapter.getItem(position); + if (color != null) { + if (color != group.color) { + app.getFavorites() + .editFavouriteGroup(group, group.name, color, group.visible); + updateParentFragment(); + } + } + popup.dismiss(); + dismiss(); + } + }); + popup.show(); + } } }) .create(); @@ -244,7 +260,7 @@ public class EditFavoriteGroupDialogFragment extends MenuBottomSheetDialogFragme private final OsmandApplication app; - FavoriteColorAdapter(Context context) { + public FavoriteColorAdapter(Context context) { super(context, R.layout.rendering_prop_menu_item); this.app = (OsmandApplication) getContext().getApplicationContext(); init(); diff --git a/OsmAnd/src/net/osmand/plus/activities/TrackActivity.java b/OsmAnd/src/net/osmand/plus/activities/TrackActivity.java index f775fb0ac0..8a10653d99 100644 --- a/OsmAnd/src/net/osmand/plus/activities/TrackActivity.java +++ b/OsmAnd/src/net/osmand/plus/activities/TrackActivity.java @@ -258,7 +258,8 @@ public class TrackActivity extends TabActivity { viewPager = (LockableViewPager) findViewById(R.id.pager); viewPager.setSwipeLocked(true); setViewPagerAdapter(viewPager, new ArrayList()); - new GPXFileLoaderTask(this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, (Void) null); + + loadGpx(); } @Override @@ -269,6 +270,10 @@ public class TrackActivity extends TabActivity { } } + public void loadGpx() { + new GPXFileLoaderTask(this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, (Void) null); + } + public OsmandApplication getMyApplication() { return (OsmandApplication) getApplication(); } @@ -276,6 +281,9 @@ public class TrackActivity extends TabActivity { @Override protected void onPause() { super.onPause(); + if (viewPager.getCurrentItem() == 1) { + openPointsTab = true; + } } @Override @@ -387,7 +395,7 @@ public class TrackActivity extends TabActivity { } } OsmandFragmentPagerAdapter pagerAdapter = (OsmandFragmentPagerAdapter) viewPager.getAdapter(); - if (pagerAdapter != null) { + if (pagerAdapter != null && pagerAdapter.getCount() == 0) { pagerAdapter.addTab(getTabIndicator(R.string.gpx_track, TrackSegmentFragment.class)); if (hasWayPoints() || hasRoutePoints()) { pagerAdapter.addTab(getTabIndicator(R.string.points, TrackPointFragment.class)); diff --git a/OsmAnd/src/net/osmand/plus/helpers/AndroidUiHelper.java b/OsmAnd/src/net/osmand/plus/helpers/AndroidUiHelper.java index 314725cdab..782c8f94b7 100644 --- a/OsmAnd/src/net/osmand/plus/helpers/AndroidUiHelper.java +++ b/OsmAnd/src/net/osmand/plus/helpers/AndroidUiHelper.java @@ -4,6 +4,7 @@ import net.osmand.PlatformUtil; import android.app.Activity; import android.content.pm.ActivityInfo; import android.content.res.Configuration; +import android.support.annotation.NonNull; import android.util.DisplayMetrics; import android.util.Log; import android.view.Surface; @@ -14,7 +15,7 @@ import android.view.View; */ public class AndroidUiHelper { - public static int getScreenOrientation(Activity activity) { + public static int getScreenOrientation(@NonNull Activity activity) { int rotation = activity.getWindowManager().getDefaultDisplay().getRotation(); DisplayMetrics dm = new DisplayMetrics(); activity.getWindowManager().getDefaultDisplay().getMetrics(dm); @@ -90,12 +91,12 @@ public class AndroidUiHelper { return false; } - public static boolean isXLargeDevice(Activity ctx) { + public static boolean isXLargeDevice(@NonNull Activity ctx) { int lt = (ctx.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK); return lt == Configuration.SCREENLAYOUT_SIZE_XLARGE; } - public static boolean isOrientationPortrait(Activity ctx) { + public static boolean isOrientationPortrait(@NonNull Activity ctx) { int orientation = AndroidUiHelper.getScreenOrientation(ctx); return orientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT || orientation == ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT; diff --git a/OsmAnd/src/net/osmand/plus/myplaces/EditTrackGroupDialogFragment.java b/OsmAnd/src/net/osmand/plus/myplaces/EditTrackGroupDialogFragment.java new file mode 100644 index 0000000000..ebbf0f4646 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/myplaces/EditTrackGroupDialogFragment.java @@ -0,0 +1,309 @@ +package net.osmand.plus.myplaces; + +import android.app.Activity; +import android.app.ProgressDialog; +import android.content.Context; +import android.content.DialogInterface; +import android.os.AsyncTask; +import android.os.Bundle; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentManager; +import android.support.v7.app.AlertDialog; +import android.support.v7.widget.ListPopupWindow; +import android.text.TextUtils; +import android.view.ContextThemeWrapper; +import android.view.Gravity; +import android.view.View; +import android.view.ViewGroup.LayoutParams; +import android.widget.AdapterView; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.LinearLayout; + +import net.osmand.AndroidUtils; +import net.osmand.plus.GPXUtilities; +import net.osmand.plus.GPXUtilities.GPXFile; +import net.osmand.plus.GPXUtilities.WptPt; +import net.osmand.plus.GpxSelectionHelper.GpxDisplayGroup; +import net.osmand.plus.GpxSelectionHelper.GpxDisplayItem; +import net.osmand.plus.MapMarkersHelper; +import net.osmand.plus.MapMarkersHelper.MapMarkersGroup; +import net.osmand.plus.OsmandApplication; +import net.osmand.plus.R; +import net.osmand.plus.activities.EditFavoriteGroupDialogFragment.FavoriteColorAdapter; +import net.osmand.plus.activities.SavingTrackHelper; +import net.osmand.plus.activities.TrackActivity; +import net.osmand.plus.base.MenuBottomSheetDialogFragment; +import net.osmand.plus.base.bottomsheetmenu.BaseBottomSheetItem; +import net.osmand.plus.base.bottomsheetmenu.SimpleBottomSheetItem; +import net.osmand.plus.base.bottomsheetmenu.simpleitems.TitleItem; +import net.osmand.plus.helpers.AndroidUiHelper; +import net.osmand.util.Algorithms; + +import java.io.File; +import java.lang.ref.WeakReference; +import java.util.List; + +public class EditTrackGroupDialogFragment extends MenuBottomSheetDialogFragment { + public static final String TAG = EditTrackGroupDialogFragment.class.getSimpleName(); + + private GpxDisplayGroup group; + + @Override + public void createMenuItems(Bundle savedInstanceState) { + final OsmandApplication app = getMyApplication(); + if (group == null) { + return; + } + items.add(new TitleItem(getCategoryName(app, group.getName()))); + + BaseBottomSheetItem editNameItem = new SimpleBottomSheetItem.Builder() + .setIcon(getContentIcon(R.drawable.ic_action_edit_dark)) + .setTitle(getString(R.string.edit_name)) + .setLayoutId(R.layout.bottom_sheet_item_simple) + .setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Activity activity = getActivity(); + if (activity != null) { + AlertDialog.Builder b = new AlertDialog.Builder(activity); + b.setTitle(R.string.favorite_group_name); + final EditText nameEditText = new EditText(activity); + nameEditText.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); + nameEditText.setText(group.getName()); + LinearLayout container = new LinearLayout(activity); + int sidePadding = AndroidUtils.dpToPx(activity, 24f); + int topPadding = AndroidUtils.dpToPx(activity, 4f); + container.setPadding(sidePadding, topPadding, sidePadding, topPadding); + container.addView(nameEditText); + b.setView(container); + b.setNegativeButton(R.string.shared_string_cancel, null); + b.setPositiveButton(R.string.shared_string_save, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + String name = nameEditText.getText().toString(); + boolean nameChanged = !Algorithms.objectEquals(group.getName(), name); + if (nameChanged) { + TrackActivity trackActivity = getTrackActivity(); + if (trackActivity != null) { + new UpdateGpxCategoryTask(trackActivity, group, name) + .executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + } + } + dismiss(); + } + }); + b.show(); + } + } + }) + .create(); + items.add(editNameItem); + + final int themeRes = nightMode ? R.style.OsmandDarkTheme : R.style.OsmandLightTheme; + final View changeColorView = View.inflate(new ContextThemeWrapper(getContext(), themeRes), + R.layout.change_fav_color, null); + ((ImageView) changeColorView.findViewById(R.id.change_color_icon)) + .setImageDrawable(getContentIcon(R.drawable.ic_action_appearance)); + updateColorView((ImageView) changeColorView.findViewById(R.id.colorImage)); + BaseBottomSheetItem changeColorItem = new BaseBottomSheetItem.Builder() + .setCustomView(changeColorView) + .setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Activity activity = getActivity(); + if (activity != null) { + final ListPopupWindow popup = new ListPopupWindow(activity); + popup.setAnchorView(v); + popup.setContentWidth(AndroidUtils.dpToPx(app, 200f)); + popup.setModal(true); + popup.setDropDownGravity(Gravity.END | Gravity.TOP); + if (AndroidUiHelper.isOrientationPortrait(activity)) { + popup.setVerticalOffset(AndroidUtils.dpToPx(app, 48f)); + } else { + popup.setVerticalOffset(AndroidUtils.dpToPx(app, -48f)); + } + popup.setHorizontalOffset(AndroidUtils.dpToPx(app, -6f)); + + final FavoriteColorAdapter colorAdapter = new FavoriteColorAdapter(activity); + popup.setAdapter(colorAdapter); + popup.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + Integer color = colorAdapter.getItem(position); + if (color != null) { + if (color != group.getColor()) { + TrackActivity trackActivity = getTrackActivity(); + if (trackActivity != null) { + new UpdateGpxCategoryTask(trackActivity, group, color) + .executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + } + } + } + popup.dismiss(); + dismiss(); + } + }); + popup.show(); + } + } + }) + .create(); + items.add(changeColorItem); + + } + + @Override + public void onResume() { + super.onResume(); + if (group == null) { + dismiss(); + } + } + + @Nullable + private TrackActivity getTrackActivity() { + Activity activity = getActivity(); + if (activity != null && activity instanceof TrackActivity) { + return (TrackActivity) activity; + } + return null; + } + + private static String getCategoryName(@NonNull Context ctx, String category) { + return Algorithms.isEmpty(category) ? ctx.getString(R.string.waypoints) : category; + } + + private void updateColorView(ImageView colorImageView) { + int color = (group.getColor() == 0 ? getResources().getColor(R.color.gpx_color_point) : group.getColor()) | 0xff000000; + if (color == 0) { + colorImageView.setImageDrawable(getContentIcon(R.drawable.ic_action_circle)); + } else { + colorImageView.setImageDrawable(getMyApplication().getIconsCache().getPaintedIcon(R.drawable.ic_action_circle, color)); + } + } + + public static void showInstance(FragmentManager fragmentManager, GpxDisplayGroup group) { + EditTrackGroupDialogFragment f = (EditTrackGroupDialogFragment) fragmentManager + .findFragmentByTag(EditTrackGroupDialogFragment.TAG); + if (f == null ) { + f = new EditTrackGroupDialogFragment(); + f.group = group; + f.show(fragmentManager, EditTrackGroupDialogFragment.TAG); + } + } + + private static class UpdateGpxCategoryTask extends AsyncTask { + + private OsmandApplication app; + private WeakReference activityRef; + + private GpxDisplayGroup group; + + private String newCategory; + private Integer newColor; + + private ProgressDialog progressDialog; + private boolean wasUpdated = false; + + private UpdateGpxCategoryTask(@NonNull TrackActivity activity, @NonNull GpxDisplayGroup group) { + this.app = (OsmandApplication) activity.getApplication(); + activityRef = new WeakReference<>(activity); + + this.group = group; + } + + UpdateGpxCategoryTask(@NonNull TrackActivity activity, @NonNull GpxDisplayGroup group, + @NonNull String newCategory) { + this(activity, group); + this.newCategory = newCategory; + } + + UpdateGpxCategoryTask(@NonNull TrackActivity activity, @NonNull GpxDisplayGroup group, + @NonNull Integer newColor) { + this(activity, group); + this.newColor = newColor; + } + + @Override + protected void onPreExecute() { + TrackActivity activity = activityRef.get(); + if (activity != null) { + progressDialog = new ProgressDialog(activity); + progressDialog.setTitle(EditTrackGroupDialogFragment.getCategoryName(app, group.getName())); + progressDialog.setMessage(newCategory != null ? "Changing name" : "Changing color"); + progressDialog.setCancelable(false); + progressDialog.show(); + + GPXFile gpxFile = group.getGpx(); + if (gpxFile != null) { + SavingTrackHelper savingTrackHelper = app.getSavingTrackHelper(); + List items = group.getModifiableList(); + String prevCategory = group.getName(); + boolean emptyCategory = TextUtils.isEmpty(prevCategory); + for (GpxDisplayItem item : items) { + WptPt wpt = item.locationStart; + if (wpt != null) { + boolean update = false; + if (emptyCategory) { + if (TextUtils.isEmpty(wpt.category)) { + update = true; + } + } else if (prevCategory.equals(wpt.category)) { + update = true; + } + if (update) { + wasUpdated = true; + String category = newCategory != null ? newCategory : wpt.category; + int color = newColor != null ? newColor : wpt.colourARGB; + if (gpxFile.showCurrentTrack) { + savingTrackHelper.updatePointData(wpt, wpt.getLatitude(), wpt.getLongitude(), + System.currentTimeMillis(), wpt.desc, wpt.name, category, color); + } else { + gpxFile.updateWptPt(wpt, wpt.getLatitude(), wpt.getLongitude(), + System.currentTimeMillis(), wpt.desc, wpt.name, category, color); + } + } + } + } + } + } + } + + @Override + protected Void doInBackground(Void... voids) { + GPXFile gpxFile = group.getGpx(); + if (gpxFile != null && !gpxFile.showCurrentTrack && wasUpdated) { + GPXUtilities.writeGpxFile(new File(gpxFile.path), gpxFile, app); + } + return null; + } + + @Override + protected void onPostExecute(Void aVoid) { + GPXFile gpxFile = group.getGpx(); + if (gpxFile != null && wasUpdated) { + syncGpx(gpxFile); + } + + if (progressDialog != null && progressDialog.isShowing()) { + progressDialog.dismiss(); + } + + TrackActivity activity = activityRef.get(); + if (activity != null) { + activity.loadGpx(); + } + } + + private void syncGpx(GPXFile gpxFile) { + MapMarkersHelper markersHelper = app.getMapMarkersHelper(); + MapMarkersGroup group = markersHelper.getMarkersGroup(gpxFile); + if (group != null) { + markersHelper.runSynchronization(group); + } + } + } +} diff --git a/OsmAnd/src/net/osmand/plus/myplaces/TrackPointFragment.java b/OsmAnd/src/net/osmand/plus/myplaces/TrackPointFragment.java index f24339421f..6e78b2f0fb 100644 --- a/OsmAnd/src/net/osmand/plus/myplaces/TrackPointFragment.java +++ b/OsmAnd/src/net/osmand/plus/myplaces/TrackPointFragment.java @@ -11,6 +11,7 @@ import android.os.Handler; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.design.widget.Snackbar; +import android.support.v4.app.FragmentActivity; import android.support.v4.content.ContextCompat; import android.support.v4.view.MenuItemCompat; import android.support.v7.app.AlertDialog; @@ -38,6 +39,8 @@ import android.widget.ListView; import android.widget.TextView; import net.osmand.AndroidUtils; +import net.osmand.Collator; +import net.osmand.OsmAndCollator; import net.osmand.data.FavouritePoint; import net.osmand.data.LatLon; import net.osmand.data.PointDescription; @@ -68,7 +71,6 @@ import net.osmand.util.Algorithms; import java.io.File; import java.lang.ref.WeakReference; -import java.text.Collator; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; @@ -681,8 +683,7 @@ public class TrackPointFragment extends OsmandExpandableListFragment implements Comparator comparator; PointGPXAdapter() { - final Collator collator = Collator.getInstance(); - collator.setStrength(Collator.SECONDARY); + final Collator collator = OsmAndCollator.primaryCollator(); comparator = new Comparator() { @Override public int compare(String s1, String s2) { @@ -773,6 +774,9 @@ public class TrackPointFragment extends OsmandExpandableListFragment implements break; } } + List headerGroupItems = headerGroup.getModifiableList(); + headerGroupItems.clear(); + headerGroupItems.addAll(values); itemGroups.put(headerGroup, values); groups.add(headerGroup); } else { @@ -925,9 +929,9 @@ public class TrackPointFragment extends OsmandExpandableListFragment implements options.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - Activity activity = getActivity(); + FragmentActivity activity = getActivity(); if (activity != null) { - // todo + EditTrackGroupDialogFragment.showInstance(activity.getSupportFragmentManager(), group); } } }); @@ -1011,7 +1015,7 @@ public class TrackPointFragment extends OsmandExpandableListFragment implements options.setImageDrawable(iconsCache.getThemedIcon(R.drawable.ic_overflow_menu_white)); } if (childPosition == 0) { - row.findViewById(R.id.divider).setVisibility(View.VISIBLE); + row.findViewById(R.id.divider).setVisibility(View.GONE); row.findViewById(R.id.list_divider).setVisibility(View.GONE); } else { row.findViewById(R.id.divider).setVisibility(View.GONE); @@ -1146,7 +1150,8 @@ public class TrackPointFragment extends OsmandExpandableListFragment implements for (GpxDisplayItem i : g.getModifiableList()) { if (i.name.toLowerCase().contains(cs)) { filter.add(i); - } else if (i.locationStart != null && cs.equals(i.locationStart.category)) { + } else if (i.locationStart != null && !TextUtils.isEmpty(i.locationStart.category) + && i.locationStart.category.toLowerCase().contains(cs)) { filter.add(i.locationStart.category); } } From 989b9f6fb14078d7160274722ea6a90e1868b31f Mon Sep 17 00:00:00 2001 From: Chumva Date: Wed, 16 May 2018 14:34:30 +0300 Subject: [PATCH 17/17] fix translation --- OsmAnd/res/values-sv/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-sv/strings.xml b/OsmAnd/res/values-sv/strings.xml index c1384f9fb2..9c2afcb0ec 100644 --- a/OsmAnd/res/values-sv/strings.xml +++ b/OsmAnd/res/values-sv/strings.xml @@ -3075,7 +3075,7 @@ Vänligen tillhandahåll fullständig kod Lägg Till Favoriter Importera eller markera favoriter på kartan. Importera spår - Filen %1$ s innehåller inte vägpunkter, importera det som ett spår? + Filen %1$s innehåller inte vägpunkter, importera det som ett spår? Flytta punkt Lägg till i ett GPX-spår OSM-mottagare