From 71cbc90b8160d6ba4dad8ba9a6ee448109cc2fb0 Mon Sep 17 00:00:00 2001 From: albendz Date: Sat, 14 Apr 2018 19:30:37 -0700 Subject: [PATCH 01/16] Try to get the localized version of the wikipedia article before defaulting to the English version. Tested with Spanish on physical Android device. Other notes: Difficulties building with gradle due to dexcount plugin: https://github.com/KeepSafe/dexcount-gradle-plugin/issues/234. In testing, disabled the plugin. --- app/src/main/resources/queries/nearby_query.rq | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/src/main/resources/queries/nearby_query.rq b/app/src/main/resources/queries/nearby_query.rq index 0453005e8..746048b67 100644 --- a/app/src/main/resources/queries/nearby_query.rq +++ b/app/src/main/resources/queries/nearby_query.rq @@ -39,6 +39,12 @@ SELECT # Get emoji OPTIONAL { ?classId wdt:P487 ?emoji0. } OPTIONAL { ?classId wdt:P279*/wdt:P487 ?emoji1. } + + OPTIONAL { + ?wikipediaArticle schema:about ?item ; + schema:isPartOf . + SERVICE wikibase:label { bd:serviceParam wikibase:language "${LANG}" } + } OPTIONAL { ?wikipediaArticle schema:about ?item ; schema:isPartOf . From 17786a0741cab931ba32ae7af1350fc0d299a72e Mon Sep 17 00:00:00 2001 From: albendz Date: Mon, 30 Apr 2018 21:29:15 -0700 Subject: [PATCH 02/16] Update article fetch to not include unnecessary SERVICE line --- app/src/main/resources/queries/nearby_query.rq | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/resources/queries/nearby_query.rq b/app/src/main/resources/queries/nearby_query.rq index 746048b67..b11f0985a 100644 --- a/app/src/main/resources/queries/nearby_query.rq +++ b/app/src/main/resources/queries/nearby_query.rq @@ -43,7 +43,6 @@ SELECT OPTIONAL { ?wikipediaArticle schema:about ?item ; schema:isPartOf . - SERVICE wikibase:label { bd:serviceParam wikibase:language "${LANG}" } } OPTIONAL { ?wikipediaArticle schema:about ?item ; From 000c6085a74a89029841fbfcf7c336e12d48db3e Mon Sep 17 00:00:00 2001 From: tanvidadu Date: Sat, 28 Jul 2018 19:38:18 +0530 Subject: [PATCH 03/16] Added more levels --- .../nrw/commons/achievements/LevelController.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/fr/free/nrw/commons/achievements/LevelController.java b/app/src/main/java/fr/free/nrw/commons/achievements/LevelController.java index e0f84bbee..d1d203aca 100644 --- a/app/src/main/java/fr/free/nrw/commons/achievements/LevelController.java +++ b/app/src/main/java/fr/free/nrw/commons/achievements/LevelController.java @@ -25,7 +25,19 @@ public class LevelController { LEVEL_12(12,R.style.LevelTwo,65 , 130, 90), LEVEL_13(13,R.style.LevelThree, 70, 140, 90), LEVEL_14(14,R.style.LevelFour, 75 , 150, 90), - LEVEL_15(15,R.style.LevelFive, 80, 160, 90); + LEVEL_15(15,R.style.LevelFive, 80, 160, 90), + LEVEL_16(16,R.style.LevelOne, 160, 320, 91), + LEVEL_17(17,R.style.LevelTwo, 320, 640, 92), + LEVEL_18(18,R.style.LevelThree, 640, 1280, 93), + LEVEL_19(19,R.style.LevelFour, 1280, 2560, 94), + LEVEL_20(20,R.style.LevelFive, 2560, 5120, 95), + LEVEL_21(21,R.style.LevelOne, 5120, 10240, 96), + LEVEL_22(22,R.style.LevelTwo, 10240, 20480, 97), + LEVEL_23(23,R.style.LevelThree, 20480, 40960, 98), + LEVEL_24(24,R.style.LevelFour, 40960, 81920, 98), + LEVEL_25(25,R.style.LevelFive, 81920, 163840, 98), + LEVEL_26(26,R.style.LevelOne, 163840, 327680, 98), + LEVEL_27(27,R.style.LevelTwo, 327680, 655360, 98); private int levelNumber; private int levelStyle; From b7f5c45b57796ffc1f6707e112c172c7de68949b Mon Sep 17 00:00:00 2001 From: Tanvi Dadu Date: Sun, 29 Jul 2018 00:58:39 +0530 Subject: [PATCH 04/16] changed Icon (#1759) --- app/src/main/res/drawable/ic_person_black_24dp.xml | 14 +++++++++----- app/src/main/res/layout/drawer_header.xml | 11 +++++------ 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/app/src/main/res/drawable/ic_person_black_24dp.xml b/app/src/main/res/drawable/ic_person_black_24dp.xml index d7366bda0..e26f4410a 100644 --- a/app/src/main/res/drawable/ic_person_black_24dp.xml +++ b/app/src/main/res/drawable/ic_person_black_24dp.xml @@ -1,5 +1,9 @@ - - - + + + \ No newline at end of file diff --git a/app/src/main/res/layout/drawer_header.xml b/app/src/main/res/layout/drawer_header.xml index 53a2684a0..a984eff90 100644 --- a/app/src/main/res/layout/drawer_header.xml +++ b/app/src/main/res/layout/drawer_header.xml @@ -25,19 +25,18 @@ android:textColor="@color/item_white_background" android:textSize="@dimen/subheading_text_size" android:layout_below="@+id/pictureOfTheDay" - android:layout_centerHorizontal="true" + android:layout_marginLeft="@dimen/activity_margin_horizontal" android:paddingBottom="@dimen/small_gap"/> + android:layout_marginLeft="8dp" + android:layout_toRightOf="@+id/username" /> \ No newline at end of file From ff2a89a054ba4b91828dc1a1cf60c82bbccb265e Mon Sep 17 00:00:00 2001 From: tanvidadu Date: Sun, 29 Jul 2018 19:57:36 +0530 Subject: [PATCH 05/16] Added space --- app/src/main/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b0dacddd3..db379b793 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -306,7 +306,7 @@ Wallpaper set successfully! Quiz Is this picture OK to upload? - Question + Question Result If you carry on uploading images that require deletion, your account will likely be banned. Are you sure you want to end the quiz? More than %1$s of the images you uploaded have been deleted. If you carry on uploading images that require deletion, your account will likely be banned.\n\nWould you like to view the tutorial again and then take a quiz to help you learn what type of images you should or shouldn\'t upload? From 6f7793e5b03834781fdba20b5efc44d77960c6b9 Mon Sep 17 00:00:00 2001 From: tanvidadu Date: Sun, 29 Jul 2018 20:32:10 +0530 Subject: [PATCH 06/16] Reworded the question --- app/src/main/java/fr/free/nrw/commons/quiz/QuizController.java | 2 +- app/src/main/res/values/strings.xml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/fr/free/nrw/commons/quiz/QuizController.java b/app/src/main/java/fr/free/nrw/commons/quiz/QuizController.java index fc6b4c15f..5035d32ec 100644 --- a/app/src/main/java/fr/free/nrw/commons/quiz/QuizController.java +++ b/app/src/main/java/fr/free/nrw/commons/quiz/QuizController.java @@ -43,7 +43,7 @@ public class QuizController { quiz.add(q3); QuizQuestion q4 = new QuizQuestion(4, - context.getResources().getString(R.string.quiz_question_string), + context.getResources().getString(R.string.quiz_screenshot_question), URL_FOR_SCREENSHOT, false, context.getResources().getString(R.string.screenshot_answer)); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index db379b793..dbe144734 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -323,6 +323,7 @@ Continue Correct Answer Wrong Answer + Is this screenshot OK to upload? Are you sure you want to clear your search history? Search history deleted From 3e5a6634cfe84d11f2abb840608ff2062d09bb57 Mon Sep 17 00:00:00 2001 From: "translatewiki.net" Date: Mon, 30 Jul 2018 08:18:28 +0200 Subject: [PATCH 07/16] Localisation updates from https://translatewiki.net. --- app/src/main/res/values-ar/strings.xml | 2 + app/src/main/res/values-de/strings.xml | 34 ++++++++++++- app/src/main/res/values-el/strings.xml | 34 ++++++++++++- app/src/main/res/values-es/strings.xml | 14 ++++++ app/src/main/res/values-eu/strings.xml | 56 ++++++++++++++++++++++ app/src/main/res/values-fr/strings.xml | 34 ++++++++++++- app/src/main/res/values-gl/strings.xml | 17 +++++++ app/src/main/res/values-it/strings.xml | 10 +++- app/src/main/res/values-ko/strings.xml | 29 ++++++++++- app/src/main/res/values-lb/strings.xml | 19 ++++++++ app/src/main/res/values-mk/strings.xml | 34 ++++++++++++- app/src/main/res/values-nb/strings.xml | 31 ++++++++++++ app/src/main/res/values-pl/strings.xml | 17 +++++++ app/src/main/res/values-pms/strings.xml | 21 +++++++- app/src/main/res/values-pt-rBR/strings.xml | 2 +- app/src/main/res/values-pt/strings.xml | 34 ++++++++++++- app/src/main/res/values-qq/strings.xml | 6 +++ app/src/main/res/values-ru/strings.xml | 26 +++++++++- app/src/main/res/values-sd/strings.xml | 2 +- app/src/main/res/values-skr/strings.xml | 4 ++ app/src/main/res/values-sv/strings.xml | 49 +++++++++++++++++++ app/src/main/res/values-zh-rTW/strings.xml | 35 +++++++++++++- app/src/main/res/values-zh/strings.xml | 17 ++++++- 23 files changed, 514 insertions(+), 13 deletions(-) diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 40f7e2176..bc8725494 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -187,4 +187,6 @@ شارك التطبيق صورة اليوم صورة اليوم + الصور المختارة + الصور المستخدمة diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 2ab99221e..6fb2af5bf 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -300,7 +300,39 @@ Fehler bei der Aktualisierung des dazugehörigen Wikidata-Objekts! Hintergrundbild festlegen Hintergrundbild erfolgreich festgelegt! + Quiz + Ist dieses Bild in Ordnung zum Hochladen? + Frage + Ergebnis + Falls du weiterhin Bilder hochlädst, die eine Löschung erfordern, wird dein Benutzerkonto vermutlich gesperrt. Bist du sicher, dass du das Quiz beenden möchtest? + Mehr als %1$s deiner hochgeladenen Bilder wurden gelöscht. Falls du weiterhin Bilder hochlädst, die eine Löschung erfordern, wird dein Benutzerkonto vermutlich gesperrt.\n\nMöchtest du die Anleitung erneut ansehen und anschließend ein Quiz machen, um dir beim Lernen zu helfen, welche Bildtypen du hochladen sollst und welche nicht? + Selfies haben nicht viel enzyklopädischen Wert. Lade bitte kein Bild von dir hoch, außer es gibt bereits einen Wikipedia-Artikel über dich. + Bilder von Denkmälern und Landschaften dürfen in den meisten Staaten hochgeladen werden. Bitte beachte, dass vorübergehende Kunstinstallationen im Freien oftmals urheberrechtlich geschützt sind und nicht hochgeladen werden dürfen. + Bildschirmfotos von Websites sind abgeleitete Werke und Thema eines Urheberrechts der Website selbst. Diese können nach einer Genehmigung durch den Autor verwendet werden. Ohne eine solche Genehmigung basiert jede von dir erstellte Kunst auf ihrem Werk und wird rechtlich als unlizenzierte Kopie angesehen, die dem Originalautor gehört. + Eines der Ziele von Commons ist das Sammeln von Qualitätsbildern. Deshalb sollten keine unscharfen Bilder hochgeladen werden. Versuche immer schöne Bilder mit einer guten Belichtung aufzunehmen. + Bilder, die Technik oder Kultur zeigen, sind auf Commons sehr willkommen. + WARNUNG: Mehr als %1$s deiner hochgeladenen Bilder wurden gelöscht. Falls du weiterhin Bilder hochlädst, die eine Löschung erfordern, wird dein Benutzerkonto vermutlich gesperrt. + %1$s deiner Antworten waren korrekt. Gratulation! + Wähle eine der zwei Optionen aus, um die Frage zu beantworten. + Sitzung abgelaufen. Bitte erneut anmelden. + Teile das Quiz mit deinen Freunden! + Fortfahren + Richtige Antwort + Falsche Antwort Bist du sicher, dass du deinen Suchverlauf löschen möchtest? Suchverlauf gelöscht - Sitzung abgelaufen. Bitte erneut anmelden. + Errungenschaften + STATISTIKEN + Erhaltene Dankeschöns + Vorgestellte Bilder + NIVEAU + Hochgeladene Bilder + Bilder nicht zurückgesetzt + Verwendete Bilder + Teile die Errungenschaften mit deinen Freunden! + Dein Niveau steigt mit der Erfüllung dieser Anforderungen an. Objekte im Abschnitt „Statistiken“ werden nicht auf dein Niveau angerechnet. + Mindestens erforderlich: + Die Anzahl der Bilder, die du über eine Hochladesoftware auf Commons hochgeladen hast. + Der Prozentsatz an Bildern, die du auf Commons hochgeladen hast und die nicht gelöscht wurden. + Die Anzahl der Bilder, die du auf Commons hochgeladen hast und in Wikimedia-Artikeln verwendet werden. diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 30f39b29d..2ed11f233 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -303,7 +303,39 @@ Αποτυχία ενημέρωσης της αντιστοιχούσας οντότητας του Wikidata! Ρύθμιση ταπετσαρίας Η ταπετσαρία ρυθμίστηκε επιτυχώς! + Κουίζ + Αυτή η φωτογραφία είναι εντάξει για ανέβασμα; + Ερώτηση + Αποτέλεσμα + Εάν συνεχίζετε να ανεβάζετε εικόνες που απαιτούν διαγραφή, ο λογαριασμός σας πιθανώς θα φραγεί. Είστε σίγουρος ότι θέλετε να τελειώστε το κουίζ; + Πάνω από το %1$s των εικόνων που ανεβάσατε έχουν διαγραφεί. Εάν συνεχίσετε να ανεβάζετε εικόνες που απαιτούν διαγραφή, ο λογαριασμός σας πιθανώς θα φραγεί. \n\nΘα θέλατε να ξαναδείτε τον οδηγό νέων χρηστών ξανά και να κάνετε ένα κουίζ για να σας βοηθήσει να μάθετε ποιοι τύποι εικόνων πρέπει ή δεν πρέπει να ανεβάζετε; + Οι σέλφι δεν έχουν πολύ εγκυκλοπαιδική αξία. Παρακαλώ μην ανεβάζετε φωτογραφία του εαυτού σας εκτός εάν έχετε ένα λήμμα στη Βικιπαίδεια για εσάς. + Οι φωτογραφίες μνημείων και εξωτερικού σκηνικού είναι εντάξει για ανέβασμα στις περισσότερες χώρες. Παρακαλώ σημειώστε ότι οι προσωρινές εγκαταστάσεις τέχνες καλύπτονται συχνά από πνευματικά δικαιώματα και δεν είναι εντάξει για ανέβασμα. + Τα στιγμιότυπα ιστοσελίδων θεωρούνται παράγωγα έργα και υποκείμενα σε οποιαδήποτε πνευματικά δικαιώματα στην ίδια την ιστοσελίδα. Αυτές μπορούν να χρησιμοποιηθούν μετά από άδεια από τον συγγραφέα. Χωρίς τέτοια άδεια, οποιαδήποτε τέχνη που δημιουργείτε βασισμένη στο έργο τους θεωρείται νομικά ως μη αδειοδοτημένο έργο κατεχόμενο από τον αρχικό συγγραφέα. + Ένας από τους στόχους των Κοινών είναι να συγκεντρώσει ποιοτικές εικόνες. Γι\'αυτό, οι θολές εικόνες δεν θα πρέπει να ανεβάζονται. Πάντα προσπαθήστε να τραβάτε ωραίες φωτογραφίες με καλό φωτισμό. + Οι φωτογραφίες που εμφανίζουν τεχνολογία ή πολιτισμό είναι πολύ ευσπρόδεκτες στα Κοινά. + Προειδοποίηση: Πάνω από το %1$s των εικόνων που ανεβάσατε έχουν διαγραφεί. Εάν συνεχίσετε να ανεβάζετε εικόνες που απαιτούν διαγραφή, ο λογαριασμός σας πιθανώς θα φραγεί. + Είχατε το %1$s των απαντήσεων σωστό. Συγχαρητήρια! + Επιλέξτε μια από τις δύο επιλογές για να απαντήσετε στην ερώτηση + Η συνεδρία σύνδεσης έληξε, παρακαλώ συνδεθείτε ξανά. + Μοιραστείτε το κουίζ με τους φίλους σας! + Συνέχεια + Σωστή απάντηση + Λάθος απάντηση Είστε σίγουρος ότι θέλετε να καθαρίσετε το ιστορικό αναζήτησης; Το ιστορικό αναζήτησης διεγράφη - Η συνεδρία σύνδεσης έληξε, παρακαλώ συνδεθείτε ξανά. + Κατορθώματα + Στατιστικά + Ευχαριστίες που έχουν ληφθεί + Προβεβλημμένες εικόνες + Επίπεδο + Εικόνες που ανέβηκαν + Εικόνες που δεν ανεστράφησαν + Εικόνες που χρησιμοποιήθηκαν + Μοιραστείτε τα κατορθώματά σας με τους φίλους σας! + Το επίπεδό σας αυξάνεται όσο πληρείτε αυτές στις απαιτήσεις. Τα αντικείμενα στο τμήμα \"Στατιστικά\" δεν μετρούν στο επίπεδό σας. + ελάχιστο που απαιτείται: + Ο αριθμός εικόνων που ανεβάσατε στα Κοινά, μέσω οποιουδήποτε λογισμικού ανεβάσματος + Το ποσοστό εικόνων που ανεβάσατε στα Κοινά που δεν διεγράφη + Ο αριθμός εικόνων που ανεβάσατε στα Κοινά που χρησιμοποιήθηκαν σε λήμματα του Wikimedia diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 0865c7aef..e0ba4fb73 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -292,4 +292,18 @@ Se produjo un error al cargar las subcategorías. ¿Confirmas que quieres vaciar el historial de búsquedas? Historial de búsqueda eliminado + Logros + ESTADÍSTICAS + Gracias recibidas + Imágenes destacadas + NIVEL + Las imágenes han sido cargadas + Imágenes no revertidas + Imágenes utilizadas + ¡Comparte tus logros con tus amigos! + Tu nivel aumenta conforme cumples con estos requisitos. Elementos en la sección \"estadísticas\" no se cuentan para tu nivel. + mínimo requerido: + El número de imágenes que has subido a Commons, por medio de cualquier software de carga + El porcentaje de imágenes que haz subido a Commons que no fueron eliminadas + El número de imágenes que haz subido a Commons que fueron utilizadas en artículos de Wikimedia diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index 42bd77fcb..bacf9aa92 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -9,6 +9,8 @@ * Theklan --> + Esploratu + Esploratu Itxura Orokorra Feedback @@ -16,6 +18,7 @@ Commons Hobespenak + Commons-en kargatu Erabiltzaile izena Pasahitza Sartu zure Commons Beta kontura @@ -36,6 +39,10 @@ %1$s igotzen bukatzen %1$s igotzean akatsa Ukitu ikusteko + + Fitxategi %1$d kargatzen + %1$d fitxategi kargatzen + Nire azken igoerak Itxoite-zerrendan Hutsegitea @@ -72,12 +79,21 @@ igoera 1 %1$d igoera + + Karga %1$d hasten + %1$d karga hasten + + + karga %1$d + %1$d karga + Ez da kategoriak aukritu %1$s izenarekin Gehitu kategoriak zure argazkiak Wikimedia Commonsen aurkitzen errazagoak izan daitezen.\nHasi idazten kategoriak gehitzeko. Kategoriak Hobespenak Eman izena Nabarmendutako irudiak + Kategoria Honi buruz Open Source softwarea <a href=\"https://github.com/commons-app/apps-android-commons/blob/master/COPYING\">Apache v2 Lizentziaren</a> pean egina. Wikimedia Commons eta bere logoa Wikimedia Fundazioaren marka erregistratuak dira eta Wikimedia Fundazioaren baimenarekin erabiltzen dira. Ez gaude Wikimedia Fundaziora afiliatuta. GitHub-eko <a href=\"https://github.com/commons-app/apps-android-commons\">Iturria</a> eta <a href=\"https://commons-app.github.io/\">webgunea</a>. <a href=\"https://github.com/commons-app/apps-android-commons/issues\">GitHub-eko gai</a> berria sortu erroreen berri emateko. @@ -177,6 +193,7 @@ Atzealdeko irudia Media irudiak kale egin du Ez da irudirik aurkitu + Ez da azpikategoriarik aurkitu Igo irudia Zao Mendia Llamak @@ -226,13 +243,16 @@ NORABIDEAK JASO IRAKURRI ARTIKULUA Ongi etorria Wikimedia Commons-era! Pozten gara zu hemen egoteaz. + %1$s-(e)k mezu bat utzi du zure eztabaida orrian Eskerrik asko aldaketa bat egiteagatik NOLA HELDU WIKIDATA WIKIPEDIA COMMONS + <u>Baloratu gaitzazu</u> Interneta ez dago erabilgarri Interneta erabilgarri + Errorea jakinarazpenak ekartzean Ez da jakinarazpenik aurkitu <u>Itzuli</u> Hizkuntzak @@ -242,14 +262,50 @@ Saiatu berriro Ulertu dut! Zugandik hurbil dauden leku hauek irudiak behar dituzte beren Wikipedia artikuluak hornitzeko + Edozein lekutako irudi bat igo dezakezu zure kamera edo galeriatik Ez da irudirik aurkitu! Arazo bat egon da irudiak kargatzerakoan. + Commons aldatzeko blokeatuta zaude Aplikazioa partekatu Ez da koordenaturik zehaztu irudia aukeratzean + Ezin izan dira hurbileko lekuak ekarri. Eguneko argazkia Eguneko argazkia + Bilatu + Commons-en bilatu + Ez da %1$s-(r)ekin bat datorren irudirik aurkitu + Bilatu + Azken bilaketak: + Bilatutako azken galderak + Arazo bat egon da kategoriak kargatzerakoan. + Arazo bat egon da azpikategoriak kargatzerakoan. + Irudia arazorik gabe gehitu da %1$s-(e)ra Wikidatan! Ezin izan da dagokion Wikidata entitatea eguneratu! Horma papera ezarri Horma papera ezarri da! + Galdera + Emaitza + Norberaren argazkiek ez daukate balio entziklopediko handirik. Mesedez, ez igo zure buruaren argazkirik, lehendik zuri buruzko Wikipedia artikulu bat ez badaukazu. + Monumentuen eta paisaien argazkiak herrialde gehienetan igo daitezke. Mesedez, kontuan hartu askotan kanpoan instalatutako epe laburreko arte erakusketek copyright-a daukatela eta ezin direla igo. + Teknologia edo kultura erakusten duten irudiak ongi etorriak dira Commons-en. + Erantzunetako %1$s zuzen erantzun dituzu. Zorionak! + Hautatu bi aukeretako bat galderari erantzuteko Saioa hasteko denbora amaituta, mesedez, hasi saioa berriro. + Jarraitu + Erantzun zuzena + Erantzun okerra + Ziur zaude zure bilaketen historia garbitu nahi duzula? + Bilaketa historia ezabatuta + Lorpenak + ESTATISTIKAK + Jasotako eskerrak + Nabarmendutako irudiak + MAILA + Irudiak igo dira + Erabilitako irudiak + Partekatu zure lorpenak lagunekin! + Zure maila baldintza hauek bete ahala igotzen da. \"Estatistikak\" ataleko elementuak ez dira zure mailarako kontuan hartzen. + Commons-era edozein karga software erabilita igo dituzun irudien kopurua + Commons-era igo dituzun eta Wikimedia artikuluetan erabili diren irudien ehunekoa + Commons-era igo dituzun eta Wikimedia artikuluetan erabili diren irudien kopurua diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 7642af675..943aa3e9f 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -311,7 +311,39 @@ Échec de la mise à jour de l\'entité Wikidata correspondante ! Définir le papier-peint Papier-peint configuré avec succès! + Quiz + Est-ce que cette photo est prête pour être téléversée ? + Question + Résultat + Si vous continuez à téléverser des images qui nécessitent d\'être supprimées, votre compte pourra être bloqué. Etes-vous certain de vouloir terminer le questionnaire ? + Plus de %1$s des images que vous avez téléversées ont été supprimées. Si vous continuez à téléverser des images qui nécessitent d\'être supprimées, votre compte pourra être bloqué.\n\nVoulez-vous revoir le tutoriel puis répondre à un questionnaire pour vous aider à apprendre quel type d\'images vous devriez ou ne devriez pas téléverser ? + Les autoportraits (selfies) n\'ont pas de valeur encyclopédique particulière. Ne téléversez donc pas de photo de vous, à moins d\'avoir déjà un article vous concernant, sur Wikipédia. + Les photos de monuments et les scènes extérieures sont acceptées au téléversement dans la plupart des pays. Veuillez noter que les installations extérieures temporaires relatives à l\'art, sont souvent protégées par les droits d\'auteur et le téléversement n\'est pas autorisé. + Les captures d\'écran de sites web sont considérées comme des travaux dérivés et sont soumis au droit d\'auteur sur le site lui-même. Elles peuvent êtte utilisées après accord de leur auteur. Sans une telle permission, toute forme d\'art que vous créez, basée sur leur travail est considérée légalement comme une copie sans licence dont l\'auteur est le propriétaire originel. + L\'un des objectifs de Commons est de pouvoir rassembler les images de qualité. C\'est pourquoi, les images médiocres ne doivent pas y être téléversées. Essayez toujours de prendre de bonnes photos avec un bel éclairage. + Les images qui dépeignent la technologie ou la culture sont particulièrement bienvenues sur Commons. + ATTENTION : plus de %1$s des images que vous avez téléversées ont été supprimées. Si vous continuez à téléverser des images devant être supprimées, votre compte est succeptible d\'être bloqué. + Vous avez %1$s des réponses correctes. Félicitations! + Sélectionnez l\'une des deux options pour répondre à la question + Session expirée, veuillez vous reconnecter. + Partagez votre quizz avec vos amis ! + Continuer + Réponse correcte + Mauvaise réponse Êtes-vous sûr de vouloir effacer votre historique de recherche ? Historique de recherche effacée - Session expirée, veuillez vous reconnecter. + Réalisations + STATISTIQUES + Remerciements reçus + Images mises en avant + NIVEAU + Images téléchargées + Images non annulées + Images utilisées + Partager vos réussites avec vos amis ! + Votre niveau augmente à mesure que vous atteignez ces réussites. Les éléments dans la section « statistiques » ne comptent pas pour votre niveau. + minimum requis : + Le nombre d’images que vous avez téléchargé de Communs, via un logiciel de téléchargement quelconque + Le pourcentage d’images que vous avez téléchargé sur Communs et qui n’ont pas été supprimées + Le nombre d’images que vous avez téléchargé sur Communs qui sont utilisées dans des articles de Wikimédia diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index 446735d37..ec7de98cf 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -9,6 +9,8 @@ * Vivaelcelta --> + Explorar + Explorar Aparencia Xeral Comentarios @@ -91,6 +93,7 @@ Configuracións Rexistrarse Imaxes destacadas + Categoría Acerca de A aplicación Wikimedia Commons é unha aplicación de código aberto creada e mantida polos cesionarios e voluntarios da comunidade de Wikimedia. A Fundación Wikimedia non está involucrada na creación, desenvolvemento ou mantemento da aplicación. Crear unha nova <a href=\"https://github.com/commons-app/apps-android-commons/issues\">incidencia</a> para informar de problemas e suxestións. @@ -198,6 +201,8 @@ Imaxe de fondo Fallou a imaxe de multimedia Non se atopou imaxe + Non se atoparon subcategorías + Non se atoparon categorías nais Subir imaxe Monte Zao Llamas @@ -282,9 +287,21 @@ Erro ó procurar os lugares próximos. Imaxe do día Imaxe do día + Procurar + Procurar en Commons + Procurar A imaxe engadiuse con éxito a %1$s en Wikidata! Fallou a actualización da entidade do Wikidata correspondente! Definir imaxe de fondo A imaxe de fondo configurouse correctamenteǃ + Pregunta + Resultado A sesión caducou, por favor inicia unha nova sesión. + Continuar + Resposta correcta + Resposta incorrecta + Logros + ESTATÍSTICAS + NIVEL + Imaxes usadas diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 3a7d439a6..a8a9fbb22 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -241,7 +241,15 @@ Ricerche recenti: Si è verificato un errore durante il caricamento delle categorie. Si è verificato un errore durante il caricamento delle sottocategorie. + Sessione di login scaduta, accedi nuovamente. Sei sicuro di voler cancellare la tua cronologia di ricerca? Cronologia di ricerca cancellata - Sessione di login scaduta, accedi nuovamente. + Risultati + Immagini in evidenza + Immagini caricate + Immagini utilizzate + Condividi i tuoi risultati con i tuoi amici! + Il numero di immagini che hai caricato su Commons, tramite qualsiasi software di caricamento + La percentuale di immagini che hai caricato su Commons che non sono state cancellate + Il numero di immagini che hai caricato su Commons che sono state usate nelle voci di Wikimedia diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index fab4a40eb..bc44fcb1b 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -288,6 +288,7 @@ 오늘의 사진 오늘의 사진 검색 + 공용 검색 %1$s와(과) 일치하는 그림이 없습니다 검색 최근 검색: @@ -298,7 +299,33 @@ 일치하는 위키데이터 엔티티의 업데이트를 실패했습니다! 배경화면 설정 배경화면을 성공적으로 설정했습니다! + 퀴즈 + 이 사진을 업로드하시겠습니까? + 질문 + 결과 + 삭제가 필요한 그림을 계속 올리신다면 계정이 차단될 수 있습니다. 퀴즈를 끝내시겠습니까? + 업로드한 그림 중 %1$s개 이상이 삭제되었습니다. 삭제가 필요한 그림을 계속 올리시면 계정이 차단될 수 있습니다.\n\n강좌를 다시 본 다음 퀴즈를 풀면서 올려도 되거나 그렇지 않은 사진의 유형에 대해 배워보시겠습니까? + 셀카 사진은 백과사전적인 가치가 그다지 없습니다. 당신에 관한 위키백과 문서가 이미 있는 것이 아니라면 당신을 찍은 사진을 올리지 말아 주십시오. + 웹사이트의 스크린샷은 파생 작품으로 간주되며 웹사이트 자체의 모든 저작권에 종속됩니다. 이들은 저자로부터 허락을 받은 뒤 사용할 수 있습니다. 이러한 허락이 없으면 해당 웹사이트의 작품에 기반을 두고 만든 모든 예술 작품은 법적으로 원저작자가 소유한 무허가 사본으로 간주됩니다. + 공용의 목표 중 하나는 질좋은 그림을 모으는 것입니다. 그러므로 흐릿한 그림은 올리지 않는 것이 좋습니다. 조명 상태가 좋은 멋진 사진을 늘 찍어 주십시오. + 기술이나 문화를 보여주는 사진은 공용에서 기꺼이 환영합니다. + 경고: 업로드한 그림 중 %1$s개 이상이 삭제되었습니다. 삭제가 필요한 그림을 계속 올리시면 계정이 차단될 수 있습니다. + 정답 %1$s개를 맞추셨습니다. 축하드립니다! + 질문에 답하기 위해 옵션 2개 중 하나를 선택하십시오 + 로그인 세션이 만료되었으므로 다시 로그인해 주십시오. + 친구들과 퀴즈를 공유하세요! + 계속 + 정답 + 오답 검색 기록을 지우겠습니까? 검색 기록 삭제됨 - 로그인 세션이 만료되었으므로 다시 로그인해 주십시오. + 성과 + 통계 + 알찬 그림 + 레벨 + 친구와 성과를 공유하세요! + 최소 요구사항: + 업로드 소프트웨어를 통해 공용에 업로드한 그림 수 + 삭제되지 않은, 공용에 업로드한 그림의 백분율 + 위키미디어 문서에 사용된, 공용에 업로드한 그림 수 diff --git a/app/src/main/res/values-lb/strings.xml b/app/src/main/res/values-lb/strings.xml index 50617e501..218475f67 100644 --- a/app/src/main/res/values-lb/strings.xml +++ b/app/src/main/res/values-lb/strings.xml @@ -5,6 +5,8 @@ * Soued031 --> + Entdecken + Entdecken Ausgesinn Allgemeng Feedback @@ -84,6 +86,7 @@ Astellungen Mellt Iech un Bemierkenswäert Biller + Kategorie Iwwer D\'App Wikimedia Commons ass eng \'Open-Source-App\' déi vu Fräiwëllege vun der Wikimedia Foundation entwéckelt gouf an och vun hinnen ënnerhal gëtt. D\'Wikimedia Foundation ass net an d\'Entwécklung oder den Ënnerhalt vun der App implizéiert. Leet w.e.g. <a href=\"https://github.com/commons-app/apps-android-commons/issues\"> e GitHub Problem</a> fir Problemer ze mellen a Proposen ze maachen. @@ -181,6 +184,7 @@ Commons-Facebook-Säit Hannergrondbild Kee Bild fonnt + Keng Ënnerkategorie fonnt Bild eroplueden Bierg Zao Lamaen @@ -248,7 +252,22 @@ Dir sidd gespaart a kënnt keng Ännerungen op Commons maachen Bild vum Dag Bild vum Dag + Sichen + Op Commons sichen + Sichen Déi entspriechend Wikidata-Entitéit konnt net aktualiséiert ginn! Hannergrondbild festleeën Hannergrondbild festgeluecht + Quiz + Fro + Resultat + Virufueren + Richteg Äntwert + Falsch Äntwert + Realisatiounen + STATISTIKEN + Merci\'e kritt + Bemierkenswäert Biller + NIVEAU + Eropgeluede Biller diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml index b5c7a03ad..304525357 100644 --- a/app/src/main/res/values-mk/strings.xml +++ b/app/src/main/res/values-mk/strings.xml @@ -293,7 +293,39 @@ Не успеав да ја изменам соодветната единица на Википодатоците! Задај позадина Позадината е успешно зададена! + Квиз + Дали е во ред да се подигне сликава? + Прашање + Исход + Ако продолжите со подигање на слики што треба да се бришат, веројатно е дека ќе добиете забрана на сметката. Сигурно сакате да го завршите квизот? + Преку %1$s од сликите што ги подигнавте беа избришани. Ако продолжите со подигање на слики што треба да се бришат, веројатно е дека ќе добиете забрана на сметката.\n\nДали би сакале повторно да го погледате упатството, па да си го проверите знаењето во квиз за тоа какви слики се дозволени за подигање? + Самосликот нема енциклопедиска вредност. Не подигајте слики од вас доколку веќе не постои статија за вас на Википедија. + Сликите од споменици и глетки од околината се дозволени за подигање во највеќето земји. Имајте на ум дека привремените уметнички инсталации на отворено честопати се заштитени со авторски права и затоа не треба да се подигаат. + Екранските снимки од мрежни места се сметаат за изведени дела и затоа подлежат на авторските права кои ги налага мрежното место. Ваквите снимки можат да се користат откако ќе добиете дозвола од авторот. Доколку немате дозвола, секое изведено дело од тие страници ќе се смета за бесправно направен примерок во сопственост на авторот. + Една од целите на Ризницата е да биде собиралиште за квалитетни слики. Затоа, не треба да се подигаат матни фотографии. Секогаш настојувајте да правите уредни слики со добро осветлување. + На Ризницата се добредојдени слики на кои се прикажува технологија или култура. + ПРЕДУПРЕДУВАЊЕ : Избришани се преку %1$s од сликите што ги подигнавте. Ако продолжите со подигање на слики што треба да се бришат, веројатно е дека ќе добиете забрана на сметката. + Дадовте %1$s точни одговори. Честитаме! + Изберете еден одговор + Најавната седница истече. Најавете се повторно. + Споделете го квизов со пријателите! + Продолжи + Точен одговор + Погрешен одговор Дали сте сигурни дека сакате да ја избришете историјата на пребарувања? Историјата на пребарување е избришана - Најавната седница истече. Најавете се повторно. + Достигнувања + СТАТИСТИКА + Примени благодарници + Избрани слики + СТЕПЕН + Подигнати слики + Неоткажани слики + Употребени слики + Споделете ги вашите достигнувања со пријателите! + Степенот се накачува како што ги задоволувате овие услови. Предметите во одделот „статистика“ не се бројат. + потребно барем: + Бројот на слики што сте ги подигнале на Ризницата преку секоја алатка за подигање + Постоток од подигнатите слики на Ризницата кои не се избришани + Бројот на слики што сте ги подигнале на Ризницата кои се користат во статии diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index 7e044f0b8..6507feb1a 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -9,6 +9,8 @@ * SuperPotato --> + Utforsk + Utforsk Utseende Generelt Tilbakemelding @@ -16,6 +18,7 @@ Commons Innstillinger + Last opp til Commons Brukernavn Passord Logg inn på Commons Beta-kontoen din @@ -90,6 +93,7 @@ Innstillinger Registrer deg Utvalgte bilder + Kategori Om Wikimedia Commons-appen er åpen kildekode og er skapt og vedlikeholdt av stipendiater og frivillige fra Wikimedia-fellesskapet. Wikimedia Foundation er ikke involvert i utviklingen eller vedlikeholdet av appen. Opprett en ny <a href=\"https://github.com/commons-app/apps-android-commons/issues\">GitHub-sak</a> for feilrapporter og forslag. @@ -197,6 +201,8 @@ Bakgrunnsbilde Mediebilde feilet Intet bilde funnet + Ingen underkategorier funnet + Ingen overordnede kategorier funnet Last opp bilde Zao Lamaer @@ -275,14 +281,39 @@ Ingen bilder funnet! Feil oppsto under lasting av bilder. Lastet opp av: %1$s + Du er blokkert fra å redigere Commons Del appen Koordinater ble ikke spesifisert under bildevalget Feil under henting av steder i nærheten. Dagens bilde Dagens bilde + Søk + Søk på Commons + Ingen bilder som matcher %1$s funnet + Søk + Nylige søk: + Nylige søkeord + Feil oppsto under lasting av kategorier. + Feil oppsto under lasting av underkategorier. Bildet ble lagt til på %1$s på Wikidata! Kunne ikke oppdatere tilsvarende Wikidata-element! Angi som bakgrunnsbilde Bakgrunnsbildet ble endret! Innloggingsøkten har utløpt, logg inn på nytt. + Er du sikker på at du vil tømme søkehistorikken din? + Søkehistorikk slettet + Prestasjoner + STATISTIKK + Takk mottatt + Utvalgte bilder + NIVÅ + Opplastede bilder + Bilder som ikke har blitt tilbakestilt + Bilder brukt + Del prestasjonene dine med vennene dine! + Nivået ditt øker når du møter disse kravene. Elementene i «statistikk»-seksjonen teller ikke mot nivået ditt. + minimumskrav: + Antallet bilder du har lastet opp på Commons via enhver opplastingsmåte + Prosentandelen av bildene du har lastet opp til Commons som ikke har blitt slettet + Antall bilder du har lastet opp på Commons som er brukt i Wikimedia-artikler diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index ac0d1808f..dd56a659a 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -248,6 +248,23 @@ Wystąpił błąd podczas ładowania podkategorii. Ustaw tapetę Tapeta ustawiona pomyślnie! + Quiz + Czy to zdjęcie nadaje się do przesłania? + Pytanie + Wynik + Jednym z celów Commons jest gromadzenie zdjęć wysokiej jakości, dlatego powinny być zamazane. Zawsze staraj się robić ładne zdjęcia z dobrym oświetleniem. + Wybierz jedną z dwóch opcji, aby odpowiedzieć na pytanie + Podziel się quizem ze swoimi znajomymi! + Kontynuuj + Poprawna odpowiedź + Zła odpowiedź Czy na pewno chcesz usunąć swoją historię wyszukiwania? Historia wyszukiwania została usunięta + Osiągnięcia + STATYSTYKA + Wyróżnione ilustracje + POZIOM + Liczba zdjęć przesłanych do Commons za pomocą dowolnego oprogramowania + Procent zdjęć przesłanych do Commons, które nie zostały usunięte + Liczba zdjęć przesłanych do Commons, które zostały wykorzystane w artykułach Wikimedia diff --git a/app/src/main/res/values-pms/strings.xml b/app/src/main/res/values-pms/strings.xml index 128c8bf52..bc8cf6e92 100644 --- a/app/src/main/res/values-pms/strings.xml +++ b/app/src/main/res/values-pms/strings.xml @@ -293,7 +293,26 @@ Falì a agiorné l\'entità ëd Wikidata corëspondenta! Definì la tapissarìa La tapissarìa a l\'é stàita definìa për da bin! + Domande + Sa fòto a va bin da carié? + Chestion + Arzultà + S\'a séghita a carié dle plance ch\'a venta dëscancelé, sò cont a sarà probabilman disativà. É-lo sigur ëd vorèj chité le chestion? + Pi che %1$s dle plance che chiel a l\'ha carià a son ëstàite dëscancelà. S\'a séghita a carié dle plance ch\'a devo esse dëscancelà, a l\'é probàbil che sò cont a sarà disativà.\n\nVeul-lo vëdde torna lë spiegon e peui rësponde a dle chestion për giutelo a amprende che sòrt ëd plance a peul o a peul nen carié? + J\'autoscat a l\'han pa vàire valor enciclopédich. Për piasì, ch\'a caria nen ëd soe fòto gavà ch\'a l\'abia già n\'artìcol ëd Wikipedia su \'d chiel. + Fòto ëd monument e ëd panorama a van bin da carié ant la pipart dij pais. Për piasì, ch\'a ten-a da ment che j\'anstalassion artìstiche temporanie al duvert a son sogete soens a dij drit d\'autor e a van nen bin da carié. + Schermà ëd sit an sl\'aragnà a con considerà dij travaj derivà e a son sogete a tuti ij drit d\'autor dël sit midem. A peulo esse dovrà con ël përmess ëd l\'autor. Sensa \'s përmess, tute euvra che chiel a crea basà su col travaj a l\'é considerà da na mira legal tanme na còpia sensa licensa possedùa da l\'autor original. + Un dij but ëd Commons a l\'é ëd raduné dle plance ëd qualità. Donca le plance tërbole a peulo nen esse carià. Ch\'a sërca ëd pijé sempe dle bele fòto con na bon-a iluminassion. + Fòto ch\'a mostro la tecnologìa o la coltura a son particolarman bin ëvnùe su Commons. + Session ëscadùa, për piasì ch\'a rintra torna ant ël sistema. É-lo sigur ëd vorèj dëscancelé lë stòrich ëd soe arserche? Lë stòrich ëd j\'arserche a l\'é stàit dëscancelà - Session ëscadùa, për piasì ch\'a rintra torna ant ël sistema. + Realisassion + STATÌSTICHE + Aringrassiament arseivù + Plance an evidensa + LIVEL + Plance carià + Plance nen anulà + Plance dovrà diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index bbc08f96d..825d26272 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -305,7 +305,7 @@ Falha ao atualizar a entidade Wikidata correspondente! Definir imagem de fundo Imagem de fundo definida! + A sessão expirou. Inicie uma nova sessão, por favor. Tem certeza de que deseja apagar o histórico de pesquisa? Histórico de pesquisa excluído - A sessão expirou. Inicie uma nova sessão, por favor. diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 1ace955ef..27d8dcd9d 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -305,7 +305,39 @@ Falha ao atualizar a entidade Wikidata correspondente! Definir imagem de fundo Imagem de fundo definida! + Questionário + Esta fotografia pode ser carregada? + Pergunta + Resultado + Se continuar a carregar imagens que precisam de ser eliminadas a sua conta será provavelmente banida. Tem a certeza de que pretende terminar o questionário? + Mais de %1$s das imagens que carregou foram eliminadas. Se continuar a carregar imagens que precisam de ser eliminadas a sua conta será provavelmente banida.\n\nQuer ver o guia prático outra vez e depois preencher um questionário que ajuda a aprender que tipos de imagens deve ou não deve carregar? + As autofotografias \'\'(selfies)\'\' não têm grande valor enciclopédico. Não carregue fotografias de si próprio, por favor, a menos que já exista um artigo na Wikipédia acerca de si. + As fotografias de monumentos e cenários de exterior podem ser carregadas na maioria dos países. Note, por favor, que as instalações de arte temporárias em exteriores normalmente têm o respetivo direito de autor protegido e não podem ser carregadas. + As capturas de ecrã de \'\'sites\'\' da Internet são consideradas obras derivadas e estão sujeitas aos direitos de autor definidos para o respetivo \'\'site.\'\' Estas imagens podem ser usadas depois de obter autorização do autor. Sem esta autorização, todas as obras que criar baseadas na obra são consideradas cópias não licenciadas, cuja propriedade é detida pelo autor original. + Um dos objetivos da wiki Commons é recolher imagens de qualidade. Assim, não devem ser carregadas imagens desfocadas. Tente sempre tirar boas fotografias com iluminação adequada. + As imagens que mostram tecnologia ou cultura são muito bem-vindas na wiki Commons. + AVISO: Mais de %1$s das imagens que carregou foram eliminadas. Se continuar a carregar imagens que precisam de ser eliminadas a sua conta será provavelmente banida. + Obteve %1$s de respostas corretas. Parabéns! + Selecione uma das duas opções para responder à pergunta + A sessão expirou. Inicie uma nova sessão, por favor. + Partilhe o seu questionário com os amigos! + Continuar + Resposta correta + Resposta incorreta Tem a certeza de que deseja limpar o historial de pesquisas? O historial de pesquisas foi eliminado - A sessão expirou. Inicie uma nova sessão, por favor. + Realizações + ESTATÍSTICAS + Agradecimentos recebidos + Imagens destacadas + NÍVEL + Imagens carregadas + Imagens não revertidas + Imagens usadas + Partilhe as suas realizações com os amigos! + O seu nível aumenta à medida que satisfaz estes requisitos. Os elementos da secção «estatísticas» não contam para o seu nível. + mínimo exigido: + O número de imagens que carregou na wiki Commons, através de qualquer programa de carregamento + A percentagem das imagens que carregou na wiki Commons que não foram eliminadas + O número de imagens que carregou na wiki Commons que foram usadas em artigos na Wikimedia diff --git a/app/src/main/res/values-qq/strings.xml b/app/src/main/res/values-qq/strings.xml index 1ffc944ad..caa2fdcc9 100644 --- a/app/src/main/res/values-qq/strings.xml +++ b/app/src/main/res/values-qq/strings.xml @@ -13,6 +13,7 @@ * Ата --> + {{Identical|Explore}} {{Identical|General}} The name of the application. A short form of \"Wikimedia Commons\". It is used in the app\'s launcher icon.\n{{Identical|Wikimedia Commons}} Label for menu item to show settings.\n{{Identical|Settings}} @@ -68,6 +69,7 @@ Title for the activity where Categories are being selected to add to the Image.\n{{Identical|Category}} {{Identical|Settings}} {{Identical|Sign up}} + {{Identical|Category}} {{Identical|About}} License and legal notice. %1$s is {{msg-wm|Commons-android-strings-trademarked name}} {{Ignored}}\n\nUsed in {{msg-wm|Commons-android-strings-about license}}\n\n{{Identical|Wikimedia Commons}} @@ -137,5 +139,9 @@ {{Identical|Language}} {{Identical|Cancel}} {{Identical|Retry}} + {{Identical|Search}} + {{Identical|Search}} Message shown in a dialog (\"success toast\") after a contribution by the user.\n\nParameter:\n* %1$s - title of the target page on Wikidata + {{Identical|Question}} + {{Identical|Result}} diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index f31642902..f97e29f8a 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -312,7 +312,31 @@ Не удалось обновить соответствующую страницу викиданных! Сделать фоновой заставкой Фоновая заставка успешно установлена! + Опрос + Это изображение корректно для загрузки на сервер? + Вопрос + Результат + Внимание: были удалены более %1$s {{PLURAL:%1$s|zero=изображений|one= изображения|few=изображений|изображений}}, загруженных вами. Если вы продолжите заливать изображения, которые будут удаляться, ваша учётная запись скорее всего будет заблокирована.\n\nЖелаете пересмотреть руководство снова и поучаствовать в опросе, для прояснения, какие из типов изображений могут быть загруженными, а какие запрещены ? + Внимание: были удалены более %1$s {{PLURAL:%1$s|zero=изображений|one= изображения|few=изображений|изображений}}, загруженных вами. Если вы продолжите заливать изображения, которые будут удаляться, ваша учётная запись скорее всего будет заблокирована. + Вы дали %1$s {{PLURAL:%1$s|zero=правильных ответов|one= правильный ответ|few=правильного ответа|правильных ответов}}. Так держать! + Сессия авторизации истекла, пожалуйста авторизуйтесь заново. + Продолжить + Правильный ответ + Неверный ответ Вы уверены, что хотите очистить историю поисковых запросов? История поиска очищена - Сессия авторизации истекла, пожалуйста авторизуйтесь заново. + Достижения + СТАТИСТИКА + Получены благодарности + Избранные изображения + УРОВЕНЬ + Загружено изображений + Изображения, которые не откатывались + Использовано изображений + Поделитесь своими достижениями с друзьями! + Ваш уровень будет увеличиваться, если вы будете придерживаться этих требований. Числа в разделе \"Статистика\" не влияют на ваш уровень. + требуется минимум: + Число изображений, загруженных на Викисклад любыми приложениями + Число изображений, загруженных на Викисклад и не удалённых + Число изображений, загруженных на Викисклад, которые используются в статьях Викимедиа diff --git a/app/src/main/res/values-sd/strings.xml b/app/src/main/res/values-sd/strings.xml index 14d551ee9..3be45eccb 100644 --- a/app/src/main/res/values-sd/strings.xml +++ b/app/src/main/res/values-sd/strings.xml @@ -249,6 +249,6 @@ تازه ڳوليل مسودا وال پيپر لڳايو وال پيپر ڪاميابيءَ سان لڳي ويو! - ڳولا سوانح ڊاٿي وئي لاگ اِن سيشن ايڪسپائير ٿي ويو آهي، مهرباني ڪري وري لاڳ اِن ٿيو. + ڳولا سوانح ڊاٿي وئي diff --git a/app/src/main/res/values-skr/strings.xml b/app/src/main/res/values-skr/strings.xml index 7d446473a..c1e2f63d4 100644 --- a/app/src/main/res/values-skr/strings.xml +++ b/app/src/main/res/values-skr/strings.xml @@ -3,6 +3,7 @@ * Saraiki --> + پھرولو شکل و صورت عمومی تہاڈی رائے @@ -55,6 +56,7 @@ ونکیاں ترتیباں سائن اپ + ون٘کی تعارف تعارف حالیہ ورتیاں ڳیاں ونکیاں @@ -130,4 +132,6 @@ منسوخ ولدا کوشش کرو گھن گھندا + ڳولو + سوال diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index b216afffe..2fc02cc75 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -9,6 +9,8 @@ * WikiPhoenix --> + Utforska + Utforska Utseende Allmänt Återkoppling @@ -16,6 +18,7 @@ Commons Inställningar + Ladda upp till Commons Användarnamn Lösenord Logga in på ditt betakonto för Commons @@ -90,6 +93,7 @@ Inställningar Registrera Utvalda bilder + Kategori Om Wikimedia Commons-appen är en app med öppen källkod som skapas och underhålls av frivilliga från Wikimedias gemenskap. Wikimedia Foundation är inte involverad i skapandet, utvecklingen eller underhållet av appen. Skapa ett nytt <a href=\"https://github.com/commons-app/apps-android-commons/issues\">ärende på GitHub</a> för att rapportera buggar och förslag. @@ -198,6 +202,8 @@ Bakgrundsbild Mediabild misslyckades Ingen bild hittades + Inga underkategorier hittades + Inga överordnade kategorier hittades Ladda upp bild Zao Lamor @@ -277,14 +283,57 @@ Inga bilder hittades! Ett fel uppstod vid inläsning av bilder. Uppladdad av: %1$s + Du har blockerats från att redigera på Commons Dela app Koordinater specificerades inte vid bildvalet Fel uppstod när platser i närheten hämtades. Dagens bild Dagens bild + Sök + Sök på Commons + Inga bilder som matchar %1$s hittades + Sök + Senaste sökningar: + Senaste sökfrågor + Fel uppstod när kategorier lästes in. + Fel uppstod när underkategorier lästes in. Bilden lades till i %1$s på Wikidata! Misslyckades att uppdatera motsvarande Wikidataentitet! Ange som bakgrundsbild Bakgrundsbilden ändrades! + Frågesport + Är det okej att ladda upp denna bild? + Fråga + Resultat + Om du fortsätter ladda upp bilder som kommer att raderas kommer ditt konto förmodligen bannlysas. Är du säker på att du vill avsluta frågesporten? + Fler än %1$s av bilderna du har laddat upp har raderats. Om du fortsätter ladda upp bilder som kommer att raderas kommer ditt konto förmodligen bannlysas.\n\nVill du se guiden igen och sedan göra frågesporten för att hjälpa dig förstå vilka bildtyper du bör och inte bör ladda upp? + Bilder på dig själv (selfies) har inte mycket encyklopediskt värde. Ladda inte upp en bild på dig själv såvida du inte har en Wikipedia-artikel om dig. + Bilder på monument och utomhuslandskap är okej att ladda upp i de flesta länder. Observera att tillfälliga konstinstallationer är oftast upphovsrättsskyddade och inte okej att ladda upp. + Skärmdumpar på webbplatser anses vara deriverade verk och föremål för all upphovsrätt på själva webbplatsen. Dessa kan användas efter tillstånd från författaren. Utan sådant tillstånd anses all konst du skapar baserat på deras verk juridiskt sett vara en olicensierad kopia som ägs av den ursprungliga författaren. + Ett av Commons mål är att samla ihop kvalitetsbilder. Därför bör inte suddiga bilder laddas upp. Försök alltid att ta fina bilder med bra ljus. + Bilder som skildrar teknologi eller kultur är mycket välkomna på Commons. + VARNING: Fler än %1$s av bilderna du har laddat upp har raderats. Om du fortsätter ladda upp bilder som kommer att raderas kommer ditt konto förmodligen bannlysas. + Du svarade rätt på %1$s av svaren. Gratulerar! + Välj ett av de två alternativet för att svara på frågan Inloggningssessionen löptes ut, var god logga in igen. + Dela din frågesport med dina vänner! + Fortsätt + Korrekt svar + Fel svar + Är du säker på att du vill rensa din sökhistorik? + Sökhistoriken raderades + Prestationer + STATISTIK + Mottagna tack + Utvalda bilder + NIVÅ + Uppladdade bilder + Bilder som inte har återställts + Bilder som används + Dela dina prestationer med dina vänner! + Din nivå går upp när du möter dessa krav. Saker i statistikavsnittet räknas inte för din nivå. + minimumkrav: + Antalet bilder du har laddat upp till Commons med något uppladdningsprogram + Procentandelen av bilder du har laddat upp till Commons som inte har raderats + Antalet bilder du har laddat upp till Commons som användes i Wikimedia-artiklar diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 662d2c96c..53d58b88e 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -4,6 +4,7 @@ * Kly * LNDDYL * Liuxinyu970226 +* Reke * S099001 * Simon Shek * StephDC @@ -304,7 +305,39 @@ 更新所對應的維基數據項目失敗! 設定桌布 桌布設定成功! + 測驗 + 這張圖片可以上傳嗎? + 問題 + 結果 + 如果您持續上傳需要刪除的圖片,您的帳號可能會被封禁。你確定要結束測驗嗎? + 超過 %1$s 由您上傳的圖片都遭到刪除了。如果你持續上傳需要刪除的圖片,您的帳號可能會遭到封禁。\n\n您要不要重新閱覽教程,然後再做一次測驗,好讓您學習分辨哪些類型的圖片你可以上傳、哪些不可以? + 自拍照沒有什麼百科價值。除非已經有維基百科的條目介紹您,否則請不要上傳拍攝您自己的照片。 + 在大多數的國家,上傳古蹟或室外景的照片是沒有問題的。請留意,臨時性的戶外藝術裝置常常是有著作權保護的,不可上傳。 + 網站的螢幕截圖被視為衍生作品,受到該網站本身所有著作權保護。這些截圖可以在獲得原作者許可之後使用。若未經許可,您根據他們的作品而創作的任何藝術品,在法律上均會被視為未經原作者許可的複製品。 + 收錄高畫質圖像是維基共享資源的目標之一,所以不應該上傳模糊的圖片。儘量試著只上傳光線良好的優良圖片。 + 在維基共享資源上,展現科技或文化的圖片很受到歡迎。 + 警告:您所上傳的圖片中,超過 %1$s 張已經被刪除。如果您持續上傳那些需要被刪除的圖片,您的帳號可能會被封禁。 + 您答對了 %1$s 題,恭喜! + 請在兩個選項中擇一,來回答這個問題。 + 登入用 session 逾期,請重新登入。 + 向朋友分享您的測驗結果! + 繼續 + 正確答案 + 錯誤答案 確定要清除搜尋歷史嗎? 搜尋歷史已刪除 - 登入用 session 逾期,請重新登入。 + 成果 + 統計內容 + 感謝接收 + 特色圖片 + 級別 + 圖片已上傳 + 圖片未回復 + 圖片已使用 + 與您的朋友分享您的成果! + 在您符合這些需求時,您的級別會增加。在「統計內容」裡的項目,不會計算到您的級別。 + 最低需求: + 您透過任一上傳軟體將圖片上傳至共享資源的數目 + 您所上傳至共享資源且尚未被刪除掉的圖片數目 + 您所上傳至共享資源且被使用在維基百科條目中的圖片數目 diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index ec287e7c3..b1f1e7475 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -9,6 +9,7 @@ * Shizhao * Wxyveronica * Yfdyh000 +* 阿pp --> 探索 @@ -295,6 +296,20 @@ 更新对应维基数据实体失败! 设置墙纸 墙纸已成功设置! - 您确认要清除您的搜索历史? 登录会话已过期,请重新登录。 + 您确认要清除您的搜索历史? + 成就 + 数据 + 不客气 + 特色图片 + 等级 + 已上传图片 + 未还原图片 + 使用过的图片 + 与朋友分享您的所得! + 当您满足这些要求时,您的等级会增加。“统计”部分的项目不计入等级计算范围。 + 最低要求: + 您通过任一上传软件上传至Commons的图片总数量 + 您上传至Commons的图片中未经删除的数量占上传总数量的百分比 + 您上传至Commons的图片中被Wikimedia条目使用过的数量 From 6aa0f250f3a3daf1eb7508ac110ad8987217c762 Mon Sep 17 00:00:00 2001 From: albendz Date: Mon, 30 Jul 2018 11:57:01 -0700 Subject: [PATCH 08/16] Provide toast to request title in multi upload share when title is empty --- .../free/nrw/commons/upload/MultipleUploadListFragment.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/java/fr/free/nrw/commons/upload/MultipleUploadListFragment.java b/app/src/main/java/fr/free/nrw/commons/upload/MultipleUploadListFragment.java index 028456bb6..70ca18e50 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/MultipleUploadListFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/MultipleUploadListFragment.java @@ -23,6 +23,7 @@ import android.widget.FrameLayout; import android.widget.GridView; import android.widget.RelativeLayout; import android.widget.TextView; +import android.widget.Toast; import butterknife.BindView; import butterknife.ButterKnife; @@ -205,6 +206,10 @@ public class MultipleUploadListFragment extends Fragment { public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_upload_multiple: + if (baseTitle.getText().toString().trim().isEmpty()) { + Toast.makeText(getContext(), R.string.add_title_toast, Toast.LENGTH_LONG).show(); + return false; + } multipleUploadInitiatedHandler.OnMultipleUploadInitiated(); return true; } From 0678410eea2788ce6ba73bf13879b063469d0cf8 Mon Sep 17 00:00:00 2001 From: albendz Date: Tue, 31 Jul 2018 12:23:28 -0700 Subject: [PATCH 09/16] Add a string to tell the user to name their multi image set --- .../fr/free/nrw/commons/upload/MultipleUploadListFragment.java | 2 +- app/src/main/res/values/strings.xml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/fr/free/nrw/commons/upload/MultipleUploadListFragment.java b/app/src/main/java/fr/free/nrw/commons/upload/MultipleUploadListFragment.java index 70ca18e50..f38862da2 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/MultipleUploadListFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/MultipleUploadListFragment.java @@ -207,7 +207,7 @@ public class MultipleUploadListFragment extends Fragment { switch (item.getItemId()) { case R.id.menu_upload_multiple: if (baseTitle.getText().toString().trim().isEmpty()) { - Toast.makeText(getContext(), R.string.add_title_toast, Toast.LENGTH_LONG).show(); + Toast.makeText(getContext(), R.string.add_set_name_toast, Toast.LENGTH_LONG).show(); return false; } multipleUploadInitiatedHandler.OnMultipleUploadInitiated(); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index dbe144734..0de347dfe 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -56,6 +56,7 @@ Login failed Upload Name this set + Please provide a name for this set Modifications Upload Search categories From b0e962c85ce26cfa4de0c0d1d405a08276fe1de2 Mon Sep 17 00:00:00 2001 From: "translatewiki.net" Date: Thu, 2 Aug 2018 10:12:47 +0200 Subject: [PATCH 10/16] Localisation updates from https://translatewiki.net. --- app/src/main/res/values-ar/strings.xml | 1 + app/src/main/res/values-bn/strings.xml | 8 ++ app/src/main/res/values-de/strings.xml | 2 + app/src/main/res/values-el/strings.xml | 2 + app/src/main/res/values-es/strings.xml | 9 +- app/src/main/res/values-fa/strings.xml | 7 +- app/src/main/res/values-fr/strings.xml | 2 + app/src/main/res/values-it/strings.xml | 5 + app/src/main/res/values-iw/strings.xml | 19 ++++ app/src/main/res/values-jv/strings.xml | 2 + app/src/main/res/values-ko/strings.xml | 2 + app/src/main/res/values-lv/strings.xml | 1 + app/src/main/res/values-mk/strings.xml | 2 + app/src/main/res/values-my/strings.xml | 113 +++++++++++++++++++++ app/src/main/res/values-pms/strings.xml | 15 +++ app/src/main/res/values-pt-rBR/strings.xml | 34 +++++++ app/src/main/res/values-pt/strings.xml | 10 +- app/src/main/res/values-ru/strings.xml | 9 ++ app/src/main/res/values-skr/strings.xml | 2 + app/src/main/res/values-sv/strings.xml | 2 + app/src/main/res/values-zh-rTW/strings.xml | 2 + app/src/main/res/values-zh/strings.xml | 16 +-- 22 files changed, 248 insertions(+), 17 deletions(-) create mode 100644 app/src/main/res/values-my/strings.xml diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index bc8725494..a38693df9 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -187,6 +187,7 @@ شارك التطبيق صورة اليوم صورة اليوم + الإنجازات الصور المختارة الصور المستخدمة diff --git a/app/src/main/res/values-bn/strings.xml b/app/src/main/res/values-bn/strings.xml index 1cc3692b4..6c7f630b6 100644 --- a/app/src/main/res/values-bn/strings.xml +++ b/app/src/main/res/values-bn/strings.xml @@ -271,4 +271,12 @@ অনুসন্ধান কমন্সে অনুসন্ধান করুন অনুসন্ধান + কুইজ + প্রশ্ন + ফলাফল + অগ্রসর হোন + সঠিক উত্তর + ভুল উত্তর + নির্বাচিত ছবি + স্তর diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 6fb2af5bf..3ec7de143 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -64,6 +64,7 @@ Anmeldung fehlgeschlagen Hochladen Benenne diesen Satz + Bitte einen Namen für diesen Satz angeben Veränderungen Hochladen Kategorien durchsuchen @@ -319,6 +320,7 @@ Fortfahren Richtige Antwort Falsche Antwort + Darf dieses Bildschirmfoto hochgeladen werden? Bist du sicher, dass du deinen Suchverlauf löschen möchtest? Suchverlauf gelöscht Errungenschaften diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 2ed11f233..1e96c3f64 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -67,6 +67,7 @@ Η είσοδος απέτυχε Ανέβασμα Ονομάστε το σύνολο + Παρακαλώ παρέχετε ένα όνομα για αυτό το σύνολο Τροποποιήσεις Ανέβασμα Αναζήτηση κατηγοριών @@ -322,6 +323,7 @@ Συνέχεια Σωστή απάντηση Λάθος απάντηση + Αυτό το στιγμιότυπο είναι εντάξει για ανέβασμα; Είστε σίγουρος ότι θέλετε να καθαρίσετε το ιστορικό αναζήτησης; Το ιστορικό αναζήτησης διεγράφη Κατορθώματα diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index e0ba4fb73..c7ce5a7d2 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -10,6 +10,7 @@ * Macofe * MarionaDSR * Miguel2706 +* Tiberius1701 * Vivaelcelta --> @@ -22,7 +23,7 @@ Commons Configuración - Cargar en Commons + Subir a Commons Nombre de usuario Contraseña Accede a tu cuenta de Commons Beta @@ -297,13 +298,13 @@ Gracias recibidas Imágenes destacadas NIVEL - Las imágenes han sido cargadas + Las imágenes han sido subidas Imágenes no revertidas Imágenes utilizadas ¡Comparte tus logros con tus amigos! Tu nivel aumenta conforme cumples con estos requisitos. Elementos en la sección \"estadísticas\" no se cuentan para tu nivel. mínimo requerido: El número de imágenes que has subido a Commons, por medio de cualquier software de carga - El porcentaje de imágenes que haz subido a Commons que no fueron eliminadas - El número de imágenes que haz subido a Commons que fueron utilizadas en artículos de Wikimedia + El porcentaje de imágenes que has subido a Commons que no fueron eliminadas + El número de imágenes que has subido a Commons que fueron utilizadas en artículos de Wikimedia diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index fe87d5736..c377f78e4 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -2,6 +2,7 @@ + کاوش + کاوش نمایش صفحه عمومی بازخورد @@ -17,6 +20,7 @@ ویکی‌انبار تنظیمات + بارگذاری در انبار نام کاربری گذرواژه به حساب کاربری ویکی‌انبار آزمایشی وارد شوید @@ -28,7 +32,7 @@ ورود موفق! ورود ناموفق! پرونده یافت نشد لطفاً پرونده دیگری را امتحان کنید. - تأیید اعتبار انجام نشد! + تأیید اعتبار انجام نشد! لطفاً دوباره وارد شوید. بارگذاری آغاز شد! %1$s بارگذاری شد! برای دیدن بارگذاریتان بر روی صفحه انگشت بزنید @@ -85,6 +89,7 @@ رده‌ها تنظیمات ثبت نام + رده درباره اپلیکیشن ویکی‌انبار بنیاد ویکی‌مدیا یک نرم‌افزار آزاد است که توسط کاربران داوطلب و پاداش‌بگیر ایجاد و نگهداری می‌شود. بنیاد ویکی‌مدیا در ایجاد، نگهداری و توسعهٔ آن دخالتی ندارد. ایجاد یک <a href=\"https://github.com/commons-app/apps-android-commons/issues\">درخواست در گیت‌هاب</a> برای گزارش باگ و یا پیشنهاد یک خصوصیت جدید. diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 943aa3e9f..720dc1477 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -76,6 +76,7 @@ Échec de connexion Téléverser Nommer ce jeu + Veuillez fournir un nom pour cet ensemble Modifications Téléverser Rechercher des catégories @@ -330,6 +331,7 @@ Continuer Réponse correcte Mauvaise réponse + Cette copie d’écran est-elle correcte pour être téléversée ? Êtes-vous sûr de vouloir effacer votre historique de recherche ? Historique de recherche effacée Réalisations diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index a8a9fbb22..67601f0a8 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -241,7 +241,12 @@ Ricerche recenti: Si è verificato un errore durante il caricamento delle categorie. Si è verificato un errore durante il caricamento delle sottocategorie. + Domanda + Risultato Sessione di login scaduta, accedi nuovamente. + Continua + Risposta corretta + Risposta sbagliata Sei sicuro di voler cancellare la tua cronologia di ricerca? Cronologia di ricerca cancellata Risultati diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index 97bbf4f9c..636e53cab 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -12,6 +12,8 @@ * YaronSh --> + לחקור + לחקור מראה כללי משוב @@ -19,6 +21,7 @@ ויקישיתוף הגדרות + להעלות לוויקישיתוף שם משתמש ססמה כניסה לחשבון Commons Beta שלך @@ -65,6 +68,7 @@ ההעלאלה נכשלה העלאה שם האוסף + נא לספק שם לערכה הזאת שינויים העלאה חיפוש קטגוריות @@ -93,6 +97,7 @@ הגדרות רישום תמונות מומלצות + קטגוריה אודות יישום ויקישיתוף (Wikimedia Commons app) הוא יישום קוד פתוח שמפותח ומתוחזק על־ידי מקבלי מלגות ומתנדבים של קהילת ויקימדיה. קרן ויקימדיה אינה מעורבת ביצירה, פיתוח, או תחזוקה של היישום. נא ליצור <a href=\"https://github.com/commons-app/apps-android-commons/issues\">דיווח בגיטהאב</a> בשביל באגים והצעות. @@ -200,6 +205,8 @@ תמונת רקע תמונת המדיה נכשלה לא נמצאה תמונה + לא נמצאו תת־קטגוריות + לא נמצאו קטגוריות הורות העלאת תמונה הר זאו לאמות @@ -279,14 +286,26 @@ לא נמצאו תמונות! אירעה שגיאה בטעינת התמונות. הועלתה על־ידי: %1$s + נחסמת מעריכת ויקישיתוף שיתוף היישום לא צוינו קואורדינטות בעת בחירת התמונה שגיאה באחזור המקומות בסביבתך. תמונת היום תמונת היום + חיפוש + חיפוש בוויקישיתוף + לא נמצאו תמונות שמתאימות לחיפוש %1$s + חיפוש + חיפוש אחרונים: + דברים שחיפשת לאחרונה + אירעה שגיאה בעת טעינת תת־קטגוריות. התמונה נוספה בהצלחה ל־%1$s בוויקינתונים! לא ניתן היה לעדכן הישות המתאימה בוויקינתונים! הגדרת רקע הרקע הוגדר בהצלחה! + מבחן + האם בסדר להעלות את התמונה הזאת? + שאלה + תוצאה זמן הכניסה לחשבון פקע, נא להיכנס שוב. diff --git a/app/src/main/res/values-jv/strings.xml b/app/src/main/res/values-jv/strings.xml index c02290b4c..45d19d8ad 100644 --- a/app/src/main/res/values-jv/strings.xml +++ b/app/src/main/res/values-jv/strings.xml @@ -1,6 +1,7 @@ Commons @@ -165,4 +166,5 @@ Metu log Artikel Commons Wiji Wikidata + Pitakon diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index bc44fcb1b..76971925f 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -67,6 +67,7 @@ 로그인 실패 올리기 이 집합의 이름 짓기 + 이 집합의 이름을 지정해 주십시오 바뀜 올리기 분류 검색 @@ -317,6 +318,7 @@ 계속 정답 오답 + 이 스크린샷을 올리시겠습니까? 검색 기록을 지우겠습니까? 검색 기록 삭제됨 성과 diff --git a/app/src/main/res/values-lv/strings.xml b/app/src/main/res/values-lv/strings.xml index 5f1d28ce2..c4a0ce641 100644 --- a/app/src/main/res/values-lv/strings.xml +++ b/app/src/main/res/values-lv/strings.xml @@ -110,4 +110,5 @@ Turpināt Atcelt Sapratu! + Jautājums diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml index 304525357..eb154046c 100644 --- a/app/src/main/res/values-mk/strings.xml +++ b/app/src/main/res/values-mk/strings.xml @@ -59,6 +59,7 @@ Најавата не успеа Подигни Дајте му име на овој комплет + Дајте му име на збирот Преиначувања Подигни Пребарај категории @@ -312,6 +313,7 @@ Продолжи Точен одговор Погрешен одговор + Дали оваа екранска снимка е во ред за подигање? Дали сте сигурни дека сакате да ја избришете историјата на пребарувања? Историјата на пребарување е избришана Достигнувања diff --git a/app/src/main/res/values-my/strings.xml b/app/src/main/res/values-my/strings.xml new file mode 100644 index 000000000..6151ba8e9 --- /dev/null +++ b/app/src/main/res/values-my/strings.xml @@ -0,0 +1,113 @@ + + + + ရှာဖွေစူးစမ်းပါ + ရှာဖွေစူးစမ်းပါ + ပုံပန်းသွင်ပြင် + အထွေထွေ + အကြံပေးရန် + နေရာ + ကွန်မွန်းစ် + + အပြင်အဆင်များ + ကွန်မွန့်စ်တွင် တင်ရန် + အသုံးပြုသူအမည် + စကားဝှက် + ကွန်မွန့်စ် ဘီတာအေကာင့်သို့ ဝင်မည် + အကောင့်ဝင်ရန် + စကားဝှက် မေ့နေပါသလား + မှတ်ပုံတင်ရန် + လော့ဂ်အင် ဝင်ရောက်နေသည်... + ခေတ္တစောင့်ပါ... + လော့အင် အောင်မြင်သည် + လော့အင် မအောင်မြင်ပါ + ဖိုင်မတွေ့ပါ၊ အခြးဖိုင်တစ်ခု စမ်းကြည့်ပါ။ + စစ်ဆေးခြင်း မအောင်မြင်ပါ၊ ထပ်မံ၍ လော့အင်ဝင်ပါ။ + Upload စတင်ပါပြီ + မအောင်မြင်ပါ + အနီးအနား + မျှဝေ + ခေါင်းစဉ် + ခေါင်းစဉ် + ဖော်ပြချက် + ကဏ္ဍများ ရှာဖွေရန် + သိမ်းရန် + စာရင်း + ကဏ္ဍများ + အပြင်အဆင်များ + မှတ်ပုံတင်ရန် + ကဏ္ဍ + အကြောင်း + <u>တကိုယ်ရည် မူဝါဒ</u> + အကြောင်း + အကြံဉာဏ် ပို့ရန် (အီးမေးလ်မှ) + မကြာခင်က သုံးခဲ့သော ကဏ္ဍများ + ပြန်လုပ် + မလုပ်တော့ + ဒေါင်းလုပ်ယူရန် + နဂို လိုင်စင် + ယခင် ခေါင်းစဉ်/ဖော်ပြချက် သုံးမည် + လက်ရှိနေရာကို အလိုအလျောက်ယူရန် + ညကြည့်ပုံစံ + အမှောင်မြင်ကွင်း သုံးမည် + ကဏ္ဍများ + အိုကေ + အနီးအနား နေရာများ + အနီးအနား နေရာများ မတွေ့ပါ + သတိပေးချက် + ခေါင်းစဉ် + ဖော်ပြချက် + စာရေးသူ + လိုင်စင် + အများဆုံး ကန့်သတ်ချက် + ကွန်မွန်းစ် လိုဂို + ကွန်မွန်းစ် ဝဘ်ဆိုဒ် + ကွန်မွန်းစ် ဖေ့ဘုတ်စာမျက်နှာ + နောက်ခံ ဓါတ်ပုံ + ပုံ မတွေ့ပါ + ပယ်ဖျက်ရန် + ဖွင့်ရန် + ပိတ်ရန် + ပင်မ + အနီးအနား + အကြောင်း + အပြင်အဆင်များ + အကြံပေးရန် + အကောင့်မှပြန်ထွက်ခြင်း + ကစားနည်းသင်ကြားရန် + အသိပေးချက်များ + တည်နေရာ ခွင့်ပြုချက်မရှိဘဲ အနီးအနားနေရာများကို မပြနိုင်ပါ + ဖော်ပြချက် မတွေ့ပါ + ကွန်မွန်းစ် ဖိုင်စာမျက်နှာ + ဝီကီးဒေတာ item + ဝီကီပီးဒီးယား ဆောင်းပါး + ခွင့်ပြုချက် ပေးမည် + ပြင်ပြသိုလှောင်ခန်းကို သုံးမည် + သင်၏အကောင့်သို့ ဝင်ရန် + ဘရောက်ဆာတွင် ကြည့်ရန် + တည်နေရာ မပြောင်းလဲပါ + တည်နေရာ မရရှိနိုင်ပါ + တည်းဖြတ်မှုတစ်ခု လုပ်ဆောင်သည့်အတွက် ကျေးဇူးတင်ပါသည် + ဝီကီးဒေတာ + ဝီကီပီးဒီးယား + ကွန်မွန်းစ် + အင်တာနက် မရရှိပါ + အင်တာနက် ရရှိ + အသိပေးချက်များ မတွေ့ပါ + <u>ဘာသာပြန်ပါ</u> + ဘာသာစကားများ + မလုပ်တော့ပါ + ပြန်လုပ် + ရှာဖွေရန် + ရှာဖွေရန် + မေးခွန်း + ရလဒ် + ဆက်လက် + အဖြေမှန် + အဖြေမှား + အောင်မြင်မှုပန်းတိုင်များ + ကျေးဇူးစကား လက်ခံရရှိ + diff --git a/app/src/main/res/values-pms/strings.xml b/app/src/main/res/values-pms/strings.xml index bc8cf6e92..9017fc01b 100644 --- a/app/src/main/res/values-pms/strings.xml +++ b/app/src/main/res/values-pms/strings.xml @@ -59,6 +59,7 @@ Falì a rintré ant ël sistema Carié Deje un nòm a s\'ansem + Për piasì, ch\'a-j buta \'n tìtol a st\'ansem Modìfiche Carié Sërché dle categorìe @@ -304,7 +305,15 @@ Schermà ëd sit an sl\'aragnà a con considerà dij travaj derivà e a son sogete a tuti ij drit d\'autor dël sit midem. A peulo esse dovrà con ël përmess ëd l\'autor. Sensa \'s përmess, tute euvra che chiel a crea basà su col travaj a l\'é considerà da na mira legal tanme na còpia sensa licensa possedùa da l\'autor original. Un dij but ëd Commons a l\'é ëd raduné dle plance ëd qualità. Donca le plance tërbole a peulo nen esse carià. Ch\'a sërca ëd pijé sempe dle bele fòto con na bon-a iluminassion. Fòto ch\'a mostro la tecnologìa o la coltura a son particolarman bin ëvnùe su Commons. + \'TENSION: pi che %1$s dle plance che chiel a l\'ha carià a son ëstàite dëscancelà. S\'a va anans a carié cle plance che a devo esse gavà, sò cont a sarà probabilman blocà. + A l\'ha avù %1$s ëd rispòste giuste. Congratulassion! + Ch\'a serna un-a dle doe opsion për rësponde a la chestion Session ëscadùa, për piasì ch\'a rintra torna ant ël sistema. + Ch\'a partagia soa preuva con ij sò amis! + Continué + Rispòsta giusta + Rispòsta sbalià + Costa schermà a va bin da carié? É-lo sigur ëd vorèj dëscancelé lë stòrich ëd soe arserche? Lë stòrich ëd j\'arserche a l\'é stàit dëscancelà Realisassion @@ -315,4 +324,10 @@ Plance carià Plance nen anulà Plance dovrà + Ch\'a partagia ij sò arzultà con ij sò amis! + Sò livel a aumenta viaman che chiel a argionz costi sucess. J\'element ant la session «statìstiche» a conto nen për sò livel. + mìnim necessari: + Ël nùmer ëd plance che chiel a l\'ha carià su Comun, a travers un programa qualsëssìa + La përsentual ëd plance che chiel a l\'ha carià su Comun e ch\'a son nen ëstàite dëscancelà + Ël nùmer ëd plance che chiel a l\'ha carià su Comun e che a son ëstàite dovrà an dj\'artìcoj ëd Wikimedia diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 825d26272..4ca69acdb 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -71,6 +71,7 @@ Erro ao efetuar o login Enviar Nomeie esse conjunto + Forneça um nome para este conjunto, por favor Modificações Enviar Procurar categorias @@ -305,7 +306,40 @@ Falha ao atualizar a entidade Wikidata correspondente! Definir imagem de fundo Imagem de fundo definida! + Questionário + Esta fotografia pode ser carregada? + Pergunta + Resultado + Se continuar carregadas imagens que precisam de ser eliminadas a sua conta será provavelmente banida. Tem a certeza de que pretende terminar o questionário? + Mais de %1$s das imagens que carregou foram eliminadas. Se continuar a carregar imagens que precisam de ser eliminadas a sua conta será provavelmente banida.\n\nQuer ver o guia prático outra vez e depois preencher um questionário que ajuda a aprender que tipos de imagens deve ou não deve carregar? + As autofotografias \'\'(selfies)\'\' não têm grande valor enciclopédico. Não carregue fotografias de si próprio, por favor, a menos que já exista um artigo na Wikipédia sobre você. + As fotografias de monumentos e cenários de exterior podem ser carregadas na maioria dos países. Note, por favor, que as instalações de arte temporárias em exteriores normalmente têm o respetivo direito de autor protegido e não podem ser carregadas. + As capturas de tela de \'\'sites\'\' da Internet são consideradas obras derivadas e estão sujeitas aos direitos de autor definidos para o respetivo \'\'site.\'\' Estas imagens podem ser usadas depois de obter autorização do autor. Sem esta autorização, todas as obras que criar baseadas na obra são consideradas cópias não licenciadas, cuja propriedade é detida pelo autor original. + Um dos objetivos da wiki Commons é recolher imagens de qualidade. Assim, não devem ser carregadas imagens desfocadas. Tente sempre tirar boas fotografias com iluminação adequada. + As imagens que mostram tecnologia ou cultura são muito bem-vindas na wiki Commons. + AVISO: Mais de %1$s das imagens que carregou foram eliminadas. Se continuar a carregar imagens que precisam de ser eliminadas a sua conta será provavelmente banida. + Obteve %1$s de respostas corretas. Parabéns! + Selecione uma das duas opções para responder à pergunta A sessão expirou. Inicie uma nova sessão, por favor. + Compartilhe o seu questionário com os amigos! + Continuar + Resposta correta + Resposta incorreta + Esta captura de tela pode ser carregada? Tem certeza de que deseja apagar o histórico de pesquisa? Histórico de pesquisa excluído + Conquistas + ESTATÍSTICAS + Agradecimentos recebidos + Imagens destacadas + NÍVEL + Imagens carregadas + Imagens não revertidas + Imagens usadas + Compartilhe as suas conquistas com os amigos! + O seu nível aumenta à medida que satisfaz estes requisitos. Os elementos da secção «estatísticas» não contam para o seu nível. + mínimo exigido: + O número de imagens que carregou na wiki Commons, através de qualquer programa de carregamento + A percentagem das imagens que carregou na wiki Commons que não foram eliminadas + O número de imagens que carregou na wiki Commons que foram usadas em artigos na Wikimedia diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 27d8dcd9d..e776cd625 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -68,7 +68,8 @@ Precisa fornecer o seu código de ativação de dois fatores. Falha ao iniciar sessão Carregar - Nomeie este conjunto + Dê um nome a este conjunto + Forneça um nome para este conjunto, por favor Modificações Enviar Pesquisar categorias @@ -91,7 +92,7 @@ %1$d carregamento %1$d carregamentos - Nenhuma categoria correspondente %1$s encontrada + Não foi encontrada nenhuma categoria que corresponda a %1$s Adicione categorias para tornar as suas imagens mais fáceis de encontrar na wiki Wikimedia Commons.\nComece a escrever para adicionar categorias. Categorias Configurações @@ -204,8 +205,8 @@ Página da wiki Commons no Facebook Código-fonte da wiki Commons no Github Imagem de fundo - Falha na imagem de média - Nenhuma imagem encontrada + Falha na imagem multimédia + Não foi encontrada nenhuma imagem Não foi encontrada nenhuma subcategoria. Não foi encontrada nenhuma categoria mãe Carregar imagem @@ -324,6 +325,7 @@ Continuar Resposta correta Resposta incorreta + Esta captura de ecrã pode ser carregada? Tem a certeza de que deseja limpar o historial de pesquisas? O historial de pesquisas foi eliminado Realizações diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index f97e29f8a..c6e69c381 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -73,6 +73,7 @@ Ошибка входа в систему! Загрузка Введите название для этой группы файлов + Пожалуйста, укажите название этой группы файлов Изменения Загрузка Выбор категорий @@ -316,13 +317,21 @@ Это изображение корректно для загрузки на сервер? Вопрос Результат + Если вы продолжите заливать изображения, которые будут удаляться, ваша учётная запись скорее всего будет заблокирована. Вы уверены, что хотите завершить опрос ? Внимание: были удалены более %1$s {{PLURAL:%1$s|zero=изображений|one= изображения|few=изображений|изображений}}, загруженных вами. Если вы продолжите заливать изображения, которые будут удаляться, ваша учётная запись скорее всего будет заблокирована.\n\nЖелаете пересмотреть руководство снова и поучаствовать в опросе, для прояснения, какие из типов изображений могут быть загруженными, а какие запрещены ? + Обычно селфи не имеют энциклопедической значимости. Пожалуйста, не загружайте фото себя до тех пор, пока о вас не будет создана статья википедии. + Изображения памятников и объектов снаружи в большинстве стран мира обычно подходят для загрузки. При этом временные инсталляции снаружи часто являются объектом копирайта и не подходят для загрузки. + Одной из целей Викисклада является собирание качественных изображений. Поэтому не следует туда загружать нечто размытое. Старайтесь делать изображения с хорошим освещением + Изображения в области техники или культуры весьма желательны на Викискладе. Внимание: были удалены более %1$s {{PLURAL:%1$s|zero=изображений|one= изображения|few=изображений|изображений}}, загруженных вами. Если вы продолжите заливать изображения, которые будут удаляться, ваша учётная запись скорее всего будет заблокирована. Вы дали %1$s {{PLURAL:%1$s|zero=правильных ответов|one= правильный ответ|few=правильного ответа|правильных ответов}}. Так держать! + Выберите один из двух вариантов ответа на вопрос Сессия авторизации истекла, пожалуйста авторизуйтесь заново. + Поделитесь результатами опроса со своими друзьями! Продолжить Правильный ответ Неверный ответ + Этот скриншот подходит для загрузки на Викисклад? Вы уверены, что хотите очистить историю поисковых запросов? История поиска очищена Достижения diff --git a/app/src/main/res/values-skr/strings.xml b/app/src/main/res/values-skr/strings.xml index c1e2f63d4..e636e86f8 100644 --- a/app/src/main/res/values-skr/strings.xml +++ b/app/src/main/res/values-skr/strings.xml @@ -134,4 +134,6 @@ گھن گھندا ڳولو سوال + نتیجہ + شماریات diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 2fc02cc75..444430201 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -65,6 +65,7 @@ Inloggningen misslyckades Ladda upp Namnge denna uppsättning + Ange ett namn för denna uppsättning Ändringar Ladda upp Sök kategorier @@ -320,6 +321,7 @@ Fortsätt Korrekt svar Fel svar + Är det okej att ladda upp denna skärmdump? Är du säker på att du vill rensa din sökhistorik? Sökhistoriken raderades Prestationer diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 53d58b88e..419ea0ef9 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -69,6 +69,7 @@ 登入失敗 上傳 命名此組 + 請提供此設定的名稱 修改 上傳 搜尋分類 @@ -324,6 +325,7 @@ 繼續 正確答案 錯誤答案 + 這張截圖可以上傳嗎? 確定要清除搜尋歷史嗎? 搜尋歷史已刪除 成果 diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index b1f1e7475..606a92b53 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -95,7 +95,7 @@ 设置 注册 特色图片 - 类别 + 分类 关于 维基共享资源应用程序是由维基媒体社区的受助者和志愿者创建和维护的开源应用程序。维基媒体基金会不参与该应用程序的创立,开发或维护。 创建新的<a href=\"https://github.com/commons-app/apps-android-commons/issues\">GitHub问题</a>以发送错误报告和建议。 @@ -203,7 +203,7 @@ 背景图片 媒体图片失败 找不到图片 - 找不到子类别 + 找不到子分类 找不到父分类 上传图片 藏王连峰 @@ -291,7 +291,7 @@ 搜索 找不到匹配%1$s的图片 搜索 - 加载子类别时发生错误。 + 加载子分类时发生错误。 图片已成功添加到维基数据上的%1$s! 更新对应维基数据实体失败! 设置墙纸 @@ -299,8 +299,8 @@ 登录会话已过期,请重新登录。 您确认要清除您的搜索历史? 成就 - 数据 - 不客气 + 统计 + 已收到感谢 特色图片 等级 已上传图片 @@ -309,7 +309,7 @@ 与朋友分享您的所得! 当您满足这些要求时,您的等级会增加。“统计”部分的项目不计入等级计算范围。 最低要求: - 您通过任一上传软件上传至Commons的图片总数量 - 您上传至Commons的图片中未经删除的数量占上传总数量的百分比 - 您上传至Commons的图片中被Wikimedia条目使用过的数量 + 您通过任一上传软件上传至共享资源的图片总数量 + 您上传至共享资源的图片中未经删除的数量占上传总数量的百分比 + 您上传至共享资源,并用于维基媒体条目的图片数量 From 911873379b4b73d5b76bbf29339c4640f057d9c5 Mon Sep 17 00:00:00 2001 From: Siddharth Vaish <36266597+VaishSiddharth@users.noreply.github.com> Date: Thu, 2 Aug 2018 14:44:56 +0530 Subject: [PATCH 11/16] Alignment of language selection dialog in About>Translate #1713 (#1776) --- app/src/main/java/fr/free/nrw/commons/AboutActivity.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/fr/free/nrw/commons/AboutActivity.java b/app/src/main/java/fr/free/nrw/commons/AboutActivity.java index c8941dcd8..a8d2d74fc 100644 --- a/app/src/main/java/fr/free/nrw/commons/AboutActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/AboutActivity.java @@ -144,11 +144,12 @@ public class AboutActivity extends NavigationBaseActivity { @OnClick(R.id.about_translate) public void launchTranslate(View view) { final ArrayAdapter languageAdapter = new ArrayAdapter(AboutActivity.this, - android.R.layout.simple_spinner_item, language); + android.R.layout.simple_spinner_dropdown_item, language); final Spinner spinner = new Spinner(AboutActivity.this); spinner.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT)); spinner.setAdapter(languageAdapter); spinner.setGravity(17); + spinner.setPadding(50,0,0,0); AlertDialog.Builder builder = new AlertDialog.Builder(AboutActivity.this); builder.setView(spinner); From 781cfac7b130ac1ce617e1c61ffd61c04527b2e4 Mon Sep 17 00:00:00 2001 From: Mansi449 Date: Fri, 3 Aug 2018 00:31:41 +0530 Subject: [PATCH 12/16] changed 'login' to 'log in' --- app/src/main/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0de347dfe..f5fef0a3f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -238,7 +238,7 @@ Give permission Use external storage Save pictures taken with the in-app camera on your device - Login to your account + Log in to your account Send log file Send log file to developers via email No web browser found to open URL From d7792d5861cfa3928edff367b11b7e9d588869fb Mon Sep 17 00:00:00 2001 From: VaishSiddharth Date: Thu, 2 Aug 2018 23:29:41 +0530 Subject: [PATCH 13/16] In media search results, rotating screen triggers crash fixed #1753 --- app/src/main/AndroidManifest.xml | 1 + .../java/fr/free/nrw/commons/explore/SearchActivity.java | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 59ffcea19..54dbd50ed 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -114,6 +114,7 @@ diff --git a/app/src/main/java/fr/free/nrw/commons/explore/SearchActivity.java b/app/src/main/java/fr/free/nrw/commons/explore/SearchActivity.java index f28065eb5..475b3900a 100644 --- a/app/src/main/java/fr/free/nrw/commons/explore/SearchActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/explore/SearchActivity.java @@ -1,5 +1,6 @@ package fr.free.nrw.commons.explore; +import android.content.res.Configuration; import android.database.DataSetObserver; import android.os.Bundle; import android.support.design.widget.TabLayout; @@ -194,6 +195,10 @@ public class SearchActivity extends NavigationBaseActivity implements MediaDetai mediaDetails.showImage(index); forceInitBackButton(); } + @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + } /** * This method is called on Screen Rotation From 32610464f48c64cb0dfa48bfc33e78ce4a55b458 Mon Sep 17 00:00:00 2001 From: Mansi449 Date: Thu, 2 Aug 2018 23:30:14 +0530 Subject: [PATCH 14/16] updated readme to include list of libraries used --- README.md | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/README.md b/README.md index 696201029..57ba0db03 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,33 @@ We try to have an extensive documentation at [our wiki here at Github][5]: * [Volunteers Welcome!][9] * [Developer Documentation][8] +## Libraries Used ## + +* [Picasso][11] +* [RSS-Parser][12] +* [ViewPagerIndicator][13] +* [PhotoView][14] +* [Acra][15] +* [Renderers][16] +* [Gson][17] +* [Timber][18] +* [Java-String-Similarity][19] +* [ReadMoreTextView][20] +* [MaterialShowcaseView][21] +* [Butterknife][22] +* [OKHttp][23] +* [Okio][24] +* [RxJava][25] +* [JSoup][26] +* [Fresco][27] +* [Stetho][28] +* [Dagger][29] +* [AndroidSVG][30] +* [Java-HTTP-Fluent][31] +* [CircleProgressBar][32] +* [Glide][33] +* [Leak Canary][34] + ## License ## This software is open source, licensed under the [Apache License 2.0][4]. @@ -34,3 +61,27 @@ This software is open source, licensed under the [Apache License 2.0][4]. [8]: https://github.com/commons-app/apps-android-commons/wiki#developer-documentation [9]: https://github.com/commons-app/apps-android-commons/wiki/Volunteers-welcome%21 [10]: https://meta.wikimedia.org/wiki/Grants:Project/Improve_%27Upload_to_Commons%27_Android_App/Renewal +[11]: https://github.com/square/picasso +[12]: https://github.com/prof18/RSS-Parser +[13]: https://github.com/avianey/Android-ViewPagerIndicator +[14]: https://github.com/chrisbanes/PhotoView +[15]: https://github.com/ACRA/acra +[16]: https://github.com/pedrovgs/Renderers +[17]: https://github.com/google/gson +[18]: https://github.com/JakeWharton/timber +[19]: https://github.com/tdebatty/java-string-similarity +[20]: https://github.com/bravoborja/ReadMoreTextView +[21]: https://github.com/deano2390/MaterialShowcaseView +[22]: https://github.com/JakeWharton/butterknife +[23]: https://github.com/square/okhttp +[24]: https://github.com/square/okio +[25]: https://github.com/ReactiveX/RxJava +[26]: https://github.com/jhy/jsoup +[27]: https://github.com/facebook/fresco +[28]: https://github.com/facebook/stetho +[29]: https://github.com/google/dagger +[30]: https://github.com/BigBadaboom/androidsvg +[31]: https://github.com/yuvipanda/java-http-fluent/blob/master/src/main/java/in/yuvi/http/fluent/Http.java +[32]: https://github.com/dinuscxj/CircleProgressBar +[33]: https://github.com/bumptech/glide +[34]: https://github.com/square/leakcanary From e4c518ccce868fe71192857e3324fdef72a521e5 Mon Sep 17 00:00:00 2001 From: Mansi449 Date: Thu, 2 Aug 2018 23:37:44 +0530 Subject: [PATCH 15/16] removed repeated implementation statements --- app/build.gradle | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 0d16a631a..0316c08c2 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -77,8 +77,6 @@ dependencies { releaseImplementation "com.squareup.leakcanary:leakcanary-android-no-op:$LEAK_CANARY" testImplementation "com.squareup.leakcanary:leakcanary-android-no-op:$LEAK_CANARY" - implementation 'com.borjabravo:readmoretextview:2.1.0' - implementation 'com.dinuscxj:circleprogressbar:1.1.1' } android { From 12a83da3a2330f10c6989051c8ff5dabf5db560a Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 3 Aug 2018 18:09:37 +0530 Subject: [PATCH 16/16] Feature/localised image descriptions (#1634) * wip * Changes for adding descriptions in multipe languages[issue #1501] * Added callback for the adapter * Codacy suggested changes * Sort the languages in the spinner in alphabetical order * scroll view nested scrolling enabled false * Nested scrolling enabled false [Allow rv to expand] * rebased to master, resolved conflicts * replaced setCompoundDrawables with setCompoundDrawablesWithIntrinsicBounds [the former dint used to work on all devices] * replaced setCompoundDrawables with setCompoundDrawablesWithIntrinsicBounds [the former dint used to work on all devices] --- .../commons/contributions/Contribution.java | 2 +- .../commons/media/MediaDetailFragment.java | 4 +- .../free/nrw/commons/upload/Description.java | 57 +++++ .../commons/upload/DescriptionsAdapter.java | 231 ++++++++++++++++++ .../fr/free/nrw/commons/upload/Language.java | 29 +++ .../nrw/commons/upload/ShareActivity.java | 2 +- .../commons/upload/SingleUploadFragment.java | 127 ++++++---- .../upload/SpinnerLanguagesAdapter.java | 92 +++++++ .../res/layout/fragment_single_upload.xml | 59 +++-- .../main/res/layout/row_item_description.xml | 33 +++ .../res/layout/row_item_languages_spinner.xml | 27 ++ app/src/main/res/values/strings.xml | 81 +++--- 12 files changed, 622 insertions(+), 122 deletions(-) create mode 100644 app/src/main/java/fr/free/nrw/commons/upload/Description.java create mode 100644 app/src/main/java/fr/free/nrw/commons/upload/DescriptionsAdapter.java create mode 100644 app/src/main/java/fr/free/nrw/commons/upload/Language.java create mode 100644 app/src/main/java/fr/free/nrw/commons/upload/SpinnerLanguagesAdapter.java create mode 100644 app/src/main/res/layout/row_item_description.xml create mode 100644 app/src/main/res/layout/row_item_languages_spinner.xml diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/Contribution.java b/app/src/main/java/fr/free/nrw/commons/contributions/Contribution.java index 99009c029..08f095479 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/Contribution.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/Contribution.java @@ -13,7 +13,7 @@ import fr.free.nrw.commons.CommonsApplication; import fr.free.nrw.commons.Media; import fr.free.nrw.commons.settings.Prefs; -public class Contribution extends Media { +public class Contribution extends Media { public static Creator CREATOR = new Creator() { @Override diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java index e7a21ed09..30551e24f 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java @@ -60,6 +60,7 @@ public class MediaDetailFragment extends CommonsDaggerSupportFragment { private boolean isCategoryImage; private MediaDetailPagerFragment.MediaDetailProvider detailProvider; private int index; + private Locale locale; public static MediaDetailFragment forMedia(int index, boolean editable, boolean isCategoryImage) { MediaDetailFragment mf = new MediaDetailFragment(); @@ -198,6 +199,7 @@ public class MediaDetailFragment extends CommonsDaggerSupportFragment { } }; view.getViewTreeObserver().addOnGlobalLayoutListener(layoutListener); + locale = getResources().getConfiguration().locale; return view; } @@ -455,7 +457,7 @@ public class MediaDetailFragment extends CommonsDaggerSupportFragment { private String prettyDescription(Media media) { // @todo use UI language when multilingual descs are available - String desc = media.getDescription("en").trim(); + String desc = media.getDescription(locale.getLanguage()).trim(); if (desc.equals("")) { return getString(R.string.detail_description_empty); } else { diff --git a/app/src/main/java/fr/free/nrw/commons/upload/Description.java b/app/src/main/java/fr/free/nrw/commons/upload/Description.java new file mode 100644 index 000000000..8e41c422b --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/upload/Description.java @@ -0,0 +1,57 @@ +package fr.free.nrw.commons.upload; + +import android.text.TextUtils; +import android.util.TimeUtils; + +class Description { + + private String languageId; + private String languageDisplayText; + private String descriptionText; + private boolean set; + private int selectedLanguageIndex = -1; + + public String getLanguageId() { + return languageId; + } + + public void setLanguageId(String languageId) { + this.languageId = languageId; + } + + public String getLanguageDisplayText() { + return languageDisplayText; + } + + public void setLanguageDisplayText(String languageDisplayText) { + this.languageDisplayText = languageDisplayText; + } + + public String getDescriptionText() { + return descriptionText; + } + + public void setDescriptionText(String descriptionText) { + this.descriptionText = descriptionText; + + if (!TextUtils.isEmpty(descriptionText)) { + set = true; + } + } + + public boolean isSet() { + return set; + } + + public void setSet(boolean set) { + this.set = set; + } + + public int getSelectedLanguageIndex() { + return selectedLanguageIndex; + } + + public void setSelectedLanguageIndex(int selectedLanguageIndex) { + this.selectedLanguageIndex = selectedLanguageIndex; + } +} diff --git a/app/src/main/java/fr/free/nrw/commons/upload/DescriptionsAdapter.java b/app/src/main/java/fr/free/nrw/commons/upload/DescriptionsAdapter.java new file mode 100644 index 000000000..8642e1210 --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/upload/DescriptionsAdapter.java @@ -0,0 +1,231 @@ +package fr.free.nrw.commons.upload; + +import static android.view.MotionEvent.ACTION_UP; + +import android.content.Context; +import android.graphics.drawable.Drawable; +import android.support.v4.view.ViewCompat; +import android.support.v7.widget.AppCompatSpinner; +import android.support.v7.widget.RecyclerView; +import android.text.Editable; +import android.text.TextUtils; +import android.text.TextWatcher; +import android.view.LayoutInflater; +import android.view.MotionEvent; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.AdapterView.OnItemSelectedListener; +import android.widget.EditText; +import butterknife.BindView; +import butterknife.ButterKnife; +import butterknife.OnTouch; +import fr.free.nrw.commons.R; +import fr.free.nrw.commons.utils.ViewUtil; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.Locale; + +class DescriptionsAdapter extends RecyclerView.Adapter { + + List descriptions; + List languages; + private Context context; + private Callback callback; + + public DescriptionsAdapter() { + descriptions = new ArrayList<>(); + descriptions.add(new Description()); + languages = new ArrayList<>(); + } + + public void setCallback(Callback callback) { + this.callback = callback; + } + + public void setDescriptions(List descriptions) { + this.descriptions = descriptions; + notifyDataSetChanged(); + } + + public void setLanguages(List languages) { + this.languages = languages; + } + + @Override + public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View view = LayoutInflater.from(parent.getContext()) + .inflate(R.layout.row_item_description, parent, false); + context = parent.getContext(); + ViewHolder viewHolder = new ViewHolder(view); + return viewHolder; + } + + @Override + public void onBindViewHolder(ViewHolder holder, int position) { + holder.init(position); + } + + @Override + public int getItemCount() { + return descriptions.size(); + } + + public List getDescriptions() { + return descriptions; + } + + public void addDescription(Description description) { + this.descriptions.add(description); + notifyItemInserted(descriptions.size() - 1); + } + + + public class ViewHolder extends RecyclerView.ViewHolder { + + @BindView(R.id.spinner_description_languages) + AppCompatSpinner spinnerDescriptionLanguages; + @BindView(R.id.et_description_text) + EditText etDescriptionText; + private View view; + + + public ViewHolder(View itemView) { + super(itemView); + ButterKnife.bind(this, itemView); + this.view = itemView; + } + + public void init(int position) { + Description description = descriptions.get(position); + if (!TextUtils.isEmpty(description.getDescriptionText())) { + etDescriptionText.setText(description.getDescriptionText()); + } else { + etDescriptionText.setText(""); + } + Drawable drawableRight = context.getResources() + .getDrawable(R.drawable.mapbox_info_icon_default); + if (position != 0) { + etDescriptionText.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null); + } else { + etDescriptionText.setCompoundDrawablesWithIntrinsicBounds(null, null, drawableRight, null); + } + + etDescriptionText.addTextChangedListener(new TextWatcher() { + @Override + public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { + + } + + @Override + public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { + + } + + @Override + public void afterTextChanged(Editable editable) { + description.setDescriptionText(editable.toString()); + } + }); + + etDescriptionText.setOnFocusChangeListener((v, hasFocus) -> { + if (!hasFocus) { + ViewUtil.hideKeyboard(v); + } + }); + + SpinnerLanguagesAdapter languagesAdapter = new SpinnerLanguagesAdapter(context, + R.layout.row_item_languages_spinner); + Collections.sort(languages, (language, t1) -> language.getLocale().getDisplayLanguage() + .compareTo(t1.getLocale().getDisplayLanguage().toString())); + languagesAdapter.setLanguages(languages); + languagesAdapter.notifyDataSetChanged(); + spinnerDescriptionLanguages.setAdapter(languagesAdapter); + + if (description.getSelectedLanguageIndex() == -1) { + if (position == 0) { + int defaultLocaleIndex = getIndexOfUserDefaultLocale(); + spinnerDescriptionLanguages.setSelection(defaultLocaleIndex); + } else { + spinnerDescriptionLanguages.setSelection(0); + } + } else { + spinnerDescriptionLanguages.setSelection(description.getSelectedLanguageIndex()); + } + + languages.get(spinnerDescriptionLanguages.getSelectedItemPosition()).setSet(true); + + //TODO do it the butterknife way + spinnerDescriptionLanguages.setOnItemSelectedListener(new OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView adapterView, View view, int position, + long l) { + //TODO handle case when user tries to select an already selected language + updateDescriptionBasedOnSelectedLanguageIndex(description, position); + } + + @Override + public void onNothingSelected(AdapterView adapterView) { + + } + }); + + + } + + @OnTouch(R.id.et_description_text) + boolean descriptionInfo(View view, MotionEvent motionEvent) { + + if (getAdapterPosition() == 0) { + //Description info is visible only for the first item + final int value; + if (ViewCompat.getLayoutDirection(view) == ViewCompat.LAYOUT_DIRECTION_LTR) { + value = etDescriptionText.getRight() - etDescriptionText + .getCompoundDrawables()[2] + .getBounds().width(); + if (motionEvent.getAction() == ACTION_UP && motionEvent.getRawX() >= value) { + callback.showAlert(R.string.media_detail_description, + R.string.description_info); + return true; + } + } else { + value = etDescriptionText.getLeft() + etDescriptionText + .getCompoundDrawables()[0] + .getBounds().width(); + if (motionEvent.getAction() == ACTION_UP && motionEvent.getRawX() <= value) { + callback.showAlert(R.string.media_detail_description, + R.string.description_info); + return true; + } + } + } + return false; + } + } + + private int getIndexOfUserDefaultLocale() { + for (int i = 0; i < languages.size(); i++) { + if (languages.get(i).getLocale() + .equals(context.getResources().getConfiguration().locale)) { + return i; + } + } + return 0; + } + + private void updateDescriptionBasedOnSelectedLanguageIndex(Description description, + int position) { + Language language = languages.get(position); + Locale locale = language.getLocale(); + description.setSelectedLanguageIndex(position); + description.setLanguageDisplayText(locale.getDisplayName()); + description.setLanguageId(locale.getLanguage()); + } + + public interface Callback { + + void showAlert(int mediaDetailDescription, int descriptionInfo); + } +} diff --git a/app/src/main/java/fr/free/nrw/commons/upload/Language.java b/app/src/main/java/fr/free/nrw/commons/upload/Language.java new file mode 100644 index 000000000..8d4b27239 --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/upload/Language.java @@ -0,0 +1,29 @@ +package fr.free.nrw.commons.upload; + +import java.util.Locale; + +class Language { + + private Locale locale; + private boolean isSet = false; + + public Language(Locale locale) { + this.locale = locale; + } + + public Locale getLocale() { + return locale; + } + + public void setLocale(Locale locale) { + this.locale = locale; + } + + public boolean isSet() { + return isSet; + } + + public void setSet(boolean set) { + isSet = set; + } +} diff --git a/app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java b/app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java index f9f289d33..0fd463c69 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java @@ -481,7 +481,7 @@ public class ShareActivity CurrentAnimator.cancel(); } isZoom = true; - ViewUtil.hideKeyboard(ShareActivity.this.findViewById(R.id.titleEdit | R.id.descEdit)); + ViewUtil.hideKeyboard(ShareActivity.this.findViewById(R.id.titleEdit)); closeFABMenu(); mainFab.setVisibility(View.GONE); diff --git a/app/src/main/java/fr/free/nrw/commons/upload/SingleUploadFragment.java b/app/src/main/java/fr/free/nrw/commons/upload/SingleUploadFragment.java index f2fef1ddf..bacefd524 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/SingleUploadFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/SingleUploadFragment.java @@ -10,6 +10,8 @@ import android.preference.PreferenceManager; import android.support.annotation.NonNull; import android.support.v4.view.ViewCompat; import android.support.v7.app.AlertDialog; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; import android.text.Editable; import android.text.Html; import android.text.TextWatcher; @@ -30,9 +32,16 @@ import android.widget.Spinner; import android.widget.TextView; import android.widget.Toast; +import com.google.gson.Gson; +import com.google.gson.reflect.TypeToken; +import fr.free.nrw.commons.upload.DescriptionsAdapter.Callback; +import java.lang.reflect.Type; import java.util.ArrayList; import java.util.Locale; +import java.util.Arrays; +import java.util.List; +import java.util.Locale; import javax.inject.Inject; import javax.inject.Named; @@ -53,7 +62,7 @@ import static android.view.MotionEvent.ACTION_UP; public class SingleUploadFragment extends CommonsDaggerSupportFragment { @BindView(R.id.titleEdit) EditText titleEdit; - @BindView(R.id.descEdit) EditText descEdit; + @BindView(R.id.rv_descriptions) RecyclerView rvDescriptions; @BindView(R.id.titleDescButton) Button titleDescButton; @BindView(R.id.share_license_summary) TextView licenseSummaryView; @BindView(R.id.licenseSpinner) Spinner licenseSpinner; @@ -65,6 +74,7 @@ public class SingleUploadFragment extends CommonsDaggerSupportFragment { private String license; private OnUploadActionInitiated uploadActionInitiatedHandler; private TitleTextWatcher textWatcher = new TitleTextWatcher(); + private DescriptionsAdapter descriptionsAdapter; @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { @@ -82,35 +92,60 @@ public class SingleUploadFragment extends CommonsDaggerSupportFragment { return false; } - String title = titleEdit.getText().toString().trim(); - String desc = descEdit.getText().toString().trim(); + String title = titleEdit.getText().toString(); + String descriptionsInVariousLanguages = getDescriptionsInAppropriateFormat(); //Save the title/desc in short-lived cache so next time this fragment is loaded, we can access these prefs.edit() .putString("Title", title) - .putString("Desc", desc) + .putString("Desc", new Gson().toJson(descriptionsAdapter + .getDescriptions()))//Description, now is not just a string, its a list of description objects .apply(); - uploadActionInitiatedHandler.uploadActionInitiated(title, desc); + uploadActionInitiatedHandler + .uploadActionInitiated(title, descriptionsInVariousLanguages); return true; } return super.onOptionsItemSelected(item); } + private String getDescriptionsInAppropriateFormat() { + List descriptions = descriptionsAdapter.getDescriptions(); + StringBuilder descriptionsInAppropriateFormat = new StringBuilder(); + for (Description description : descriptions) { + String individualDescription = String.format("{{%s|1=%s}}", description.getLanguageId(), + description.getDescriptionText()); + descriptionsInAppropriateFormat.append(individualDescription); + } + return descriptionsInAppropriateFormat.toString(); + + } + + private List getDescriptions() { + List descriptions = descriptionsAdapter.getDescriptions(); + return descriptions; + } + @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_single_upload, container, false); ButterKnife.bind(this, rootView); + initRecyclerView(); + Intent activityIntent = getActivity().getIntent(); if (activityIntent.hasExtra("title")) { titleEdit.setText(activityIntent.getStringExtra("title")); } - if (activityIntent.hasExtra("description")) { - descEdit.setText(activityIntent.getStringExtra("description")); + if (activityIntent.hasExtra("description") && descriptionsAdapter.getDescriptions() != null + && descriptionsAdapter.getDescriptions().size() > 0) { + descriptionsAdapter.getDescriptions().get(0) + .setDescriptionText(activityIntent.getStringExtra("description")); + descriptionsAdapter.notifyItemChanged(0); } + ArrayList licenseItems = new ArrayList<>(); licenseItems.add(getString(R.string.license_name_cc0)); licenseItems.add(getString(R.string.license_name_cc_by)); @@ -129,7 +164,11 @@ public class SingleUploadFragment extends CommonsDaggerSupportFragment { String imageCats = directPrefs.getString("Category", ""); Timber.d("Image title: " + imageTitle + ", image desc: " + imageDesc + ", image categories: " + imageCats); titleEdit.setText(imageTitle); - descEdit.setText(imageDesc); + if (descriptionsAdapter.getDescriptions() != null + && descriptionsAdapter.getDescriptions().size() > 0) { + descriptionsAdapter.getDescriptions().get(0).setDescriptionText(imageDesc); + descriptionsAdapter.notifyItemChanged(0); + } } // check if this is the first time we have uploaded @@ -170,17 +209,29 @@ public class SingleUploadFragment extends CommonsDaggerSupportFragment { } }); - descEdit.setOnFocusChangeListener((v, hasFocus) -> { - if(!hasFocus){ - ViewUtil.hideKeyboard(v); - } - }); - setLicenseSummary(license); return rootView; } + private void initRecyclerView() { + descriptionsAdapter = new DescriptionsAdapter(); + descriptionsAdapter.setCallback((mediaDetailDescription, descriptionInfo) -> showInfoAlert(mediaDetailDescription,descriptionInfo)); + descriptionsAdapter.setLanguages(getLocaleSupportedByDevice()); + rvDescriptions.setLayoutManager(new LinearLayoutManager(getContext())); + rvDescriptions.setAdapter(descriptionsAdapter); + } + + private List getLocaleSupportedByDevice() { + List languages = new ArrayList<>(); + Locale[] localesArray = Locale.getAvailableLocales(); + List locales = Arrays.asList(localesArray); + for (Locale locale : locales) { + languages.add(new Language(locale)); + } + return languages; + } + @Override public void onDestroyView() { titleEdit.removeTextChangedListener(textWatcher); @@ -224,11 +275,16 @@ public class SingleUploadFragment extends CommonsDaggerSupportFragment { void setTitleDescButton() { //Retrieve last title and desc entered String title = prefs.getString("Title", ""); - String desc = prefs.getString("Desc", ""); - Timber.d("Title: %s, Desc: %s", title, desc); + String descriptionJson = prefs.getString("Desc", ""); + Timber.d("Title: %s, Desc: %s", title, descriptionJson); titleEdit.setText(title); - descEdit.setText(desc); + Type typeOfDest = new TypeToken>() { + }.getType(); + + List descriptions = new Gson().fromJson(descriptionJson, typeOfDest); + descriptionsAdapter.setDescriptions(descriptions); + } /** @@ -254,26 +310,6 @@ public class SingleUploadFragment extends CommonsDaggerSupportFragment { return false; } - @OnTouch(R.id.descEdit) - boolean descriptionInfo(View view, MotionEvent motionEvent) { - final int value; - if (ViewCompat.getLayoutDirection(getView()) == ViewCompat.LAYOUT_DIRECTION_LTR) { - value = descEdit.getRight() - descEdit.getCompoundDrawables()[2].getBounds().width(); - if (motionEvent.getAction() == ACTION_UP && motionEvent.getRawX() >= value) { - showInfoAlert(R.string.media_detail_description,R.string.description_info); - return true; - } - } - else{ - value = descEdit.getLeft() + descEdit.getCompoundDrawables()[0].getBounds().width(); - if (motionEvent.getAction() == ACTION_UP && motionEvent.getRawX() <= value) { - showInfoAlert(R.string.media_detail_description,R.string.description_info); - return true; - } - } - return false; - } - @SuppressLint("StringFormatInvalid") private void setLicenseSummary(String license) { String licenseHyperLink = ""+ getString(Utils.licenseNameFor(license)) + "
"; @@ -315,10 +351,12 @@ public class SingleUploadFragment extends CommonsDaggerSupportFragment { } public interface OnUploadActionInitiated { + void uploadActionInitiated(String title, String description); } private class TitleTextWatcher implements TextWatcher { + @Override public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) { } @@ -346,16 +384,9 @@ public class SingleUploadFragment extends CommonsDaggerSupportFragment { .show(); } - /** - * To launch the Commons:Licensing - * @param view - */ - @OnClick(R.id.licenseInfo) - public void launchLicenseInfo(View view){ - Log.i("Language", Locale.getDefault().getLanguage()); - UrlLicense urlLicense = new UrlLicense(); - urlLicense.initialize(); - String url = urlLicense.getLicenseUrl(Locale.getDefault().getLanguage()); - Utils.handleWebUrl(getActivity() , Uri.parse(url)); + @OnClick(R.id.ll_add_description) + public void onLLAddDescriptionClicked() { + descriptionsAdapter.addDescription(new Description()); + rvDescriptions.scrollToPosition(descriptionsAdapter.getItemCount() - 1); } } diff --git a/app/src/main/java/fr/free/nrw/commons/upload/SpinnerLanguagesAdapter.java b/app/src/main/java/fr/free/nrw/commons/upload/SpinnerLanguagesAdapter.java new file mode 100644 index 000000000..5667aa55c --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/upload/SpinnerLanguagesAdapter.java @@ -0,0 +1,92 @@ +package fr.free.nrw.commons.upload; + +import android.content.Context; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ArrayAdapter; +import android.widget.LinearLayout; +import android.widget.TextView; +import butterknife.BindView; +import butterknife.ButterKnife; +import fr.free.nrw.commons.R; +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; + +public class SpinnerLanguagesAdapter extends ArrayAdapter { + + private final int resource; + private final LayoutInflater layoutInflater; + List languages; + + public SpinnerLanguagesAdapter(@NonNull Context context, + int resource) { + super(context, resource); + this.resource = resource; + this.layoutInflater = LayoutInflater.from(context); + languages = new ArrayList<>(); + } + + public void setLanguages(List languages) { + this.languages = languages; + } + + @Override + public int getCount() { + return languages.size(); + } + + @Override + public View getDropDownView(int position, @Nullable View convertView, + @NonNull ViewGroup parent) { + View view = layoutInflater.inflate(resource, parent, false); + ViewHolder holder = new ViewHolder(view); + holder.init(position, true); + return view; + } + + @Override + public @NonNull + View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) { + View view = layoutInflater.inflate(resource, parent, false); + ViewHolder holder = new ViewHolder(view); + holder.init(position, false); + return view; + } + + + public class ViewHolder { + + @BindView(R.id.ll_container_description_language) + LinearLayout llContainerDescriptionLanguage; + + @BindView(R.id.tv_language) + TextView tvLanguage; + + @BindView(R.id.view) + View view; + + public ViewHolder(View itemView) { + ButterKnife.bind(this, itemView); + } + + public void init(int position, boolean isDropDownView) { + Language language = languages.get(position); + if (!isDropDownView) { + view.setVisibility(View.GONE); + tvLanguage.setText( + language.getLocale().getLanguage()); + } else { + view.setVisibility(View.VISIBLE); + tvLanguage.setText( + String.format("%s [%s]", language.getLocale().getDisplayName(), + language.getLocale().getLanguage())); + } + + } + } + +} diff --git a/app/src/main/res/layout/fragment_single_upload.xml b/app/src/main/res/layout/fragment_single_upload.xml index 00cc1d194..196760bb0 100644 --- a/app/src/main/res/layout/fragment_single_upload.xml +++ b/app/src/main/res/layout/fragment_single_upload.xml @@ -12,6 +12,7 @@ android:paddingRight="@dimen/standard_gap" android:paddingStart="@dimen/standard_gap" android:paddingTop="@dimen/small_gap" + android:nestedScrollingEnabled="false" android:theme="@style/DarkAppTheme"> - - - - - - - - + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical"> + + + style="@style/TextAppearance.AppCompat.Body1" + android:text="@string/add_description" + android:layout_width="wrap_content" + android:layout_height="wrap_content"/> + +