From 34d536c8b32bd9f91330f1aa87600e887248350d Mon Sep 17 00:00:00 2001 From: Dmitry Yunitsky Date: Tue, 12 Aug 2014 12:59:09 +0300 Subject: [PATCH] Settings changes. --- android/AndroidManifest.xml | 2 +- android/MapsWithMeTest/AndroidManifest.xml | 2 +- .../layout/map_bottom_vertical_toolbar.xml | 2 +- .../layout/{about.xml => dialog_about.xml} | 0 .../layout/map_bottom_vertical_toolbar.xml | 2 +- android/res/values-ar/strings.xml | 2 +- android/res/values-cs/strings.xml | 2 +- android/res/values-da/strings.xml | 2 +- android/res/values-de/strings.xml | 2 +- android/res/values-es/strings.xml | 2 +- android/res/values-fr/strings.xml | 2 +- android/res/values-hu/strings.xml | 2 +- android/res/values-it/strings.xml | 2 +- android/res/values-ja/strings.xml | 2 +- android/res/values-ko/strings.xml | 2 +- android/res/values-nl/strings.xml | 2 +- android/res/values-pl/strings.xml | 2 +- android/res/values-pt/strings.xml | 2 +- android/res/values-ru/strings.xml | 2 +- android/res/values-sw720dp/dimens.xml | 2 +- android/res/values-th/strings.xml | 2 +- android/res/values-tr/strings.xml | 2 +- android/res/values-uk/strings.xml | 2 +- android/res/values-zh-rTW/strings.xml | 2 +- android/res/values-zh/strings.xml | 2 +- android/res/values/prefs_names.xml | 11 +- android/res/values/strings.xml | 2 +- android/res/xml/preferences.xml | 139 ++++++++-- .../src/com/mapswithme/maps/MWMActivity.java | 17 +- .../maps/settings/SettingsActivity.java | 260 +++++++++++------- .../src/com/mapswithme/util/Constants.java | 10 + android/src/com/mapswithme/util/UiUtils.java | 32 +++ android/src/com/mapswithme/util/Utils.java | 10 + .../util/statistics/Statistics.java | 65 +++-- iphone/Maps/ar.lproj/Localizable.strings | 2 +- iphone/Maps/cs.lproj/Localizable.strings | 2 +- iphone/Maps/da.lproj/Localizable.strings | 2 +- iphone/Maps/de.lproj/Localizable.strings | 2 +- iphone/Maps/en.lproj/Localizable.strings | 2 +- iphone/Maps/es.lproj/Localizable.strings | 2 +- iphone/Maps/fr.lproj/Localizable.strings | 2 +- iphone/Maps/hu.lproj/Localizable.strings | 2 +- iphone/Maps/it.lproj/Localizable.strings | 2 +- iphone/Maps/ja.lproj/Localizable.strings | 2 +- iphone/Maps/ko.lproj/Localizable.strings | 2 +- iphone/Maps/nl.lproj/Localizable.strings | 2 +- iphone/Maps/pl.lproj/Localizable.strings | 2 +- iphone/Maps/pt.lproj/Localizable.strings | 2 +- iphone/Maps/ru.lproj/Localizable.strings | 2 +- iphone/Maps/th.lproj/Localizable.strings | 2 +- iphone/Maps/tr.lproj/Localizable.strings | 2 +- iphone/Maps/uk.lproj/Localizable.strings | 2 +- iphone/Maps/zh-Hans.lproj/Localizable.strings | 2 +- iphone/Maps/zh-Hant.lproj/Localizable.strings | 2 +- strings.txt | 40 +-- 55 files changed, 449 insertions(+), 225 deletions(-) rename android/res/layout/{about.xml => dialog_about.xml} (100%) diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml index 265c5cfa01..d7bad589ef 100644 --- a/android/AndroidManifest.xml +++ b/android/AndroidManifest.xml @@ -143,7 +143,7 @@ diff --git a/android/MapsWithMeTest/AndroidManifest.xml b/android/MapsWithMeTest/AndroidManifest.xml index 4446eab9c8..f8ac319cf6 100644 --- a/android/MapsWithMeTest/AndroidManifest.xml +++ b/android/MapsWithMeTest/AndroidManifest.xml @@ -166,7 +166,7 @@ تطبيق MAPS.ME مجاني اليوم! يمكنك مشاركة الأخبار على الفيسبوك. - MAPS.ME متوفر الآن مع خصم 80٪ على منصة جوجل بلاي. + MAPS.ME متوفر الآن مع خصم 80٪ على منصة جوجل بلاي. يمكنك مشاركة الأخبار على الفيسبوك. تطبيق الخرائط غير المتصلة المذهل MAPS.ME أصبح مجاني على متجر التطبيقات ومتوفر بخصم 80% على Google Play. أسرع للحصول على التطبيق اليوم، فالترويج سوف ينتهي قريبا! diff --git a/android/res/values-cs/strings.xml b/android/res/values-cs/strings.xml index bec3c2b4a1..fab4a86fa9 100644 --- a/android/res/values-cs/strings.xml +++ b/android/res/values-cs/strings.xml @@ -358,7 +358,7 @@ MAPS.ME je dnes zdarma! Sdílejte tu zprávu na Facebooku. - MAPS.ME jsou dostupné na Google Play se slevou 80 %. + MAPS.ME jsou dostupné na Google Play se slevou 80 %! Sdílejte tu zprávu na Facebooku. Úžasné offline mapy MAPS.ME jsou zdarma na App Store a dostupné s 80% slevou na Google Play. Pospěšte si a získejte tuto aplikaci ještě dnes, tato propagační akce brzy skončí! diff --git a/android/res/values-da/strings.xml b/android/res/values-da/strings.xml index 06660130fd..b8fac4265f 100644 --- a/android/res/values-da/strings.xml +++ b/android/res/values-da/strings.xml @@ -369,7 +369,7 @@ MAPS.ME er gratis i dag! Del nyheden på Facebook. - MAPS.ME er tilgængeligt med 80% rabat på Google Play. + MAPS.ME er tilgængeligt med 80% rabat på Google Play! Del nyheden på Facebook. Den fantastiske offline kort app MAPS.ME er gratis i App Store og kan fås på Google Play med 80% i rabat. Skynd dig at få app´en i dag, promotionperioden er snart forbi! diff --git a/android/res/values-de/strings.xml b/android/res/values-de/strings.xml index d41e01db23..7e5be0b497 100644 --- a/android/res/values-de/strings.xml +++ b/android/res/values-de/strings.xml @@ -362,7 +362,7 @@ MAPS.ME Pro ist heute gratis! Neuigkeiten auf Facebook teilen. - MAPS.ME gibt es mit 80 % Rabatt auf Google Play. + MAPS.ME gibt es mit 80 % Rabatt auf Google Play! Neuigkeiten auf Facebook teilen. Die tolle Offline-Karten-App MAPS.ME gibt es gratis im App Store und ist mit 80 % Rabatt bei Google Play verfügbar. Beeilen Sie sich und holen Sie sich heute die App. Die Aktion ist bald vorbei! diff --git a/android/res/values-es/strings.xml b/android/res/values-es/strings.xml index b4eee84abf..c74326d043 100644 --- a/android/res/values-es/strings.xml +++ b/android/res/values-es/strings.xml @@ -348,7 +348,7 @@ ¡MAPS.ME es gratis hoy! Comparte la noticia en Facebook. - MAPS.ME disponible con un descuento del 80 % en Google Play + MAPS.ME disponible con un descuento del 80 % en Google Play! Comparte la noticia en Facebook. La increíble app de mapas sin conexión, MAPS.ME, está en la App Store gratis y disponible en Google Play con un descuento del 80 %. Date prisa y consigue la app hoy, ¡la promoción pronto se acabará! diff --git a/android/res/values-fr/strings.xml b/android/res/values-fr/strings.xml index d3620d1cc6..0326d5cd08 100644 --- a/android/res/values-fr/strings.xml +++ b/android/res/values-fr/strings.xml @@ -378,7 +378,7 @@ MAPS.ME est gratuit aujourd\'hui ! Partagez la nouvelle sur Facebook. - MAPS.ME est disponible avec 80 % de réduction sur Google Play. + MAPS.ME est disponible avec 80 % de réduction sur Google Play ! Partagez la nouvelle sur Facebook. Cette géniale application hors-connexion de cartes MAPS.ME est gratuite sur l\'App Store et disponible avec une réduction de 80 % sur Google Play. Dépêchez-vous d\'obtenir l\'application dès aujourd\'hui, la promotion se termine bientôt ! diff --git a/android/res/values-hu/strings.xml b/android/res/values-hu/strings.xml index f994c3de29..287787e3f4 100644 --- a/android/res/values-hu/strings.xml +++ b/android/res/values-hu/strings.xml @@ -366,7 +366,7 @@ A MAPS.ME ma ingyenes! Oszd meg a hírt facebookon. - A MAPS.ME 80 százalékos kedvezménnyel érhető el a Google Playen. + A MAPS.ME 80 százalékos kedvezménnyel érhető el a Google Playen! Oszd meg a hírt facebookon. A szuper offline térképek alkalmazása, a MAPS.ME ingyenes az App Store-ban és elérhető 80%-os kedvezménnyel a Google Play-en. Siess és szerezd meg az alkalmazást még ma, az akció hamarosan véget ér! diff --git a/android/res/values-it/strings.xml b/android/res/values-it/strings.xml index 2e114504e2..fae1dbfefb 100644 --- a/android/res/values-it/strings.xml +++ b/android/res/values-it/strings.xml @@ -354,7 +354,7 @@ MAPS.ME è gratis quest\'oggi! Condividi la notizia su Facebook. - MAPS.ME è disponibile con uno sconto dell\'80% su Google Play + MAPS.ME è disponibile con uno sconto dell\'80% su Google Play! Condividi la notizia su Facebook. La bellissima app MAPS.ME con mappe off-line è gratuita sull\'App Store ed è disponibile con l\'80% di sconto su Google Play. Affrettati per avere l\'applicazione oggi stesso; la promozione scadrà presto! diff --git a/android/res/values-ja/strings.xml b/android/res/values-ja/strings.xml index d2c85ab944..15cfaab975 100644 --- a/android/res/values-ja/strings.xml +++ b/android/res/values-ja/strings.xml @@ -354,7 +354,7 @@ MAPS.ME が本日無料!Facebookでニュースをシェアしよう。 - Google Playから8割引の価格でMAPS.MEをお買い求めいただけます。 + Google Playから8割引の価格でMAPS.MEをお買い求めいただけます! Facebookでニュースをシェアしよう。 素晴らしい機能を搭載し、オフラインでも使用可能なマップアプリのMAPS.MEがApp Storeで無料、Google Playからは8割引の価格で入手できます。このプロモーションは間もなく終わってしまうので、今すぐにでもゲットしましょう! diff --git a/android/res/values-ko/strings.xml b/android/res/values-ko/strings.xml index dd92d75d19..a2b99a3a34 100644 --- a/android/res/values-ko/strings.xml +++ b/android/res/values-ko/strings.xml @@ -345,7 +345,7 @@ MAPS.ME는 오늘 무료입니다! Facebook에서 뉴스를 공유할 수 있습니다. - MAPS.ME는 구글 플레이에서 80% 할인된 가격으로 구입할 수 있습니다. + MAPS.ME는 구글 플레이에서 80% 할인된 가격으로 구입할 수 있습니다! Facebook에서 뉴스를 공유할 수 있습니다. 멋진 오프라인 지도 앱인 MAPS.ME는 App Store에서 무료이며, Google Play에서 80% 할인된 가격으로 사용할 수 있습니다. 오늘 서둘러 앱을 다운로드하세요. 프로모션이 곧 끝납니다! diff --git a/android/res/values-nl/strings.xml b/android/res/values-nl/strings.xml index 3983a6c34c..97be9bc00d 100644 --- a/android/res/values-nl/strings.xml +++ b/android/res/values-nl/strings.xml @@ -347,7 +347,7 @@ MAPS.ME is vandaag gratis! Deel het nieuws op Facebook. - MAPS.ME is met 80% korting te koop op Google Play. + MAPS.ME is met 80% korting te koop op Google Play! Deel het nieuws op Facebook. Geweldige app MAPS.ME met offline kaarten is gratis in de App Store en beschikbaar met een korting van 80% op Google Play. Wees er snel bij en haal die app vandaag, want de actie is binnenkort ten einde! diff --git a/android/res/values-pl/strings.xml b/android/res/values-pl/strings.xml index d9b814ceee..b032228e5e 100644 --- a/android/res/values-pl/strings.xml +++ b/android/res/values-pl/strings.xml @@ -368,7 +368,7 @@ Aplikacja MAPS.ME jest dziś bezpłatna! Podziel się tą wiadomością na Facebooku. - MAPS.ME jest dostępne z 80% zniżką na Google Play. + MAPS.ME jest dostępne z 80% zniżką na Google Play! Podziel się tą wiadomością na Facebooku. Fantastyczna aplikacja z mapami offline MAPS.ME jest dostępna na darmo w App Store oraz z 80% zniżką w Google Play. Pospiesz się i pobierz ją już dziś, gdyż promocja wkrótce dobiegnie końca! diff --git a/android/res/values-pt/strings.xml b/android/res/values-pt/strings.xml index f27dfc3832..e52fe13bf6 100644 --- a/android/res/values-pt/strings.xml +++ b/android/res/values-pt/strings.xml @@ -364,7 +364,7 @@ A MAPS.ME é hoje grátis! Partilhe a notícia no Facebook. - A MAPS.ME está disponível com 80% de desconto na Google Play. + A MAPS.ME está disponível com 80% de desconto na Google Play! Partilhe a notícia no Facebook. A app espetacular de mapas offline MAPS.ME é grátis na App Store e está disponível com um desconto de 80% no Google Play. Apresse-se para obter hoje a app, a promoção acabará em breve! diff --git a/android/res/values-ru/strings.xml b/android/res/values-ru/strings.xml index 4e96f1f0b0..153722055c 100644 --- a/android/res/values-ru/strings.xml +++ b/android/res/values-ru/strings.xml @@ -368,7 +368,7 @@ MAPS.ME сегодня бесплатно! Поделись новостью на Facebook. - Сегодня в Google Play скидка на MAPS.ME 80% + Сегодня в Google Play скидка на MAPS.ME 80%! Поделись новостью на Facebook. Сегодня замечательное приложение с офлайн-картами MAPS.ME бесплатно в App Store, а в Google Play - со скидкой 80%. Рекомендую! Акция скоро закончится. diff --git a/android/res/values-sw720dp/dimens.xml b/android/res/values-sw720dp/dimens.xml index d22f228a29..977600a554 100644 --- a/android/res/values-sw720dp/dimens.xml +++ b/android/res/values-sw720dp/dimens.xml @@ -2,7 +2,7 @@ 150dp 128dp - 640dp + 600dp 96dp 8dp diff --git a/android/res/values-th/strings.xml b/android/res/values-th/strings.xml index 208f8a6e58..a0d7b2545c 100644 --- a/android/res/values-th/strings.xml +++ b/android/res/values-th/strings.xml @@ -369,7 +369,7 @@ MAPS.ME วันนี้ฟรี! แบ่งปันข่าวนี้บน Facebook - สามารถใช้ MAPS.ME ลด 80% ได้ที่ Google Play + สามารถใช้ MAPS.ME ลด 80% ได้ที่ Google Play! แบ่งปันข่าวนี้บน Facebook แอป MAPS.ME แผนที่ออฟไลน์สุดเจ๋งฟรีใน App Store และสามารถใช้ได้กับส่วนลด 80% บน Google Play เร็วเข้าเพื่อรับแอปวันนี้ โปรโมชั่นจะหมดเร็ว ๆ นี้! diff --git a/android/res/values-tr/strings.xml b/android/res/values-tr/strings.xml index 1b76af947c..a356970725 100644 --- a/android/res/values-tr/strings.xml +++ b/android/res/values-tr/strings.xml @@ -371,7 +371,7 @@ MAPS.ME bugün ücretsiz! Haberi Facebook\'ta paylaş. - MAPS.ME Google Play\'de %80 indirimli. + MAPS.ME Google Play\'de %80 indirimli! Haberi Facebook\'ta paylaş. Mükemmel çevrimdışı harita uygulaması MAPS.ME App Store\'da ücretsiz, Google Play üzerinde ise %80 indirimle hizmetinizde. Uygulamayı bugün edinmek için acele edin, promosyon yakında sona erecek! diff --git a/android/res/values-uk/strings.xml b/android/res/values-uk/strings.xml index fec502ee15..0c9480e984 100644 --- a/android/res/values-uk/strings.xml +++ b/android/res/values-uk/strings.xml @@ -362,7 +362,7 @@ MAPS.ME сьогодні безкоштовний! Розповсюдити новину на Facebook. - Сьогодні в Google Play знижка на MAPS.ME 80% + Сьогодні в Google Play знижка на MAPS.ME 80%! Розповсюдити новину на Facebook. Сьогодні чудова програма з офлайн-картами MAPS.ME безкоштовна в App Store, а в Google Play - зі знижкою 80%. Рекомендую! Акція скоро закінчиться. diff --git a/android/res/values-zh-rTW/strings.xml b/android/res/values-zh-rTW/strings.xml index decf034333..49f94f09f2 100644 --- a/android/res/values-zh-rTW/strings.xml +++ b/android/res/values-zh-rTW/strings.xml @@ -346,7 +346,7 @@ MAPS.ME今日免費!在Facebook上分享此新聞。 - MAPS.ME在Google Play上可享受80%折扣。 + MAPS.ME在Google Play上可享受80%折扣! 在Facebook上分享此新聞。 精彩的離線地圖應用MAPS.ME可在App Store免費獲取,在Google Play則可享受兩折優惠。趕快立即獲取該應用吧,此優惠促銷很快即將結束! diff --git a/android/res/values-zh/strings.xml b/android/res/values-zh/strings.xml index 0a8592f5f2..195ab8001d 100644 --- a/android/res/values-zh/strings.xml +++ b/android/res/values-zh/strings.xml @@ -373,7 +373,7 @@ MAPS.ME今日免费!在Facebook上分享该消息。 - MAPS.ME在Google Play上可享受80%折扣。 + MAPS.ME在Google Play上可享受80%折扣! 在Facebook上分享该消息。 精彩的离线地图应用MAPS.ME可在App Store免费获取,在Google Play则可享受两折优惠。赶快立即获取该应用吧,此优惠促销很快即将结束! diff --git a/android/res/values/prefs_names.xml b/android/res/values/prefs_names.xml index 61ae76c6ba..b8884ee6f5 100644 --- a/android/res/values/prefs_names.xml +++ b/android/res/values/prefs_names.xml @@ -7,7 +7,16 @@ Yota ZoomButtonsEnabled AboutMapsWithMe - + RateApp + Help + Copyright + ReportBug + Community + LikeFb + FollowTwitter + ContactUs + Subscribe + Settings MapsMePrefs \ No newline at end of file diff --git a/android/res/values/strings.xml b/android/res/values/strings.xml index 4ae9336c1e..e49c939761 100644 --- a/android/res/values/strings.xml +++ b/android/res/values/strings.xml @@ -382,7 +382,7 @@ MAPS.ME Pro is free today! Share the news on Facebook. - MAPS.ME is available with 80% discount at Google Play. + MAPS.ME is available with 80% discount at Google Play! Share the news on Facebook. Awesome offline maps app MAPS.ME is free on the App Store and is available with an 80% discount on Google Play. Hurry up to get the app today, the promotion will soon be over! diff --git a/android/res/xml/preferences.xml b/android/res/xml/preferences.xml index 922bafa11a..147ba8e5a8 100644 --- a/android/res/xml/preferences.xml +++ b/android/res/xml/preferences.xml @@ -1,40 +1,119 @@ - + + + + - - - - - + android:key="@string/pref_help" + android:order="1" + android:title="@string/help"/> + android:key="@string/pref_report_bug" + android:order="2" + android:title="@string/report_a_bug"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + android:order="0" + android:title="@string/about_menu_title"/> + + + + \ No newline at end of file diff --git a/android/src/com/mapswithme/maps/MWMActivity.java b/android/src/com/mapswithme/maps/MWMActivity.java index 3fa61dd4d1..0b3f2aba83 100644 --- a/android/src/com/mapswithme/maps/MWMActivity.java +++ b/android/src/com/mapswithme/maps/MWMActivity.java @@ -10,7 +10,6 @@ import android.content.Intent; import android.content.res.Configuration; import android.graphics.Point; import android.location.Location; -import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.os.Environment; @@ -486,20 +485,6 @@ public class MWMActivity extends NvEventQueueActivity .show(); } - private void showFacebookPage() - { - try - { - // Exception is thrown if we don't have installed Facebook application. - getPackageManager().getPackageInfo(Constants.Package.FB_PACKAGE, 0); - - startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(Constants.Url.FB_MAPSME_COMMUNITY_NATIVE))); - } catch (final Exception e) - { - startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(Constants.Url.FB_MAPSME_COMMUNITY_HTTP))); - } - } - private boolean isChinaISO(String iso) { final String arr[] = {"CN", "CHN", "HK", "HKG", "MO", "MAC"}; @@ -551,7 +536,7 @@ public class MWMActivity extends NvEventQueueActivity mApplication.submitDialogResult(MWMApplication.FACEBOOK, MWMApplication.OK); dlg.dismiss(); - showFacebookPage(); + UiUtils.showFacebookPage(MWMActivity.this); } } ); diff --git a/android/src/com/mapswithme/maps/settings/SettingsActivity.java b/android/src/com/mapswithme/maps/settings/SettingsActivity.java index 83efc7a11c..7d1251bec8 100644 --- a/android/src/com/mapswithme/maps/settings/SettingsActivity.java +++ b/android/src/com/mapswithme/maps/settings/SettingsActivity.java @@ -15,7 +15,6 @@ import android.os.Bundle; import android.preference.CheckBoxPreference; import android.preference.ListPreference; import android.preference.Preference; -import android.preference.Preference.OnPreferenceChangeListener; import android.preference.Preference.OnPreferenceClickListener; import android.preference.PreferenceActivity; import android.preference.PreferenceScreen; @@ -30,14 +29,17 @@ import android.webkit.WebViewClient; import com.mapswithme.maps.MWMApplication; import com.mapswithme.maps.R; +import com.mapswithme.util.Constants; import com.mapswithme.util.UiUtils; +import com.mapswithme.util.Utils; import com.mapswithme.util.Yota; import com.mapswithme.util.statistics.Statistics; -public class SettingsActivity extends PreferenceActivity +public class SettingsActivity extends PreferenceActivity implements OnPreferenceClickListener, Preference.OnPreferenceChangeListener { public final static String ZOOM_BUTTON_ENABLED = "ZoomButtonsEnabled"; - private static final String ABOUT_ASSET_URL = "file:///android_asset/about.html"; + private static final String COPYRIGHT_HTML_URL = "file:///android_asset/copyright.html"; + private static final String FAQ_HTML_URL = "file:///android_asset/faq.html"; private Preference mStoragePreference = null; private StoragePathManager mPathManager = new StoragePathManager(); @@ -57,97 +59,43 @@ public class SettingsActivity extends PreferenceActivity } addPreferencesFromResource(R.xml.preferences); + initPreferences(); + yotaSetup(); + } - final Activity parent = this; - + @SuppressWarnings("deprecation") + private void initPreferences() + { mStoragePreference = findPreference(getString(R.string.pref_storage_activity)); - mStoragePreference.setOnPreferenceClickListener(new OnPreferenceClickListener() - { - @Override - public boolean onPreferenceClick(Preference preference) - { - if (isDownloadingActive()) - { - new AlertDialog.Builder(parent) - .setTitle(parent.getString(R.string.downloading_is_active)) - .setMessage(parent.getString(R.string.cant_change_this_setting)) - .setPositiveButton(parent.getString(R.string.ok), new DialogInterface.OnClickListener() - { - @Override - public void onClick(DialogInterface dlg, int which) - { - dlg.dismiss(); - } - }) - .create() - .show(); - - return false; - } - else - { - parent.startActivity(new Intent(parent, StoragePathActivity.class)); - return true; - } - } - }); + mStoragePreference.setOnPreferenceClickListener(this); final ListPreference lPref = (ListPreference) findPreference(getString(R.string.pref_munits)); - lPref.setValue(String.valueOf(UnitLocale.getUnits())); - lPref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() - { - @Override - public boolean onPreferenceChange(Preference preference, Object newValue) - { - UnitLocale.setUnits(Integer.parseInt((String) newValue)); - return true; - } - }); - + lPref.setOnPreferenceChangeListener(this); final CheckBoxPreference allowStatsPreference = (CheckBoxPreference) findPreference(getString(R.string.pref_allow_stat)); allowStatsPreference.setChecked(Statistics.INSTANCE.isStatisticsEnabled(this)); - allowStatsPreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() - { - @Override - public boolean onPreferenceChange(Preference preference, Object newValue) - { - Statistics.INSTANCE.setStatEnabled(getApplicationContext(), (Boolean) newValue); - return true; - } - }); + allowStatsPreference.setOnPreferenceChangeListener(this); final CheckBoxPreference enableZoomButtons = (CheckBoxPreference) findPreference(getString(R.string.pref_zoom_btns_enabled)); enableZoomButtons.setChecked(MWMApplication.get().nativeGetBoolean(ZOOM_BUTTON_ENABLED, true)); - enableZoomButtons.setOnPreferenceChangeListener(new OnPreferenceChangeListener() - { - @Override - public boolean onPreferenceChange(Preference preference, Object newValue) - { - MWMApplication.get().nativeSetBoolean(ZOOM_BUTTON_ENABLED, (Boolean) newValue); - return true; - } - }); + enableZoomButtons.setOnPreferenceChangeListener(this); - final Preference pref = findPreference(getString(R.string.pref_about)); - pref.setOnPreferenceClickListener(new OnPreferenceClickListener() - { - @Override - public boolean onPreferenceClick(Preference preference) - { - onAboutDialogClicked(SettingsActivity.this); - return true; - } - }); - - yotaSetup(); + findPreference(getString(R.string.pref_about)).setOnPreferenceClickListener(this); + findPreference(getString(R.string.pref_rate_app)).setOnPreferenceClickListener(this); + findPreference(getString(R.string.pref_contact)).setOnPreferenceClickListener(this); + findPreference(getString(R.string.pref_copyright)).setOnPreferenceClickListener(this); + findPreference(getString(R.string.pref_like_fb)).setOnPreferenceClickListener(this); + findPreference(getString(R.string.pref_follow_twitter)).setOnPreferenceClickListener(this); + findPreference(getString(R.string.pref_report_bug)).setOnPreferenceClickListener(this); + findPreference(getString(R.string.pref_subscribe)).setOnPreferenceClickListener(this); + findPreference(getString(R.string.pref_help)).setOnPreferenceClickListener(this); } @SuppressWarnings("deprecation") private void storagePathSetup() { - PreferenceScreen screen = getPreferenceScreen(); + PreferenceScreen screen = (PreferenceScreen) findPreference(getString(R.string.pref_settings)); if (Yota.isYota()) screen.removePreference(mStoragePreference); else if (mPathManager.hasMoreThanOneStorage()) @@ -159,9 +107,10 @@ public class SettingsActivity extends PreferenceActivity @SuppressWarnings("deprecation") private void yotaSetup() { + final PreferenceScreen screen = (PreferenceScreen) findPreference(getString(R.string.pref_settings)); final Preference yopPreference = findPreference(getString(R.string.pref_yota)); if (!Yota.isYota()) - getPreferenceScreen().removePreference(yopPreference); + screen.removePreference(yopPreference); else { yopPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() @@ -229,10 +178,10 @@ public class SettingsActivity extends PreferenceActivity return super.onOptionsItemSelected(item); } - public void onAboutDialogClicked(Activity parent) + private WebView buildWebViewDialog(String dialogTitle) { - final LayoutInflater inflater = LayoutInflater.from(parent); - final View alertDialogView = inflater.inflate(R.layout.about, null); + final LayoutInflater inflater = LayoutInflater.from(this); + final View alertDialogView = inflater.inflate(R.layout.dialog_about, null); final WebView myWebView = (WebView) alertDialogView.findViewById(R.id.webview_about); myWebView.setWebViewClient(new WebViewClient() @@ -286,18 +235,9 @@ public class SettingsActivity extends PreferenceActivity } }); - String versionStr = ""; - try - { - versionStr = parent.getPackageManager().getPackageInfo(parent.getPackageName(), 0).versionName; - } catch (final NameNotFoundException e) - { - e.printStackTrace(); - } - - new AlertDialog.Builder(parent) + new AlertDialog.Builder(this) .setView(alertDialogView) - .setTitle(String.format(parent.getString(R.string.version), versionStr)) + .setTitle(dialogTitle) .setPositiveButton(R.string.close, new DialogInterface.OnClickListener() { @Override @@ -309,11 +249,145 @@ public class SettingsActivity extends PreferenceActivity .create() .show(); - myWebView.loadUrl(ABOUT_ASSET_URL); + return myWebView; + } + + private void showWebViewDialogWithUrl(String url, String dialogTitle) + { + WebView webView = buildWebViewDialog(dialogTitle); + webView.getSettings().setJavaScriptEnabled(true); + webView.getSettings().setDefaultTextEncodingName("utf-8"); + webView.loadUrl(url); + } + + private void showDialogWithData(String text, String title) + { + new AlertDialog.Builder(this) + .setTitle(title) + .setMessage(text) + .setPositiveButton(R.string.close, new DialogInterface.OnClickListener() + { + @Override + public void onClick(DialogInterface dialog, int which) + { + dialog.dismiss(); + } + }) + .create() + .show(); } private native boolean isDownloadingActive(); + @Override + public boolean onPreferenceClick(Preference preference) + { + final String key = preference.getKey(); + if (key.equals(getString(R.string.pref_rate_app))) + { + Statistics.INSTANCE.trackSimpleNamedEvent(Statistics.EventName.SETTINGS_RATE); + UiUtils.runProMarketActivity(this); + } + else if (key.equals(getString(R.string.pref_contact))) + { + Statistics.INSTANCE.trackSimpleNamedEvent(Statistics.EventName.MAIL_INFO); + final Intent intent = new Intent(Intent.ACTION_SENDTO); + intent.setData(Utils.buildMailUri(Constants.Url.MAIL_MAPSME_INFO, "", "")); + startActivity(intent); + } + else if (key.equals(getString(R.string.pref_subscribe))) + { + Statistics.INSTANCE.trackSimpleNamedEvent(Statistics.EventName.MAIL_SUBSCRIBE); + final Intent intent = new Intent(Intent.ACTION_SENDTO); + intent.setData(Utils.buildMailUri(Constants.Url.MAIL_MAPSME_SUBSCRIBE, getString(R.string.subscribe_me_subject), getString(R.string.subscribe_me_body))); + startActivity(intent); + } + else if (key.equals(getString(R.string.pref_report_bug))) + { + Statistics.INSTANCE.trackSimpleNamedEvent(Statistics.EventName.REPORT_BUG); + final Intent intent = new Intent(Intent.ACTION_SENDTO); + intent.setData(Utils.buildMailUri(Constants.Url.MAIL_MAPSME_BUGS, "", "")); + startActivity(intent); + } + else if (key.equals(getString(R.string.pref_like_fb))) + { + Statistics.INSTANCE.trackSimpleNamedEvent(Statistics.EventName.SETTINGS_FB); + UiUtils.showFacebookPage(this); + } + else if (key.equals(getString(R.string.pref_follow_twitter))) + { + Statistics.INSTANCE.trackSimpleNamedEvent(Statistics.EventName.SETTINGS_TWITTER); + UiUtils.showTwitterPage(this); + } + else if (key.equals(getString(R.string.pref_help))) + { + Statistics.INSTANCE.trackSimpleNamedEvent(Statistics.EventName.SETTINGS_HELP); + showWebViewDialogWithUrl(FAQ_HTML_URL, getString(R.string.help)); + } + else if (key.equals(getString(R.string.pref_copyright))) + { + Statistics.INSTANCE.trackSimpleNamedEvent(Statistics.EventName.SETTINGS_COPYRIGHT); + showWebViewDialogWithUrl(COPYRIGHT_HTML_URL, getString(R.string.copyright)); + } + else if (key.equals(getString(R.string.pref_about))) + { + String versionStr = ""; + try + { + versionStr = getPackageManager().getPackageInfo(getPackageName(), 0).versionName; + } catch (final NameNotFoundException e) + { + e.printStackTrace(); + } + + Statistics.INSTANCE.trackSimpleNamedEvent(Statistics.EventName.SETTINGS_ABOUT); + showDialogWithData(getString(R.string.about_text), + String.format(getString(R.string.version), versionStr)); + } + else if (key.equals(getString(R.string.pref_storage_activity))) + { + if (isDownloadingActive()) + { + new AlertDialog.Builder(SettingsActivity.this) + .setTitle(getString(R.string.downloading_is_active)) + .setMessage(getString(R.string.cant_change_this_setting)) + .setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() + { + @Override + public void onClick(DialogInterface dlg, int which) + { + dlg.dismiss(); + } + }) + .create() + .show(); + + return false; + } + else + { + startActivity(new Intent(this, StoragePathActivity.class)); + return true; + } + } + + return false; + } + + @Override + public boolean onPreferenceChange(Preference preference, Object newValue) + { + final String key = preference.getKey(); + if (key.equals(getString(R.string.pref_munits))) + UnitLocale.setUnits(Integer.parseInt((String) newValue)); + else if (key.equals(getString(R.string.pref_allow_stat))) + Statistics.INSTANCE.setStatEnabled(getApplicationContext(), (Boolean) newValue); + else if (key.equals(getString(R.string.pref_zoom_btns_enabled))) + MWMApplication.get().nativeSetBoolean(ZOOM_BUTTON_ENABLED, (Boolean) newValue); + + return true; + } + // needed for soft keyboard to appear in alertdialog. // check https://code.google.com/p/android/issues/detail?id=7189 for details diff --git a/android/src/com/mapswithme/util/Constants.java b/android/src/com/mapswithme/util/Constants.java index 931094061b..10972a4756 100644 --- a/android/src/com/mapswithme/util/Constants.java +++ b/android/src/com/mapswithme/util/Constants.java @@ -8,6 +8,9 @@ public class Constants public static class Url { public static final String GE0_PREFIX = "ge0://"; + public static final String MAILTO_SCHEME = "mailto:"; + public static final String MAIL_SUBJECT = "?subject="; + public static final String MAIL_BODY = "&body="; public static final String HTTP_GE0_PREFIX = "http://ge0.me/"; public static final String PLAY_MARKET_APP_PREFIX = "market://details?id="; @@ -16,6 +19,12 @@ public class Constants public static final String FB_MAPSME_COMMUNITY_HTTP = "http://www.facebook.com/MapsWithMe"; // Profile id is taken from http://graph.facebook.com/MapsWithMe public static final String FB_MAPSME_COMMUNITY_NATIVE = "fb://profile/111923085594432"; + public static final String TWITTER_MAPSME_HTTP = "https://twitter.com/MAPS_ME"; + public static final String TWITTER_MAPSME_NATIVE = "twitter://user?user_id=MAPS_ME"; + + public static final String MAIL_MAPSME_INFO = "android@maps.me"; + public static final String MAIL_MAPSME_BUGS = "android@maps.me"; + public static final String MAIL_MAPSME_SUBSCRIBE = "subscribe@maps.me"; public static final String DATA_SCHEME_FILE = "file"; @@ -28,6 +37,7 @@ public class Constants public static final String MWM_PRO_PACKAGE = "com.mapswithme.maps.pro"; public static final String MWM_LITE_PACKAGE = "com.mapswithme.maps"; public static final String MWM_SAMSUNG_PACKAGE = "com.mapswithme.maps.samsung"; + public static final String TWITTER_PACKAGE = "com.twitter.android"; private Package() {} } diff --git a/android/src/com/mapswithme/util/UiUtils.java b/android/src/com/mapswithme/util/UiUtils.java index 4f88b243c8..a68f69869f 100644 --- a/android/src/com/mapswithme/util/UiUtils.java +++ b/android/src/com/mapswithme/util/UiUtils.java @@ -275,6 +275,38 @@ public final class UiUtils } } + public static void showFacebookPage(Activity activity) + { + try + { + // Exception is thrown if we don't have installed Facebook application. + activity.getPackageManager().getPackageInfo(Constants.Package.FB_PACKAGE, 0); + + activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(Constants.Url.FB_MAPSME_COMMUNITY_NATIVE))); + } catch (final Exception e) + { + activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(Constants.Url.FB_MAPSME_COMMUNITY_HTTP))); + } + } + + public static void showTwitterPage(Activity activity) + { + Intent intent; + try + { + // get the Twitter app if possible + activity.getPackageManager().getPackageInfo(Constants.Package.TWITTER_PACKAGE, 0); + intent = new Intent(Intent.ACTION_VIEW, Uri.parse(Constants.Url.TWITTER_MAPSME_NATIVE)); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + } catch (Exception e) + { + // no Twitter app, revert to browser + intent = new Intent(Intent.ACTION_VIEW, Uri.parse(Constants.Url.TWITTER_MAPSME_HTTP)); + } + activity.startActivity(intent); + } + + // utility class private UiUtils() {} diff --git a/android/src/com/mapswithme/util/Utils.java b/android/src/com/mapswithme/util/Utils.java index 06bfe90fcb..d298c11a53 100644 --- a/android/src/com/mapswithme/util/Utils.java +++ b/android/src/com/mapswithme/util/Utils.java @@ -8,6 +8,7 @@ import android.content.Context; import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; +import android.net.Uri; import android.os.Build; import android.text.TextUtils; import android.util.Log; @@ -213,5 +214,14 @@ public class Utils return mgr.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY).size() > 0; } + public static Uri buildMailUri(String to, String subject, String body) + { + String uriString = Constants.Url.MAILTO_SCHEME + Uri.encode(to) + + Constants.Url.MAIL_SUBJECT + Uri.encode(subject) + + Constants.Url.MAIL_BODY + Uri.encode(body); + + return Uri.parse(uriString); + } + private Utils() {} } diff --git a/android/src/com/mapswithme/util/statistics/Statistics.java b/android/src/com/mapswithme/util/statistics/Statistics.java index b5f1356bb9..7bf06e77da 100644 --- a/android/src/com/mapswithme/util/statistics/Statistics.java +++ b/android/src/com/mapswithme/util/statistics/Statistics.java @@ -34,12 +34,37 @@ public enum Statistics private int mBookmarksCreated = 0; private int mSharedTimes = 0; - - public void trackSearchQuery(final String query) + public static class EventName { - NativeEventTracker.trackSearchQuery(query); + public static final String COUNTRY_DOWNLOAD = "Country download"; + public static final String YOTA_BACK_CALL = "Yota back screen call"; + public static final String COUNTRY_UPDATE = "Country update"; + public static final String COUNTRY_DELETE = "Country deleted"; + public static final String SEARCH_CAT_CLICKED = "Search category clicked"; + public static final String BOOKMARK_GROUP_CHANGED = "Bookmark group changed"; + public static final String DESCRIPTION_CHANGED = "Description changed"; + public static final String GROUP_CREATED = "Group Created"; + public static final String SEARCH_CONTEXT_CNAHGED = "Search context changed"; + public static final String COLOR_CHANGED = "Color changed"; + public static final String BOOKMARK_CREATED = "Bookmark created"; + public static final String PLACE_SHARED = "Place Shared"; + public static final String API_CALLED = "API called"; + public static final String WIFI_CONNECTED = "Wifi connected"; + public static final String DOWNLOAD_COUNTRY_NOTIFICATION_SHOWN = "Download country notification shown"; + public static final String DOWNLOAD_COUNTRY_NOTIFICATION_CLICKED = "Download country notification clicked"; + public static final String SETTINGS_RATE = "Settings. Rate app called"; + public static final String MAIL_INFO = "Send mail at info@maps.me"; + public static final String MAIL_SUBSCRIBE = "Settings. Subscribed"; + public static final String REPORT_BUG = "Settings. Bug reported"; + public static final String SETTINGS_FB = "Settings. Go to FB."; + public static final String SETTINGS_TWITTER = "Settings. Go to twitter."; + public static final String SETTINGS_HELP = "Settings. Help."; + public static final String SETTINGS_ABOUT = "Settings. About."; + public static final String SETTINGS_COPYRIGHT = "Settings. Copyright."; } + + private Statistics() { Log.d(TAG, "Created Statistics instance."); @@ -64,7 +89,7 @@ public enum Statistics public void trackBackscreenCall(Context context, String from) { final Event event = getEventBuilder().reset() - .setName("Yota back screen call") + .setName(EventName.YOTA_BACK_CALL) .addParam("from", from) .getEvent(); @@ -73,23 +98,23 @@ public enum Statistics public void trackCountryDownload(Context context) { - trackIfEnabled(context, getEventBuilder().getSimpleNamedEvent("Country download")); + trackIfEnabled(context, getEventBuilder().getSimpleNamedEvent(EventName.COUNTRY_DOWNLOAD)); } public void trackCountryUpdate(Context context) { - trackIfEnabled(context, getEventBuilder().getSimpleNamedEvent("Country update")); + trackIfEnabled(context, getEventBuilder().getSimpleNamedEvent(EventName.COUNTRY_UPDATE)); } public void trackCountryDeleted(Context context) { - trackIfEnabled(context, getEventBuilder().getSimpleNamedEvent("Country deleted")); + trackIfEnabled(context, getEventBuilder().getSimpleNamedEvent(EventName.COUNTRY_DELETE)); } public void trackSearchCategoryClicked(Context context, String category) { final Event event = getEventBuilder().reset() - .setName("Search category clicked") + .setName(EventName.SEARCH_CAT_CLICKED) .addParam("category", category) .getEvent(); @@ -98,23 +123,23 @@ public enum Statistics public void trackGroupChanged(Context context) { - trackIfEnabled(context, getEventBuilder().getSimpleNamedEvent("Bookmark group changed")); + trackIfEnabled(context, getEventBuilder().getSimpleNamedEvent(EventName.BOOKMARK_GROUP_CHANGED)); } public void trackDescriptionChanged(Context context) { - trackIfEnabled(context, getEventBuilder().getSimpleNamedEvent("Description changed")); + trackIfEnabled(context, getEventBuilder().getSimpleNamedEvent(EventName.DESCRIPTION_CHANGED)); } public void trackGroupCreated(Context context) { - trackIfEnabled(context, getEventBuilder().getSimpleNamedEvent("Group Created")); + trackIfEnabled(context, getEventBuilder().getSimpleNamedEvent(EventName.GROUP_CREATED)); } public void trackSearchContextChanged(Context context, String from, String to) { final Event event = getEventBuilder().reset() - .setName("Search context changed") + .setName(EventName.SEARCH_CONTEXT_CNAHGED) .addParam("from", from) .addParam("to", to) .getEvent(); @@ -125,7 +150,7 @@ public enum Statistics public void trackColorChanged(Context context, String from, String to) { final Event event = getEventBuilder().reset() - .setName("Color changed") + .setName(EventName.COLOR_CHANGED) .addParam("from", from) .addParam("to", to) .getEvent(); @@ -136,7 +161,7 @@ public enum Statistics public void trackBookmarkCreated(Context context) { final Event event = getEventBuilder().reset() - .setName("Bookmark created") + .setName(EventName.BOOKMARK_CREATED) .addParam("Count", String.valueOf(++mBookmarksCreated)) .getEvent(); @@ -146,7 +171,7 @@ public enum Statistics public void trackPlaceShared(Context context, String channel) { final Event event = getEventBuilder().reset() - .setName("Place Shared") + .setName(EventName.PLACE_SHARED) .addParam("Channel", channel) .addParam("Count", String.valueOf(++mSharedTimes)) .getEvent(); @@ -171,7 +196,7 @@ public enum Statistics ensureConfigured(MWMApplication.get()); //@formatter:off final Event event = getEventBuilder().reset() - .setName("API called") + .setName(EventName.API_CALLED) .addParam("Caller ID", request.getCallerInfo().packageName) .getEvent(); //@formatter:on @@ -183,7 +208,7 @@ public enum Statistics { ensureConfigured(MWMApplication.get()); final Event event = getEventBuilder().reset(). - setName("Wifi connected"). + setName(EventName.WIFI_CONNECTED). addParam("Had valid location", String.valueOf(hasValidLocation)). getEvent(); trackIfEnabled(MWMApplication.get(), event); @@ -193,7 +218,7 @@ public enum Statistics { ensureConfigured(MWMApplication.get()); final Event event = getEventBuilder().reset(). - setName("Wifi connected"). + setName(EventName.WIFI_CONNECTED). addParam("Had valid location", String.valueOf(isLocationExpired)). addParam("Delay in milliseconds", String.valueOf(delayMillis)). getEvent(); @@ -203,13 +228,13 @@ public enum Statistics public void trackDownloadCountryNotificationShown() { ensureConfigured(MWMApplication.get()); - getEventBuilder().getSimpleNamedEvent("Download country notification shown").post(); + getEventBuilder().getSimpleNamedEvent(EventName.DOWNLOAD_COUNTRY_NOTIFICATION_SHOWN).post(); } public void trackDownloadCountryNotificationClicked() { ensureConfigured(MWMApplication.get()); - getEventBuilder().getSimpleNamedEvent("Download country notification clicked").post(); + getEventBuilder().getSimpleNamedEvent(EventName.DOWNLOAD_COUNTRY_NOTIFICATION_CLICKED).post(); } public void trackSimpleNamedEvent(String eventName) diff --git a/iphone/Maps/ar.lproj/Localizable.strings b/iphone/Maps/ar.lproj/Localizable.strings index 9c8a5529b4..0410b2ef34 100644 --- a/iphone/Maps/ar.lproj/Localizable.strings +++ b/iphone/Maps/ar.lproj/Localizable.strings @@ -591,7 +591,7 @@ "maps_me_is_free_today_ios" = "تطبيق MAPS.ME مجاني اليوم! يمكنك مشاركة الأخبار على الفيسبوك."; /* Message to display on 17th-18th august */ -"maps_me_is_free_today_android" = "MAPS.ME متوفر الآن مع خصم 80٪ على منصة جوجل بلاي."; +"maps_me_is_free_today_android" = "MAPS.ME متوفر الآن مع خصم 80٪ على منصة جوجل بلاي. يمكنك مشاركة الأخبار على الفيسبوك."; /* Message for facebook post on 17th-18th august */ "maps_me_is_free_today_facebook_post_ios" = "تطبيق الخرائط غير المتصلة المذهل MAPS.ME أصبح مجاني على متجر التطبيقات ومتوفر بخصم 80% على Google Play. أسرع للحصول على التطبيق اليوم، فالترويج سوف ينتهي قريبا!"; diff --git a/iphone/Maps/cs.lproj/Localizable.strings b/iphone/Maps/cs.lproj/Localizable.strings index b5ad7d24cf..8d8182002f 100644 --- a/iphone/Maps/cs.lproj/Localizable.strings +++ b/iphone/Maps/cs.lproj/Localizable.strings @@ -591,7 +591,7 @@ "maps_me_is_free_today_ios" = "MAPS.ME je dnes zdarma! Sdílejte tu zprávu na Facebooku."; /* Message to display on 17th-18th august */ -"maps_me_is_free_today_android" = "MAPS.ME jsou dostupné na Google Play se slevou 80 %."; +"maps_me_is_free_today_android" = "MAPS.ME jsou dostupné na Google Play se slevou 80 %! Sdílejte tu zprávu na Facebooku."; /* Message for facebook post on 17th-18th august */ "maps_me_is_free_today_facebook_post_ios" = "Úžasné offline mapy MAPS.ME jsou zdarma na App Store a dostupné s 80% slevou na Google Play. Pospěšte si a získejte tuto aplikaci ještě dnes, tato propagační akce brzy skončí!"; diff --git a/iphone/Maps/da.lproj/Localizable.strings b/iphone/Maps/da.lproj/Localizable.strings index 263d2109fd..96c525e8d3 100644 --- a/iphone/Maps/da.lproj/Localizable.strings +++ b/iphone/Maps/da.lproj/Localizable.strings @@ -591,7 +591,7 @@ "maps_me_is_free_today_ios" = "MAPS.ME er gratis i dag! Del nyheden på Facebook."; /* Message to display on 17th-18th august */ -"maps_me_is_free_today_android" = "MAPS.ME er tilgængeligt med 80% rabat på Google Play."; +"maps_me_is_free_today_android" = "MAPS.ME er tilgængeligt med 80% rabat på Google Play! Del nyheden på Facebook."; /* Message for facebook post on 17th-18th august */ "maps_me_is_free_today_facebook_post_ios" = "Den fantastiske offline kort app MAPS.ME er gratis i App Store og kan fås på Google Play med 80% i rabat. Skynd dig at få app´en i dag, promotionperioden er snart forbi!"; diff --git a/iphone/Maps/de.lproj/Localizable.strings b/iphone/Maps/de.lproj/Localizable.strings index 3fe92c8dbc..c4ff29de72 100644 --- a/iphone/Maps/de.lproj/Localizable.strings +++ b/iphone/Maps/de.lproj/Localizable.strings @@ -591,7 +591,7 @@ "maps_me_is_free_today_ios" = "MAPS.ME Pro ist heute gratis! Neuigkeiten auf Facebook teilen."; /* Message to display on 17th-18th august */ -"maps_me_is_free_today_android" = "MAPS.ME gibt es mit 80 % Rabatt auf Google Play."; +"maps_me_is_free_today_android" = "MAPS.ME gibt es mit 80 % Rabatt auf Google Play! Neuigkeiten auf Facebook teilen."; /* Message for facebook post on 17th-18th august */ "maps_me_is_free_today_facebook_post_ios" = "Die tolle Offline-Karten-App MAPS.ME gibt es gratis im App Store und ist mit 80 % Rabatt bei Google Play verfügbar. Beeilen Sie sich und holen Sie sich heute die App. Die Aktion ist bald vorbei!"; diff --git a/iphone/Maps/en.lproj/Localizable.strings b/iphone/Maps/en.lproj/Localizable.strings index ea18d4fbb7..8f60942154 100644 --- a/iphone/Maps/en.lproj/Localizable.strings +++ b/iphone/Maps/en.lproj/Localizable.strings @@ -591,7 +591,7 @@ "maps_me_is_free_today_ios" = "MAPS.ME Pro is free today! Share the news on Facebook."; /* Message to display on 17th-18th august */ -"maps_me_is_free_today_android" = "MAPS.ME is available with 80% discount at Google Play."; +"maps_me_is_free_today_android" = "MAPS.ME is available with 80% discount at Google Play! Share the news on Facebook."; /* Message for facebook post on 17th-18th august */ "maps_me_is_free_today_facebook_post_ios" = "Awesome offline maps app MAPS.ME is free on the App Store and is available with an 80% discount on Google Play. Hurry up to get the app today, the promotion will soon be over!"; diff --git a/iphone/Maps/es.lproj/Localizable.strings b/iphone/Maps/es.lproj/Localizable.strings index 60a127d835..63cef700d2 100644 --- a/iphone/Maps/es.lproj/Localizable.strings +++ b/iphone/Maps/es.lproj/Localizable.strings @@ -591,7 +591,7 @@ "maps_me_is_free_today_ios" = "¡MAPS.ME es gratis hoy! Comparte la noticia en Facebook."; /* Message to display on 17th-18th august */ -"maps_me_is_free_today_android" = "MAPS.ME disponible con un descuento del 80 % en Google Play"; +"maps_me_is_free_today_android" = "MAPS.ME disponible con un descuento del 80 % en Google Play! Comparte la noticia en Facebook."; /* Message for facebook post on 17th-18th august */ "maps_me_is_free_today_facebook_post_ios" = "La increíble app de mapas sin conexión, MAPS.ME, está en la App Store gratis y disponible en Google Play con un descuento del 80 %. Date prisa y consigue la app hoy, ¡la promoción pronto se acabará!"; diff --git a/iphone/Maps/fr.lproj/Localizable.strings b/iphone/Maps/fr.lproj/Localizable.strings index 8ad1f2dc3f..2f908c126d 100644 --- a/iphone/Maps/fr.lproj/Localizable.strings +++ b/iphone/Maps/fr.lproj/Localizable.strings @@ -591,7 +591,7 @@ "maps_me_is_free_today_ios" = "MAPS.ME est gratuit aujourd'hui ! Partagez la nouvelle sur Facebook."; /* Message to display on 17th-18th august */ -"maps_me_is_free_today_android" = "MAPS.ME est disponible avec 80 % de réduction sur Google Play."; +"maps_me_is_free_today_android" = "MAPS.ME est disponible avec 80 % de réduction sur Google Play ! Partagez la nouvelle sur Facebook."; /* Message for facebook post on 17th-18th august */ "maps_me_is_free_today_facebook_post_ios" = "Cette géniale application hors-connexion de cartes MAPS.ME est gratuite sur l'App Store et disponible avec une réduction de 80 % sur Google Play. Dépêchez-vous d'obtenir l'application dès aujourd'hui, la promotion se termine bientôt !"; diff --git a/iphone/Maps/hu.lproj/Localizable.strings b/iphone/Maps/hu.lproj/Localizable.strings index f546361d4b..c9b1919143 100644 --- a/iphone/Maps/hu.lproj/Localizable.strings +++ b/iphone/Maps/hu.lproj/Localizable.strings @@ -591,7 +591,7 @@ "maps_me_is_free_today_ios" = "A MAPS.ME ma ingyenes! Oszd meg a hírt facebookon."; /* Message to display on 17th-18th august */ -"maps_me_is_free_today_android" = "A MAPS.ME 80 százalékos kedvezménnyel érhető el a Google Playen."; +"maps_me_is_free_today_android" = "A MAPS.ME 80 százalékos kedvezménnyel érhető el a Google Playen! Oszd meg a hírt facebookon."; /* Message for facebook post on 17th-18th august */ "maps_me_is_free_today_facebook_post_ios" = "A szuper offline térképek alkalmazása, a MAPS.ME ingyenes az App Store-ban és elérhető 80%-os kedvezménnyel a Google Play-en. Siess és szerezd meg az alkalmazást még ma, az akció hamarosan véget ér!"; diff --git a/iphone/Maps/it.lproj/Localizable.strings b/iphone/Maps/it.lproj/Localizable.strings index bad9708afb..f58caad4aa 100644 --- a/iphone/Maps/it.lproj/Localizable.strings +++ b/iphone/Maps/it.lproj/Localizable.strings @@ -591,7 +591,7 @@ "maps_me_is_free_today_ios" = "MAPS.ME è gratis quest'oggi! Condividi la notizia su Facebook."; /* Message to display on 17th-18th august */ -"maps_me_is_free_today_android" = "MAPS.ME è disponibile con uno sconto dell'80% su Google Play"; +"maps_me_is_free_today_android" = "MAPS.ME è disponibile con uno sconto dell'80% su Google Play! Condividi la notizia su Facebook."; /* Message for facebook post on 17th-18th august */ "maps_me_is_free_today_facebook_post_ios" = "La bellissima app MAPS.ME con mappe off-line è gratuita sull'App Store ed è disponibile con l'80% di sconto su Google Play. Affrettati per avere l'applicazione oggi stesso; la promozione scadrà presto!"; diff --git a/iphone/Maps/ja.lproj/Localizable.strings b/iphone/Maps/ja.lproj/Localizable.strings index 54182475c6..d980e38d4b 100644 --- a/iphone/Maps/ja.lproj/Localizable.strings +++ b/iphone/Maps/ja.lproj/Localizable.strings @@ -591,7 +591,7 @@ "maps_me_is_free_today_ios" = "MAPS.ME が本日無料!Facebookでニュースをシェアしよう。"; /* Message to display on 17th-18th august */ -"maps_me_is_free_today_android" = "Google Playから8割引の価格でMAPS.MEをお買い求めいただけます。"; +"maps_me_is_free_today_android" = "Google Playから8割引の価格でMAPS.MEをお買い求めいただけます! Facebookでニュースをシェアしよう。"; /* Message for facebook post on 17th-18th august */ "maps_me_is_free_today_facebook_post_ios" = "素晴らしい機能を搭載し、オフラインでも使用可能なマップアプリのMAPS.MEがApp Storeで無料、Google Playからは8割引の価格で入手できます。このプロモーションは間もなく終わってしまうので、今すぐにでもゲットしましょう!"; diff --git a/iphone/Maps/ko.lproj/Localizable.strings b/iphone/Maps/ko.lproj/Localizable.strings index 2793989ea7..36d4527c70 100644 --- a/iphone/Maps/ko.lproj/Localizable.strings +++ b/iphone/Maps/ko.lproj/Localizable.strings @@ -591,7 +591,7 @@ "maps_me_is_free_today_ios" = "MAPS.ME는 오늘 무료입니다! Facebook에서 뉴스를 공유할 수 있습니다."; /* Message to display on 17th-18th august */ -"maps_me_is_free_today_android" = "MAPS.ME는 구글 플레이에서 80% 할인된 가격으로 구입할 수 있습니다."; +"maps_me_is_free_today_android" = "MAPS.ME는 구글 플레이에서 80% 할인된 가격으로 구입할 수 있습니다! Facebook에서 뉴스를 공유할 수 있습니다."; /* Message for facebook post on 17th-18th august */ "maps_me_is_free_today_facebook_post_ios" = "멋진 오프라인 지도 앱인 MAPS.ME는 App Store에서 무료이며, Google Play에서 80% 할인된 가격으로 사용할 수 있습니다. 오늘 서둘러 앱을 다운로드하세요. 프로모션이 곧 끝납니다!"; diff --git a/iphone/Maps/nl.lproj/Localizable.strings b/iphone/Maps/nl.lproj/Localizable.strings index 781ef335cf..591aefe539 100644 --- a/iphone/Maps/nl.lproj/Localizable.strings +++ b/iphone/Maps/nl.lproj/Localizable.strings @@ -591,7 +591,7 @@ "maps_me_is_free_today_ios" = "MAPS.ME is vandaag gratis! Deel het nieuws op Facebook."; /* Message to display on 17th-18th august */ -"maps_me_is_free_today_android" = "MAPS.ME is met 80% korting te koop op Google Play."; +"maps_me_is_free_today_android" = "MAPS.ME is met 80% korting te koop op Google Play! Deel het nieuws op Facebook."; /* Message for facebook post on 17th-18th august */ "maps_me_is_free_today_facebook_post_ios" = "Geweldige app MAPS.ME met offline kaarten is gratis in de App Store en beschikbaar met een korting van 80% op Google Play. Wees er snel bij en haal die app vandaag, want de actie is binnenkort ten einde!"; diff --git a/iphone/Maps/pl.lproj/Localizable.strings b/iphone/Maps/pl.lproj/Localizable.strings index dda80f294b..39b4fb57a0 100644 --- a/iphone/Maps/pl.lproj/Localizable.strings +++ b/iphone/Maps/pl.lproj/Localizable.strings @@ -591,7 +591,7 @@ "maps_me_is_free_today_ios" = "Aplikacja MAPS.ME jest dziś bezpłatna! Podziel się tą wiadomością na Facebooku."; /* Message to display on 17th-18th august */ -"maps_me_is_free_today_android" = "MAPS.ME jest dostępne z 80% zniżką na Google Play."; +"maps_me_is_free_today_android" = "MAPS.ME jest dostępne z 80% zniżką na Google Play! Podziel się tą wiadomością na Facebooku."; /* Message for facebook post on 17th-18th august */ "maps_me_is_free_today_facebook_post_ios" = "Fantastyczna aplikacja z mapami offline MAPS.ME jest dostępna na darmo w App Store oraz z 80% zniżką w Google Play. Pospiesz się i pobierz ją już dziś, gdyż promocja wkrótce dobiegnie końca!"; diff --git a/iphone/Maps/pt.lproj/Localizable.strings b/iphone/Maps/pt.lproj/Localizable.strings index 28b38be1eb..3df03d42cd 100644 --- a/iphone/Maps/pt.lproj/Localizable.strings +++ b/iphone/Maps/pt.lproj/Localizable.strings @@ -591,7 +591,7 @@ "maps_me_is_free_today_ios" = "A MAPS.ME é hoje grátis! Partilhe a notícia no Facebook."; /* Message to display on 17th-18th august */ -"maps_me_is_free_today_android" = "A MAPS.ME está disponível com 80% de desconto na Google Play."; +"maps_me_is_free_today_android" = "A MAPS.ME está disponível com 80% de desconto na Google Play! Partilhe a notícia no Facebook."; /* Message for facebook post on 17th-18th august */ "maps_me_is_free_today_facebook_post_ios" = "A app espetacular de mapas offline MAPS.ME é grátis na App Store e está disponível com um desconto de 80% no Google Play. Apresse-se para obter hoje a app, a promoção acabará em breve!"; diff --git a/iphone/Maps/ru.lproj/Localizable.strings b/iphone/Maps/ru.lproj/Localizable.strings index 6e3f4a78e5..bd2e730e1b 100644 --- a/iphone/Maps/ru.lproj/Localizable.strings +++ b/iphone/Maps/ru.lproj/Localizable.strings @@ -591,7 +591,7 @@ "maps_me_is_free_today_ios" = "MAPS.ME сегодня бесплатно! Поделись новостью на Facebook."; /* Message to display on 17th-18th august */ -"maps_me_is_free_today_android" = "Сегодня в Google Play скидка на MAPS.ME 80%"; +"maps_me_is_free_today_android" = "Сегодня в Google Play скидка на MAPS.ME 80%! Поделись новостью на Facebook."; /* Message for facebook post on 17th-18th august */ "maps_me_is_free_today_facebook_post_ios" = "Сегодня замечательное приложение с офлайн-картами MAPS.ME бесплатно в App Store, а в Google Play - со скидкой 80%. Рекомендую! Акция скоро закончится."; diff --git a/iphone/Maps/th.lproj/Localizable.strings b/iphone/Maps/th.lproj/Localizable.strings index 5727abc6eb..d3ae2be04f 100644 --- a/iphone/Maps/th.lproj/Localizable.strings +++ b/iphone/Maps/th.lproj/Localizable.strings @@ -591,7 +591,7 @@ "maps_me_is_free_today_ios" = "MAPS.ME วันนี้ฟรี! แบ่งปันข่าวนี้บน Facebook"; /* Message to display on 17th-18th august */ -"maps_me_is_free_today_android" = "สามารถใช้ MAPS.ME ลด 80% ได้ที่ Google Play"; +"maps_me_is_free_today_android" = "สามารถใช้ MAPS.ME ลด 80% ได้ที่ Google Play! แบ่งปันข่าวนี้บน Facebook"; /* Message for facebook post on 17th-18th august */ "maps_me_is_free_today_facebook_post_ios" = "แอป MAPS.ME แผนที่ออฟไลน์สุดเจ๋งฟรีใน App Store และสามารถใช้ได้กับส่วนลด 80% บน Google Play เร็วเข้าเพื่อรับแอปวันนี้ โปรโมชั่นจะหมดเร็ว ๆ นี้!"; diff --git a/iphone/Maps/tr.lproj/Localizable.strings b/iphone/Maps/tr.lproj/Localizable.strings index bc675d1582..6d80f53930 100644 --- a/iphone/Maps/tr.lproj/Localizable.strings +++ b/iphone/Maps/tr.lproj/Localizable.strings @@ -591,7 +591,7 @@ "maps_me_is_free_today_ios" = "MAPS.ME bugün ücretsiz! Haberi Facebook'ta paylaş."; /* Message to display on 17th-18th august */ -"maps_me_is_free_today_android" = "MAPS.ME Google Play'de %80 indirimli."; +"maps_me_is_free_today_android" = "MAPS.ME Google Play'de %80 indirimli! Haberi Facebook'ta paylaş."; /* Message for facebook post on 17th-18th august */ "maps_me_is_free_today_facebook_post_ios" = "Mükemmel çevrimdışı harita uygulaması MAPS.ME App Store'da ücretsiz, Google Play üzerinde ise %80 indirimle hizmetinizde. Uygulamayı bugün edinmek için acele edin, promosyon yakında sona erecek!"; diff --git a/iphone/Maps/uk.lproj/Localizable.strings b/iphone/Maps/uk.lproj/Localizable.strings index 72e31d1741..758330879f 100644 --- a/iphone/Maps/uk.lproj/Localizable.strings +++ b/iphone/Maps/uk.lproj/Localizable.strings @@ -591,7 +591,7 @@ "maps_me_is_free_today_ios" = "MAPS.ME сьогодні безкоштовний! Розповсюдити новину на Facebook."; /* Message to display on 17th-18th august */ -"maps_me_is_free_today_android" = "Сьогодні в Google Play знижка на MAPS.ME 80%"; +"maps_me_is_free_today_android" = "Сьогодні в Google Play знижка на MAPS.ME 80%! Розповсюдити новину на Facebook."; /* Message for facebook post on 17th-18th august */ "maps_me_is_free_today_facebook_post_ios" = "Сьогодні чудова програма з офлайн-картами MAPS.ME безкоштовна в App Store, а в Google Play - зі знижкою 80%. Рекомендую! Акція скоро закінчиться."; diff --git a/iphone/Maps/zh-Hans.lproj/Localizable.strings b/iphone/Maps/zh-Hans.lproj/Localizable.strings index 258ddf3b50..50ff6de94b 100644 --- a/iphone/Maps/zh-Hans.lproj/Localizable.strings +++ b/iphone/Maps/zh-Hans.lproj/Localizable.strings @@ -591,7 +591,7 @@ "maps_me_is_free_today_ios" = "MAPS.ME今日免费!在Facebook上分享该消息。"; /* Message to display on 17th-18th august */ -"maps_me_is_free_today_android" = "MAPS.ME在Google Play上可享受80%折扣。"; +"maps_me_is_free_today_android" = "MAPS.ME在Google Play上可享受80%折扣! 在Facebook上分享该消息。"; /* Message for facebook post on 17th-18th august */ "maps_me_is_free_today_facebook_post_ios" = "精彩的离线地图应用MAPS.ME可在App Store免费获取,在Google Play则可享受两折优惠。赶快立即获取该应用吧,此优惠促销很快即将结束!"; diff --git a/iphone/Maps/zh-Hant.lproj/Localizable.strings b/iphone/Maps/zh-Hant.lproj/Localizable.strings index 90b7910795..fb63c2f304 100644 --- a/iphone/Maps/zh-Hant.lproj/Localizable.strings +++ b/iphone/Maps/zh-Hant.lproj/Localizable.strings @@ -591,7 +591,7 @@ "maps_me_is_free_today_ios" = "MAPS.ME今日免費!在Facebook上分享此新聞。"; /* Message to display on 17th-18th august */ -"maps_me_is_free_today_android" = "MAPS.ME在Google Play上可享受80%折扣。"; +"maps_me_is_free_today_android" = "MAPS.ME在Google Play上可享受80%折扣! 在Facebook上分享此新聞。"; /* Message for facebook post on 17th-18th august */ "maps_me_is_free_today_facebook_post_ios" = "精彩的離線地圖應用MAPS.ME可在App Store免費獲取,在Google Play則可享受兩折優惠。趕快立即獲取該應用吧,此優惠促銷很快即將結束!"; diff --git a/strings.txt b/strings.txt index c09535f375..6fcaac2562 100644 --- a/strings.txt +++ b/strings.txt @@ -4749,26 +4749,26 @@ [maps_me_is_free_today_android] tags = android comment = Message to display on 17th-18th august - en = MAPS.ME is available with 80% discount at Google Play. - cs = MAPS.ME jsou dostupné na Google Play se slevou 80 %. - de = MAPS.ME gibt es mit 80 % Rabatt auf Google Play. - es = MAPS.ME disponible con un descuento del 80 % en Google Play - fr = MAPS.ME est disponible avec 80 % de réduction sur Google Play. - it = MAPS.ME è disponibile con uno sconto dell'80% su Google Play - ja = Google Playから8割引の価格でMAPS.MEをお買い求めいただけます。 - ko = MAPS.ME는 구글 플레이에서 80% 할인된 가격으로 구입할 수 있습니다. - nl = MAPS.ME is met 80% korting te koop op Google Play. - ru = Сегодня в Google Play скидка на MAPS.ME 80% - uk = Сьогодні в Google Play знижка на MAPS.ME 80% - zh-Hant = MAPS.ME在Google Play上可享受80%折扣。 - pl = MAPS.ME jest dostępne z 80% zniżką na Google Play. - pt = A MAPS.ME está disponível com 80% de desconto na Google Play. - hu = A MAPS.ME 80 százalékos kedvezménnyel érhető el a Google Playen. - th = สามารถใช้ MAPS.ME ลด 80% ได้ที่ Google Play - zh-Hans = MAPS.ME在Google Play上可享受80%折扣。 - ar = MAPS.ME متوفر الآن مع خصم 80٪ على منصة جوجل بلاي. - da = MAPS.ME er tilgængeligt med 80% rabat på Google Play. - tr = MAPS.ME Google Play'de %80 indirimli. + en = MAPS.ME is available with 80% discount at Google Play! Share the news on Facebook. + cs = MAPS.ME jsou dostupné na Google Play se slevou 80 %! Sdílejte tu zprávu na Facebooku. + de = MAPS.ME gibt es mit 80 % Rabatt auf Google Play! Neuigkeiten auf Facebook teilen. + es = MAPS.ME disponible con un descuento del 80 % en Google Play! Comparte la noticia en Facebook. + fr = MAPS.ME est disponible avec 80 % de réduction sur Google Play ! Partagez la nouvelle sur Facebook. + it = MAPS.ME è disponibile con uno sconto dell'80% su Google Play! Condividi la notizia su Facebook. + ja = Google Playから8割引の価格でMAPS.MEをお買い求めいただけます! Facebookでニュースをシェアしよう。 + ko = MAPS.ME는 구글 플레이에서 80% 할인된 가격으로 구입할 수 있습니다! Facebook에서 뉴스를 공유할 수 있습니다. + nl = MAPS.ME is met 80% korting te koop op Google Play! Deel het nieuws op Facebook. + ru = Сегодня в Google Play скидка на MAPS.ME 80%! Поделись новостью на Facebook. + uk = Сьогодні в Google Play знижка на MAPS.ME 80%! Розповсюдити новину на Facebook. + zh-Hant = MAPS.ME在Google Play上可享受80%折扣! 在Facebook上分享此新聞。 + pl = MAPS.ME jest dostępne z 80% zniżką na Google Play! Podziel się tą wiadomością na Facebooku. + pt = A MAPS.ME está disponível com 80% de desconto na Google Play! Partilhe a notícia no Facebook. + hu = A MAPS.ME 80 százalékos kedvezménnyel érhető el a Google Playen! Oszd meg a hírt facebookon. + th = สามารถใช้ MAPS.ME ลด 80% ได้ที่ Google Play! แบ่งปันข่าวนี้บน Facebook + zh-Hans = MAPS.ME在Google Play上可享受80%折扣! 在Facebook上分享该消息。 + ar = MAPS.ME متوفر الآن مع خصم 80٪ على منصة جوجل بلاي. يمكنك مشاركة الأخبار على الفيسبوك. + da = MAPS.ME er tilgængeligt med 80% rabat på Google Play! Del nyheden på Facebook. + tr = MAPS.ME Google Play'de %80 indirimli! Haberi Facebook'ta paylaş. [maps_me_is_free_today_facebook_post_ios] tags = ios