From 7c5af8727a3384273d0bffca15090aa427d3b2e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Michalski?= Date: Thu, 24 Jul 2014 14:47:04 +0200 Subject: [PATCH 01/25] Translated using Weblate (Polish) Currently translated at 100.0% (1473 of 1473 strings) --- OsmAnd/res/values-pl/strings.xml | 55 ++++++++++++++++++++++++++------ 1 file changed, 45 insertions(+), 10 deletions(-) diff --git a/OsmAnd/res/values-pl/strings.xml b/OsmAnd/res/values-pl/strings.xml index dea7407490..893ae53b25 100644 --- a/OsmAnd/res/values-pl/strings.xml +++ b/OsmAnd/res/values-pl/strings.xml @@ -1,4 +1,5 @@ -"Zmiany w 0.6.9: \n\t- poprawiono renderowanie map offline \n\t- szybkie renderowanie natywne (wersja eksperymentalna - może nie działać na niektórych urządzeniach) \n\t- poprawki w interfejsie \n\t- dodano wyświetlanie informacji o wysokości (altitude) \n\t- nowe tłumaczenia (polskie, wietnamskie) \n\t- inne, mniejsze poprawki " + +"Zmiany w 0.6.9: \n\t- poprawiono renderowanie map offline \n\t- szybkie renderowanie natywne (wersja eksperymentalna - może nie działać na niektórych urządzeniach) \n\t- poprawki w interfejsie \n\t- dodano wyświetlanie informacji o wysokości (altitude) \n\t- nowe tłumaczenia (polskie, wietnamskie) \n\t- inne, mniejsze poprawki " Przezroczysty styl Biblioteka renderowania natywnego nie jest obsługiwana na tym urządzeniu. @@ -1252,10 +1253,10 @@ Motyw aplikacji Opcje ułatwień dostępu Wybierz motyw aplikacji - Usługi śledzenia i tryb uśpienia + Usługi śledzenia Skonfiguruj opcje zapisywania wycieczek oraz włącz tryb uśpienia Włącz śledzenie i nawigację w trybie uśpienia (zablokowany ekran) poprzez okresowe wybudzanie urządzenia GPS. Wyświetl ustawienia dotyczące nagrywania wycieczek do plików GPX lub usługi sieciowej. - Usługi śledzenia i tryb uśpienia + Usługi śledzenia Zmiany w 1.3: \n\t* Ponowna implementacja wsparcia dla tabletów i dużych ekranów \n\t* Motyw Holo (dostosowywanie) @@ -1700,11 +1701,7 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant Nieprawidłowy format: %s Unikatowy identyfikator urządzenia Skonfiguruj monitorowanie i ustaw osobisty kanał monitorowania - OpenStreetMap-Monitoring - Zaawansowany Monitoring na Żywo. Daje możliwość śledzenia innych urządzeń i vice versa. - Twórz anonimowe grupy, dziel się lokalizacją i prowadź komunikację. System ma wiele ustawień dla śledzenia w sesji lub stałego śledzenia. - Grupy anonimowe mają ograniczenia czasowe i funkcjonalne, np. nie ma zdalnej kontroli i administratora grupy. - W pełni funkcjonalne grupy powinny być tworzone przez witrynę, a dostęp zarezerwowany tylko dla zarejestrowanych użytkowników. - Więcej na http://osmo.mobi. + "OpenStreetMap zaawansowany monitoring na żywo - zobacz http://osmo.mobi. Daje możliwość śledzenia innych urządzeń i vice versa. Twórz anonimowe grupy, dziel się lokalizacją i prowadź komunikację. System ma wiele ustawień dla śledzenia w sesji lub stałego śledzenia. Grupy anonimowe mają ograniczenia czasowe i funkcjonalne, np. nie ma zdalnej kontroli i administratora grupy. W pełni funkcjonalne grupy powinny być tworzone przez witrynę, a dostęp zarezerwowany tylko dla zarejestrowanych użytkowników. " OsMo (Zaawansowany Monitoring na Żywo) OsMo Monitoring OpenStreetMap (beta) Nigdy @@ -1860,5 +1857,43 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant Pobrano %1$s ścieżek OsMo. Brak danych do pobrania, proszę sprawdź połączenie internetowe. Błąd autoryzacji - Wystąpił błąd autoryzacji : %1$s.↵\n Być może tymczasowy serwis jest zatrzymany lub straciła ważność twoja rejestracja.↵\n Chcesz kontynuować z nową rejestracją. - \ No newline at end of file + Wystąpił błąd autoryzacji : %1$s.\n Być może tymczasowy serwis jest zatrzymany lub straciła ważność twoja rejestracja.\n Chcesz kontynuować z nową rejestracją. + Utrzymuj + Stop + Włącz tryb uśpienia + Interwał wybudzania GPS + Czy trzymać włączony GPS? + Preferowany język dla etykiet na mapie (jeśli nie jest dostępny, a zostanie wybrany język angielski lub z lokalnymi nazwami) + Preferowany język map + Nazwy lokalne + Suahili + Hebrajski + Do przodu + Dom + Wysyłaj aktualną pozycję do określonej usługi internetowej, jeśli nagrywanie GPX jest włączone. + Śledzenia online (wymagane GPX) + Uruchom śledzenie online + Zatrzymaj śledzenie online + Uruchom nagrywanie GPX + Zatrzymaj nagrywanie GPX + Zacznij nowy segment + Ukryj budynki + Ukryj trasy niedostępne dla aut + Ukryj opisy + Ukryj drewna i zarośla + Budynki na przypliżeniu 15 + Więcej szczegółów + Mniej szczegółów + Ukryj typ dostępu + Pokaż typ dostępu + Pokaż jakość dróg + Pokaż nawierzchnię dróg + Pokaż ścieżki rowerowe + Albański + Arabski + Perski + Sardyński + Serbski + Chiński uproszczony + Chiński tradycyjny + From 7b10178d601ba8a7e2fd7171ffd4daff5bebbc27 Mon Sep 17 00:00:00 2001 From: Ludek M Date: Thu, 24 Jul 2014 08:07:27 +0200 Subject: [PATCH 02/25] Translated using Weblate (Czech) Currently translated at 99.1% (1461 of 1473 strings) --- OsmAnd/res/values-cs/strings.xml | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-cs/strings.xml b/OsmAnd/res/values-cs/strings.xml index 1e6a078cb1..a3cdecc98d 100644 --- a/OsmAnd/res/values-cs/strings.xml +++ b/OsmAnd/res/values-cs/strings.xml @@ -1646,7 +1646,7 @@ s často kladenými otázkami. Skrýt lesy a křoviny Ukázat povrchy cest Prosím čtěte před vytvářením skupiny! - " - Všechny vytvořené skupiny jsou veřejné! Pokud chcete být anonymní, připojte zařízení přímo přes ID\n - Do skupiny se může registrovat až 16 lidí. + " - Všechny vytvořené skupiny jsou veřejné! Pokud chcete být anonymní, připojte zařízení přímo přes ID.\n - Do skupiny se může registrovat až 16 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" 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. @@ -1654,4 +1654,27 @@ s často kladenými otázkami. Zobrazit cyklostezky Vpřed Domů + Ponechat + Zastavit + Zapnout režim spánku + Interval probouzení GPS + Udržovat GPS zapnutou? + Preferovaný jazyk pro nápisy na mapě (pokud není dostupný budou použité anglické nebo lokální názvy) + Preferovaný jazyk mapy + Lokální názvy + Pokud je zapnutý záznam GPX trasy, odesílat trasování určené webové službě. + Online záznam trasy (nutné GPX) + Zapnout online záznam trasy + Zastavit online záznam trasy + Zapnout záznam GPX + Zastavit záznam GPX + Začít nový segment + Skrýt cesty které nejsou pro vozidla + Budovy při přiblížení 15 + Více detailů + Méně detailů + Skrýt typ přístupu + Zobrazit typ přístupu + Zobrazit kvalitu cest + Vstoupit na pozvánku From 303a3cc12f1b3cd11f74d27b560ada0f90d09347 Mon Sep 17 00:00:00 2001 From: Hinagiku Zeppeki Date: Thu, 24 Jul 2014 11:59:22 +0200 Subject: [PATCH 03/25] Translated using Weblate (Japanese) Currently translated at 91.0% (1341 of 1473 strings) --- OsmAnd/res/values-ja/strings.xml | 55 ++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/OsmAnd/res/values-ja/strings.xml b/OsmAnd/res/values-ja/strings.xml index e2e71a3587..26f325d528 100644 --- a/OsmAnd/res/values-ja/strings.xml +++ b/OsmAnd/res/values-ja/strings.xml @@ -1858,4 +1858,59 @@ OsmAndはオープンソースであり、活発に開発が進められいま \n\nマップ上に表示するには長押ししてください ターン・バイ・ターン形式誘導を自動起動 選択済み + "サブトラック: %1$s " + "経由点: %1$s " + "距離: %1$s (%2$s 地点) " + "出発時間: %1$tF, %1$tT " + "到着時間: %1$tF, %1$tT " + "平均速度: %1$s " + "最高速度: %1$s " + 平均標高: %1$s + 標高差: %1$s + 上昇/下降: %1$s + 移動時間: %1$s + 全長時間: %1$s + セグメント + " %1$s 地点" + 地点 %1$s + 記録中 + %1$s ↵\nルート地点 %2$s + %1$s ↵\n地点 + %1$s ↵\nトラック %2$s + 現在記録中トラック + GPSトラックは空です + 選択されたトラック + 全てのトラック + お気に入り + お気に入り + お気に入り + ユーザー %1$sはグループ %2$sに参加しました + ユーザー %1$sはグループ %2$sから離れました + グループに関する通知を表示 + ユーザーがグループに参加もしくは離れると簡易メッセージを表示 + フォロー + サインイン + グループを作成するためには、OsMoの登録ユーザである必要があります。 + お使いのOsMoの登録情報が有効ではありません。 + あなたの個人IDを再作成してよろしいですか?再作成した場合接続されたすべてのデバイスは、あなたを追跡することができません。 + ユーザーIDを再作成する + 移動する目標をキャンセル + 画面上の中央 + 目標が移動すると設定する + 登録名 + ニックネーム + ユーザー + レッド + ピンク + オレンジ + ブラウン + イエロー + ライトブルー + ブルー + グリーン + + ユーザープロパティの変更 + 表示色 + インフォメーション + OsMoグループ From cf98131ab969fbaa3d8c8988766e2b8170036a01 Mon Sep 17 00:00:00 2001 From: ezjerry liao Date: Thu, 24 Jul 2014 13:57:10 +0200 Subject: [PATCH 04/25] Translated using Weblate (Traditional Chinese) Currently translated at 100.0% (1473 of 1473 strings) --- OsmAnd/res/values-zh-rTW/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index b1d46497f4..05aff46455 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -1522,7 +1522,7 @@ OsmAnd 是開放原始碼,而且正在積極的開發。應用程式從報告 保留中間點 您已經有中間點設定。 導引到 - 導引來自 + 從此導引 地圖: 到: 經過: From b983284fa3ddaa119143c3f8294e3b672d37c468 Mon Sep 17 00:00:00 2001 From: Viktar Palstsiuk Date: Thu, 24 Jul 2014 21:12:06 +0200 Subject: [PATCH 05/25] Translated using Weblate (Belarusian) Currently translated at 100.0% (1473 of 1473 strings) --- OsmAnd/res/values-be/strings.xml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-be/strings.xml b/OsmAnd/res/values-be/strings.xml index 02f27972a2..92e37ebcc7 100644 --- a/OsmAnd/res/values-be/strings.xml +++ b/OsmAnd/res/values-be/strings.xml @@ -1,4 +1,4 @@ - + Без аўтаматычнага масштабіраваньня Зачыніць Для сярэдняга масштаба @@ -1906,4 +1906,10 @@ OsmAnd мае адкрыты зыходны код і актыўна разві Спыніць адсочваньне праз Інтэрнэт Адсочваньне праз Інтэрнэт (патрабуецца GPX) Адсылаць месцазнаходжаньне на пазначаны вэб сэрвіс пры ўключаным запісе GPX. + альбанская + арабская + сэрбская + кітайская спрошчаная + кітайская традыцыйная + сардынская From 4e7d33fdcbcc9274fe36b26ccc487289010fc37f Mon Sep 17 00:00:00 2001 From: Victor Shcherb Date: Fri, 25 Jul 2014 14:30:07 +0200 Subject: [PATCH 06/25] Update sherpafy --- .../sherpafy/SherpafyFavoriteFragment.java | 64 +++++++ .../SherpafyFavoritesListFragment.java | 158 ++++++++++++++++ .../plus/sherpafy/SherpafyStageFragment.java | 71 +++++-- .../sherpafy/SherpafyStageInfoFragment.java | 4 +- .../SherpafyStageItineraryFragment.java | 18 +- .../plus/sherpafy/SherpafyTourFragment.java | 4 +- .../osmand/plus/sherpafy/TourInformation.java | 175 +++++++++++++++--- .../plus/sherpafy/TourViewActivity.java | 14 ++ 8 files changed, 453 insertions(+), 55 deletions(-) create mode 100644 OsmAnd/src/net/osmand/plus/sherpafy/SherpafyFavoriteFragment.java create mode 100644 OsmAnd/src/net/osmand/plus/sherpafy/SherpafyFavoritesListFragment.java diff --git a/OsmAnd/src/net/osmand/plus/sherpafy/SherpafyFavoriteFragment.java b/OsmAnd/src/net/osmand/plus/sherpafy/SherpafyFavoriteFragment.java new file mode 100644 index 0000000000..3949608194 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/sherpafy/SherpafyFavoriteFragment.java @@ -0,0 +1,64 @@ +package net.osmand.plus.sherpafy; + +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuInflater; +import com.actionbarsherlock.view.MenuItem; + +import net.osmand.plus.R; +import net.osmand.plus.sherpafy.TourInformation.StageFavorite; +import android.app.Activity; +import android.view.View; +import android.webkit.WebView; +import android.widget.ImageView; +import android.widget.TextView; + +public class SherpafyFavoriteFragment extends SherpafyStageInfoFragment { + private static final int SHOW_ON_MAP = 10; + public static final String FAV_PARAM = null; + private StageFavorite fav; + + @Override + public void onAttach(Activity activity) { + super.onAttach(activity); + int k = getArguments().getInt(FAV_PARAM); + if(stage != null) { + fav = (StageFavorite) stage.getFavorites().get(k); + getSherlockActivity().getSupportActionBar().setTitle(fav.getName()); + } + } + + protected void updateView(WebView description, ImageView icon, TextView additional, TextView text, TextView header) { + if (fav.getImage() != null) { + icon.setImageBitmap(fav.getImage()); + } else { + icon.setVisibility(View.GONE); + } + additional.setVisibility(View.GONE); + header.setText(fav.getName()); + text.setText(fav.getShortDescription()); + description.loadData("" + fav.getFullDescription() + " k) { + stage = tour.getStageInformation().get(k); + } + setHasOptionsMenu(true); + } + + @Override + public void onResume() { + super.onResume(); + if(tour != null) { + getSherlockActivity().getSupportActionBar().setTitle(tour.getName()); + } + } + + @Override + public void onListItemClick(ListView l, View v, int position, long id) { + Object item = getListAdapter().getItem(position); + if (item instanceof StageFavorite) { + ((TourViewActivity) getSherlockActivity()).showFavoriteFragment(stage, (StageFavorite) item); + } + } + + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (item.getItemId() == android.R.id.home) { + ((TourViewActivity) getSherlockActivity()).showSelectedItem(); + return true; + } + return super.onOptionsItemSelected(item); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View v = super.onCreateView(inflater, container, savedInstanceState); + imageView = new ImageView(getActivity()); + imageView.setLayoutParams(new AbsListView.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); + imageView.setScaleType(ScaleType.CENTER_CROP); + return v; + } + + @Override + public void onActivityCreated(Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + favAdapter = new FavoriteAdapter(stage.getFavorites()); + setListAdapter(favAdapter); + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + setListAdapter(null); + } + + class FavoriteAdapter extends ArrayAdapter { + + public FavoriteAdapter(List list) { + super(getActivity(), R.layout.sherpafy_stage_list_item, list); + } + + @Override + public View getView(final int position, View convertView, ViewGroup parent) { + View row = convertView; + if (row == null) { + LayoutInflater inflater = getActivity().getLayoutInflater(); + row = inflater.inflate(R.layout.sherpafy_stage_list_item, parent, false); + } + Object ti = getItem(position); + TextView header = (TextView) row.findViewById(R.id.HeaderText); + ImageView img = (ImageView) row.findViewById(R.id.Icon); + TextView text = (TextView) row.findViewById(R.id.Text); + TextView addtext = (TextView) row.findViewById(R.id.AdditionalText); + + if (ti instanceof StageFavoriteGroup) { + addtext.setText(""); + text.setTextColor(((StageFavoriteGroup)ti).getColor()); + text.setText(((StageFavoriteGroup)ti).getName()); + header.setVisibility(View.GONE); + img.setVisibility(View.GONE); + img.setImageDrawable(null); + } else if(ti instanceof StageFavorite){ + StageFavorite sf = ((StageFavorite)ti); + if(stage.startPoint != null && sf.location != null) { + double d = MapUtils.getDistance(stage.startPoint, sf.location); + addtext.setText(OsmAndFormatter.getFormattedDistance((float) d, getMyApplication())); + } else { + addtext.setText(""); + } + header.setVisibility(View.VISIBLE); + header.setText(sf.getName()); + text.setTextColor(StageImageDrawable.MENU_COLOR); + text.setText(sf.getShortDescription()); + img.setVisibility(View.VISIBLE); + img.setImageDrawable(new StageImageDrawable(getActivity(), sf.getGroup().getColor(), sf + .getName().substring(0, 1), 0)); + + } + return row; + } + } + + private OsmandApplication getMyApplication() { + return (OsmandApplication) getActivity().getApplication(); + } + +} \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/sherpafy/SherpafyStageFragment.java b/OsmAnd/src/net/osmand/plus/sherpafy/SherpafyStageFragment.java index 8bfcc6eb2e..ccd296bf6b 100644 --- a/OsmAnd/src/net/osmand/plus/sherpafy/SherpafyStageFragment.java +++ b/OsmAnd/src/net/osmand/plus/sherpafy/SherpafyStageFragment.java @@ -1,5 +1,6 @@ package net.osmand.plus.sherpafy; +import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; @@ -9,6 +10,7 @@ import net.osmand.plus.GPXUtilities.WptPt; import net.osmand.plus.GpxSelectionHelper.SelectedGpxFile; import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; +import net.osmand.plus.sherpafy.TourInformation.StageFavoriteGroup; import net.osmand.plus.sherpafy.TourInformation.StageInformation; import android.app.Activity; import android.content.Context; @@ -18,7 +20,7 @@ import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentActivity; +import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.text.Html; @@ -72,8 +74,8 @@ public class SherpafyStageFragment extends SherlockFragment { int k = getArguments().getInt(STAGE_PARAM); if(tour != null && tour.getStageInformation().size() > k) { stage = tour.getStageInformation().get(k); - getSherlockActivity().getSupportActionBar().setTitle(getString(R.string.tab_stage) + " " + (k+1)); } + getSherlockActivity().getSupportActionBar().setTitle(getString(R.string.tab_stage) + " " + (k+1)); } @@ -111,18 +113,49 @@ public class SherpafyStageFragment extends SherlockFragment { tabHost.setup(); ViewPager mViewPager = (ViewPager) view.findViewById(R.id.pager); - mTabsAdapter = new TabsAdapter(getSherlockActivity(), tabHost, mViewPager); - mTabsAdapter.addTab(tabHost.newTabSpec("INFO").setIndicator(getString(R.string.sherpafy_stage_tab_info)), - SherpafyStageInfoFragment.class, null); - mTabsAdapter.addTab(tabHost.newTabSpec("ROUTE").setIndicator(getString(R.string.sherpafy_stage_tab_route)), - SherpafyStageItineraryFragment.class, null); - mTabsAdapter.addTab(tabHost.newTabSpec("FAV").setIndicator(getString(R.string.sherpafy_stage_tab_fav)), - SherpafyStageInfoFragment.class, null); - mTabsAdapter.addTab(tabHost.newTabSpec("TARGET").setIndicator(getString(R.string.sherpafy_stage_tab_target)), - SherpafyStageItineraryFragment.class, null); + + mTabsAdapter = new TabsAdapter(getChildFragmentManager(), getSherlockActivity(), tabHost, mViewPager, stage); + if (stage != null) { + mTabsAdapter.addTab(tabHost.newTabSpec("INFO").setIndicator(getString(R.string.sherpafy_stage_tab_info)), + SherpafyStageInfoFragment.class); + if (!stage.getItinerary().equals("")) { + mTabsAdapter.addTab( + tabHost.newTabSpec("ROUTE").setIndicator(getString(R.string.sherpafy_stage_tab_route)), + SherpafyStageItineraryFragment.class); + } + if (stage.getFavorites().size() > 0) { + mTabsAdapter.addTab(tabHost.newTabSpec("FAV").setIndicator(getString(R.string.sherpafy_stage_tab_fav)), + SherpafyFavoritesListFragment.class); + } + StageFavoriteGroup group = stage.getGroupById("destination"); + if (group != null && group.getFavorites().size() > 0) { + int o = group.getFavorites().get(0).getOrder(); + Bundle bl = new Bundle(); + bl.putInt(SherpafyFavoriteFragment.FAV_PARAM, o); + mTabsAdapter.addTab( + tabHost.newTabSpec("TARGET").setIndicator(getString(R.string.sherpafy_stage_tab_target)), + SherpafyFavoriteFragment.class, bl); + } + } return view; } + @Override + public void onDetach() { + super.onDetach(); + + try { + Field childFragmentManager = Fragment.class.getDeclaredField("mChildFragmentManager"); + childFragmentManager.setAccessible(true); + childFragmentManager.set(this, null); + + } catch (NoSuchFieldException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + } + ///////// private ImageGetter getImageGetter(final View v) { return new Html.ImageGetter() { @@ -222,6 +255,7 @@ public class SherpafyStageFragment extends SherlockFragment { private final TabHost mTabHost; private final ViewPager mViewPager; private final ArrayList mTabs = new ArrayList(); + private StageInformation stage; static final class TabInfo { private final String tag; @@ -251,19 +285,27 @@ public class SherpafyStageFragment extends SherlockFragment { } } - public TabsAdapter(FragmentActivity activity, TabHost tabHost,ViewPager pager) { - super(activity.getSupportFragmentManager()); - mContext = activity; + public TabsAdapter(FragmentManager fm, Context ui, TabHost tabHost, ViewPager pager, + StageInformation stage) { + super(fm); + mContext = ui; mTabHost = tabHost; mViewPager = pager; + this.stage = stage; mTabHost.setOnTabChangedListener(this); mViewPager.setAdapter(this); mViewPager.setOnPageChangeListener(this); } + public TabSpec addTab(TabHost.TabSpec tabSpec, Class clss) { + return addTab(tabSpec, clss, new Bundle()); + } + public TabSpec addTab(TabHost.TabSpec tabSpec, Class clss, Bundle args) { tabSpec.setContent(new DummyTabFactory(mContext)); String tag = tabSpec.getTag(); + args.putInt(STAGE_PARAM, stage.getOrder()); + args.putString(TOUR_PARAM, stage.getTour().getId()); TabInfo info = new TabInfo(tag, clss, args); mTabs.add(info); @@ -293,6 +335,7 @@ public class SherpafyStageFragment extends SherlockFragment { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } + @Override public void onPageSelected(int position) { diff --git a/OsmAnd/src/net/osmand/plus/sherpafy/SherpafyStageInfoFragment.java b/OsmAnd/src/net/osmand/plus/sherpafy/SherpafyStageInfoFragment.java index 08162eb503..29d4590fa2 100644 --- a/OsmAnd/src/net/osmand/plus/sherpafy/SherpafyStageInfoFragment.java +++ b/OsmAnd/src/net/osmand/plus/sherpafy/SherpafyStageInfoFragment.java @@ -22,7 +22,7 @@ public class SherpafyStageInfoFragment extends SherlockFragment { OsmandApplication app; private SherpafyCustomization customization; protected StageInformation stage; - private TourInformation tour; + protected TourInformation tour; private View view; public SherpafyStageInfoFragment() { @@ -40,7 +40,6 @@ public class SherpafyStageInfoFragment extends SherlockFragment { for(TourInformation ti : customization.getTourInformations()) { if(ti.getId().equals(id)) { tour = ti; - getSherlockActivity().getSupportActionBar().setTitle(tour.getName()); break; } } @@ -60,7 +59,6 @@ public class SherpafyStageInfoFragment extends SherlockFragment { TextView additional = (TextView) view.findViewById(R.id.AdditionalText); TextView text = (TextView) view.findViewById(R.id.Text); TextView header = (TextView) view.findViewById(R.id.HeaderText); - updateView(description, icon, additional, text, header); return view; } diff --git a/OsmAnd/src/net/osmand/plus/sherpafy/SherpafyStageItineraryFragment.java b/OsmAnd/src/net/osmand/plus/sherpafy/SherpafyStageItineraryFragment.java index e8ef9077a8..6c98e2ac1c 100644 --- a/OsmAnd/src/net/osmand/plus/sherpafy/SherpafyStageItineraryFragment.java +++ b/OsmAnd/src/net/osmand/plus/sherpafy/SherpafyStageItineraryFragment.java @@ -8,14 +8,14 @@ import android.widget.TextView; public class SherpafyStageItineraryFragment extends SherpafyStageInfoFragment { protected void updateView(WebView description, ImageView icon, TextView additional, TextView text, TextView header) { - if (stage.getItineraryBitmap() != null) { - icon.setImageBitmap(stage.getItineraryBitmap()); - } else { - icon.setVisibility(View.GONE); - } - additional.setVisibility(View.GONE); - header.setVisibility(View.GONE); - description.loadData("" + stage.getItinerary() - + "" + stage.getItinerary() + " stageInformation = new ArrayList(); - public TourInformation(File f) { this.folder = f; this.name = f.getName().replace('_', ' '); @@ -47,6 +48,18 @@ public class TourInformation { return instructions; } + private static WeakHashMap androidBitmaps = new WeakHashMap(); + private static Bitmap decodeImage(File f) { + if(!androidBitmaps.containsKey(f)) { + Bitmap img =null; + if(f != null && f.exists()) { + img = BitmapFactory.decodeFile(f.getAbsolutePath()); + } + androidBitmaps.put(f, img); + } + return androidBitmaps.get(f); + } + private static Reader getUTF8Reader(InputStream f) throws IOException { BufferedInputStream bis = new BufferedInputStream(f); @@ -71,6 +84,8 @@ public class TourInformation { int tok; String text = ""; StageInformation stage = null; + StageFavoriteGroup group = null; + StageFavorite favorite = null; stageInformation.clear(); while ((tok = parser.next()) != XmlPullParser.END_DOCUMENT) { if (tok == XmlPullParser.START_TAG) { @@ -84,16 +99,39 @@ public class TourInformation { stage.name = name; } else if (tag.equals("itinerary") && stage != null){ String img = getDefAttribute(parser, "image", ""); + stage.distance = Double.parseDouble(getDefAttribute(parser, "distance", "0")); + stage.duration = Integer.parseInt(getDefAttribute(parser, "duration", "0")); + double slat = Double.parseDouble(getDefAttribute(parser, "startLat", "0")); + double slon = Double.parseDouble(getDefAttribute(parser, "startLon", "0")); + if(slat != 0 || slon != 0) { + stage.startPoint = new LatLon(slat, slon); + } if(img.startsWith(FILE_PREFIX)) { stage.itineraryFile = getFile(img); } stage.itinerary = getInnerXml(parser); + } else if(stage != null && tag.equals("group")) { + group = new StageFavoriteGroup(); + group.color = Algorithms.parseColor(getDefAttribute(parser, "color", Algorithms.colorToString(StageImageDrawable.INFO_COLOR))); + group.name = getDefAttribute(parser, "name", ""); + group.id = getDefAttribute(parser, "id", ""); + group.order = stage.favorites.size(); + stage.favorites.add(group); + } else if(group != null && tag.equals("favorite")) { + favorite = new StageFavorite(); + favorite.location = new LatLon(Double.parseDouble(getDefAttribute(parser, "lat", "0")), + Double.parseDouble(getDefAttribute(parser, "lon", "0"))); + favorite.name = getDefAttribute(parser, "name", ""); + favorite.group = group; + favorite.order = stage.favorites.size(); + group.favorites.add(favorite); + stage.favorites.add(favorite); } else if (tag.equals("fullDescription")){ fulldescription = getInnerXml(parser); } else if (tag.equals("instructions")){ instructions = getInnerXml(parser); - } else if (stage != null && tag.equals("interval")){ - stage.distance = Double.parseDouble(getDefAttribute(parser, "distance", "0")); + } else if (favorite != null && tag.equals("description")){ + favorite.fullDescription = getInnerXml(parser); } else if (stage != null && tag.equals("description")){ stage.fullDescription = getInnerXml(parser); } @@ -104,12 +142,18 @@ public class TourInformation { if(tag.equals("stage")) { stageInformation.add(stage); stage = null; - } else if(stage != null && tag.equals("fullDescription")) { - stage.fullDescription = text; + } else if(favorite != null && tag.equals("defaultImage")) { + if(text.startsWith(FILE_PREFIX)) { + favorite.imgFile = getFile(text); + } } else if(stage != null && tag.equals("defaultImage")) { if(text.startsWith(FILE_PREFIX)) { stage.imgFile = getFile(text); } + } else if(stage != null && tag.equals("group")) { + group = null; + } else if(stage != null && tag.equals("favorite")) { + favorite = null; } else if(tag.equals("defaultImage")) { if(text.startsWith(FILE_PREFIX)) { imgFile = getFile(text); @@ -119,7 +163,9 @@ public class TourInformation { stage.gpxFile = getFile(text); } } else if(tag.equals("shortDescription")) { - if(stage != null) { + if(favorite != null) { + favorite.shortDescription = text; + } else if(stage != null) { stage.shortDescription = text; } else { shortDescription = text; @@ -168,10 +214,7 @@ public class TourInformation { public Bitmap getImageBitmap() { - if(defaultImg == null && imgFile != null && imgFile.exists()) { - defaultImg = BitmapFactory.decodeFile(imgFile.getAbsolutePath()); - } - return defaultImg; + return decodeImage(imgFile); } //returns image bitmap from selected relative path @@ -189,21 +232,104 @@ public class TourInformation { } - public static class StageInformation { + public static class StageFavoriteGroup { + String id; + int order; + int color; + String name = ""; + List favorites = new ArrayList(); - String itinerary = ""; - File gpxFile; - public GPXFile gpx; + public int getColor() { + return color; + } + + public String getName() { + return name; + } + + public List getFavorites() { + return favorites; + } + + public int getOrder() { + return order; + } + } + + public static class StageFavorite { + int order; + LatLon location; + String name = ""; + String shortDescription = ""; + String fullDescription = ""; + File imgFile; + StageFavoriteGroup group; + + public StageFavoriteGroup getGroup() { + return group; + } + + public int getOrder() { + return order; + } + + public LatLon getLatLon() { + return location; + } + + public String getName() { + return name; + } + + public String getShortDescription() { + return shortDescription; + } + + public String getFullDescription() { + return fullDescription; + } + + public Bitmap getImage() { + return decodeImage(imgFile); + } + + } + + public static class StageInformation { + int duration; + String itinerary = ""; + File gpxFile; + GPXFile gpx; String name = ""; String shortDescription = ""; String fullDescription = ""; - Bitmap img; File imgFile; - private Bitmap itineraryImg; File itineraryFile; double distance; - private TourInformation tour; - private int order; + LatLon startPoint = null; + List favorites = new ArrayList(); + + TourInformation tour; + int order; + + public List getFavorites() { + return favorites; + } + + public StageFavoriteGroup getGroupById(String id) { + for(Object o : favorites) { + if(o instanceof StageFavoriteGroup) { + if(id.equals(((StageFavoriteGroup)o).id)) { + return (StageFavoriteGroup) o; + } + } + } + return null; + } + + public LatLon getStartPoint() { + return startPoint; + } public String getItinerary() { return itinerary; @@ -244,17 +370,12 @@ public class TourInformation { public Bitmap getImageBitmap() { - if(img == null && imgFile != null && imgFile.exists()) { - img = BitmapFactory.decodeFile(imgFile.getAbsolutePath()); - } - return img; + return decodeImage(imgFile); } + public Bitmap getItineraryBitmap() { - if(itineraryImg == null && itineraryFile != null && itineraryFile.exists()) { - itineraryImg = BitmapFactory.decodeFile(itineraryFile.getAbsolutePath()); - } - return itineraryImg; + return decodeImage(itineraryFile); } @Override diff --git a/OsmAnd/src/net/osmand/plus/sherpafy/TourViewActivity.java b/OsmAnd/src/net/osmand/plus/sherpafy/TourViewActivity.java index d9e1daf904..41135b5eb6 100644 --- a/OsmAnd/src/net/osmand/plus/sherpafy/TourViewActivity.java +++ b/OsmAnd/src/net/osmand/plus/sherpafy/TourViewActivity.java @@ -4,6 +4,7 @@ import java.util.WeakHashMap; import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; +import net.osmand.plus.sherpafy.TourInformation.StageFavorite; import net.osmand.plus.sherpafy.TourInformation.StageInformation; import android.content.Intent; import android.content.pm.ActivityInfo; @@ -304,6 +305,19 @@ public class TourViewActivity extends SherlockFragmentActivity { } } + + public void showFavoriteFragment(StageInformation stage, StageFavorite sf) { + FragmentManager fragmentManager = getSupportFragmentManager(); + setDrawerIndicatorVisible(false); + SherpafyFavoriteFragment fragment = new SherpafyFavoriteFragment(); + Bundle bl = new Bundle(); + bl.putInt(SherpafyFavoriteFragment.STAGE_PARAM, stage.getOrder()); + bl.putString(SherpafyFavoriteFragment.TOUR_PARAM, stage.getTour().getId()); + bl.putInt(SherpafyFavoriteFragment.FAV_PARAM, sf.getOrder()); + fragment.setArguments(bl); + fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit(); + } + public void showHtmlFragment(String title, String cont) { FragmentManager fragmentManager = getSupportFragmentManager(); setDrawerIndicatorVisible(false); From aeb4d21e73b8887ce28813eb25741d855e0ed0b8 Mon Sep 17 00:00:00 2001 From: Hinagiku Zeppeki Date: Fri, 25 Jul 2014 09:37:10 +0200 Subject: [PATCH 07/25] Translated using Weblate (Japanese) Currently translated at 91.3% (1346 of 1473 strings) --- OsmAnd/res/values-ja/strings.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OsmAnd/res/values-ja/strings.xml b/OsmAnd/res/values-ja/strings.xml index 26f325d528..94d8d573d3 100644 --- a/OsmAnd/res/values-ja/strings.xml +++ b/OsmAnd/res/values-ja/strings.xml @@ -1913,4 +1913,9 @@ OsmAndはオープンソースであり、活発に開発が進められいま 表示色 インフォメーション OsMoグループ + グループ %2$sに接続するには、グループID(%1$s)を指定するか %3$sをクリックして下さい。 + このデバイスをフォローしてみましょう + ブラウザで現在のセッションを共有する + セッションはが利用できません「送信場所」がオンになっていることを確認してください。 + セッションの共有 From e1ccf3bde47ffca7fd570ae4704210d16f697579 Mon Sep 17 00:00:00 2001 From: ezjerry liao Date: Fri, 25 Jul 2014 11:58:58 +0200 Subject: [PATCH 08/25] Translated using Weblate (Traditional Chinese) Currently translated at 100.0% (1473 of 1473 strings) --- OsmAnd/res/values-zh-rTW/strings.xml | 32 +++++++++++++--------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index 05aff46455..72a83b5810 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -464,7 +464,7 @@ 檔名: 已有同檔名存在。 儲存 - 儲存指引 + 儲存導引 上傳 GPX 到 OSM 社群,這些將有助於改善地圖。 %2$d 項中的 %1$d 項已上傳成功。 傳送到 OSM @@ -574,22 +574,20 @@ \n\n您可透過地圖畫面左下角的設定檔按鈕(汽車、自行車、步行三種圖示)更改使用設定檔 ,或是作路線規劃。 導航 - 為了取得指引到一個地方,可以直接在地圖上長按它,然然後再點選其敘述框\'指引到\',或著選擇\'指引\'後在查尋結果清單或是我的最愛清單點選進入。 - \n\n目的地標點以橙色旗標在地圖上,同時 OsmAnd 會顯示達到目的地的距離與它的方位(橙色三角形)。 - \n\n您可以選擇到任何一個\'隨行\'的路線,這意味著 OsmAnd 將實地引導您,給您語音指示(如果有啟用語音),或者您可以選擇\'只顯示\'路線在地圖上,它會產生一個靜態的路線不會有任何實地引導或隨著您的移動而調整。 - \n\n顯示從非您目前的位置中,選擇任意標點到目的地的路線,接著在地圖上選擇\'指引來自\'。 - \n\n如果您選擇\'指引來自\'連同\'隨行\',只要它發現則 OsmAnd 將切換到您的實際位置(所以這個可以用於在快速啟動路線之前找到位置),當\'指引來自\'在與\'只顯示\'結合,只是告訴您從任意標點的路線,您可選擇不包括後續的更新。 - + "需要導引到一個地點,可以直接在地圖上選擇並長按該地點,(然後再點選其功能說明單的\'導引到\'),或著選擇\'導引\'後在查尋結果清單或是我的最愛清單點選進入。 +\n\n目的地標點以橙色旗標在地圖上,同時 OsmAnd 會顯示達到目的地的距離與它的方位(橙色三角形)。 +\n\n您可以選擇到任何一個\'隨行\'的路線,這意味著 OsmAnd 將實地引導您,給您語音指示(如果有啟用語音),或者您可以選擇\'只顯示\'路線在地圖上,它會產生一個靜態的路線不會有任何實地引導或隨著您的移動而調整。 +\n\n顯示從非您目前的位置中,選擇任意標點到目的地的路線,接著在地圖上選擇\'從此導引\'。 +\n\n如果您選擇\'從此導引\'連同\'開始導航\',只要它發現則 OsmAnd 將切換到您的實際位置(所以這個可以用於在快速啟動路線之前找到位置),當\'從此導引\'在與\'只顯示\'結合,只是告訴您從任意標點的路線,您可選擇不包括隨後的更新。 " 查尋 - 您可以在地圖上直接查尋地點,經由 \'使用位置 \' → \'附近查尋\',或是透過 \'選單 \'→ \'查尋 \'。 - \n\n在查尋畫面上有提供查尋範本 - \n\t*經由地址 - \n\t*透過坐標 - \n\t*興趣點(按類型或名稱) - \n\t*透過您的查尋履歷 - \n\t*或透過您事先定義的我的最愛 - \n\n在主畫面上按\'查尋\'進行查尋的動作。所有在快顯功能表中或動作列被點選中的,都提供有例如\'指引\'或\'在地圖上顯示\'等等的選項。 - + "您可以在地圖上直接查尋地點,經由 \'使用位置 \' → \'附近查尋\',或是透過 \'選單 \'→ \'查尋 \'。 +\n\n在查尋畫面上有提供查尋範本 +\n\t*經由地址 +\n\t*透過坐標 +\n\t*興趣點(按類型或名稱) +\n\t*透過您的查尋履歷 +\n\t*或透過您事先定義的我的最愛 +\n\n在主畫面上按\'查尋\'進行查尋的動作。所有在快顯功能表中或動作列被點選中的,都提供有例如\'導引\'或\'在地圖上顯示\'等等的選項。 " \'使用位置\'選單 地圖快顯功能表(\'使用位置\'),包含了所有操作的參考點(位置)。 \n\n它可長按地圖上的任何一點(然後輕點其標記),或按軌跡球的按鈕,或者選擇由\'選單\' → \'使用位置\'(最後兩種方式以地圖中心作為參考)。 @@ -866,7 +864,7 @@ 顯示路線 開始導航 請先設定目的地 - 指引 + 導引 顯示 GPS 狀態 營業時間 正在開啟異動清單… From 20893ab8712cfa3d4e561e375c6501c41d7d7eb1 Mon Sep 17 00:00:00 2001 From: xmd5a Date: Sat, 26 Jul 2014 20:19:13 +0400 Subject: [PATCH 09/25] Update strings --- OsmAnd/res/values-ru/strings.xml | 1 + OsmAnd/res/values/strings.xml | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-ru/strings.xml b/OsmAnd/res/values-ru/strings.xml index 62e181e777..94dd6b2c56 100644 --- a/OsmAnd/res/values-ru/strings.xml +++ b/OsmAnd/res/values-ru/strings.xml @@ -1773,4 +1773,5 @@ OsmAnd - открытый источник и активно развается. Сербский Упрощенный китайский Традиционный китайский + Режим метро diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 5529870c52..04cb748e20 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -9,7 +9,8 @@ 3. All your modified/created strings are in the top of the file (to make easier find what\'s translated). PLEASE: Have a look at http://code.google.com/p/osmand/wiki/UIConsistency, it may really improve your and our work :-) Thx - Hardy --> - Keep + Subway mode + Keep Stop Enable sleep mode GPS wake up interval From 39323d7642bb3303d09cf6b24a1b49b8ab53634f Mon Sep 17 00:00:00 2001 From: stephan 75 Date: Fri, 25 Jul 2014 22:52:53 +0200 Subject: [PATCH 10/25] Translated using Weblate (German) Currently translated at 99.2% (1462 of 1473 strings) --- OsmAnd/res/values-de/strings.xml | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index ef5550efcf..8fcbc70be0 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -1,4 +1,5 @@ -Die Route ist wahrscheinlich zu lang um vom OsmAnd-Offline-Router berechnet zu werden. Offline-Routing ist bis ungefähr 200 km Abstand zwischen einzelnen Punkten möglich. Bitte einen oder mehrere Zwischenpunkte setzen um die Route berechnen zu können. + +Die Route ist wahrscheinlich zu lang um vom OsmAnd-Offline-Router berechnet zu werden. Offline-Routing ist bis ungefähr 200 km Abstand zwischen einzelnen Punkten möglich. Bitte einen oder mehrere Zwischenpunkte setzen um die Route berechnen zu können. Kein Auto-Zoom Auf Nahbereich Auf Mittelbereich @@ -1905,4 +1906,22 @@ Afghanistan, Ägypten, Albanien, Algerien, Andorra, Angola, Anguilla, Antigua an Stunden her Minuten her Sekunden her - + Chinesisch (vereinfacht) + Chinesisch (traditionell) + Serbisch + Persisch + Arabisch + Albanisch + Suaheli + Bevorzugte Sprache für Beschriftungen auf der Karte (ist diese nicht verfügbar, wird auf Englisch oder lokale Namen gewechselt) + Bevorzugte Sprache für Karten-Beschriftung + Lokale Namen + Hebräisch + Sende Verfolgungsdaten zu einem festgelegten Internet Dienst, wenn GPX-Aufzeichnung aktiviert ist. + Online Verfolgung (benötigt GPX) + Starte online Verfolgung + Starte GPX-Aufzeichnung + Stoppe GPX-Aufzeichnung + Starte neues Segment + Sardinisch + From 09ff34a9087bf92c0f7ce1f8ced6b6c8414c68d7 Mon Sep 17 00:00:00 2001 From: Leif Larsson Date: Fri, 25 Jul 2014 21:58:40 +0200 Subject: [PATCH 11/25] Translated using Weblate (Swedish) Currently translated at 99.3% (1464 of 1473 strings) --- 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 ec23292d9a..625ebcad7c 100644 --- a/OsmAnd/res/values-sv/strings.xml +++ b/OsmAnd/res/values-sv/strings.xml @@ -1494,7 +1494,7 @@ Sessions-URL för att spåra enhet (%1$s) För att ansluta till målenheten %2$s, klicka på länken %3$s eller ange tracker-id (%1$s) Loggningsintervall - Välj tidsintervall för skickande av platsen + Välj tidsintervall för inskickande av din position dagar Anslut Förfaller om From 9fff4b71e4f1434d264a8cfac2f2f4e74822c174 Mon Sep 17 00:00:00 2001 From: ezjerry liao Date: Sat, 26 Jul 2014 16:36:13 +0200 Subject: [PATCH 12/25] Translated using Weblate (Traditional Chinese) Currently translated at 100.0% (1473 of 1473 strings) --- OsmAnd/res/values-zh-rTW/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index 72a83b5810..e6d1661717 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -574,7 +574,7 @@ \n\n您可透過地圖畫面左下角的設定檔按鈕(汽車、自行車、步行三種圖示)更改使用設定檔 ,或是作路線規劃。 導航 - "需要導引到一個地點,可以直接在地圖上選擇並長按該地點,(然後再點選其功能說明單的\'導引到\'),或著選擇\'導引\'後在查尋結果清單或是我的最愛清單點選進入。 + "需要導引到一個地點,可以直接在地圖上選擇並長按該地點,(然後再點選快顯功能表單的\'導引到\'),或著選擇\'導引\'後,在查尋結果清單或是我的最愛清單點選進入。 \n\n目的地標點以橙色旗標在地圖上,同時 OsmAnd 會顯示達到目的地的距離與它的方位(橙色三角形)。 \n\n您可以選擇到任何一個\'隨行\'的路線,這意味著 OsmAnd 將實地引導您,給您語音指示(如果有啟用語音),或者您可以選擇\'只顯示\'路線在地圖上,它會產生一個靜態的路線不會有任何實地引導或隨著您的移動而調整。 \n\n顯示從非您目前的位置中,選擇任意標點到目的地的路線,接著在地圖上選擇\'從此導引\'。 From cc35e4478c8607d052432726514205c798a00fcf Mon Sep 17 00:00:00 2001 From: Roberto GEB Date: Sat, 26 Jul 2014 19:38:39 +0200 Subject: [PATCH 13/25] Translated using Weblate (Spanish) Currently translated at 100.0% (1474 of 1474 strings) --- OsmAnd/res/values-es/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-es/strings.xml b/OsmAnd/res/values-es/strings.xml index 448fbfa6da..4819f3fa09 100644 --- a/OsmAnd/res/values-es/strings.xml +++ b/OsmAnd/res/values-es/strings.xml @@ -1828,4 +1828,5 @@ Afganistán, Albania, Alemania, Andorra, Angola, Anguila, Antigua y Barbuda, Ant Serbio Chino Simplificado Chino Tradicional - + Modo subterráneo + From 096b033e459d59090603642a1efbe7f186759fdf Mon Sep 17 00:00:00 2001 From: jan madsen Date: Sat, 26 Jul 2014 19:41:10 +0200 Subject: [PATCH 14/25] Translated using Weblate (Danish) Currently translated at 100.0% (1474 of 1474 strings) --- OsmAnd/res/values-da/strings.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index 12a53cd043..e4a2d5e178 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -1,4 +1,4 @@ - + Overvej at købe Højdekurve udvidelsen (\'Contour lines\') på Google Play for at støtte den videre udvikling. Optag video Optag audio @@ -1939,4 +1939,5 @@ Afghanistan, Albanien, Algeriet, Andorra, Angola, Anguilla, Antigua og Barbuda, Kinesisk, forenklet Kinesisk, traditionelt Sardisk - + Undergrundsbanetilstand + From 7e09ec4ee7c3e3c7c5dd3231418589b30228db1a Mon Sep 17 00:00:00 2001 From: Jur Kis Date: Sat, 26 Jul 2014 21:51:13 +0200 Subject: [PATCH 15/25] Translated using Weblate (Lithuanian) Currently translated at 100.0% (1474 of 1474 strings) --- OsmAnd/res/values-lt/strings.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-lt/strings.xml b/OsmAnd/res/values-lt/strings.xml index 76d8b058db..4f58b86e06 100644 --- a/OsmAnd/res/values-lt/strings.xml +++ b/OsmAnd/res/values-lt/strings.xml @@ -1,4 +1,4 @@ - + Pradžios taškas yra per toli nuo artimiausio kelio. Bendrinta vieta Dėmesio @@ -1791,4 +1791,5 @@ OsmAnd yra aktyviai tobulinama ir mūsų projektas bei jo tolesnis progresas pri Tradicinė kinų Sardinų Supaprastinta kinų - + Metro režimas + From 548c7a74406696df7465dc8f0fcc68cef1f42128 Mon Sep 17 00:00:00 2001 From: ezjerry liao Date: Sun, 27 Jul 2014 01:01:15 +0200 Subject: [PATCH 16/25] Translated using Weblate (Traditional Chinese) Currently translated at 100.0% (1474 of 1474 strings) --- OsmAnd/res/values-zh-rTW/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index e6d1661717..355028bb4b 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -1920,4 +1920,5 @@ OsmAnd 是開放原始碼,而且正在積極的開發。應用程式從報告 塞爾維亞 簡體中文 正體中文 - + 地鐵模式 + From fd4fba7e1c6f559817a63bcfb47157a5eb44d6c2 Mon Sep 17 00:00:00 2001 From: cho bkwon Date: Sun, 27 Jul 2014 04:50:09 +0200 Subject: [PATCH 17/25] Translated using Weblate (Korean) Currently translated at 100.0% (1474 of 1474 strings) --- OsmAnd/res/values-ko/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-ko/strings.xml b/OsmAnd/res/values-ko/strings.xml index 644956a992..0d6039b1f6 100644 --- a/OsmAnd/res/values-ko/strings.xml +++ b/OsmAnd/res/values-ko/strings.xml @@ -2067,4 +2067,5 @@ Vanuatu, Venezuela, Vietnam, Wallis and Futuna, Western Sahara, Yemen, Zambia, Z 세르비아어 중국어 간체 중국어 번체 - + 지하철 모드 + From 219b0f84187af1367c761e83d8e38b5990629e92 Mon Sep 17 00:00:00 2001 From: Mirco Zorzo Date: Sun, 27 Jul 2014 07:12:43 +0200 Subject: [PATCH 18/25] Translated using Weblate (Italian) Currently translated at 100.0% (1474 of 1474 strings) --- OsmAnd/res/values-it/strings.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-it/strings.xml b/OsmAnd/res/values-it/strings.xml index 0eaf24ad4e..2e8a52aa8e 100644 --- a/OsmAnd/res/values-it/strings.xml +++ b/OsmAnd/res/values-it/strings.xml @@ -1,4 +1,4 @@ - + Sovrapposizioni fluorescenti Usa colori fluorescenti per visualizzare tracce e percorsi Modifiche offline @@ -1938,4 +1938,5 @@ Si consiglia di aggiungere uno o più punti intermedi per migliorarne le prestaz Serbo Cinese semplificato Cinese tradizionale - + Modalità metro + From 64424b82b95569e4f4e36d9d884176f1a8ea518c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0tefan=20Baebler?= Date: Sun, 27 Jul 2014 07:26:22 +0200 Subject: [PATCH 19/25] Translated using Weblate (Slovenian) Currently translated at 100.0% (1474 of 1474 strings) --- OsmAnd/res/values-sl/strings.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-sl/strings.xml b/OsmAnd/res/values-sl/strings.xml index f21e94411f..460f7f446f 100644 --- a/OsmAnd/res/values-sl/strings.xml +++ b/OsmAnd/res/values-sl/strings.xml @@ -1,4 +1,4 @@ - + Iskanje Iskanje Nastavitve @@ -1887,4 +1887,5 @@ Seznam držav (praktično ves svet!): Afganistan, Albanija, Alžirija, Andora, A Poenostavljena kitajščina Tradicionalna kitajščina Sardinščina - + Način podzemne železnice + From 38aee7fe25d8f644957198f2db8783a8b80340db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Michalski?= Date: Sun, 27 Jul 2014 11:52:57 +0200 Subject: [PATCH 20/25] Translated using Weblate (Polish) Currently translated at 100.0% (1474 of 1474 strings) --- OsmAnd/res/values-pl/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-pl/strings.xml b/OsmAnd/res/values-pl/strings.xml index 893ae53b25..7694eacb5c 100644 --- a/OsmAnd/res/values-pl/strings.xml +++ b/OsmAnd/res/values-pl/strings.xml @@ -1896,4 +1896,5 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant Serbski Chiński uproszczony Chiński tradycyjny - + Tryb metra + From a09503d9f2f88fd321873a7e4dadaab0f5bc1fb5 Mon Sep 17 00:00:00 2001 From: josep constanti Date: Sun, 27 Jul 2014 17:17:44 +0200 Subject: [PATCH 21/25] Translated using Weblate (Catalan) Currently translated at 100.0% (1474 of 1474 strings) --- OsmAnd/res/values-ca/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-ca/strings.xml b/OsmAnd/res/values-ca/strings.xml index e4190a5d7a..738d3e6a32 100644 --- a/OsmAnd/res/values-ca/strings.xml +++ b/OsmAnd/res/values-ca/strings.xml @@ -1915,4 +1915,5 @@ La llista de països inclosos (bàsicament tot el món!): Afganistan, Albània, Serbi Xinès simplificat Xinès tradicional - + Mode subsol + From 7d0dedc580c3a6d50482ee959a4e52215064dd49 Mon Sep 17 00:00:00 2001 From: Viktar Palstsiuk Date: Sun, 27 Jul 2014 22:48:57 +0200 Subject: [PATCH 22/25] Translated using Weblate (Belarusian) Currently translated at 100.0% (1474 of 1474 strings) --- OsmAnd/res/values-be/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-be/strings.xml b/OsmAnd/res/values-be/strings.xml index 92e37ebcc7..3330a5e06c 100644 --- a/OsmAnd/res/values-be/strings.xml +++ b/OsmAnd/res/values-be/strings.xml @@ -1912,4 +1912,5 @@ OsmAnd мае адкрыты зыходны код і актыўна разві кітайская спрошчаная кітайская традыцыйная сардынская - + Рэжым метро + From fb80410a27df2f0a9f13a0561e5ffdeb4c3d4462 Mon Sep 17 00:00:00 2001 From: Ernst te Brake Date: Mon, 28 Jul 2014 07:46:44 +0200 Subject: [PATCH 23/25] Translated using Weblate (Dutch) Currently translated at 100.0% (1474 of 1474 strings) --- OsmAnd/res/values-nl/strings.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-nl/strings.xml b/OsmAnd/res/values-nl/strings.xml index 9da74f8adc..378e0317f6 100644 --- a/OsmAnd/res/values-nl/strings.xml +++ b/OsmAnd/res/values-nl/strings.xml @@ -1,4 +1,4 @@ - + Configureer scherm @@ -1920,4 +1920,5 @@ Afghanistan, Albanie, Algerije, Andorra, Angola, Anguilla, Antigua en Barbuda, A Servisch Vereenvoudigd Chinees Traditioneel Chinees - + Tunnel stand + From b7025d8fa525292da2b7378412227d35a37432d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Michalski?= Date: Sun, 27 Jul 2014 12:18:30 +0200 Subject: [PATCH 24/25] Translated using Weblate (Polish) Currently translated at 100.0% (1474 of 1474 strings) --- OsmAnd/res/values-pl/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-pl/strings.xml b/OsmAnd/res/values-pl/strings.xml index 7694eacb5c..8a924bf68c 100644 --- a/OsmAnd/res/values-pl/strings.xml +++ b/OsmAnd/res/values-pl/strings.xml @@ -731,7 +731,7 @@ Wyświetl linijkę Informacja - Powróć do lokacji + Powróć do pozycji Pomoc Pokaż szczegóły Rozszerzenia ułatwienia dostępu dla starych wersji Androida @@ -765,7 +765,7 @@ Prawy przód Prawy Tylny przód - Tył + Wstecz Lewy tył Lewy Lewy przód From 1c885ce9a59a33e7eba3cce462fae4fc914c6948 Mon Sep 17 00:00:00 2001 From: Krystian Biesaga Date: Mon, 28 Jul 2014 13:09:30 +0200 Subject: [PATCH 25/25] Translated using Weblate (Polish) Currently translated at 100.0% (1474 of 1474 strings) --- OsmAnd/res/values-pl/strings.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/OsmAnd/res/values-pl/strings.xml b/OsmAnd/res/values-pl/strings.xml index 8a924bf68c..61a9e7de0f 100644 --- a/OsmAnd/res/values-pl/strings.xml +++ b/OsmAnd/res/values-pl/strings.xml @@ -1848,9 +1848,9 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant Wybierz aby wyświetlić Wpisz przez zaproszenie " - Wszystkie grupy są publiczne! Jeśli chcesz być anonimowy, podłącz urządzeń bezpośrednio poprzez identyfikator Tracker ids.↵\n - Grupa może posiadać do 16 zarejestrowanych osób.↵\n - W przypadku bezczynności lub aktywności tylko 1 osoby przez okres 2 tygodnie, grupa zostanie usunięta.↵\n - Można ograniczyć dostęp grupy, i zapraszać tylko wybrane osoby. Do kontroli potrzebujesz konsoli administracyjnej.↵\n - Jeśli trzeba utworzyć grupę, ale z innymi warunkami, prosimy o kontakt http://osmo.mobi" - Proszę przeczytać przed założeniem grupy! + Przeczytaj przed założeniem grupy! Nie powiodło się logowanie do OsMo - OsMo pobrano %1$s punktów. + Pobrano %1$s punktów OsMo. Automatycznie połącz to serwisu po uruchomieniu aplikacji Auto-podłączenie Serwis OsMo @@ -1861,9 +1861,9 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant Utrzymuj Stop Włącz tryb uśpienia - Interwał wybudzania GPS + Odstęp czasu wybudzania GPS Czy trzymać włączony GPS? - Preferowany język dla etykiet na mapie (jeśli nie jest dostępny, a zostanie wybrany język angielski lub z lokalnymi nazwami) + Preferowany język dla etykiet na mapie (jeśli niedostępny, zostanie wybrany język angielski lub lokalna nazwa) Preferowany język map Nazwy lokalne Suahili @@ -1871,7 +1871,7 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant Do przodu Dom Wysyłaj aktualną pozycję do określonej usługi internetowej, jeśli nagrywanie GPX jest włączone. - Śledzenia online (wymagane GPX) + Śledzenie online (wymagane GPX) Uruchom śledzenie online Zatrzymaj śledzenie online Uruchom nagrywanie GPX @@ -1881,7 +1881,7 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant Ukryj trasy niedostępne dla aut Ukryj opisy Ukryj drewna i zarośla - Budynki na przypliżeniu 15 + Budynki na przybliżeniu 15 Więcej szczegółów Mniej szczegółów Ukryj typ dostępu