From de1cc566a1c9525696ff74de03b349d5bce14d26 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 1 May 2017 20:57:12 +0200 Subject: [PATCH 1/5] show license in the links section This makes the license a link to the spdx.org page for the app's license. I think this is an improvement over the way the license was displayed before 0.103 since it provides a direct link to the actual text of the license. The license icon is a modified version of the public domain icon: https://commons.wikimedia.org/wiki/File:Cc-sa_white.svg closes #960 --- .../main/java/org/fdroid/fdroid/data/App.java | 2 +- .../views/AppDetailsRecyclerViewAdapter.java | 20 ++++++++++++++++++- app/src/main/res/drawable/ic_license.xml | 16 +++++++++++++++ app/src/main/res/values/strings.xml | 1 + 4 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 app/src/main/res/drawable/ic_license.xml diff --git a/app/src/main/java/org/fdroid/fdroid/data/App.java b/app/src/main/java/org/fdroid/fdroid/data/App.java index f7d04b79a..d1c972c6d 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/App.java +++ b/app/src/main/java/org/fdroid/fdroid/data/App.java @@ -126,7 +126,7 @@ public class App extends ValueObject implements Comparable, Parcelable { public String[] tvScreenshots = new String[0]; public String[] wearScreenshots = new String[0]; - public String license = "Unknown"; + public String license; public String authorName; public String authorEmail; diff --git a/app/src/main/java/org/fdroid/fdroid/views/AppDetailsRecyclerViewAdapter.java b/app/src/main/java/org/fdroid/fdroid/views/AppDetailsRecyclerViewAdapter.java index 05c4f5624..8f96e178d 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/AppDetailsRecyclerViewAdapter.java +++ b/app/src/main/java/org/fdroid/fdroid/views/AppDetailsRecyclerViewAdapter.java @@ -744,6 +744,15 @@ public class AppDetailsRecyclerViewAdapter updateExpandableItem(false); contentView.removeAllViews(); + // License link + if (!TextUtils.isEmpty(app.license)) { + String firstLicense = app.license.split(",")[0]; + String url = "https://spdx.org/licenses/" + firstLicense + ".html"; + if (uriIsSetAndCanBeOpened(url)) { + addLinkItemView(contentView, R.string.menu_license, R.drawable.ic_license, url, app.license); + } + } + // Video link if (uriIsSetAndCanBeOpened(app.video)) { addLinkItemView(contentView, R.string.menu_video, R.drawable.ic_video, app.video); @@ -902,8 +911,17 @@ public class AppDetailsRecyclerViewAdapter } private void addLinkItemView(ViewGroup parent, int resIdText, int resIdDrawable, final String url) { + addLinkItemView(parent, resIdText, resIdDrawable, url, null); + } + + private void addLinkItemView(ViewGroup parent, int resIdText, int resIdDrawable, final String url, String formatArg) { TextView view = (TextView) LayoutInflater.from(parent.getContext()).inflate(R.layout.app_details2_link_item, parent, false); - view.setText(resIdText); + if (formatArg == null) { + view.setText(resIdText); + } else { + String text = parent.getContext().getString(resIdText, formatArg); + view.setText(text); + } TextViewCompat.setCompoundDrawablesRelativeWithIntrinsicBounds(view, resIdDrawable, 0, 0, 0); parent.addView(view); view.setOnClickListener(new View.OnClickListener() { diff --git a/app/src/main/res/drawable/ic_license.xml b/app/src/main/res/drawable/ic_license.xml new file mode 100644 index 000000000..389c86c90 --- /dev/null +++ b/app/src/main/res/drawable/ic_license.xml @@ -0,0 +1,16 @@ + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 80b8f9f07..bb58f8c7c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -161,6 +161,7 @@ Issues Changelog Video + License: %s Source Code Upgrade Donate From 2eaf00f9f1456eb06b79440a85ab8b0cd6f09b1b Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 1 May 2017 21:24:20 +0200 Subject: [PATCH 2/5] include magic method for setting local via Languages menu I have found no explanation of what should work and why, but language choosers seem to always include this line. This also seems to fix the bug: closes #943 --- app/src/main/java/org/fdroid/fdroid/Languages.java | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/org/fdroid/fdroid/Languages.java b/app/src/main/java/org/fdroid/fdroid/Languages.java index 68d75ff83..d6b3e5f06 100644 --- a/app/src/main/java/org/fdroid/fdroid/Languages.java +++ b/app/src/main/java/org/fdroid/fdroid/Languages.java @@ -136,6 +136,7 @@ public final class Languages { locale = new Locale(language); } } + Locale.setDefault(locale); final Resources resources = contextWrapper.getBaseContext().getResources(); Configuration config = resources.getConfiguration(); From 653f577bf9496bbfd38b99f423badd211aa96134 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 1 May 2017 12:40:55 +0200 Subject: [PATCH 3/5] re-add Sardinian to the Language menu list closes #991 --- app/src/main/java/org/fdroid/fdroid/Languages.java | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/org/fdroid/fdroid/Languages.java b/app/src/main/java/org/fdroid/fdroid/Languages.java index d6b3e5f06..f7c47b368 100644 --- a/app/src/main/java/org/fdroid/fdroid/Languages.java +++ b/app/src/main/java/org/fdroid/fdroid/Languages.java @@ -250,6 +250,7 @@ public final class Languages { new Locale("rm"), new Locale("ro"), new Locale("ru"), + new Locale("sc"), new Locale("si"), new Locale("sk"), new Locale("sl"), From 3e7b549f485685b9593b8dd8426548ce4b37e434 Mon Sep 17 00:00:00 2001 From: Danial Behzadi Date: Mon, 1 May 2017 05:34:19 +0000 Subject: [PATCH 4/5] Translated using Weblate (Persian) Currently translated at 100.0% (386 of 386 strings) --- app/src/main/res/values-fa/strings.xml | 152 ++++++++++++++++++++++--- 1 file changed, 136 insertions(+), 16 deletions(-) diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index 03b917582..bb3c19081 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -13,7 +13,7 @@ به‌روزرسانی دوره‌ای خودکار به‌روزرسانی‌نکردن خودکار فهرست برنامه‌ها فقط روی وای‌فای - به‌روز رسانی خودکار فهرست کاره‌ها روی وای‌فای + "به‌روز رسانی خودکار فقط روی شبکه‌های اندازه‌گیری نشده مثل وای‌فای" نمایش یک آگهی هنگام موجود بودن به‌روز رسانی‌ها چنین کاره‌ای پیدا نشد. دربارهٔ F-Droid @@ -21,7 +21,7 @@ نصب شده نصب نشده در %s افزوده شد - باشد + قبول بله خیر افزودن مخزنی جدید @@ -118,9 +118,7 @@ +%1$d بیش‌تر… ارسال با بلوتوث - این مخزن از پیش برپا شده است. این کار، اظّلاعات کلید جدیدی را - می‌افزاید. - + این مخزن از پیش برپا شده است. این کار، اطّلاعات کلید جدیدی را می‌افزاید. این مخزن از پیش برپا شده است. تأیید کنید که می‌خواهید دوباره فعّالش کنید. اثر انگشت بد این یک نشانی اینترنتی معتیبر نیست. @@ -148,8 +146,7 @@ مخزن محلّی اف‌دروید آمادهٔ تبادل است - برای دیدن جزییات و اجازه به دیگرات برای تبادل کاره‌هایتان، لمس کنید. - + برای دیدن جزییات و اجازه به دیگران برای تبادل کاره‌هایتان، لمس کنید. در حال حذف مخزن جاری… در حال افزودن %s به مخزن… در حال نوشتن پروندهٔ شاخص امضا شده (index.jar)… @@ -181,9 +178,9 @@ تعداد کاره‌ها اثر انگشت کلید امضا (SHA-256) حذف مخزن؟ - افزاره‌تان روی همان وای‌فای مخزن محلّی‌ای که افزودید نیست! لطفاً به این شبکه وصل - شوید: %s - + "افزاره‌تان روی همان وای‌فای مخزن محلّی‌ای که افزودید نیست! +\nلطفاً به این شبکه وصل شوید: %s +\n " زبان پیش‌گزیدهٔ سامانه @@ -258,7 +255,7 @@ بارگیری کامل شد، برای نصب ضربه بزنید بارگیری موفّق نبود - "جدید: " + جدید: فراهم شده توسّط: %1$s. در حال بارگیری… @@ -274,7 +271,9 @@ تیره شب مخزنن ورودی از پیش برپا و فعّال شده است. - باید پیش از افزودن مخزن جدیدی با کلید متفاوت، این را حذف کنید. + "باید پیش از افزودن مخزنی جدید با کلیدی متفاوت، +\nاین مخزن را حذف کنید. +\n " نادیده گرفتن نشانی اینترنتی مخزن ناهنجار: %s تمام مخزن‌های دیگر خطایی ایاد نکردند. @@ -298,8 +297,12 @@ شکست در نصب به دلیل خطایی ناشناخته شکست در نصب به دلیل خطایی ناشناخته افزونهٔ ممتاز اف‌دروید موجود نیست - این گزینه فقط هنگام نصب بودن افزونهٔ ممتاز اف‌دروید، موجود است. - امضای افزونه اشتباه است! لطفاً یک گزارش خطا ایجاد کنید! + "این گزینه فقط هنگام نصب بودن افزونهٔ ممتاز اف‌دروید، +\nدر دسترس است. +\n " + "امضای افزونه اشتباه است! +\nلطفاً یک گزارش خطا ایجاد کنید! +\n " اجازه‌های ممتاز به افزونه داده نشده است! لطفاً یک گزارش خطا ایجاد کنید! @@ -373,8 +376,10 @@ در حال توقّف وای‌فای… مخزن: %s - بارگیری خودکار به‌روز رسانی‌ها - بارگیری پرونده‌های به‌روز رسانی در پس‌زمینه + دریافت خودکار به‌روز رسانی‌ها + "به‌روز رسانی‌ها به صورت خودکار بارگیری شده +\nو برای نصبشان آگاه می‌شوید +\n " برای نصب %s ضربه بزنید برای به‌روز رسانی %s ضربه بزنید در انتظار شروع بارگیری… @@ -399,4 +404,119 @@ خطا در حذف نصب %s +نگه داشتن تاریخچهٔ نصب + نگه داشتن گزارشی ار تمام نصب و حذف‌ها در اف‌دروید + نصب خودکار به‌روز رسانی‌ها + بارگیری و نصب کاره‌های به‌روز در پس‌زمینه + خرید قهوه برای توسعه‌دهندهٔ %1! + ‫%1$s به دست %2$s ایجاد شده است. برایش قهوه بخرید! + + نگارش %1$s موجود است + نگارش %1$s + نگارش %1$s (توصیه شده) + جدید + لغو بارگیری + به‌روز رسانی + + به‌روز رسانی %1$s + نصب %1$s + در حال بارگیری %1$s + ‫%1$s با موفّقیت نصب شد + امروز منتشر شده + دیروز منتشر شده + + ‫%1$d روز پیش منتشر شده + ‫%1$d روز پیش منتشر شده + + + کاره‌های نصب شده + صرف‌نظر از به‌روز رسانی + صرف‌نظر از به‌روز رسانی برای نگارش %1$s + بارگیری + بارگیری تمام به‌روز رسانی‌ها + + نهفتن کاره‌ها + نمایش کاره‌ها + + + بارگیری به‌روز رسانی برای %1$d کاره. + بارگیری به‌روز رسانی‌ها برای %1$d کاره. + + + نگارش‌ها + پاک‌سازی جست‌وجو + + افزودن منابع اضافی برای برنامه‌ها + ویدیو + جدیدترین + دسته‌ها + نزدیک + + کارهٔ اخیری پیدا نشد + "به محض به‌روز رسانی فهرست کاره‌هایتان، +\nجدیدترین کاره‌ها باید در این‌حا نمایش داده شوند +\n " + "به محض فعّال کردن یک مخزن و به‌روز کردنش، +\nجدیدترین کاره‌ها باید در این‌جا نمایش داده شوند +\n " + + هیچ دسته‌ای برای نمایش نیست + + کاره‌های من + مدیریت کاره‌های نصب شده + + + جدید در نگارش %s + + این کاره، ویژگی‌هایی دارد که شاید نپسندید. + ضدّویژگی‌ها + خاکستری کردن کاره‌های دارای ضدّویژگی + خاکستری کردن کاره‌هایی کخ نیازمند ضدّویژگی هستند + نمی‌توان به‌روز کرد. به اینترنت وصل هستید؟ + + " نمایش همهٔ %Id " + " نمایش همهٔ %Id " + + + "اینترنت ندارید؟ کاره‌ها را از اطرافیاتتان بارگیری کنید! +\n " + یافتن اطرافیانم + برای استفاده از این ویژگی، دو طرف به %1$s نیاز دارند. + + در حال بارگیری، %1$d%% کامل + به‌روز رسانی موجود است + آماده برای نصب + به‌روز رسانی آماده برای تصب + نصب شکست خورد + در حال بارگیری «%1$s»… + در حال بارگیری به‌روز رسانی برای «%1$s»… + در حال نصب «%1$s»… + با موفّقیت نصب شد + نصب شکست خورد + ‫%1$d به‌روز رسانی + ‫%1$d کاره نصب شدند + به‌روز رسانی موجود است + در حال بارگیری… + در حال بارگیری به‌روز رسانی… + آماده برای نصب + به‌روز رسانی آماده برای نصب + در حال نصب + با موفّقیت نصب شد + نصب شکست خورد + به‌روز رسانی + لغو + نصب + + دستهٔ %1$s + + + نمایش %1$d کارهٔ دستهٔ %2$s + نمایش تمام %1$d کارهٔ دستهٔ %2$s + + + امروز به‌روز شده + + ‫%1$s روز پیش به‌روز شده + ‫%1$s روز پیش به‌روز شده + From 6c64e1943a0eefb343a3ce7c8a3b9025f2b5a1d9 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 1 May 2017 23:40:17 +0200 Subject: [PATCH 5/5] fix formats in Persian translation --- app/src/main/res/values-fa/strings.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index bb3c19081..309ee8f80 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -408,7 +408,7 @@ نگه داشتن گزارشی ار تمام نصب و حذف‌ها در اف‌دروید نصب خودکار به‌روز رسانی‌ها بارگیری و نصب کاره‌های به‌روز در پس‌زمینه - خرید قهوه برای توسعه‌دهندهٔ %1! + خرید قهوه برای توسعه‌دهندهٔ %1$s! ‫%1$s به دست %2$s ایجاد شده است. برایش قهوه بخرید! نگارش %1$s موجود است @@ -474,8 +474,8 @@ خاکستری کردن کاره‌هایی کخ نیازمند ضدّویژگی هستند نمی‌توان به‌روز کرد. به اینترنت وصل هستید؟ - " نمایش همهٔ %Id " - " نمایش همهٔ %Id " + نمایش همهٔ %d + " نمایش همهٔ %d "اینترنت ندارید؟ کاره‌ها را از اطرافیاتتان بارگیری کنید!