From 9aa1875bc41f53b26620c7d83a19646f771a7408 Mon Sep 17 00:00:00 2001 From: "translatewiki.net" Date: Thu, 4 Apr 2024 14:03:12 +0200 Subject: [PATCH 01/25] Localisation updates from https://translatewiki.net. --- app/src/main/res/values-de/strings.xml | 35 ++++++++++++++-------- app/src/main/res/values-fr/strings.xml | 15 +++++----- app/src/main/res/values-iw/strings.xml | 2 +- app/src/main/res/values-mk/strings.xml | 1 + app/src/main/res/values-pms/strings.xml | 1 + app/src/main/res/values-ru/strings.xml | 1 + app/src/main/res/values-zh-rTW/strings.xml | 1 + 7 files changed, 36 insertions(+), 20 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index c25e18b7b..1f1cbd713 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -28,6 +28,7 @@ * Tacsipacsi * ThisCarthing * Tobi 406 +* TomatoCake * Twistqj * Ubahnverleih * Umherirrender @@ -107,13 +108,13 @@ Bitte warten … Überschriften und Beschreibungen aktualisieren Bitte warten … - Anmeldung erfolgreich! - Anmeldung fehlgeschlagen! + Anmeldung erfolgreich! + Anmeldung fehlgeschlagen! Datei nicht gefunden. Bitte versuche es mit einer anderen Datei. Maximales Wiederholungslimit erreicht! Bitte brich den Upload ab und versuche es erneut Batterieoptimierung ausschalten? Das Hochladen von mehr als 3 Bildern funktioniert zuverlässiger, wenn die Batterieoptimierung ausgeschaltet ist. Bitte schalten Sie die Batterieoptimierung für die Commons-App in den Einstellungen aus, um ein reibungsloses Upload-Erlebnis zu gewährleisten. \n\nMögliche Schritte zum Ausschalten der Batterieoptimierung:\n\nSchritt 1: Tippen Sie unten auf die Schaltfläche „Einstellungen“.\n\nSchritt 2: Wechseln Sie von „Nicht optimiert“ zu „Alle“. apps‘.\n\nSchritt 3: Suchen Sie nach „Commons“ oder „fr.free.nrw.commons“.\n\nSchritt 4: Tippen Sie darauf und wählen Sie „Nicht optimieren“.\n\nSchritt 5: Klicken Sie auf „Fertig“. - Authentifizierung fehlgeschlagen. Bitte erneut anmelden. + Authentifizierung fehlgeschlagen. Bitte erneut anmelden. Hochladen gestartet! Hochladen in Warteschlange (eingeschränkter Verbindungsmodus aktiviert) „%1$s“ hochgeladen! @@ -140,11 +141,11 @@ Bitte gib einen Titel für diese Datei an Beschreibung Beschriftung - Anmeldung fehlgeschlagen – Netzwerkfehler + Anmeldung fehlgeschlagen – Netzwerkfehler Zu viele erfolglose Versuche. Bitte in einigen Minuten erneut versuchen. Dieser Benutzer wurde leider auf Commons gesperrt Du musst deinen Code zur Zwei-Faktor-Authentifizierung angeben. - Anmeldung fehlgeschlagen + Anmeldung fehlgeschlagen Hochladen Benenne dieses Set Anpassungen @@ -268,6 +269,7 @@ Über Einstellungen Rückmeldungen + Feedback über GitHub Abmelden Anleitung Benachrichtigungen @@ -301,7 +303,7 @@ Siehe die Webseite für Einzelheiten Überspringen Anmelden - Möchtest du wirklich die Anmeldung überspringen? + Möchtest du wirklich die Anmeldung überspringen? Du wirst dich anmelden müssen, um in Zukunft Bilder hochladen zu können. Bitte melde dich an, um diese Funktion zu nutzen. Den Wikitext in die Zwischenablage kopieren @@ -368,7 +370,7 @@ Bilder, die Technik oder Kultur zeigen, sind auf Commons sehr willkommen. %1$s deiner Antworten waren korrekt. Glückwunsch! Wähle eine der zwei Optionen aus, um die Frage zu beantworten. - Sitzung abgelaufen. Bitte erneut anmelden. + Sitzung abgelaufen. Bitte erneut anmelden. Teile das Quiz mit deinen Freunden! Fortfahren Richtige Antwort @@ -377,6 +379,7 @@ App teilen Drehen Fehler beim Abrufen der Orte in der Nähe. + Keine Bilder in diesem Bereich Keine Orte in der Nähe gefunden Fehler beim Abrufen von Denkmälern in der Nähe. Keine letzten Suchanfragen @@ -451,7 +454,7 @@ Nicht erneut fragen Standortberechtigung anfragen Anfrage für eine Standortberechtigung, die für die Nachbarbenachrichtigungskartenansichtsfunktion erforderlich ist. - Etwas ist schiefgelaufen. Wir konnten deine Errungenschaften nicht abrufen. + Etwas ist schiefgelaufen. Wir konnten keine Erfolge abrufen Du hast so viele Beiträge geleistet, dass unser Leistungsberechnungssystem damit nicht zurechtkommt. Dies ist die ultimative Leistung. Endet am: Kampagnen anzeigen @@ -467,7 +470,7 @@ Bei der neuen Android-Fotoauswahl besteht die Gefahr, dass Standortinformationen verloren gehen. Aktivieren Sie diese Option, wenn Sie sie anscheinend verwenden. Wenn Sie dies deaktivieren, wird möglicherweise die neue Android-Fotoauswahl aktiviert. Es besteht die Gefahr, dass Standortinformationen verloren gehen.\n\nTippen Sie auf „Weitere Informationen“, um weitere Informationen zu erhalten. Du wirst die Kampagnen nicht mehr sehen. Du kannst dennoch diese Benachrichtigung in den Einstellungen erneut aktivieren, falls du dies möchtest. - Diese Funktion erfordert eine Netzwerkverbindung. Bitte überprüfe deine Verbindungseinstellungen. + Diese Funktion erfordert eine Netzwerkverbindung. Bitte überprüfe deine Verbindungseinstellungen. Bei der Verarbeitung des Bildes ist ein Fehler aufgetreten. Bitte erneut versuchen! Token zur Bearbeitung abrufen Vorlage zur Kategorieprüfung hinzufügen @@ -591,7 +594,7 @@ Benötigt Foto Platztyp: Brücke, Museum, Hotel etc. - Bei der Anmeldung ist etwas schiefgelaufen, du musst dein Passwort zurücksetzen! + Bei der Anmeldung ist etwas schiefgelaufen. Du musst dein Passwort zurücksetzen! MEDIA CHILD CLASSES PARENT CLASSES @@ -700,6 +703,8 @@ Großartig Dieses Bild ist bereits auf Commons hochgeladen worden. Aus technischen Gründen kann die Anwendung nicht mehr als %1$d Bilder auf einmal verlässlich hochladen. Die Grenze für das Hochladen von %1$d wurde um %2$d überschritten. + Ausblenden + Max: %1$d Fehler: Grenze für das Hochladen wurde überschritten Dieses Bild wird am Wettbewerb Wiki Loves Monuments teilnehmen Denkmäler anzeigen @@ -723,8 +728,8 @@ Standort hinzufügen Bitte entferne aus dieser E-Mail alle Informationen, die du nicht öffentlich mitteilen möchtest. Bitte beachte auch, dass deine E-Mail-Adresse, mit der du schreibst, sowie der dazugehörige Name und das Profilbild öffentlich sichtbar sind. Einzelheiten - Erfolge sind nur in der Prod-Variante verfügbar, bitte schaue in der Entwicklerdokumentation nach. - Die Bestenliste ist nur in der Prod-Variante verfügbar, bitte schaue in der Entwicklerdokumentation nach. + Erfolge sind nur in der Prod-Variante verfügbar. Bitte schaue in der Entwicklerdokumentation nach. + Die Bestenliste ist nur in der Prod-Variante verfügbar. Bitte schaue in der Entwicklerdokumentation nach. Bitte lade nur Bilder hoch, die du selbst aufgenommen hast. Wer urheberrechtlich geschützte Bilder hochlädt, wird gesperrt. Dies gilt auch für die Beta-Variante. Vielen Dank, dass du die App getestet hast! Bitte hebe die Markierung aller Informationen auf, die du nicht mit der Öffentlichkeit teilen möchtest. API-Level @@ -749,6 +754,8 @@ Bild ausgewählt Bild als nicht zum Hochladen markiert Meldung + Weißen Hintergrund einstellen + Schwarzen Hintergrund einstellen Verstoß melden Diesen Benutzer melden Diesen Inhalt melden @@ -761,8 +768,12 @@ Speicherberechtigungen verweigert Dieser Artikel kann nicht geteilt werden Für die Funktionalität sind Berechtigungen erforderlich + Deine Erfolge ansehen Bild bearbeiten Standort beabeiten + Standort aktualisiert! + Standort entfernen + Standortwarnung entfernen Dem Autor danken %d Bild ausgewählt diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 28cdb6f74..fbf7f3b5f 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -15,6 +15,7 @@ * Gomoko * GrandEscogriffe * Happy13241 +* Hecatonchire * Iketsi * Jean-Frédéric * JenyxGym @@ -111,12 +112,12 @@ Mise à jour des légendes et des descriptions Veuillez patienter... Connexion réussie ! - Échec de la connexion ! + Échec de la connexion ! Fichier non trouvé. Veuillez en essayer un autre. Limite maximale de nouvel essai atteinte ! Veuillez annuler le téléchargement et réessayer Désactiver l’optimisation de la batterie ? Le téléchargement de plus de 3 images fonctionne de façon plus fiable quand l’optimisation de la batterie est désactivée. Veuillez la désactiver pour les applications communes depuis les paramétrages, pour une expérience plus agréable. \n\nÉtapes possibles pour désactiver l’optimisation de la batterie :\n\nÉtape 1 : Taper sur le bouton \'Paramètres\' ci-dessus.\n\nÉtape 2 : Basculer sur \'Non optimisé\' à \'Toutes les applications\'.\n\nÉtape 3 : Rechercher « Communs » ou « fr.free.nrw.commons ».\n\nÉtape 4 : Taper dessus et sélectionner \'Ne pas optimiser\'.\n\nÉtape 5 : Appuyer sur \'Terminé\'. - Échec de l’authentification, veuillez vous connecter à nouveau. + Échec de l’authentification. Veuillez vous connecter à nouveau. Téléversement démarré ! Téléversement mis en file d’attente (mode de connexion limitée activé) %1$s téléversé ! @@ -147,7 +148,7 @@ Trop de tentatives infructueuses. Veuillez réessayer dans quelques minutes. Désolé, cet utilisateur a été bloqué sur Commons Vous devez fournir votre code d’authentification à deux facteurs. - Échec de connexion + Échec de connexion Téléverser Nommer cet ensemble Modifications @@ -304,7 +305,7 @@ Voir la page web pour les détails Passer Se connecter - Voulez-vous vraiment ne pas vous connecter ? + Ne voulez-vous vraiment pas vous connecter ? Vous aurez à vous connecter à l’avenir pour téléverser des images. Veuillez vous connecter pour utiliser cette fonctionnalité Copier le texte wiki dans le presse-papiers @@ -371,7 +372,7 @@ Les images qui dépeignent la technologie ou la culture sont particulièrement bienvenues sur Commons. 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. + Session expirée. Veuillez vous reconnecter. Partagez votre quizz avec vos amis ! Continuer Réponse correcte @@ -455,7 +456,7 @@ Ne plus jamais demander cela Demander l’autorisation de géolocalisation Demander le droit de géolocaliser quand cela est nécessaire à la fonctionnalité de notifications de proximité. - Un problème est survenu, nous n\'avons pas pu récupérer vos accomplissements + Un problème est survenu, nous n\'avons pas pu récupérer vos réussites Vous avez effectué tellement de contributions que notre système de calcul des accomplissements est débordé. Il s’agit là de l’accomplissement ultime. Se termine le : Campagnes d’affichage @@ -735,7 +736,7 @@ Veuillez supprimer de ce courriel toute information que vous n’aimeriez pas diffuser publiquement. Également, veuillez prendre conscience du fait que votre adresse de messagerie avec laquelle vous publiez, ainsi que le nom et l’image de profil associés, seront visibles publiquement. Détails Les réalisations ne sont disponibles que dans la version de production, veuillez consulter la documentation du développeur. - Le classement n’est disponible que dans la version de production, veuillez consulter la documentation du développeur. + Le classement n’est disponible que dans la version de production, veuillez consulter la documentation du développeur. Veuillez ne téléverser que des images que vous avez créées vous-même. Ceux qui téléversent des images soumises aux droits d’auteur seront bloqués. Ceci s’applique également à la version bêta. Merci pour votre test de l’application ! Veuillez désélectionner toute information que vous ne vous sentez pas à l’aise de partager publiquement. Niveau de l’API diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index e9131a3ed..2d124c9da 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -266,7 +266,7 @@ אודות הגדרות משוב - משוב דרך GitHub + משוב דרך גיטהאב יציאה מדריך התראות diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml index 659e5041b..8d8469651 100644 --- a/app/src/main/res/values-mk/strings.xml +++ b/app/src/main/res/values-mk/strings.xml @@ -236,6 +236,7 @@ За прилогот Нагодувања Мислења + Мислења преку GitHub Одјава Упатства Известувања diff --git a/app/src/main/res/values-pms/strings.xml b/app/src/main/res/values-pms/strings.xml index 70728c6aa..593b1a975 100644 --- a/app/src/main/res/values-pms/strings.xml +++ b/app/src/main/res/values-pms/strings.xml @@ -234,6 +234,7 @@ A propòsit Paràmeter Sugeriment + Opinion via GitHub Seurte dal sistema Cors d\'antrodussion Notìfiche diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 1ec8791e9..969997b39 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -290,6 +290,7 @@ О приложении Настройки Обратная связь + Обратная связь через GitHub Выйти Руководство Уведомления diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index cfa86c557..1f614a4cd 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -257,6 +257,7 @@ 關於 設定 意見回饋 + 透過 GitHub 回饋 登出 教程 通知 From 200894665b674789d51768ac55bf06ace8de4bfa Mon Sep 17 00:00:00 2001 From: "translatewiki.net" Date: Mon, 8 Apr 2024 14:02:11 +0200 Subject: [PATCH 02/25] Localisation updates from https://translatewiki.net. --- app/src/main/res/values-br/strings.xml | 7 +++- app/src/main/res/values-de/strings.xml | 53 ++++++++++++++++---------- app/src/main/res/values-lb/strings.xml | 3 +- app/src/main/res/values-pt/strings.xml | 15 ++++---- 4 files changed, 48 insertions(+), 30 deletions(-) diff --git a/app/src/main/res/values-br/strings.xml b/app/src/main/res/values-br/strings.xml index 752538fe0..cc8073eb7 100644 --- a/app/src/main/res/values-br/strings.xml +++ b/app/src/main/res/values-br/strings.xml @@ -72,7 +72,7 @@ Gortozit mar plij… Gortozit mar plij… Kevreet oc\'h ! - Kudenn gevreañ ! + N\'haller ket kevreañ! N\'eo ket bet kavet ar restr. Klask gant unan all. Dilesadur c\'hwitet, kevreit en-dro mar plij Kroget da enporzhiañ! @@ -102,7 +102,7 @@ Re a daolioù-esae. Klaskit en-dro a-benn ur pennadig amzer. Hon digarezit, prennet eo bet an implijer-mañ e Commons Rankout a rit reiñ ho kod dilesa gant daou faktor. - C\'hwitet eo ar c\'hevreañ + C\'hwitet eo ar c\'hevreañ Pellgargañ Envel ar rikoù-mañ Kemmoù @@ -428,5 +428,8 @@ Gwelet ho taolioù-kaer Kemmañ ar skeudenn Kemmañ al lec\'hiadur + Lec\'hiadur hizivaet! + Lemel al lec\'hiadur + Lec\'hiadur lamet! Trugarekaat an aozer diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 1f1cbd713..6cc748b85 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -228,11 +228,11 @@ Erforderliche Berechtigung: Externen Speicher lesen. Die App kann ohne diese Berechtigung nicht auf deine Galerie zugreifen. Erforderliche Berechtigung: Externen Speicher beschreiben. Die App kann ohne diese Berechtigung nicht auf deine Kamera oder Galerie zugreifen. Anfordern der Standortfreigabe - Zeichnen Sie den Standort für In-App-Aufnahmen auf - Aktivieren Sie diese Option, um den Standort mit In-App-Aufnahmen aufzuzeichnen, falls die Kamera des Geräts ihn nicht aufzeichnet + Standort für In-App-Aufnahmen aufzeichnen + Aktiviere diese Option, um den Standort mit In-App-Aufnahmen aufzuzeichnen, falls die Kamera des Geräts ihn nicht aufzeichnet Okay Warnung - Duplizierter Dateiname gefunden + Doppelter Dateiname gefunden Hochladen Ja Nein @@ -286,7 +286,7 @@ Das Bild ist bereits auf Commons. Dieses Bild wurde an einem anderen Ort aufgenommen. Lade bitte nur Bilder hoch, die du selber erstellt hast. Lade keine Bilder hoch, die du auf Facebook-Konten anderer Personen gefunden hast. - Möchtest du dieses Bild immer noch hochladen? + Möchtest du dieses Bild trotzdem hochladen? Verbindungsfehler Der Hochlade-Vorgang erfordert einen aktiven Internetzugang. Bitte prüfe deine Netzwerkverbindung. Im Bild gefundene Probleme @@ -309,7 +309,7 @@ Den Wikitext in die Zwischenablage kopieren Der Wikitext wurde in die Zwischenablage kopiert „In der Nähe“ arbeiten möglicherwiese nicht richtig. Der Standort ist nicht verfügbar. - Standortzugriff verweigert. Bitte legen Sie Ihren Standort manuell fest, um diese Funktion nutzen zu können. + Standortzugriff verweigert. Bitte lege deinen Standort manuell fest, um diese Funktion nutzen zu können. Berechtigung zur Anzeige einer Liste mit Orten in der Nähe erforderlich Richtungen Wikidata @@ -346,7 +346,7 @@ Letzte Suchanfragen Letzte Sprachabfragen Beim Laden der Kategorien ist ein Fehler aufgetreten. - Beim Laden von Darstellungen ist ein Fehler aufgetreten. + Beim Laden der Darstellungen ist ein Fehler aufgetreten. Medien Kategorien Objekte @@ -399,7 +399,7 @@ Hochgeladene Bilder Bilder nicht zurückgesetzt Verwendete Bilder - Teile die Errungenschaften mit deinen Freunden! + Teile deine Erfolge 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. @@ -444,7 +444,7 @@ Keine Motive ausgewählt Bilder mit Motive sind leichter zu finden und werden eher verwendet. Bist du sicher, dass du ohne Auswahl von Motiven fortfahren möchtest? Hochladen abbrechen - Wenn du den Zurück-Button verwendest, wird das Hochladen abgebrochen und du verlierst deine bisherigen Schritte + Wenn du den Zurück-Button verwendest, wird das Hochladen abgebrochen und dein Fortschritt geht verloren Hochladen fortsetzen (für alle Bilder im Satz) Diesen Bereich durchsuchen @@ -471,7 +471,7 @@ Wenn Sie dies deaktivieren, wird möglicherweise die neue Android-Fotoauswahl aktiviert. Es besteht die Gefahr, dass Standortinformationen verloren gehen.\n\nTippen Sie auf „Weitere Informationen“, um weitere Informationen zu erhalten. Du wirst die Kampagnen nicht mehr sehen. Du kannst dennoch diese Benachrichtigung in den Einstellungen erneut aktivieren, falls du dies möchtest. Diese Funktion erfordert eine Netzwerkverbindung. Bitte überprüfe deine Verbindungseinstellungen. - Bei der Verarbeitung des Bildes ist ein Fehler aufgetreten. Bitte erneut versuchen! + Bei der Verarbeitung des Bildes ist ein Fehler aufgetreten. Bitte versuche es erneut! Token zur Bearbeitung abrufen Vorlage zur Kategorieprüfung hinzufügen Kategorieprüfung für %1$s anfordern @@ -556,7 +556,7 @@ Aussicht versperren Denn es ist Versuche, Kategorien zu aktualisieren. - Kategorie-Update + Kategorieänderung Erfolgreich Kategorie %1$s wurde hinzugefügt. @@ -620,7 +620,7 @@ Keine Orte gefunden, versuche, deine Suchkriterien zu ändern. Empfohlene Verbesserungen: - Füge Kategorien zu diesem Bild hinzu, um die Benutzerfreundlichkeit zu verbessern. - - Füge dieses Bild zu dem zugehörigen Wikipedia-Artikel hinzu, der keine Bilder hat. + - Füge dieses Bild dem dazugehörigen Wikipedia-Artikel hinzu, der keine Bilder enthält. Bild zu Wikipedia hinzufügen Möchtest du dieses Bild zum Wikipedia-Artikel in der Sprache %1$s hinzufügen? Bestätigen @@ -628,7 +628,7 @@ 1. Verwende den folgenden Wikitext: 2. Mit einem Klick auf Bestätigen wird der Wikipedia-Artikel geöffnet 3. Suche einen geeigneten Abschnitt im Artikel für dein Bild - 4. Klicken Sie auf das Symbol „Bearbeiten“ (das einem Stift ähnelt) für diesen Abschnitt. + 4. Klicke auf das Bearbeiten-Symbol (das einem Stift ähnelt) für den Abschnitt. 5. Füge den Wikitext an der entsprechenden Stelle ein. 6. Bearbeite den Wikitext für eine geeignete Positionierung, falls erforderlich. Weitere Informationen findest du <a href=\"https://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style/Images#How_to_place_an_image\">hier</a>. 7. Veröffentliche den Artikel @@ -646,10 +646,10 @@ Benutzer Anzahl Als Ranglisten-Avatar festlegen - Einstellen als Avatar, bitte warten - Avatar setzen + Als Avatar festlegen, bitte warten + Avatar festgelegt Fehler beim Setzen eines neuen Avatars, bitte versuche es erneut - Als Avatar einstellen + Als Avatar festlegen Jährlich Wöchentlich Gesamte Zeit @@ -706,7 +706,7 @@ Ausblenden Max: %1$d Fehler: Grenze für das Hochladen wurde überschritten - Dieses Bild wird am Wettbewerb Wiki Loves Monuments teilnehmen + Dieses Bild wird am Wiki-Loves-Monuments-Wettbewerb teilnehmen Denkmäler anzeigen Es ist der Wiki Loves Monuments Monat! MEHR ERFAHREN @@ -714,7 +714,7 @@ Erlaubnis erforderlich Karten in der Nähe müssen den Telefonstatus lesen können, um richtig zu funktionieren Beiträge von Benutzer: %s - Leistungen von Benutzer: %s + Erfolge des Benutzers: %s Benutzerseite ansehen Beschriftungen bearbeiten Kategorien bearbeiten @@ -764,19 +764,32 @@ Verwende zwei Finger, um hinein- und herauszuzoomen. Wische schnell und lange, um diese Aktionen auszuführen:\n- Links/Rechts: Zum vorherigen/nächsten gehen\n- Nach oben: Auswählen\n- Nach unten: Als nicht zum Hochladen markieren. Um deinen Bestenlisten Avatar einzustellen, klicke \"Set as avatar\" in dem Drei-Punkte-Menü bei jedem Bild. - Die Koordinaten sind nicht exakt genug, aber der Uploader dieses Bildes denkt, sie sind nah genug. + Die Koordinaten sind nicht exakt, aber der Uploader dieses Bildes denkt, sie sind nah genug. Speicherberechtigungen verweigert Dieser Artikel kann nicht geteilt werden Für die Funktionalität sind Berechtigungen erforderlich + Erfahre, wie man eine nützliche Beschreibung schreibt + Erfahre, wie man eine nützliche Überschrift schreibt Deine Erfolge ansehen Bild bearbeiten Standort beabeiten Standort aktualisiert! Standort entfernen Standortwarnung entfernen + Durch die Standortangabe werden Bilder nützlicher und leichter auffindbar. Möchtest du den Standort wirklich aus diesem Bild entfernen? + Standort entfernt! Dem Autor danken + Deine Sitzung ist abgelaufen. Bitte melde dich erneut an. + Keine Anwendung zum Öffnen von GPX-Dateien verfügbar + Datei erfolgreich gespeichert + Möchtest du die GPX-Datei öffnen? + Möchtest du die KML-Datei öffnen? + KML-Datei konnte nicht gespeichert werden. + GPX-Datei konnte nicht gespeichert werden. + Speichere KML-Datei + Speichere GPX-Datei - %d Bild ausgewählt - %d Bilder ausgewählt + Ein Bild ausgewählt + %d Bilder ausgewählt diff --git a/app/src/main/res/values-lb/strings.xml b/app/src/main/res/values-lb/strings.xml index 45eaedc9f..47b83a0b9 100644 --- a/app/src/main/res/values-lb/strings.xml +++ b/app/src/main/res/values-lb/strings.xml @@ -61,7 +61,7 @@ Waart wgl. … Waart wgl. ... Umeldung huet geklappt! - D\'Aloggen huet net funktionéiert! + D\'Aloggen huet net funktionéiert! Fichier net fonnt. Probéiert wgl. en anere Fichier. D\'Authentifizéierung huet net funktionéiert. Loggt Iech wgl. nach eng Kéier an. D\'Eroplueden huet ugefaang! @@ -196,6 +196,7 @@ Iwwer Astellungen Feedback + Feedback iwwer GitHub Ausloggen Uleedung Notifikatiounen diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 5d0184e56..80837c215 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -1,6 +1,7 @@ - - 同享壞咗 - 哎呀。出咗錯! - 多謝你! - diff --git a/app/src/test/kotlin/fr/free/nrw/commons/description/DescriptionEditActivityUnitTest.kt b/app/src/test/kotlin/fr/free/nrw/commons/description/DescriptionEditActivityUnitTest.kt index f7b203cfa..19cc945cd 100644 --- a/app/src/test/kotlin/fr/free/nrw/commons/description/DescriptionEditActivityUnitTest.kt +++ b/app/src/test/kotlin/fr/free/nrw/commons/description/DescriptionEditActivityUnitTest.kt @@ -32,6 +32,7 @@ import org.mockito.MockitoAnnotations import org.powermock.reflect.Whitebox import org.robolectric.Robolectric import org.robolectric.RobolectricTestRunner +import org.robolectric.RuntimeEnvironment import org.robolectric.Shadows import org.robolectric.annotation.Config import org.robolectric.annotation.LooperMode @@ -62,7 +63,7 @@ class DescriptionEditActivityUnitTest { @Throws(Exception::class) fun setUp() { MockitoAnnotations.initMocks(this) - context = ApplicationProvider.getApplicationContext() + context = RuntimeEnvironment.getApplication().applicationContext uploadMediaDetails = mutableListOf(UploadMediaDetail("en", "desc")) as ArrayList media = Media("filename", "creator", "url", "thumburl", From 8ce7485153c4e9b5aea6b07d582c683e2ca34861 Mon Sep 17 00:00:00 2001 From: "translatewiki.net" Date: Thu, 11 Apr 2024 14:02:37 +0200 Subject: [PATCH 05/25] Localisation updates from https://translatewiki.net. --- app/src/main/res/values-el/strings.xml | 265 ++++++++++++++++++--- app/src/main/res/values-fi/strings.xml | 24 +- app/src/main/res/values-ia/strings.xml | 6 + app/src/main/res/values-lb/strings.xml | 3 + app/src/main/res/values-nl/strings.xml | 40 +++- app/src/main/res/values-sr/strings.xml | 4 +- app/src/main/res/values-sv/strings.xml | 40 +++- app/src/main/res/values-yue-hant/error.xml | 9 + 8 files changed, 316 insertions(+), 75 deletions(-) create mode 100644 app/src/main/res/values-yue-hant/error.xml diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 9a1e2f8e3..823fe8e13 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -10,6 +10,7 @@ * Jimkats * KATRINE1992 * KATRINE1993 +* Karyotakisg * ManosHacker * McDutchie * MnLsVt @@ -20,19 +21,29 @@ * Panos78 * Protnet * Tgkarounos +* Vtalos --> Σελίδα των Κοινών στο Facebook Κώδικας πηγής των Κοινών στο GitHub - Κοινό Λογότυπο + Λογότυπο Commons Ιστοσελίδα των Κοινών + Έξοδος από το εργαλείο επιλογής τοποθεσίας Υποβολή + Επιλέξτε άλλη περιγραφή + Προσθέστε νέα συνεισφορά + Προσθέστε συνεισφορά από την κάμερα + Προσθέστε συνεισφορά από τις Φωτογραφίες + Προσθέστε συνεισφορά από προηγούμενη συλλογή συνεισφορών Λεζάντες Περιγραφή Γλώσσας Λεζάντα Περιγραφή Εικόνα Όλα + Ενεργοποιήστε + Προβολή αναζήτησης + Κατάσταση τοποθεσίας Φωτογραφία της Ημέρας 1 αρχείο επιφορτώνεται @@ -72,6 +83,7 @@ Ρυθμίσεις Ανέβασμα στα Κοινά + Ανέβασμα σε εξέλιξη... Όνομα χρήστη Κωδικός πρόσβασης Συνδεθείτε στο λογαριασμό σας στο Commons Beta @@ -82,10 +94,13 @@ Παρακαλούμε περιμένετε… Ενημέρωση λεζάντων και περιγραφών Παρακαλούμε περιμένετε… - Επιτυχής σύνδεση! - Η είσοδος απέτυχε! + Επιτυχής σύνδεση! + Η είσοδος απέτυχε! Το αρχείο δεν βρέθηκε. Παρακαλώ δοκιμάστε ένα άλλο αρχείο. - Απέτυχε ο έλεγχος ταυτότητας, παρακαλώ συνδεθείτε ξανά + Συμπληρώθηκε το μέγιστο όριο επανάληψης! Ακυρώστε τη μεταφόρτωση και προσπαθήστε ξανά + Απενεργοποίηση βελτιστοποίησης μπαταρίας; + Η μεταφόρτωση περισσότερων από 3 εικόνων λειτουργεί πιο αξιόπιστα όταν η βελτιστοποίηση μπαταρίας είναι απενεργοποιημένη. Απενεργοποιήστε τη βελτιστοποίηση μπαταρίας για την εφαρμογή Commons από τις ρυθμίσεις για μια ομαλή εμπειρία μεταφόρτωσης. \n\nΠιθανά βήματα για να απενεργοποιήσετε τη βελτιστοποίηση μπαταρίας:\n\nΒήμα 1: Πατήστε στο κουμπί \"Ρυθμίσεις\" παρακάτω.\n\nΒήμα 2: Εναλλαγή από \"Μη βελτιστοποιημένη\" σε \"Σε όλες τις εφαρμογές\".\n\nΒήμα 3: Αναζήτηση για \"Commons\" ή \"fr.free.nrw.commons\".\n\nΒήμα 4: Πατήστε το και επιλέξτε \"Να μην γίνει βελτιστοποίηση\".\n\nΒήμα 5: Πατήστε \'Τέλος\'. + Απέτυχε ο έλεγχος ταυτότητας, παρακαλώ συνδεθείτε ξανά. Η αποστολή ξεκίνησε! Η μεταφόρτωση βρίσκεται σε ουρά (ενεργοποιημένη λειτουργία περιορισμένης σύνδεσης) %1$s επιφορτώθηκε! @@ -96,7 +111,8 @@ Απέτυχε η μεταφόρτωση του %1$s Η μεταφόρτωση %1$s τέθηκε σε παύση Πατήστε για να δείτε - Οι Πρόσφατες Φορτώσεις Μου + Πατήστε για προβολή + Οι Πρόσφατες Μεταφορτώσεις μου Στην ουρά Απέτυχε %1$d%% ολοκληρώθηκε @@ -111,32 +127,36 @@ Παρακαλούμε προσθέστε περιγραφή για αυτό το αρχείο Περιγραφή Λεζάντα - Δεν είναι δυνατή η σύνδεση - αποτυχία του δικτύου + Δεν είναι δυνατή η σύνδεση - αποτυχία του δικτύου Πάρα πολλές ανεπιτυχείς προσπάθειες. Παρακαλώ δοκιμάστε ξανά σε λίγα λεπτά. Συγνώμη, αυτός ο χρήστης έχει αποκλειστεί από τα Commons - Πρέπει να δώσετε τον κωδικό πιστοποίησης με δύο παράγοντες - Η είσοδος απέτυχε + Πρέπει να δώσετε τον κωδικό ελέγχου ταυτότητας δύο παραγόντων. + Η είσοδος απέτυχε Ανέβασμα Ονομάστε το σύνολο Τροποποιήσεις Ανέβασμα Αναζήτηση κατηγοριών + Αναζητήστε αντικείμενα που απεικονίζουν τα μέσα σας (βουνό, Ταζ Μαχάλ κ.λπ.) Αποθήκευση Ανανέωση Κατάλογος (Καμία μεταφόρτωση ακόμα) Δεν βρέθηκαν κατηγορίες που ταιριάζουν %1$s + Δεν βρέθηκαν στοιχεία Wikidata που να ταιριάζουν στο %1$s Προσθέστε κατηγορίες για να κάνετε τις εικόνες σας πιο ανιχνεύσιμες στα Wikimedia Commons.\n\nΑρχίστε να γράφετε για να προσθέσετε κατηγορίες.\nΠατήστε αυτό το μήνυμα (ή πατήστε επιστροφή) για να παραλείψετε αυτό το βήμα. Κατηγορίες Ρυθμίσεις Εγγραφή Προβεβλημμένες εικόνες + Προσαρμοσμένος Επιλογέας Κατηγορία + Αναθεώρηση από Ομότιμους Σχετικά Λογισμικό ανοικτού κωδικού που κυκλοφορεί υπό την <a href=\"https://github.com/commons-app/apps-android-commons/blob/master/COPYING\">Άδεια Apache v2</a>. Το Wikimedia Commons και το λογότυπο είναι εμπορικά σήματα του Ιδρύματος Wikimedia και χρησιμοποιούνται με άδεια από το Ίδρυμα Wikimedia. Δεν συμμετέχουμε στην δημιουργία, ανάπτυξη ή συντήρηση του Ιδρύματος Wikimedia. Δημιουργήστε ένα νέο <a href=\"%1$s\">GitHub θέμα</a> για αναφορές σφαλμάτων και προτάσεις. Πολιτική ιδιωτικότητας - <u>Συντελεστές</u> + <u>Συντελεστές</u> Σχετικά Αποστολή σχολίων (μέσω Email) Δεν υπάρχει εγκατεστημένη εφαρμογή ηλεκτρονικού ταχυδρομείου @@ -148,7 +168,7 @@ Αποστέλλοντας αυτήν την εικόνα, δηλώνω πως αυτή η εργασία είναι δική μου, και δεν περιέχει υλικό άλλου συγγραφέα, και εκτός αυτού πρόσκειται στο , thathref=\"https://commons.wikimedia.org/wiki/Commons:Policies_and_guidelines\">Κοινές πολιτικές της Wikipedia</a>. Λήψη Προεπιλεγμένη άδεια - Χρήση προηγούμενου τίτλου/περιγραφής + Χρήση προηγούμενου τίτλου και περιγραφής Θέμα Attribution-ShareAlike 4.0 Attribution 4.0 @@ -192,8 +212,11 @@ Απαιτούμενη άδεια: Ανάγνωση εξωτερικής αποθήκευσης. Η εφαρμογή δεν μπορεί να έχει πρόσβαση στην συλλογή σας χωρίς αυτή. Απαιτούμενη άδεια: Εγγραφή σε εξωτερική αποθήκευση. Το πρόγραμμα δεν θα έχει πρόσβαση στην κάμερα/συλλογή σας χωρίς αυτήν. Αιτείται Άδεια Τοποθεσίας + Καταγραφή τοποθεσίας για λήψεις εντός εφαρμογής + Ενεργοποιήστε το για να καταγράψετε την τοποθεσία με λήψεις εντός εφαρμογής σε περίπτωση που η κάμερα της συσκευής δεν την καταγράψει Εντάξει Προειδοποίηση + Βρέθηκαν αρχεία με ίδιο όνομα Μεταφόρτωση Ναι Όχι @@ -203,49 +226,55 @@ Περιγραφή Συζήτηση Συγγραφέας - Ημερομηνία φόρτωσης - Άδεια - Συντεταγμένες + Ημερομηνία μεταφόρτωσης + Άδεια + Συντεταγμένες Δεν δόθηκε τίποτα Γίνετε Δοκιμαστής Beta Συμμετέχετε στο κανάλι beta μας στο Google Play και αποκτήστε πρώιμη πρόσβαση σε νέες λειτουργίες και διορθώσεις σφαλμάτων - Κωδικός 2FA - Θέλετε πράγματι να αποσυνδεθείτε; - Η Εικόνα των Μέσων Απέτυχε (δεν μπορεί να φορτωθεί) + Κωδικός 2FA + Θέλετε σίγουρα να αποσυνδεθείτε; + Η Εικόνα των Μέσων Απέτυχε (δεν μπορεί να φορτωθεί) Δεν βρέθηκαν υποκατηγορίες Δεν βρέθηκαν γονικές κατηγορίες - Mount Zao + Όρος Ζάο Llamas - Γέφυρα Ουρανίου Τόξου - Τουλίπα + Γέφυρα Ουρανίου Τόξου + Τουλίπα Καλωσόρισες Βικιπαίδεια Καλωσορίστε το Δικαίωμα Αντιγραφής Κτίρια Όπερας Sidney - Ακυρώστε - Ανοίξετε - Κλείσετε - Αρχική Σελίδα - Φορτώστε - Εδώ Κοντά + Ακυρώστε + Ανοίξτε + Κλείστε + Αρχική Σελίδα + Ανέβασμα αρχείου + Κοντά σας Σχετικά - Ρυθμίσεις - Σχόλια - Αποσύνδεση + Ρυθμίσεις + Ανατροφοδότηση + Ανατροφοδότηση μέσω Github + Αποσύνδεση Σεμινάριο Ενημερώσεις + Επιθεώρηση δεν βρέθηκε περιγραφή Σελίδα φακέλλου κοινής χρήσης Τεμάχιο Wikidata Λήμμα Βικιπαίδειας - Παρακαλώ περιγράψετε τα μέσα το δυνατό περισσότερο : Πού οδηγήθηκε αυτό; Τι δείχνει; Ποιο είναι το περιεχόμενο του; Παρακαλώ περιγράψετε τα αντικείμενα ή τα πρόσωπα. Αποκαλύψετε πληροφορίες που δεν μπορούν εύκολο να μαντέψει κανείς, για παράδειγμα την ώρα εντός της ημέρας αν πρόκειται για τοπίο. Αν τα μέσα δείξουν κάτι ασύνηθες, παρακαλώ εξηγήστε τι το καθιστά μη συνηθισμένα. + Παρακαλώ περιγράψετε τα μέσα όσο το δυνατόν περισσότερο : Πού λήφθηκε; Τι δείχνει; Ποιο είναι το περιεχόμενο του; Παρακαλώ περιγράψετε τα αντικείμενα ή τα πρόσωπα. Αποκαλύψετε πληροφορίες που δεν είναι εύκολο να μαντέψει κανείς, για παράδειγμα την ώρα εντός της ημέρας αν πρόκειται για τοπίο. Αν τα μέσα δείξουν κάτι ασύνηθες, παρακαλώ εξηγήστε τι το καθιστούν μη συνηθισμένα. + Γράψτε μια σύντομη περιγραφή της εικόνας. Η πρώτη λεζάντα θα χρησιμοποιηθεί ως τίτλος για την εικόνα. Όριο 255 χαρακτήρες. Πιθανά προβλήματα με αυτήν την εικόνα: Η εικόνα είναι πολύ σκοτεινή. Η εικόνα είναι θολή. Η εικόνα βρίσκεται ήδη στα Commons. Η εικόνα λήφθηκε σε διαφορετική τοποθεσία. + Ανεβάστε μόνο φωτογραφίες που έχετε τραβήξει μόνοι σας. Μην ανεβάζετε φωτογραφίες που έχετε βρει σε λογαριασμούς άλλων ατόμων στο Facebook. Θέλετε ακόμη να ανεβάσετε αυτή την εικόνα; Σφάλμα Σύνδεσης + Η διαδικασία μεταφόρτωσης απαιτεί ενεργή πρόσβαση στο Διαδίκτυο. Ελέγξτε τη σύνδεσή σας στο δίκτυο. Βρέθηκαν προβλήματα στην εικόνα + Ανεβάστε μόνο φωτογραφίες που έχετε τραβήξει μόνοι σας. Μην ανεβάζετε φωτογραφίες που έχετε κατεβάσει από το Διαδίκτυο. Αποθηκεύστε φωτογραφίες εντός εφαρμογής Αποθηκεύστε φωτογραφίες που τραβήξατε με την κάμερα εντός εφαρμογής στο χώρο αποθήκευσης της συσκευής σας Συνδεθείτε στο λογαριασμό σας. @@ -261,7 +290,9 @@ Θέλετε πραγματικά να παραβλέψετε τη σύνδεση; Θα χρειάζεται να συνδεθείτε για να ανεβάζετε εικόνες στο μέλλον. Παρακαλούμε συνδεθείτε για να χρησιμοποιήσετε αυτό το χαρακτηριστικό - Ο τόπος δεν είναι διαθέσιμος. + Αντιγράψτε το wikitext στο πρόχειρο + Ο τόπος δεν είναι διαθέσιμος. + Δεν επιτρέπεται η πρόσβαση στην τοποθεσία. Ρυθμίστε την τοποθεσία σας με χειροκίνητο τρόπο για να χρησιμοποιήσετε αυτήν τη δυνατότητα. Απαιτείται άδεια για την εμφάνιση λίστας κοντινών σημείων Κατευθύνσεις Δεδομένα wiki @@ -273,6 +304,7 @@ Παράβλεψη εισαγωγής Το διαδίκτυο δεν είναι διαθέσιμο Σφάλμα κατά την συγκέντρωση ειδοποιήσεων + Σφάλμα κατά την ανάκτηση της εικόνας για έλεγχο. Πατήστε το refresh για να προσπαθήσετε ξανά. Δεν βρέθηκαν ειδοποιήσεις Μετάφραση Γλώσσες @@ -280,7 +312,7 @@ Συνέχεια Ακύρωση Ξαναπροσπαθήστε - Αυτά είναι τα μέρη κοντά σας που χρειάζονται φωτογραφίες για να εικονογραφηθούν τα λήμματά τους στη Βικιπαίδεια + Αυτά είναι τα μέρη κοντά σας που χρειάζονται φωτογραφίες για να εικονογραφηθούν τα λήμματά τους στη Βικιπαίδεια.\n\nΚάνοντας κλικ στην \"ΑΝΑΖΗΤΗΣΗ ΣΕ ΑΥΤΉ ΤΗΝ ΠΕΡΙΟΧΗ\" κλειδώνει ο χάρτης και ξεκινά μια κοντινή αναζήτηση γύρω από αυτή την τοποθεσία. Αυτή η τοποθεσία χρειάζεται φωτογραφία. Αυτή η τοποθεσία έχει ήδη φωτογραφία. Η τοποθεσία δεν υπάρχει πλέον. @@ -302,7 +334,7 @@ Αντικείμενα Μεταφορτώθηκε μέσω κινητού Χάρτης - Η εικόνα προστέθηκε επιτυχώς στο %1$s στο Wikidata! + Η εικόνα προστέθηκε επιτυχώς στο %1$s στο Wikidata! Αποτυχία ενημέρωσης της αντιστοιχούσας οντότητας του Wikidata! Ρύθμιση ως ταπετσαρία Η ταπετσαρία ρυθμίστηκε επιτυχώς! @@ -319,16 +351,22 @@ Οι φωτογραφίες που εμφανίζουν τεχνολογία ή πολιτισμό είναι πολύ ευσπρόδεκτες στα Κοινά. Είχατε το %1$s των απαντήσεων σωστό. Συγχαρητήρια! Επιλέξτε μια από τις δύο επιλογές για να απαντήσετε στην ερώτηση - Η περίοδος σύνδεσης έληξε, παρακαλούμε συνδεθείτε ξανά. + Η περίοδος σύνδεσης έληξε, παρακαλούμε συνδεθείτε ξανά. Μοιραστείτε το κουίζ με τους φίλους σας! Συνέχεια Σωστή απάντηση Λάθος απάντηση Αυτό το στιγμιότυπο είναι εντάξει για ανέβασμα; Κοινοποίηση εφαρμογής + Γυρίστε Σφάλμα κατά την εύρεση κοντινών μερών. + Δεν υπάρχουν φωτογραφίες σε αυτήν την περιοχή + Δεν υπάρχουν μέρη κοντά + Σφάλμα κατά την εύρεση κοντινών μνημείων. Καμία πρόσφατη αναζήτηση Είστε σίγουρος ότι θέλετε να καθαρίσετε το ιστορικό αναζήτησης; + Είστε σίγουροι ότι θέλετε να ακυρώσετε αυτό το ανέβασμα; + Θέλετε να διαγράψετε αυτήν την αναζήτηση; Το ιστορικό αναζήτησης διεγράφη Ορίστε για Αφαίρεση Διαγραφή @@ -337,6 +375,7 @@ Στατιστικά Ευχαριστίες που έχουν ληφθεί Προβεβλημμένες εικόνες + Εικόνες μέσω \"Κοντινά μέρη\" Επίπεδο Εικόνες που ανέβηκαν Εικόνες που δεν ανεστράφησαν @@ -349,13 +388,18 @@ Ο αριθμός εικόνων που ανεβάσατε στα Κοινά που χρησιμοποιήθηκαν σε λήμματα του Wikimedia Συνέβη σφάλμα! Ειδοποίηση Κοινών + Χρησιμοποιήστε προσαρμοσμένο όνομα δημιουργού + Χρησιμοποιήστε ένα προσαρμοσμένο όνομα δημιουργού αντί για το όνομα χρήστη σας κατά τη μεταφόρτωση φωτογραφιών + Προσαρμοσμένο όνομα δημιουργού Συνεισφορές Κοντά σας Ενημερώσεις Ειδοποιήσεις (ανάγνωση) - Πατήστε εδώ για να δείτε την πιο κοντινή θέση που χρειάζεται εικόνες + Εμφάνιση ειδοποίησης σε κοντινή απόσταση + Πατήστε εδώ για να δείτε την πιο κοντινή θέση που χρειάζεται εικόνες Λίστα Άδεια Αποθήκευσης + Χρειαζόμαστε την άδειά σας για πρόσβαση στον εξωτερικό χώρο αποθήκευσης της συσκευής σας προκειμένου να ανεβάσουμε εικόνες. Δεν θα δείτε την πιο κοντινή τοποθεσία που χρειάζεται επιπλέον εικόνες. Ωστόσο, μπορείτε να ενεργοποιήσετε ξανά αυτή την ειδοποίηση στις Ρυθμίσεις αν θέλετε. Βήμα %1$d από %2$d: %3$s Επόμενο @@ -366,36 +410,119 @@ Τοποθεσίες Προσθήκη/Κατάργηση σε σελιδοδείκτες Σελιδοδείκτες + Δεν έχετε προσθέσει σελιδοδείκτες Σελιδοδείκτες + Η συλλογή αρχείων καταγραφής ξεκίνησε. ΕΠΑΝΑΚΙΝΗΣΤΕ την εφαρμογή, εκτελέστε την ενέργεια που θέλετε να καταγράψετε και, στη συνέχεια, πατήστε ξανά \"Αποστολή αρχείου καταγραφής\" Το ανέβασα κατά λάθος Δεν ήξερα ότι θα δημοσιευόταν Κατάλαβα πως δεν προστατεύονται τα ατομικά μου στοιχεία Άλλαξα γνώμη, δεν θέλω να προβάλλεται πλέον δημόσια Λυπάμαι αυτή η εικόνα δεν έχει ενδιαφέρον για εγκυκλοπαίδεια - Φορτώθηκε από μένα σε - Εικόνες χωρίς κατηγορίες χρησιμοποιούνται σπάνια. Θέλετε πράγματι να στείλετε δίχως να επιλέξετε κατηγορίες? + Ανέβηκε από εμένα στο %1$s, χρησιμοποιήθηκε σε %2$d άρθρο(α) + Καλώς ήρθατε στα Commons!\n\nΑνεβάστε τα πρώτα σας πολυμέσα πατώντας το κουμπί προσθήκης. + Δεν επιλέχθηκαν κατηγορίες + Εικόνες χωρίς κατηγορίες χρησιμοποιούνται σπάνια. Θέλετε πράγματι να συνεχίσετε δίχως να επιλέξετε κατηγορίες? + Δεν έχουν επιλεγεί αποτυπώσεις Ακύρωση Μεταφόρτωσης + Η χρήση του κουμπιού \"πίσω\" θα ακυρώσει αυτήν τη μεταφόρτωση και θα χάσετε την πρόοδό σας Συνέχιση Μεταφόρτωσης (Για όλες τις εικόνες στο σετ) Αναζήτηση στην περιοχή Αίτημα Άδειας + Θα θέλατε να χρησιμοποιήσουμε την τρέχουσα τοποθεσία σας για να εμφανίσουμε το πλησιέστερο μέρος που χρειάζεται φωτογραφίες; + Δεν είναι δυνατή η εμφάνιση του πλησιέστερου μέρους που χρειάζεται φωτογραφίες χωρίς δικαιώματα τοποθεσίας Μην το ρωτήσετε ξανά αυτό Ζητήστε άδεια τοποθεσίας + Ζητήστε άδεια τοποθεσίας όταν χρειάζεται για τη λειτουργία προβολής κοντινής κάρτας ειδοποιήσεων. + Έχετε κάνει τόσες πολλές συνεισφορές που δεν μπορεί να αντεπεξέλθει το σύστημα υπολογισμού των επιτευγμάτων μας. Αυτό είναι το απόλυτο επίτευγμα. Τελειώνει σε: + Προβολή καμπανιών + Δείτε τις τρέχουσες καμπάνιες + Επιτρέψτε στην εφαρμογή να ανακτήσει τοποθεσία σε περίπτωση που η κάμερα δεν την καταγράψει. Ορισμένες κάμερες συσκευών δεν καταγράφουν τοποθεσία. Σε τέτοιες περιπτώσεις, το να αφήσετε την εφαρμογή να ανακτήσει και να επισυνάψει τοποθεσία καθιστά τη συνεισφορά σας πιο χρήσιμη. Μπορείτε να το αλλάξετε ανά πάσα στιγμή από τις Ρυθμίσεις + Επιτρέψτε + Απόρριψη + Ενεργοποιήστε την πρόσβαση τοποθεσίας από τις Ρυθμίσεις και δοκιμάστε ξανά. \n\nΣημείωση: Η μεταφόρτωση ενδέχεται να μην έχει τοποθεσία, εάν η εφαρμογή δεν μπορεί να ανακτήσει την τοποθεσία από τη συσκευή σε σύντομο χρονικό διάστημα. + Η κάμερα εντός εφαρμογής χρειάζεται άδεια τοποθεσίας για να την επισυνάψει στις εικόνες σας σε περίπτωση που η τοποθεσία δεν είναι διαθέσιμη στο EXIF. Επιτρέψτε στην εφαρμογή να αποκτήσει πρόσβαση στην τοποθεσία σας και δοκιμάστε ξανά.\n\nΣημείωση: Η μεταφόρτωση ενδέχεται να μην έχει τοποθεσία εάν η εφαρμογή δεν μπορεί να ανακτήσει την τοποθεσία από τη συσκευή σε σύντομο χρονικό διάστημα. + Η εφαρμογή δεν θα καταγράψει την τοποθεσία μαζί με τις φωτογραφίες λόγω έλλειψης άδειας τοποθεσίας + Η εφαρμογή δεν θα καταγράψει την τοποθεσία μαζί με τις φωτογραφίες καθώς το GPS είναι απενεργοποιημένο + Χρησιμοποιήστε εργαλείο επιλογής φωτογραφιών βάσει εγγράφων + Το νέο εργαλείο επιλογής φωτογραφιών Android κινδυνεύει να χάσει τις πληροφορίες τοποθεσίας. Ενεργοποιήστε εάν φαίνεται ότι το χρησιμοποιείτε. Παρακαλώ σιγουρευτείτε ότι αύτος ο κανούριος επιλογέας Android δεν αφαιρεί την τοποθεσία από τις εικόνες. - Ναι, γιατί όχι - Επόμενη εικόνα + Δεν θα βλέπετε πλέον τις καμπάνιες. Ωστόσο, μπορείτε να ενεργοποιήσετε ξανά αυτήν την ειδοποίηση στις Ρυθμίσεις εάν το επιθυμείτε. + Αυτή η λειτουργία απαιτεί σύνδεση δικτύου. Ελέγξτε τις ρυθμίσεις της σύνδεσής σας. + Παρουσιάστηκε σφάλμα κατά την επεξεργασία της εικόνας. Παρακαλώ προσπαθησε ξανα! + Λήψη διακριτικού για επεξεργασία + Προσθήκη υποδείγματος για έλεγχο κατηγορίας + Αίτημα ελέγχου κατηγορίας για %1$s + Αίτημα ελέγχου κατηγορίας + Ζητήθηκε έλεγχος κατηγορίας + Το αίτημα ελέγχου κατηγορίας δεν λειτούργησε + Ζητήθηκε έλεγχος κατηγορίας για %1$s + Δεν ήταν δυνατή η αίτηση ελέγχου κατηγορίας για %1$s + Αίτημα ελέγχου κατηγορίας για %1$s + Έγινε + Αποστολή Ευχαριστιών: Επιτυχία + Επιτυχής αποστοή ευχαριστιών προς %1$s + Αποτυχία αποστολής ευχαριστιών %1$s + Αποστολή Ευχαριστιών: Αποτυχία + Αποστολή Ευχαριστιών για %1$s + Ακολουθεί αυτό τους κανόνες πνευματικής ιδιοκτησίας; + Είναι σωστά κατηγοριοποιημένο αυτό; + Είναι αυτό εντός πεδίου εφαρμογής; + Θα θέλατε να ευχαριστήσετε τον συνεισφέροντα; + Κάντε κλικ στο ΟΧΙ για να ορίσετε αυτήν την εικόνα για διαγραφή εάν δεν είναι καθόλου χρήσιμη. + Λογότυπα, στιγμιότυπα οθόνης, αφίσες ταινιών αποτελούν συχνά παραβιάσεις πνευματικών δικαιωμάτων. Πατήστε ΟΧΙ για να προτείνετε αυτήν την εικόνα για διαγραφή + %1$s θα ενθαρρυνθεί από την εκτίμησή σας + Α, αυτό δεν είναι καν κατηγοριοποιημένο! + Αυτή η εικόνα ανήκει σε %1$s κατηγορίες. + Είναι εκτός πεδίου, επειδή είναι + Είναι παραβίαση πνευματικών δικαιωμάτων επειδή είναι + Επόμενη εικόνα + Ναι, γιατί όχι + Κάνοντας κλικ σε αυτό το κουμπί θα εμφανιστεί μια άλλη πρόσφατα μεταφορτωμένη εικόνα από το Wikimedia Commons + Μπορείτε να ελέγχετε εικόνες για να βελτιώσετε την ποιότητα του Wikimedia Commons.\nΟι τρεις παράμετροι ελέγχου είναι:\n\n- Είναι αυτή η εικόνα εντός πεδίου;N!Όταν πατάτε Όχι (εκτός πεδίου εφαρμογής), εσείς προτείνετε την διαγραφή αυτής της εικόνας.\n\n- Αυτή η εικόνα ακολουθεί τους κανόνες των πνευματικών δικαιωμάτων; Όταν πατάτε Όχι (δεν ακολουθεί τους κανόνες των πνευματικών δικαιωμάτων), εσείς προτείνετε την διαγραφή αυτής της εικόνας.\n\n- Είναι αυτή η εικόνα σωστά κατηγοριοποιημένη;N!Όταν πατάτε Όχι (δεν είναι σωστά κατηγοριοποιημένη), προσθέτε ένα υπόδειγμα αίτησης κατηγοριοποίησης στην εικόνα.\n\nΕάν όλα είναι εντάξει, δεν προστίθεται πρότυπο στην εικόνα και έχετε την ευκαιρία να ευχαριστήσετε τον συντελεστή. Δεν χρησιμοποιούνται εικόνες + Δεν έγινε επαναφορά εικόνων Δεν έχουν ανεβεί εικόνες Δεν έχετε αδιάβαστες ενημερώσεις Δεν έχετε αρχειοθετημένες ενημερώσεις + Κοινή χρήση αρχείων καταγραφής χρησιμοποιώντας + Προβολή αναγνωσμένων + Προβολή μη αναγνωσμένων + Παρουσιάστηκε σφάλμα κατά την επιλογή εικόνων Παρακαλούμε περιμένετε… + Οι επιλεγμένες εικόνες είναι εικόνες από άριστα καταρτισμένους φωτογράφους και εικονογράφους που η κοινότητα του Wikimedia Commons έχει επιλέξει ως μερικές από τις υψηλότερης ποιότητας στον ιστότοπο. + Οι εικόνες που μεταφορτώνονται μέσω κοντινών τοποθεσιών είναι οι εικόνες που μεταφορτώνονται ανακαλύπτοντας μέρη στο χάρτη. + Αυτή η δυνατότητα επιτρέπει στους συντάκτες να στέλνουν μια ειδοποίηση ευχαριστιών σε χρήστες που κάνουν χρήσιμες επεξεργασίες – χρησιμοποιώντας έναν μικρό σύνδεσμο ευχαριστιών στη σελίδα ιστορικού ή στη σελίδα διαφορών. + Αντιγραφή σε επόμενα μέσα + Αντιγράφηκε με επιτυχία + Παραδείγματα εικόνων που δεν πρέπει να ανεβάζονται + Παραλείψτε αυτήν την εικόνα + Η λήψη απέτυχε!!. Δεν μπορούμε να κατεβάσουμε το αρχείο χωρίς άδεια εξωτερικού χώρου αποθήκευσης. + Διαχείριση ετικετών EXIF + Επιλέξτε ποιες ετικέτες EXIF θα διατηρηθούν στις μεταφορτώσεις Δημιουργός Πνευματικά δικαιώματα Τοποθεσία + Μοντέλο φωτογραφικής μηχανής + Μοντέλο φακού + Σειριακός αριθμός Λογισμικό + Δεν επιτρέπεται η πρόσβαση στην τοποθεσία πολυμέσων Πληροφορίες Εικόνας + Ακυρώθηκε η μεταφόρτωση + Δεν υπάρχουν δεδομένα για τον τίτλο ή την περιγραφή της προηγούμενης εικόνας + Γιατί πρέπει να διαγραφεί το %1$s; + %1$s μεταφορτώνεται από: %2$s Απέτυχε + Ρυθμίσεις + Σκοτεινό + Φωτεινό + Αποτυχία ανοίγματος ρυθμίσεων τοποθεσίας. Παρακαλούμε ενεργοποιήστε την τοποθεσία χειροκίνητα + Για καλύτερα αποτελέσματα, επιλέξτε τη λειτουργία υψηλής ακρίβειας. + Ενεργοποίηση τοποθεσίας; + Εμφάνιση περισσότερων + Προτεινόμενες βελτιώσεις: Κατορθώματα Λίστα κατάταξης Κατάταξη: @@ -409,7 +536,17 @@ Ανέβασμα Γειτονικά Σε χρήση + Ακύρωση Μεταφόρτωσης Για όλες τις γλώσσες + Εφαρμογή + Επαναφορά + Δεν βρέθηκε τοποθεσία + Προσθήκη τοποθεσίας + Λεπτομέρειες + Τα επιτεύγματα είναι διαθέσιμα μόνο στο prod flavor. Ελέγξτε την τεκμηρίωση προγραμματιστή. + Το leaderboard είναι διαθέσιμο μόνο στο prod flavor. Ελέγξτε την τεκμηρίωση προγραμματιστή. + Ανεβάστε μόνο φωτογραφίες που έχετε τραβήξει μόνοι σας. Οι χρήστες που ανεβάζουν εικόνες που προστατεύονται από πνευματικά δικαιώματα θα αποκλειστούν. Αυτό ισχύει και για το beta flavor. Σας ευχαριστούμε που δοκιμάσατε την εφαρμογή! + Παρακαλούμε να διαγράψετε οποιαδήποτε πληροφορία δεν θα θέλατε να μοιραστείτε δημόσια. Επίπεδο API Έκδοση android Κατασκευαστής συσκευής @@ -418,5 +555,57 @@ Τύπος δικτύου Ευχαριστούμε για την υποβολή σχολίων Σφάλμα κατά την αποστολή σχολίων + Ποια είναι τα σχόλιά σας; Τα σχόλια σας + Επισήμανση ως όχι για μεταφόρτωση + Καταργήστε την επισήμανση ως όχι για μεταφόρτωση + Επισήμανση ως όχι για μεταφόρτωση + Κατάργηση επισήμανσης ως όχι για μεταφόρτωση + Εμφάνιση εικόνων που έχουν ήδη ενεργοποιηθεί + Απόκρυψη εικόνων που έχουν ήδη ενεργοποιηθεί + Δεν βρέθηκαν άλλες εικόνες + Αυτή η εικόνα έχει ήδη μεταφορτωθεί + Δεν είναι δυνατή η επιλογή αυτής της εικόνας για μεταφόρτωση + Η εικόνα επιλέχθηκε + Η εικόνα επισημάνθηκε ως όχι για μεταφόρτωση + Αναφορά + Ορίστε λευκό φόντο + Ορίστε μαύρο φόντο + Αναφορά παράβασης + Αναφορά αυτού του χρήστη + Αναφορά αυτού του περιεχομένου + Αίτημα αποκλεισμού αυτού του χρήστη + Καλώς ορίσατε στη λειτουργία επιλογής πλήρους οθόνης + Χρησιμοποιήστε δύο δάχτυλα για μεγέθυνση και σμίκρυνση. + Σύρετε γρήγορα και παρατεταμένα για να εκτελέσετε αυτές τις ενέργειες: \n- Αριστερά/Δεξιά: Μετάβαση στο προηγούμενο/επόμενο \n- Επάνω: Επιλογή\n- Κάτω: Επισήμανση ως όχι για μεταφόρτωση. + Για να ρυθμίσετε το avatar του leaderboard, πατήστε \"Ορισμός ως avatar\" στο μενού με τις τρεις κουκκίδες οποιασδήποτε εικόνας. + Οι συντεταγμένες δεν είναι οι ακριβείς συντεταγμένες, αλλά το άτομο που ανέβασε αυτήν την εικόνα πιστεύει ότι είναι αρκετά κοντά. + Τα δικαιώματα αποθήκευσης απορρίφθηκαν + Δεν είναι δυνατή η κοινή χρήση αυτού του στοιχείου + Απαιτούνται δικαιώματα για τη λειτουργικότητα + Μάθετε πώς να γράψετε μια χρήσιμη περιγραφή + Μάθετε πώς να γράψετε μια χρήσιμη λεζάντα + Δείτε τα επιτεύγματά σας + Επεξεργασία εικόνας + Επεξεργασία τοποθεσίας + Η τοποθεσία ενημερώθηκε! + Κατάργηση τοποθεσίας + Αφαίρεση Προειδοποίησης Τοποθεσίας + Η τοποθεσία κάνει τις φωτογραφίες πιο χρήσιμες και διευκολύνει την εύρεσή τους. Θέλετε σίγουρα να αφαιρέσετε την τοποθεσία από αυτήν την εικόνα; + Η τοποθεσία καταργήθηκε! + Ευχαριστήστε τον συγγραφέα + Σφάλμα κατά την αποστολή των ευχαριστιών στον συγγραφέα. + Η περίοδος σύνδεσης έληξε, παρακαλούμε συνδεθείτε ξανά + Δεν υπάρχει διαθέσιμη εφαρμογή για το άνοιγμα αρχείων GPX + Το αρχείο αποθηκεύτηκε με επιτυχία + Θέλετε να ανοίξετε το αρχείο GPX; + Θέλετε να ανοίξετε το αρχείο KML; + Αποτυχία αποθήκευσης του αρχείου KML. + Αποτυχία αποθήκευσης του αρχείου GPX. + Αποθήκευση αρχείου KML + Αποθήκευση αρχείου GPX + + %d επιλεγμένη εικόνα + Επιλέχθηκαν %d εικόνες + diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 1532c1a40..2da2b77b3 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -71,6 +71,7 @@ Asetukset Tallenna Commonsiin + Tallennus käynnissä Käyttäjänimi Salasana Kirjaudu Commons Beta -tilillesi @@ -81,11 +82,11 @@ Odota… Päivitetään kuvatekstejä ja kuvauksia Odota... - Kirjautuminen onnistui! - Kirjautuminen epäonnistui! + Kirjautuminen onnistui! + Kirjautuminen epäonnistui! Tiedostoa ei löytynyt. Yritä toista tiedostoa. Poistetaanko akun optimointi käytöstä? - Tunnistautuminen epäonnistui, kirjaudu uudelleen sisään + Tunnistautuminen epäonnistui, kirjaudu uudelleen sisään Tallentaminen aloitettiin! Lataus jonossa (rajoitettu yhteystila käytössä) %1$s tallennettiin! @@ -112,11 +113,11 @@ Anna kuvateksti tälle tiedostolle Kuvaus Kuvateksti - Kirjautuminen epäonnistui - verkkovirhe + Kirjautuminen epäonnistui - verkkovirhe Liikaa epäonnistuneita yrityksiä. Yritä uudelleen parin minuutin kuluttua. Pahoittelut, tämä käyttäjä on estetty Commonsissa Anna kaksivaiheisen tunnistuksen koodi. - Kirjautuminen epäonnistui + Kirjautuminen epäonnistui Tallenna Nimeä sarja Muutokset @@ -269,7 +270,7 @@ Katso lisätietoja verkkosivulta Ohita Kirjaudu sisään - Haluatko todella ohittaa kirjautumisen? + Haluatko todella ohittaa kirjautumisen? Sinun täytyy kirjautua sisään tallentaaksesi kuvia tulevaisuudessa. Kirjaudu sisään käyttääksesi tätä ominaisuutta Kopioi wikiteksti leikepöydälle @@ -334,7 +335,7 @@ Kuvat, jotka esittävät teknologiaa tai kulttuuria ovat erittäin tervetulleita Commonsiin. Sait %1$s vastausta oikein. Onnittelut! Valitse yksi kahdesta vaihtoehdosta vastataksesi kysymykseen - Istuntosi on vanhentunut. Kirjaudu sisään uudelleen. + Istuntosi on vanhentunut. Kirjaudu sisään uudelleen. Jaa visailusi ystäviesi kanssa! Jatka Oikea vastaus @@ -416,7 +417,7 @@ Älä kysy tätä uudelleen Kysy lupaa sijainnille Pyydä sijaintilupaa tarvittaessa läheisen ilmoituksen näkymää varten. - Jotain meni pieleen. Emme voineet noutaa saavutuksiasi + Jotain meni pieleen. Emme voineet noutaa saavutuksia Olet tehnyt niin paljon muokkauskia, että saavutusten laskentajärjestelmä ei pysty selviytymään. Tämä on perimmäinen saavutus. Päättyy: Näytä kilpailut @@ -424,7 +425,7 @@ Salli Hylkää Et enää näe kampanjoita. Voit kuitenkin halutessasi ottaa tämän ilmoituksen uudelleen käyttöön asetuksissa. - Tämä toiminto tarvitsee verkkoyhteyden. Tarkista yhteysasetuksesi. + Tämä toiminto tarvitsee verkkoyhteyden. Tarkista yhteysasetuksesi. Kuvan käsittelyssä tapahtui virhe. Yritä uudelleen. Haetaan tunnusta muokkausta varten Mallineen lisääminen luokkatarkistusta varten @@ -536,7 +537,7 @@ Kuva uupuu Paikkatyyppi: Silta, museo, hotelli jne. - Jokin meni pieleen kirjautumisessa, sinun on nollattava salasana !! + Jokin meni pieleen kirjautumisessa. Sinun on nollattava salasanasi! MEDIA Lähipaikka löytyi Onko tämä kuva paikasta %1$s? @@ -664,7 +665,10 @@ Näytä omat saavutukset Muokkaa kuvaa Muokkaa sijaintia + Poista sijainti + Sijainti poistettu! Kiitä tekijää + Tiedosto tallennettu onnistuneesti %d kuva valittu %d kuvaa valittu diff --git a/app/src/main/res/values-ia/strings.xml b/app/src/main/res/values-ia/strings.xml index f447ca4ff..6f50801d4 100644 --- a/app/src/main/res/values-ia/strings.xml +++ b/app/src/main/res/values-ia/strings.xml @@ -228,6 +228,7 @@ A proposito Parametros Commentario + Retroaction per GitHub Clauder session Tutorial Notificationes @@ -734,6 +735,11 @@ Vider tu realisationes Modificar imagine Modificar position + Position actualisate! + Remover position + Remover le advertimento de position + Le position rende le imagines plus utile e trovabile. Es tu secur de voler remover le position de iste imagine? + Position removite! Regratiar le autor Error inviante gratias al autor. Tu session ha expirate. Per favor reaperi session. diff --git a/app/src/main/res/values-lb/strings.xml b/app/src/main/res/values-lb/strings.xml index 47b83a0b9..fd47043c4 100644 --- a/app/src/main/res/values-lb/strings.xml +++ b/app/src/main/res/values-lb/strings.xml @@ -15,7 +15,9 @@ Neie Bäitrag derbäiasetzen Bäitrag vun der Kamera derbäisetzen Bäitrag vun de Fotoen derbäisetzen + Beschreiwungen Sprooch-Beschreiwung + Beschreiwung Beschreiwung Bild All @@ -264,6 +266,7 @@ Elementer mobil eropgelueden Kaart + Bild bei %1$s op Wikidata derbäigesat! Déi entspriechend Wikidata-Entitéit konnt net aktualiséiert ginn! Als Hannergrondbild festleeën Hannergrondbild festgeluecht diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 8d8ed7829..06287ffc0 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -96,13 +96,13 @@ Een ogenblik geduld… Bijschriften en beschrijvingen aan het bijwerken Een ogenblik geduld… - Aanmelden geslaagd - Aanmelden mislukt + Aanmelden geslaagd + Aanmelden mislukt Bestand niet gevonden. Probeer een ander bestand. Grens voor opnieuw proberen bereikt! Annuleer de upload en probeer het opnieuw Batterijoptimalisatie uitschakelen? Het uploaden van meer dan 3 afbeeldingen werkt betrouwbaarder als de batterijoptimalisatie is uitgeschakeld. Schakel batterijoptimalisatie voor de Commons-app uit via de instellingen. Het uploaden gaat dan makkelijker. \n\nMogelijke stappen om batterijoptimalisatie uit te schakelen:\n\nStap 1: Tik op de knop ‘Instellingen’ hieronder.\n\nStap 2: Schakel over van ‘Niet geoptimaliseerd’ naar ‘Alle apps’.\n\nStap 3: Zoek naar “Commons” of “fr.free.nrw.commons”.\n\nStap 4: Tik erop en selecteer ‘Niet optimaliseren’.\n\nStap 5: Druk op ‘Gereed’. - De authenticatie is mislukt. Meld u opnieuw aan. + De authenticatie is mislukt. Meld u opnieuw aan. Uploaden is begonnen Upload in wachtrij (beperkte verbindingsmodus ingeschakeld) %1$s geüpload @@ -129,11 +129,11 @@ Geef een bijschrift op voor dit bestand Beschrijving Titel - Aanmelden niet mogelijk. Er is een probleem met het netwerk + Aanmelden niet mogelijk. Er is een probleem met het netwerk Te veel mislukte pogingen. Probeer het over een paar minuten opnieuw. Deze gebruiker is helaas geblokkeerd op Wikimedia Commons U moet uw code voor tweefactor-authenticatie opgeven. - Aanmelden mislukt + Aanmelden mislukt Uploaden Geef deze verzameling een naam Wijzigingen @@ -257,6 +257,7 @@ Over Instellingen Terugkoppeling + Terugkoppeling via GitHub Afmelden Zelfstudie Meldingen @@ -290,7 +291,7 @@ Zie webpagina voor details Overslaan Aanmelden - Weet u zeker dat u het aanmelden wilt overslaan? + Weet u zeker dat u het aanmelden wilt overslaan? U moet zich dan later wel aanmelden om afbeeldingen te kunnen uploaden. Meld u aan om deze functie te gebruiken Kopieer de wikitekst naar het klembord @@ -357,7 +358,7 @@ Foto\'s met technologie of cultuur zijn van harte welkom op Commons. U heeft %1$s van de antwoorden goed. Gefeliciteerd! Selecteer een van de twee opties om de vraag te beantwoorden - De sessie is verlopen. Meld u opnieuw aan. + De aanmelding is verlopen. Meld u opnieuw aan. Deel de quiz met uw vrienden! Doorgaan Correct antwoord @@ -441,7 +442,7 @@ Niet meer vragen Toestemming voor locatie vragen Naar toestemming voor locatie vragen als dat nodig is voor de functie meldingskaart dichtbij weergeven. - Er is iets misgegaan, we konden uw prestaties niet ophalen + Er is iets misgegaan, we konden de prestaties niet ophalen U heeft zoveel bijdragen geleverd dat ons prestatieberekeningssysteem het niet aankan. Dit is de ultieme prestatie. Eindigt op: Campagnes weergeven @@ -457,7 +458,7 @@ Met de nieuwe Android-fotokiezer riskeert u het verlies van locatiegegevens. Schakel dit in als u deze lijkt te gebruiken. Als u dit uitschakelt, kan de nieuwe Android-fotokiezer worden geactiveerd. Daarbij bestaat het risico dat locatie-informatie verloren gaat.\n\nTik op \'Lees meer\' voor meer informatie. U ziet de campagnes niet meer. U kunt deze melding desgewenst echter opnieuw inschakelen in de Instellingen. - Voor deze functie is een netwerkverbinding vereist, controleer uw verbindingsinstellingen. + Voor deze functie is een netwerkverbinding vereist. Controleer uw verbindingsinstellingen. Er is een fout opgetreden tijdens het verwerken van de afbeelding. Probeer het opnieuw! Token ophalen om te bewerken Sjabloon toevoegen voor categoriecontrole @@ -584,7 +585,7 @@ Heeft foto nodig Plaatstype: Brug, museum, hotel, enz. - Er is iets misgegaan bij het aanmelden. U moet uw wachtwoord opnieuw instellen. + Er is iets misgegaan bij het aanmelden. U moet uw wachtwoord opnieuw instellen. MEDIA SUBKLASSEN HOOFDKLASSEN @@ -720,8 +721,8 @@ Locatie toevoegen Verwijder alstublieft informatie uit deze email die u liever niet openbaar wilt maken. Wees u er ook bewust dat het emailadres en de bijbehorende gebruikersnaam en profielafbeelding die u gebruikt openbaar zichtbaar zullen zijn. Details - Prestaties zijn alleen beschikbaar in de productieversie. Sla de ontwikkelaarsdocumentatie erop na. - Het scorebord is alleen beschikbaar in de productieversie. Sla de ontwikkelaarsdocumentatie erop na. + Prestaties zijn alleen beschikbaar in de productieversie. Sla de ontwikkelaarsdocumentatie erop na. + Het scorebord is alleen beschikbaar in de productieversie. Sla de ontwikkelaarsdocumentatie erop na. Upload alleen afbeeldingen die u zelf heeft gemaakt. Gebruikers die afbeeldingen met copyright uploaden worden geblokkeerd. Dit is ook van toepassing op de beta versie. Bedankt voor het testen van de app! Deselecteer alle informatie die u niet openbaar wilt delen. API-niveau @@ -765,9 +766,22 @@ Bekijk uw prestaties Afbeelding Bewerken Locatie bewerken + Locatie bijgewerkt! + Locatie verwijderen + Locatiewaarschuwing verwijderen + Locaties maken foto\'s nuttiger en makkelijker vindbaar. Wilt u echt de locatie van deze foto verwijderen? + Locatie verwijderd! Auteur bedanken Fout bij het bedanken van de auteur. - Uw sessie is verlopen, meld u opnieuw aan. + Uw sessie is verlopen, meld u opnieuw aan. + Er is geen applicatie beschikbaar om GPX-bestanden te openen + Het bestand is opgeslagen + Wilt u het GPX-bestand openen? + Wilt u het KML-bestand openen? + Het KML-bestand kon niet opgeslagen worden. + Het GPX-bestand kon niet opgeslagen worden. + Het KML-bestand wordt opgeslagen + Het GPX-bestand wordt opgeslagen %d afbeelding geselecteerd %d afbeeldingen geselecteerd diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml index 10ab571fe..d69b0c6e4 100644 --- a/app/src/main/res/values-sr/strings.xml +++ b/app/src/main/res/values-sr/strings.xml @@ -673,7 +673,7 @@ Молимо уклоните из овог мејла све информације које не желите да делите јавно. Такође, имајте на уму да ће ваша имејл адреса са које објављујете и повезано име и профилна слика, бити јавно видљиви. Детаљи Достигнућа су доступна само у продукционој верзији, проверите документацију за програмере. - Табела лидера је доступна само у продукционој верзији, проверите документацију за програмере. + Табела лидера је доступна само у продукционој верзији, проверите документацију за програмере. Молимо вас да отпремате само слике које сте сами направили. Отпремаоци слика који крше ауторска права ће бити блокирани. Ово се такође односи на бета верзију. Хвала вам што тестирате апликацију! Молимо вас да поништите све информације које не жечите да делите јавно. Ниво API-ја @@ -720,7 +720,7 @@ Уклони локацију Локација уклоњена! Захвали се аутору - Ваша пријава је истекла. Молимо пријавите се поново. + Ваша пријава је истекла. Молимо пријавите се поново. Чување датотеке успешно Чување KML датотеке није успело. Чување GPX датотеке није успело. diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index f009d808f..1a77e0352 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -81,13 +81,13 @@ Var god vänta… Uppdatera bildtexter och beskrivningar Var god vänta… - Inloggningen lyckades! - Det gick inte att logga in! + Inloggningen lyckades! + Inloggningen misslyckades! Filen hittades inte. Försök med en annan fil. Maxgränsen för återförsök har uppnåtts! Avbryt uppladdningen och försök igen Inaktivera batterioptimeringen? Att ladda upp fler än 3 bilder är mer tillförlitligt när batterioptimering har inaktiverats. Inaktivera batterioptimering för Commons-appen i inställningarna för en smidigare uppladdningsupplevelse.\n\nMöjliga steg för att inaktivera batterioptimeringen:\n\nSteg 1: Tryck på knappen \"Inställningar\" nedan.\n\nSteg 2: Ändra \"Appar inte optimerade\" till \"Allt\".\n\nSteg 3: Sök efter \"Commons\" eller \"fr.free.nrw.commons\".\n\nSteg 4: Tryck på den och välj \"Optimera inte\".\n\nSteg 5: Tryck på \"Klar\". - Autentisering misslyckades, var god logga in igen + Autentisering misslyckades. Var god logga in igen. Överföring påbörjad! Kölagd uppladdning (begränsat anslutningsläge har aktiverats) %1$s överförd! @@ -114,11 +114,11 @@ Var god ange en bildtext för denna fil Beskrivning Bildtext - Det gick inte att logga in - nätverksfel + Det gick inte att logga in - nätverksfel För många misslyckade försök. Var god försök igen om några minuter. Tyvärr, denna användare har blockerats på Commons Du måste ange din tvåstegsverifieringskod. - Inloggningen misslyckades + Inloggningen misslyckades Ladda upp Namnge denna uppsättning Ändringar @@ -242,6 +242,7 @@ Om Inställningar Återkoppling + Återkoppling via GitHub Logga ut Guide Meddelanden @@ -275,7 +276,7 @@ Se webbplatsen för information Hoppa över Logga in - Vill du verkligen hoppa över inloggningen? + Vill du verkligen hoppa över inloggningen? Du behöver logga in för att ladda upp bilder i framtiden. Logga in för att använda denna funktion Kopiera wikitexten till urklipp @@ -342,7 +343,7 @@ Bilder som skildrar teknologi eller kultur är mycket välkomna på Commons. Du svarade rätt på %1$s av svaren. Gratulerar! Välj ett av de två alternativen för att svara på frågan - Inloggningssessionen löpte ut, var god logga in igen. + Inloggningssessionen löpte ut. Var god logga in igen. Dela din frågesport med dina vänner! Fortsätt Rätt svar @@ -351,6 +352,7 @@ Dela app Rotera Fel uppstod när platser i närheten hämtades. + Inga bilder i detta område Inga platser i närheten Fel uppstod när monument i närheten hämtades. Inga senaste sökningar @@ -425,7 +427,7 @@ Fråga inte detta igen Be om platsbehörighet Fråga efter platsbehörighet vid behov för att visa aviseringskortet för i närheten. - Någonting gick fel. Vi kunde inte hämta dina prestationer + Någonting gick fel. Vi kunde inte hämta prestationer Du har gjort så många bidrag att vårt system för att beräkna prestationer inte hinner med. Detta är den ultimata prestationen. Slutar den: Visa kampanjer @@ -441,7 +443,7 @@ Androids nya fotoväljare riskerar att förlora platsinformation. Aktivera om du verkar använda den. När detta inaktiveras kan Androids nya fotoväljare utlösas. Den riskerar att förlora platsinformation.\n\nTryck på \"Läs mer\" för mer information. Du kommer inte längre se kampanjerna. Om du vill kan du återaktivera denna avisering i inställningarna. - Denna funktion kräver nätverksuppkoppling. Kontrollera dina anslutningsinställningar. + Denna funktion kräver nätverksuppkoppling. Kontrollera dina anslutningsinställningar. Fel uppstod när bilden behandlades. Försök igen! Hämtar nyckel för redigering Lägger till mall för kategorikontroll @@ -568,7 +570,7 @@ Behöver foto Platstyp: Bro, museum, hotell, etc. - Någonting gick fel med inloggningen, du måste återställa ditt lösenord! + Någonting gick fel med inloggningen. Du måste återställa ditt lösenord! MEDIA UNDERORDNADE KLASSER ÖVERORDNADE KLASSER @@ -702,8 +704,8 @@ Lägg till plats Var god ta bort all information från detta e-postmeddelande som du inte är bekväm med att dela offentligt. Observera även att e-postadressen du använder samt det associerade namnet och profilbilden kommer att synas offentligt. Detaljer - Prestationer är endast tillgängliga i produktionsversionen. Se utvecklardokumentationen. - Topplistan är endast tillgänglig i produktionsversionen. Se utvecklardokumentationen. + Prestationer är endast tillgängliga i produktionsversionen. Se utvecklardokumentationen. + Topplistan är endast tillgänglig i produktionsversionen. Se utvecklardokumentationen. Var god ladda endast upp bilder du själv har tagit. Alla som laddar upp upphovsrättsskyddade bilder kommer att blockeras. Detta gäller även i betaversionen. Tack för att du testar appen! Avmarkera all information som du inte är bekväm med att dela offentligt. API-nivå @@ -747,8 +749,22 @@ Se dina prestationer Redigera bild Redigera plats + Plats uppdaterades! + Ta bort plats + Ta bort platsvarning + Plats gör bilder mer användbara och lättillgängliga. Vill du verkligen ta bort plats från den här bilden? + Plats togs bort! Tacka författaren Det gick inte att skicka tack till författaren. + Din inloggningssession löptes ut. Var god logga in igen. + Det finns inget tillgängligt program för att öppna GPX-filer + Filen sparades + Vill du öppna GPX-filen? + Vill du öppna KML-filen? + Misslyckades att spara KML-filen. + Misslyckades att spara GPX-filen. + Sparar KML-fil + Sparar GPX-fil %d markerad bild %d markerade bilder diff --git a/app/src/main/res/values-yue-hant/error.xml b/app/src/main/res/values-yue-hant/error.xml new file mode 100644 index 000000000..68579e4a0 --- /dev/null +++ b/app/src/main/res/values-yue-hant/error.xml @@ -0,0 +1,9 @@ + + + + 同享壞咗 + 哎呀。出咗錯! + 多謝你! + From de95c4662736f820ce3f59f9e126f1dfb3bce5e4 Mon Sep 17 00:00:00 2001 From: "translatewiki.net" Date: Mon, 15 Apr 2024 14:02:26 +0200 Subject: [PATCH 06/25] Localisation updates from https://translatewiki.net. --- app/src/main/res/values-de/strings.xml | 45 +++++++++++++------------ app/src/main/res/values-fi/strings.xml | 2 +- app/src/main/res/values-krc/strings.xml | 4 +-- app/src/main/res/values-ky/strings.xml | 1 + 4 files changed, 27 insertions(+), 25 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 6cc748b85..03003a17d 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -113,7 +113,7 @@ Datei nicht gefunden. Bitte versuche es mit einer anderen Datei. Maximales Wiederholungslimit erreicht! Bitte brich den Upload ab und versuche es erneut Batterieoptimierung ausschalten? - Das Hochladen von mehr als 3 Bildern funktioniert zuverlässiger, wenn die Batterieoptimierung ausgeschaltet ist. Bitte schalten Sie die Batterieoptimierung für die Commons-App in den Einstellungen aus, um ein reibungsloses Upload-Erlebnis zu gewährleisten. \n\nMögliche Schritte zum Ausschalten der Batterieoptimierung:\n\nSchritt 1: Tippen Sie unten auf die Schaltfläche „Einstellungen“.\n\nSchritt 2: Wechseln Sie von „Nicht optimiert“ zu „Alle“. apps‘.\n\nSchritt 3: Suchen Sie nach „Commons“ oder „fr.free.nrw.commons“.\n\nSchritt 4: Tippen Sie darauf und wählen Sie „Nicht optimieren“.\n\nSchritt 5: Klicken Sie auf „Fertig“. + Das Hochladen von mehr als 3 Bildern funktioniert zuverlässiger, wenn die Batterieoptimierung ausgeschaltet ist. Bitte schalte die Batterieoptimierung für die Commons-App in den Einstellungen aus, um ein reibungsloses Upload-Erlebnis zu gewährleisten. \n\nMögliche Schritte zum Ausschalten der Batterieoptimierung:\n\nSchritt 1: Tippe unten auf die Schaltfläche „Einstellungen“.\n\nSchritt 2: Wechsele von „Nicht optimiert“ zu „Alle“.\n\nSchritt 3: Suche nach „Commons“ oder „fr.free.nrw.commons“.\n\nSchritt 4: Tippe darauf und wählen Sie „Nicht optimieren“.\n\nSchritt 5: Klicke auf „Fertig“. Authentifizierung fehlgeschlagen. Bitte erneut anmelden. Hochladen gestartet! Hochladen in Warteschlange (eingeschränkter Verbindungsmodus aktiviert) @@ -295,7 +295,7 @@ Mit der In-App-Kamera aufgenommene Bilder auf deinem Gerät speichern Bei deinem Benutzerkonto anmelden Logdatei senden - Logdatei an die Entwickler per E-Mail senden, um Probleme mit der App zu beheben. Hinweis: Die Protokolle können potentiell Informationen zur Identifizierung enthalten. + Sende die Protokolldatei per E-Mail an die Entwickler, um bei der Fehlerbehebung mit der App zu helfen. Hinweis: Protokolle können möglicherweise identifizierende Informationen enthalten Zum Öffnen der URL wurde kein Webbrowser gefunden Fehler! URL nicht gefunden Zur Löschung vorschlagen @@ -462,17 +462,17 @@ Erlauben Sie der App, den Standort abzurufen, falls die Kamera ihn nicht aufzeichnet. Einige Gerätekameras zeichnen den Standort nicht auf. In solchen Fällen wird Ihr Beitrag nützlicher, wenn Sie die App den Standort abrufen und anhängen lassen. Sie können dies jederzeit in den Einstellungen ändern Erlauben Ablehnen - Bitte aktivieren Sie den Standortzugriff in den Einstellungen und versuchen Sie es erneut. \n\nHinweis: Der Upload enthält möglicherweise keinen Standort, wenn die App den Standort nicht innerhalb eines kurzen Zeitraums vom Gerät abrufen kann. + Bitte aktiviere den Standortzugriff in den Einstellungen und versuche es erneut. \n\nHinweis: Der Upload enthält möglicherweise keinen Standort, wenn die App den Standort nicht innerhalb kurzer Zeit vom Gerät abrufen kann. Die In-App-Kamera benötigt eine Standortberechtigung, um sie an Ihre Bilder anzuhängen, falls der Standort nicht in EXIF verfügbar ist. Bitte erlauben Sie der App, auf Ihren Standort zuzugreifen, und versuchen Sie es erneut.\n\nHinweis: Der Upload enthält möglicherweise keinen Standort, wenn die App den Standort nicht innerhalb eines kurzen Zeitraums vom Gerät abrufen kann. Aufgrund fehlender Standortberechtigung konnte die App den Standort nicht zusammen mit In-Shots aufzeichnen Die App zeichnet den Standort nicht zusammen mit In-Shots auf, da das GPS ausgeschaltet ist - Verwenden Sie die dokumentbasierte Fotoauswahl + Dokumentbasierte Fotoauswahl verwenden Bei der neuen Android-Fotoauswahl besteht die Gefahr, dass Standortinformationen verloren gehen. Aktivieren Sie diese Option, wenn Sie sie anscheinend verwenden. Wenn Sie dies deaktivieren, wird möglicherweise die neue Android-Fotoauswahl aktiviert. Es besteht die Gefahr, dass Standortinformationen verloren gehen.\n\nTippen Sie auf „Weitere Informationen“, um weitere Informationen zu erhalten. Du wirst die Kampagnen nicht mehr sehen. Du kannst dennoch diese Benachrichtigung in den Einstellungen erneut aktivieren, falls du dies möchtest. Diese Funktion erfordert eine Netzwerkverbindung. Bitte überprüfe deine Verbindungseinstellungen. Bei der Verarbeitung des Bildes ist ein Fehler aufgetreten. Bitte versuche es erneut! - Token zur Bearbeitung abrufen + Token zur Bearbeitung wird abgerufen Vorlage zur Kategorieprüfung hinzufügen Kategorieprüfung für %1$s anfordern Kategorieprüfung anfordern @@ -483,9 +483,9 @@ Kategorieprüfung für %1$s anfordern Fertig Dankeschöns senden: Erfolgreich - Dankeschöns erfolgreich an %1$s gesandt + Dankeschön erfolgreich an %1$s gesandt Senden der Dankeschöns %1$s fehlgeschlagen - Dankeschöns senden: Fehler + Dankeschön senden: Fehler Dankeschöns für %1$s senden Entspricht dies den Regeln des Urheberrechts? Ist dies korrekt kategorisiert? @@ -501,13 +501,13 @@ Nächstes Bild Ja, warum nicht Das Anklicken dieser Schaltfläche gibt dir ein anderes kürzlich hochgeladenes Bild von Wikimedia Commons - Du kannst Bilder überprüfen, um die Qualität von Wikimedia Commons zu verbessern.\nDie drei Parameter der Überprüfung sind:\n\n- Ist dieses Bild im Projektbereich?\nWenn du auf Nein (außerhalb des Projektsbereich) tippst, fügen diesem Bild eine Vorlage für eine Löschung hinzu.\n\n- Entspricht das Bild den Regeln des Urheberrechts?\nWenn du auf Nein (entspricht nicht dem Urheberrecht) tippst, füge diesem Bild eine Löschvorlage hinzu.\n\n- Ist dieses Bild richtig kategorisiert?\nWenn du auf Nein (nicht korrekt kategorisiert) tippst, füge diesem Bild eine Vorlage für einen Kategorisierungswunsch hinzu.\n\nWenn alles in Ordnung ist, wird dem Bild keine Vorlage hinzugefügt und du erhältst die Möglichkeit, dich bei dem Urheber zu bedanken. + Du kannst Bilder überprüfen, um die Qualität von Wikimedia Commons zu verbessern.\nDie drei Parameter der Überprüfung sind:\n\n- Ist dieses Bild im Projektbereich?\nWenn du auf Nein (außerhalb des Projektbereichs) tippst, fügen diesem Bild eine Löschvorlage hinzu.\n\n- Entspricht das Bild den Regeln des Urheberrechts?\nWenn du auf Nein (entspricht nicht dem Urheberrecht) tippst, füge diesem Bild eine Löschvorlage hinzu.\n\n- Ist dieses Bild richtig kategorisiert?\nWenn du auf Nein (nicht korrekt kategorisiert) tippst, füge diesem Bild eine Vorlage für einen Kategorisierungswunsch hinzu.\n\nWenn alles in Ordnung ist, wird dem Bild keine Vorlage hinzugefügt und du erhältst die Möglichkeit, dich bei dem Urheber zu bedanken. Keine Bilder verwendet Keine Bilder zurückgesetzt Keine Bilder hochgeladen Du hast keine ungelesenen Benachrichtigungen Du hast keine gelesenen Benachrichtigungen - Lognutzung teilen + Protokolle freigeben mit Gelesene ansehen Ungelesene ansehen Beim Auswählen der Bilder ist ein Fehler aufgetreten @@ -578,7 +578,7 @@ Die Überschrift wurde hinzugefügt. Koordinaten konnten nicht hinzugefügt werden. Es konnten keine Beschreibungen hinzugefügt werden. - Es konnte keine Überschrift hinzugefügt werden. + Die Überschrift konnte nicht hinzugefügt werden. Es können keine Koordinaten abgerufen werden. Beschreibungen können nicht abgerufen werden Beschreibungen und Überschriften bearbeiten @@ -589,10 +589,10 @@ Text in die Zwischenablage kopiert Benachrichtigung als gelesen markieren Ein Fehler ist aufgetreten! - Zustand des Platzes: + Zustand des Ortes: Existiert Benötigt Foto - Platztyp: + Ortstyp: Brücke, Museum, Hotel etc. Bei der Anmeldung ist etwas schiefgelaufen. Du musst dein Passwort zurücksetzen! MEDIA @@ -607,17 +607,17 @@ Etwas ist schiefgelaufen. Das Hintergrundbild konnte nicht eingestellt werden Als Hintergrundbild festlegen Hintergrundbild wird festgelegt. Bitte warten... - System folgen + Systemeinstellung Dunkel Hell Die Standorteinstellungen konnten nicht geöffnet werden. Bitte schalte den Standort manuell ein Die besten Ergebnisse erzielst du, wenn du den Modus „Hohe Genauigkeit“ wählst. Standort einschalten? Für die Funktion „in der Nähe“ muss der Standort aktiviert sein, um richtig zu funktionieren - Sie müssen Zugriff auf Ihren aktuellen Standort gewähren, um den Standort automatisch festzulegen. + Um den Standort automatisch festzulegen, musst du Zugriff auf deinen aktuellen Standort gewähren. Hast du diese beiden Bilder am selben Ort aufgenommen? Möchtest du den Breiten- und Längengrad des rechten Bildes verwenden? Mehr laden - Keine Orte gefunden, versuche, deine Suchkriterien zu ändern. + Es wurden keine Orte gefunden. Versuche, deine Suchkriterien zu ändern. Empfohlene Verbesserungen: - Füge Kategorien zu diesem Bild hinzu, um die Benutzerfreundlichkeit zu verbessern. - Füge dieses Bild dem dazugehörigen Wikipedia-Artikel hinzu, der keine Bilder enthält. @@ -632,7 +632,7 @@ 5. Füge den Wikitext an der entsprechenden Stelle ein. 6. Bearbeite den Wikitext für eine geeignete Positionierung, falls erforderlich. Weitere Informationen findest du <a href=\"https://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style/Images#How_to_place_an_image\">hier</a>. 7. Veröffentliche den Artikel - wikicode in die Zwischenablage kopieren + Wikicode in die Zwischenablage kopieren pausieren fortfahren Pausiert @@ -648,7 +648,7 @@ Als Ranglisten-Avatar festlegen Als Avatar festlegen, bitte warten Avatar festgelegt - Fehler beim Setzen eines neuen Avatars, bitte versuche es erneut + Fehler beim Setzen des neuen Avatars, bitte versuche es erneut Als Avatar festlegen Jährlich Wöchentlich @@ -668,7 +668,7 @@ Hochladen abbrechen Du hast den eingeschränkten Verbindungsmodus aktiviert. Alle Uploads sind angehalten und werden fortgesetzt, sobald du diesen Modus deaktivierst. Der begrenzte Verbindungsmodus ist aktiv. - Bitte schreibe eine kurze Bildunterschrift, die sagt, was dein Bild zeigt. Sage in der Beschreibung, was das Bild interessant oder typisch oder selten macht, und erkläree den Kontext, sichtbar oder nicht. Verwende möglichst genaue Begriffe. + Bitte schreibe eine kurze Bildunterschrift, die sagt, was dein Bild zeigt. Sage in der Beschreibung, was das Bild interessant, typisch oder selten macht, und erkläre den Kontext, egal, ob dieser sichtbar ist oder nicht. Verwende möglichst genaue Begriffe. Bitte finde und wähle alle Benennungen, die dieses Bild darstellt. Sei so spezifisch wie möglich. Wenn das Bild mehrere Begriffe darstellt, wähle sie alle in angemessener Weise aus. Wähle keine generischen Begriffe, wenn spezifischere Begriffe verfügbar sind. Bitte wähle die entsprechenden Kategorien aus. Im Gegensatz zu den Darstellungen sind die Kategorien nur in Englisch. Commons macht deine Bilder wiederverwendbar und von jedem adaptierbar. Möchtest du auf alle Rechte verzichten? Möchtest du als Urheber genannt werden? Möchtest du, dass Bearbeitungen die gleiche Lizenz verwenden? @@ -697,7 +697,7 @@ Keine Bilder Fertig Zurück - Willkommen bei der benutzerdefinierten Auswahl + Willkommen bei der benutzerdefinierten Bildauswahl Diese Auswahl zeigt dir, welche Bilder du bereits auf Commons hochgeladen hast. Im Gegensatz zum Bild auf der linken Seite ist das Bild auf der rechten Seite mit dem Commons-Logo versehen, das anzeigt, dass es bereits hochgeladen wurde. Für die Bildvorschau berühren und halten. Großartig @@ -708,7 +708,7 @@ Fehler: Grenze für das Hochladen wurde überschritten Dieses Bild wird am Wiki-Loves-Monuments-Wettbewerb teilnehmen Denkmäler anzeigen - Es ist der Wiki Loves Monuments Monat! + Es ist der „Wiki Loves Monuments“-Monat! MEHR ERFAHREN Wiki Loves Monuments ist ein internationaler Fotowettbewerb für Denkmäler, der von Wikimedia organisiert wird. Erlaubnis erforderlich @@ -724,7 +724,7 @@ Zurücksetzen Standortdaten helfen den Wiki-Benutzern, dein Bild zu finden, was es viel nützlicher macht.\nDeine zuletzt hochgaldenen Fotos haben keinen Standort.\nWir empfehlen dir, den Standort in den Einstellungen deiner Kamera-App zu aktivieren.\nVielen Dank für das Hochladen! Kein Standort gefunden - Wie wäre es, den Ort hinzuzufügen, an dem das Bild aufgenommen wurde?\nOrtsangaben helfen Wiki-Benutzern, dein Bild zu finden, und machen es so viel nützlicher.\nDanke schön! + Wie wäre es, den Ort hinzuzufügen, an dem dieses Bild aufgenommen wurde?\nOrtsangaben helfen Wiki-Benutzern, dein Bild zu finden, und machen es viel nützlicher.\nVielen Dank! Standort hinzufügen Bitte entferne aus dieser E-Mail alle Informationen, die du nicht öffentlich mitteilen möchtest. Bitte beachte auch, dass deine E-Mail-Adresse, mit der du schreibst, sowie der dazugehörige Name und das Profilbild öffentlich sichtbar sind. Einzelheiten @@ -763,7 +763,7 @@ Willkommen im Vollbild-Auswahlmodus Verwende zwei Finger, um hinein- und herauszuzoomen. Wische schnell und lange, um diese Aktionen auszuführen:\n- Links/Rechts: Zum vorherigen/nächsten gehen\n- Nach oben: Auswählen\n- Nach unten: Als nicht zum Hochladen markieren. - Um deinen Bestenlisten Avatar einzustellen, klicke \"Set as avatar\" in dem Drei-Punkte-Menü bei jedem Bild. + Um deinen Bestenlisten-Avatar einzustellen, klicke auf \"Als Avatar festlegen\" in dem Drei-Punkte-Menü auf einem Bild. Die Koordinaten sind nicht exakt, aber der Uploader dieses Bildes denkt, sie sind nah genug. Speicherberechtigungen verweigert Dieser Artikel kann nicht geteilt werden @@ -779,6 +779,7 @@ Durch die Standortangabe werden Bilder nützlicher und leichter auffindbar. Möchtest du den Standort wirklich aus diesem Bild entfernen? Standort entfernt! Dem Autor danken + Fehler beim Senden des Dankeschöns an den Autor. Deine Sitzung ist abgelaufen. Bitte melde dich erneut an. Keine Anwendung zum Öffnen von GPX-Dateien verfügbar Datei erfolgreich gespeichert diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 2da2b77b3..f1ce6695e 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -240,7 +240,7 @@ Kirjaudu ulos Opas Ilmoitukset - Tarkasta + Arviointi kuvausta ei löytynyt Commons-tiedostosivu Wikidata-kohde diff --git a/app/src/main/res/values-krc/strings.xml b/app/src/main/res/values-krc/strings.xml index db7574f94..c5b0aeb51 100644 --- a/app/src/main/res/values-krc/strings.xml +++ b/app/src/main/res/values-krc/strings.xml @@ -32,9 +32,9 @@ Башлыкъ Ачыкълау Системагъа кириуде халат! - Джюклеу + Джюкле Тюрлениуле - Джюклеу + Джюкле Категорияланы изле Сакъла Категорияла diff --git a/app/src/main/res/values-ky/strings.xml b/app/src/main/res/values-ky/strings.xml index ca67541ad..c18b6f27b 100644 --- a/app/src/main/res/values-ky/strings.xml +++ b/app/src/main/res/values-ky/strings.xml @@ -113,6 +113,7 @@ Аталыш Сыпаттама Автор + Лицензия Жокко чыгаруу Жабуу Жүктөө From 1f2e31d45b1963e6b13968cf61cbffef36240fdc Mon Sep 17 00:00:00 2001 From: RedAuburn Date: Tue, 16 Apr 2024 08:51:54 +0100 Subject: [PATCH 07/25] Add Adaptive Icon (#5687) * Add Adaptive Icon allows for better theming on android O and above. * remove values-yue-hant --- .../res/drawable/commons_logo_monochrome.xml | 75 +++++++++++++++++++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 1 + app/src/main/res/values-yue-hant/error.xml | 9 --- 3 files changed, 76 insertions(+), 9 deletions(-) create mode 100644 app/src/main/res/drawable/commons_logo_monochrome.xml delete mode 100644 app/src/main/res/values-yue-hant/error.xml diff --git a/app/src/main/res/drawable/commons_logo_monochrome.xml b/app/src/main/res/drawable/commons_logo_monochrome.xml new file mode 100644 index 000000000..49fba34c2 --- /dev/null +++ b/app/src/main/res/drawable/commons_logo_monochrome.xml @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml index 7353dbd1f..fa3ab2e2f 100644 --- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -1,5 +1,6 @@ + \ No newline at end of file diff --git a/app/src/main/res/values-yue-hant/error.xml b/app/src/main/res/values-yue-hant/error.xml deleted file mode 100644 index 68579e4a0..000000000 --- a/app/src/main/res/values-yue-hant/error.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 同享壞咗 - 哎呀。出咗錯! - 多謝你! - From 04f9ef4819bfc55accbaa0202faebe81b2298ecc Mon Sep 17 00:00:00 2001 From: Shashwat Kedia <142137555+ShashwatKedia@users.noreply.github.com> Date: Wed, 17 Apr 2024 09:18:34 +0530 Subject: [PATCH 08/25] Fixes Location related flow of the app #5256 , #5461, #5490 (#5494) * Resolved merged conflicts * Resolved merge conflicts and updated workflow * Updated Location Flow and merged conflicts * Update flow and merge conflicts * Fixed LocationPicker's location flow * Removed redundant code from LocationPermissionsHelper * Fixed Explore fragment crashing and incorrect behaviour * Updated LocationPicker Flow * Fixed Nearby not working as intended * Final update to location flow of all maps * Added the reqested changes and fixed bugs * Resolved requested change in in-app camera location flow * Fixed In-app camera location flow * Resolved conflicts in ContributionsListFragment * Updated java doc as requested * Resolved nearby card dialog not being shown * Optimised LocationPermissionsHelper javadoc * Made requested changes for preference check * Added javadoc and requested comment for later reference * Implemented requested code changes * Fixed failing test due to changes made during PR * Added string resource for ExploreMapFragment * Changed string resource for rationale dialog * Added standard location flow information in LocationPermissionsHelper * Added javadoc for doNotAskForLocationPermission * Removed unused import * Updated javadoc * Removed values-yue-hant * Fix some merge conflict errors * Fix minor errors due to mergre conflicts * Fix some refactor errors * Fixed minor bug due to merging conflicts * Delete app/src/main/res/values-yue-hant directory * Final changes to NearbyParentFragment * Fixes #5686 map coordinates set to image coords * Removed some redundant code from recenterMap * Removed one test whose method no longer exists * Removed unused method from contract of nearby * Removed redundant method from NearbyParentFragment * nearby: add a FIXME about the possibly redudant code --------- Co-authored-by: Kaartic Sivaraam --- .../LocationPickerActivity.java | 68 +++++-- .../locations/BookmarkLocationsFragment.java | 2 +- .../contributions/ContributionController.java | 56 ++++-- .../contributions/ContributionsFragment.java | 24 +-- .../ContributionsListFragment.java | 36 ++-- .../explore/map/ExploreMapContract.java | 8 +- .../explore/map/ExploreMapFragment.java | 183 ++++++++++-------- .../explore/map/ExploreMapPresenter.java | 2 - .../location/LocationPermissionsHelper.java | 171 ++++++++++------ .../NearbyParentFragmentContract.java | 4 +- .../fragments/NearbyParentFragment.java | 138 +++++++------ .../NearbyParentFragmentPresenter.java | 1 - .../commons/settings/SettingsFragment.java | 2 +- app/src/main/res/values/strings.xml | 10 +- .../NearbyParentFragmentPresenterTest.kt | 3 +- .../nearby/NearbyParentFragmentUnitTest.kt | 10 +- 16 files changed, 421 insertions(+), 297 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/LocationPicker/LocationPickerActivity.java b/app/src/main/java/fr/free/nrw/commons/LocationPicker/LocationPickerActivity.java index 9a1c5c935..035f542b3 100644 --- a/app/src/main/java/fr/free/nrw/commons/LocationPicker/LocationPickerActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/LocationPicker/LocationPickerActivity.java @@ -4,12 +4,14 @@ import static fr.free.nrw.commons.upload.mediaDetails.UploadMediaDetailFragment. import static fr.free.nrw.commons.upload.mediaDetails.UploadMediaDetailFragment.LAST_ZOOM; import static fr.free.nrw.commons.utils.MapUtils.ZOOM_LEVEL; +import android.Manifest.permission; import android.annotation.SuppressLint; import android.content.Intent; import android.content.pm.PackageManager; import android.graphics.Color; import android.graphics.Paint; import android.graphics.drawable.Drawable; +import android.location.LocationManager; import android.os.Bundle; import android.preference.PreferenceManager; import android.text.Html; @@ -21,12 +23,14 @@ import android.view.animation.OvershootInterpolator; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; +import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.AppCompatTextView; import androidx.constraintlayout.widget.ConstraintLayout; +import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; import com.google.android.material.floatingactionbutton.FloatingActionButton; import fr.free.nrw.commons.CameraPosition; @@ -39,9 +43,9 @@ import fr.free.nrw.commons.auth.csrf.CsrfTokenClient; import fr.free.nrw.commons.auth.csrf.InvalidLoginTokenException; import fr.free.nrw.commons.coordinates.CoordinateEditHelper; import fr.free.nrw.commons.filepicker.Constants; +import fr.free.nrw.commons.kvstore.BasicKvStore; import fr.free.nrw.commons.kvstore.JsonKvStore; import fr.free.nrw.commons.location.LocationPermissionsHelper; -import fr.free.nrw.commons.location.LocationPermissionsHelper.Dialog; import fr.free.nrw.commons.location.LocationPermissionsHelper.LocationPermissionCallback; import fr.free.nrw.commons.location.LocationServiceManager; import fr.free.nrw.commons.theme.BaseActivity; @@ -135,6 +139,7 @@ public class LocationPickerActivity extends BaseActivity implements @Named("default_preferences") public JsonKvStore applicationKvStore; + BasicKvStore store; /** * isDarkTheme: for keeping a track of the device theme and modifying the map theme accordingly */ @@ -145,6 +150,8 @@ public class LocationPickerActivity extends BaseActivity implements @Inject LocationServiceManager locationManager; + LocationPermissionsHelper locationPermissionsHelper; + @Inject SessionManager sessionManager; @@ -163,6 +170,7 @@ public class LocationPickerActivity extends BaseActivity implements isDarkTheme = systemThemeUtils.isDeviceInNightMode(); moveToCurrentLocation = false; + store = new BasicKvStore(this, "LocationPermissions"); getWindow().requestFeature(Window.FEATURE_ACTION_BAR); final ActionBar actionBar = getSupportActionBar(); @@ -482,19 +490,10 @@ public class LocationPickerActivity extends BaseActivity implements * Center the map at user's current location */ private void requestLocationPermissions() { - LocationPermissionsHelper.Dialog locationAccessDialog = new Dialog( - R.string.location_permission_title, - R.string.upload_map_location_access - ); - - LocationPermissionsHelper.Dialog locationOffDialog = new Dialog( - R.string.ask_to_turn_location_on, - R.string.upload_map_location_access - ); - LocationPermissionsHelper locationPermissionsHelper = new LocationPermissionsHelper( + locationPermissionsHelper = new LocationPermissionsHelper( this, locationManager, this); - locationPermissionsHelper.handleLocationPermissions(locationAccessDialog, - locationOffDialog); + locationPermissionsHelper.requestForLocationAccess(R.string.location_permission_title, + R.string.upload_map_location_access); } @Override @@ -505,7 +504,7 @@ public class LocationPickerActivity extends BaseActivity implements && grantResults[0] == PackageManager.PERMISSION_GRANTED) { onLocationPermissionGranted(); } else { - onLocationPermissionDenied(""); + onLocationPermissionDenied(getString(R.string.upload_map_location_access)); } super.onRequestPermissionsResult(requestCode, permissions, grantResults); } @@ -524,21 +523,50 @@ public class LocationPickerActivity extends BaseActivity implements @Override public void onLocationPermissionDenied(String toastMessage) { - //do nothing + if (!ActivityCompat.shouldShowRequestPermissionRationale(this, + permission.ACCESS_FINE_LOCATION)) { + if (!locationPermissionsHelper.checkLocationPermission(this)) { + if (store.getBoolean("isPermissionDenied", false)) { + // means user has denied location permission twice or checked the "Don't show again" + locationPermissionsHelper.showAppSettingsDialog(this, + R.string.upload_map_location_access); + } else { + Toast.makeText(getBaseContext(), toastMessage, Toast.LENGTH_LONG).show(); + } + store.putBoolean("isPermissionDenied", true); + } + } else { + Toast.makeText(getBaseContext(), toastMessage, Toast.LENGTH_LONG).show(); + } } @Override public void onLocationPermissionGranted() { + if (moveToCurrentLocation || !(activity.equals("MediaActivity"))) { + if (locationPermissionsHelper.isLocationAccessToAppsTurnedOn()) { + locationManager.requestLocationUpdatesFromProvider( + LocationManager.NETWORK_PROVIDER); + locationManager.requestLocationUpdatesFromProvider(LocationManager.GPS_PROVIDER); + getLocation(); + } else { + getLocation(); + locationPermissionsHelper.showLocationOffDialog(this, + R.string.ask_to_turn_location_on_text); + } + } + } + + /** + * Gets new location if locations services are on, else gets last location + */ + private void getLocation() { fr.free.nrw.commons.location.LatLng currLocation = locationManager.getLastLocation(); if (currLocation != null) { GeoPoint currLocationGeopoint = new GeoPoint(currLocation.getLatitude(), currLocation.getLongitude()); addLocationMarker(currLocationGeopoint); - if (moveToCurrentLocation) { - mapView.getController().setCenter(currLocationGeopoint); - mapView.getController().animateTo(currLocationGeopoint); - moveToCurrentLocation = false; - } + mapView.getController().setCenter(currLocationGeopoint); + mapView.getController().animateTo(currLocationGeopoint); markerImage.setTranslationY(0); } } diff --git a/app/src/main/java/fr/free/nrw/commons/bookmarks/locations/BookmarkLocationsFragment.java b/app/src/main/java/fr/free/nrw/commons/bookmarks/locations/BookmarkLocationsFragment.java index 216b56712..65d0e45a8 100644 --- a/app/src/main/java/fr/free/nrw/commons/bookmarks/locations/BookmarkLocationsFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/bookmarks/locations/BookmarkLocationsFragment.java @@ -45,7 +45,7 @@ public class BookmarkLocationsFragment extends DaggerFragment { contributionController.locationPermissionCallback.onLocationPermissionGranted(); } else { if (shouldShowRequestPermissionRationale(permission.ACCESS_FINE_LOCATION)) { - contributionController.handleShowRationaleFlowCameraLocation(getActivity()); + contributionController.handleShowRationaleFlowCameraLocation(getActivity(), inAppCameraLocationPermissionLauncher); } else { contributionController.locationPermissionCallback.onLocationPermissionDenied(getActivity().getString(R.string.in_app_camera_location_permission_denied)); } diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionController.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionController.java index 140c7d67d..7c48bb2b0 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionController.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionController.java @@ -17,7 +17,6 @@ import fr.free.nrw.commons.filepicker.UploadableFile; import fr.free.nrw.commons.kvstore.JsonKvStore; import fr.free.nrw.commons.location.LatLng; import fr.free.nrw.commons.location.LocationPermissionsHelper; -import fr.free.nrw.commons.location.LocationPermissionsHelper.Dialog; import fr.free.nrw.commons.location.LocationPermissionsHelper.LocationPermissionCallback; import fr.free.nrw.commons.location.LocationServiceManager; import fr.free.nrw.commons.nearby.Place; @@ -84,15 +83,6 @@ public class ContributionController { */ private void createDialogsAndHandleLocationPermissions(Activity activity, ActivityResultLauncher inAppCameraLocationPermissionLauncher) { - LocationPermissionsHelper.Dialog locationAccessDialog = new Dialog( - R.string.location_permission_title, - R.string.in_app_camera_location_permission_rationale - ); - - LocationPermissionsHelper.Dialog locationOffDialog = new Dialog( - R.string.ask_to_turn_location_on, - R.string.in_app_camera_needs_location - ); locationPermissionCallback = new LocationPermissionCallback() { @Override public void onLocationPermissionDenied(String toastMessage) { @@ -106,7 +96,12 @@ public class ContributionController { @Override public void onLocationPermissionGranted() { - initiateCameraUpload(activity); + if (!locationPermissionsHelper.isLocationAccessToAppsTurnedOn()) { + showLocationOffDialog(activity, R.string.in_app_camera_needs_location, + R.string.in_app_camera_location_unavailable); + } else { + initiateCameraUpload(activity); + } } }; @@ -115,22 +110,46 @@ public class ContributionController { if (inAppCameraLocationPermissionLauncher != null) { inAppCameraLocationPermissionLauncher.launch( new String[]{permission.ACCESS_FINE_LOCATION}); - } else { - locationPermissionsHelper.handleLocationPermissions(locationAccessDialog, - locationOffDialog); } } - public void handleShowRationaleFlowCameraLocation(Activity activity) { + /** + * Shows a dialog alerting the user about location services being off + * and asking them to turn it on + * TODO: Add a seperate callback in LocationPermissionsHelper for this. + * Ref: https://github.com/commons-app/apps-android-commons/pull/5494/files#r1510553114 + * + * @param activity Activity reference + * @param dialogTextResource Resource id of text to be shown in dialog + * @param toastTextResource Resource id of text to be shown in toast + */ + private void showLocationOffDialog(Activity activity, int dialogTextResource, + int toastTextResource) { + DialogUtil + .showAlertDialog(activity, + activity.getString(R.string.ask_to_turn_location_on), + activity.getString(dialogTextResource), + activity.getString(R.string.title_app_shortcut_setting), + activity.getString(R.string.cancel), + () -> locationPermissionsHelper.openLocationSettings(activity), + () -> { + Toast.makeText(activity, activity.getString(toastTextResource), + Toast.LENGTH_LONG).show(); + initiateCameraUpload(activity); + } + ); + } + + public void handleShowRationaleFlowCameraLocation(Activity activity, + ActivityResultLauncher inAppCameraLocationPermissionLauncher) { DialogUtil.showAlertDialog(activity, activity.getString(R.string.location_permission_title), activity.getString(R.string.in_app_camera_location_permission_rationale), activity.getString(android.R.string.ok), activity.getString(android.R.string.cancel), () -> { - if (!locationPermissionsHelper.isLocationAccessToAppsTurnedOn()) { - locationPermissionsHelper.showLocationOffDialog(activity); - } + createDialogsAndHandleLocationPermissions(activity, + inAppCameraLocationPermissionLauncher); }, () -> locationPermissionCallback.onLocationPermissionDenied( activity.getString(R.string.in_app_camera_location_permission_denied)), @@ -162,6 +181,7 @@ public class ContributionController { inAppCameraLocationPermissionLauncher); }, () -> { + ViewUtil.showLongToast(activity, R.string.in_app_camera_location_permission_denied); defaultKvStore.putBoolean("inAppCameraLocationPref", false); initiateCameraUpload(activity); }, diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java index 9186b62fc..189b2665f 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java @@ -147,21 +147,20 @@ public class ContributionsFragment areAllGranted = areAllGranted && b; } - if (areAllGranted) { - onLocationPermissionGranted(); + if (areAllGranted) { + onLocationPermissionGranted(); + } else { + if (shouldShowRequestPermissionRationale(Manifest.permission.ACCESS_FINE_LOCATION) + && store.getBoolean("displayLocationPermissionForCardView", true) + && !store.getBoolean("doNotAskForLocationPermission", false) + && (((MainActivity) getActivity()).activeFragment == ActiveFragment.CONTRIBUTIONS)) { + binding.cardViewNearby.permissionType = NearbyNotificationCardView.PermissionType.ENABLE_LOCATION_PERMISSION; } else { - if (shouldShowRequestPermissionRationale(Manifest.permission.ACCESS_FINE_LOCATION) - && store.getBoolean("displayLocationPermissionForCardView", true) - && !store.getBoolean("doNotAskForLocationPermission", false) - && (((MainActivity) getActivity()).activeFragment == ActiveFragment.CONTRIBUTIONS)) { - binding.cardViewNearby.permissionType = NearbyNotificationCardView.PermissionType.ENABLE_LOCATION_PERMISSION; - showNearbyCardPermissionRationale(); - } else { - displayYouWontSeeNearbyMessage(); - } + displayYouWontSeeNearbyMessage(); } } - }); + } + }); @NonNull public static ContributionsFragment newInstance() { @@ -537,6 +536,7 @@ public class ContributionsFragment private void displayYouWontSeeNearbyMessage() { ViewUtil.showLongToast(getActivity(), getResources().getString(R.string.unable_to_display_nearest_place)); + // Set to true as the user doesn't want the app to ask for location permission anymore store.putBoolean("doNotAskForLocationPermission", true); } diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java index fb48c3c65..2dbe8aff0 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java @@ -98,26 +98,30 @@ public class ContributionsListFragment extends CommonsDaggerSupportFragment impl private int contributionsSize; private String userName; - private ActivityResultLauncher inAppCameraLocationPermissionLauncher = registerForActivityResult(new ActivityResultContracts.RequestMultiplePermissions(), new ActivityResultCallback>() { - @Override - public void onActivityResult(Map result) { - boolean areAllGranted = true; - for (final boolean b : result.values()) { - areAllGranted = areAllGranted && b; - } + private ActivityResultLauncher inAppCameraLocationPermissionLauncher = registerForActivityResult( + new ActivityResultContracts.RequestMultiplePermissions(), + new ActivityResultCallback>() { + @Override + public void onActivityResult(Map result) { + boolean areAllGranted = true; + for (final boolean b : result.values()) { + areAllGranted = areAllGranted && b; + } - if (areAllGranted) { - controller.locationPermissionCallback.onLocationPermissionGranted(); - } else { - if (shouldShowRequestPermissionRationale(permission.ACCESS_FINE_LOCATION)) { - controller.handleShowRationaleFlowCameraLocation(getActivity()); + if (areAllGranted) { + controller.locationPermissionCallback.onLocationPermissionGranted(); } else { - controller.locationPermissionCallback.onLocationPermissionDenied( - getActivity().getString(R.string.in_app_camera_location_permission_denied)); + if (shouldShowRequestPermissionRationale(permission.ACCESS_FINE_LOCATION)) { + controller.handleShowRationaleFlowCameraLocation(getActivity(), + inAppCameraLocationPermissionLauncher); + } else { + controller.locationPermissionCallback.onLocationPermissionDenied( + getActivity().getString( + R.string.in_app_camera_location_permission_denied)); + } } } - } - }); + }); @Override diff --git a/app/src/main/java/fr/free/nrw/commons/explore/map/ExploreMapContract.java b/app/src/main/java/fr/free/nrw/commons/explore/map/ExploreMapContract.java index 935c1ed5b..feb66bf55 100644 --- a/app/src/main/java/fr/free/nrw/commons/explore/map/ExploreMapContract.java +++ b/app/src/main/java/fr/free/nrw/commons/explore/map/ExploreMapContract.java @@ -11,11 +11,9 @@ public class ExploreMapContract { interface View { boolean isNetworkConnectionEstablished(); - void populatePlaces(LatLng currentLatLng); - void checkPermissionsAndPerformAction(); - void recenterMap(LatLng currentLatLng); - void showLocationOffDialog(); - void openLocationSettings(); + void populatePlaces(LatLng curlatLng); + void askForLocationPermission(); + void recenterMap(LatLng curLatLng); void hideBottomDetailsSheet(); LatLng getMapCenter(); LatLng getMapFocus(); diff --git a/app/src/main/java/fr/free/nrw/commons/explore/map/ExploreMapFragment.java b/app/src/main/java/fr/free/nrw/commons/explore/map/ExploreMapFragment.java index b4c2c32d6..52a5571e9 100644 --- a/app/src/main/java/fr/free/nrw/commons/explore/map/ExploreMapFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/explore/map/ExploreMapFragment.java @@ -48,8 +48,11 @@ import fr.free.nrw.commons.databinding.FragmentExploreMapBinding; import fr.free.nrw.commons.di.CommonsDaggerSupportFragment; import fr.free.nrw.commons.explore.ExploreMapRootFragment; import fr.free.nrw.commons.explore.paging.LiveDataConverter; +import fr.free.nrw.commons.filepicker.Constants; import fr.free.nrw.commons.kvstore.JsonKvStore; import fr.free.nrw.commons.location.LatLng; +import fr.free.nrw.commons.location.LocationPermissionsHelper; +import fr.free.nrw.commons.location.LocationPermissionsHelper.LocationPermissionCallback; import fr.free.nrw.commons.location.LocationServiceManager; import fr.free.nrw.commons.location.LocationUpdateListener; import fr.free.nrw.commons.media.MediaClient; @@ -65,7 +68,6 @@ import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.schedulers.Schedulers; import java.util.ArrayList; import java.util.List; -import java.util.Map; import javax.inject.Inject; import javax.inject.Named; import org.osmdroid.events.MapEventsReceiver; @@ -87,7 +89,7 @@ import org.osmdroid.views.overlay.TilesOverlay; import timber.log.Timber; public class ExploreMapFragment extends CommonsDaggerSupportFragment - implements ExploreMapContract.View, LocationUpdateListener { + implements ExploreMapContract.View, LocationUpdateListener, LocationPermissionCallback { private BottomSheetBehavior bottomSheetDetailsBehavior; private BroadcastReceiver broadcastReceiver; @@ -119,48 +121,40 @@ public class ExploreMapFragment extends CommonsDaggerSupportFragment BookmarkLocationsDao bookmarkLocationDao; // May be needed in future if we want to integrate bookmarking explore places @Inject SystemThemeUtils systemThemeUtils; + LocationPermissionsHelper locationPermissionsHelper; private ExploreMapPresenter presenter; public FragmentExploreMapBinding binding; - private ActivityResultLauncher activityResultLauncher = registerForActivityResult( - new ActivityResultContracts.RequestMultiplePermissions(), - new ActivityResultCallback>() { - @Override - public void onActivityResult(Map result) { - boolean areAllGranted = true; - for (final boolean b : result.values()) { - areAllGranted = areAllGranted && b; - } - - if (areAllGranted) { - locationPermissionGranted(); + private ActivityResultLauncher activityResultLauncher = registerForActivityResult( + new ActivityResultContracts.RequestPermission(), isGranted -> { + if (isGranted) { + locationPermissionGranted(); + } else { + if (shouldShowRequestPermissionRationale(permission.ACCESS_FINE_LOCATION)) { + DialogUtil.showAlertDialog(getActivity(), + getActivity().getString(R.string.location_permission_title), + getActivity().getString(R.string.location_permission_rationale_explore), + getActivity().getString(android.R.string.ok), + getActivity().getString(android.R.string.cancel), + () -> { + askForLocationPermission(); + }, + null, + null, + false); } else { - if (shouldShowRequestPermissionRationale(permission.ACCESS_FINE_LOCATION)) { - DialogUtil.showAlertDialog(getActivity(), - getActivity().getString(R.string.location_permission_title), - getActivity().getString(R.string.location_permission_rationale_nearby), - getActivity().getString(android.R.string.ok), - getActivity().getString(android.R.string.cancel), - () -> { - if (!(locationManager.isNetworkProviderEnabled() - || locationManager.isGPSProviderEnabled())) { - showLocationOffDialog(); - } - }, - () -> isPermissionDenied = true, - null, - false); - } else { - isPermissionDenied = true; + if (isPermissionDenied) { + locationPermissionsHelper.showAppSettingsDialog(getActivity(), + R.string.explore_map_needs_location); } - + Timber.d("The user checked 'Don't ask again' or denied the permission twice"); + isPermissionDenied = true; } } }); - @NonNull public static ExploreMapFragment newInstance() { ExploreMapFragment fragment = new ExploreMapFragment(); @@ -184,7 +178,7 @@ public class ExploreMapFragment extends CommonsDaggerSupportFragment setSearchThisAreaButtonVisibility(false); binding.tvAttribution.setText(Html.fromHtml(getString(R.string.map_attribution))); initNetworkBroadCastReceiver(); - + locationPermissionsHelper = new LocationPermissionsHelper(getActivity(),locationManager,this); if (presenter == null) { presenter = new ExploreMapPresenter(bookmarkLocationDao); } @@ -278,7 +272,9 @@ public class ExploreMapFragment extends CommonsDaggerSupportFragment } }); - + if (!locationPermissionsHelper.checkLocationPermission(getActivity())) { + askForLocationPermission(); + } } @Override @@ -288,8 +284,7 @@ public class ExploreMapFragment extends CommonsDaggerSupportFragment presenter.attachView(this); registerNetworkReceiver(); if (isResumed()) { - if (!isPermissionDenied && !applicationKvStore - .getBoolean("doNotAskForLocationPermission", false)) { + if (locationPermissionsHelper.checkLocationPermission(getActivity())) { performMapReadyActions(); } else { startMapWithoutPermission(); @@ -297,8 +292,24 @@ public class ExploreMapFragment extends CommonsDaggerSupportFragment } } + @Override + public void onPause() { + super.onPause(); + // unregistering the broadcastReceiver, as it was causing an exception and a potential crash + unregisterNetworkReceiver(); + } + + + /** + * Unregisters the networkReceiver + */ + private void unregisterNetworkReceiver() { + if (getActivity() != null) { + getActivity().unregisterReceiver(broadcastReceiver); + } + } + private void startMapWithoutPermission() { - applicationKvStore.putBoolean("doNotAskForLocationPermission", true); lastKnownLocation = MapUtils.defaultLatLng; moveCameraToPosition( new GeoPoint(lastKnownLocation.getLatitude(), lastKnownLocation.getLongitude())); @@ -316,13 +327,14 @@ public class ExploreMapFragment extends CommonsDaggerSupportFragment binding.mapView.getOverlayManager().getTilesOverlay() .setColorFilter(TilesOverlay.INVERT_COLORS); } - if (!applicationKvStore.getBoolean("doNotAskForLocationPermission", false) || - PermissionUtils.hasPermission(getActivity(), - new String[]{Manifest.permission.ACCESS_FINE_LOCATION})) { - checkPermissionsAndPerformAction(); - } else { + if (applicationKvStore.getBoolean("doNotAskForLocationPermission", false) && + !locationPermissionsHelper.checkLocationPermission(getActivity())) { isPermissionDenied = true; } + lastKnownLocation = MapUtils.defaultLatLng; + moveCameraToPosition( + new GeoPoint(lastKnownLocation.getLatitude(), lastKnownLocation.getLongitude())); + presenter.onMapReady(exploreMapController); } private void initViews() { @@ -394,7 +406,6 @@ public class ExploreMapFragment extends CommonsDaggerSupportFragment public void populatePlaces(LatLng currentLatLng) { final Observable nearbyPlacesInfoObservable; if (currentLatLng == null) { - checkPermissionsAndPerformAction(); return; } if (currentLatLng.equals(getLastMapFocus())) { // Means we are checking around current location @@ -417,8 +428,9 @@ public class ExploreMapFragment extends CommonsDaggerSupportFragment }, throwable -> { Timber.d(throwable); - showErrorMessage(getString(R.string.error_fetching_nearby_places) - + throwable.getLocalizedMessage()); + // Not showing the user, throwable localizedErrorMessage + showErrorMessage(getString(R.string.error_fetching_nearby_places)); + setProgressBarVisibility(false); presenter.lockUnlockNearby(false); })); @@ -445,9 +457,9 @@ public class ExploreMapFragment extends CommonsDaggerSupportFragment } @Override - public void checkPermissionsAndPerformAction() { - Timber.d("Checking permission and perfoming action"); - activityResultLauncher.launch(new String[]{permission.ACCESS_FINE_LOCATION}); + public void askForLocationPermission() { + Timber.d("Asking for location permission"); + activityResultLauncher.launch(permission.ACCESS_FINE_LOCATION); } private void locationPermissionGranted() { @@ -466,9 +478,9 @@ public class ExploreMapFragment extends CommonsDaggerSupportFragment locationManager.requestLocationUpdatesFromProvider(LocationManager.NETWORK_PROVIDER); locationManager.requestLocationUpdatesFromProvider(LocationManager.GPS_PROVIDER); setProgressBarVisibility(true); - } else { - Toast.makeText(getContext(), getString(R.string.nearby_location_not_available), - Toast.LENGTH_LONG).show(); + } + else { + locationPermissionsHelper.showLocationOffDialog(getActivity(), R.string.ask_to_turn_location_on_text); } presenter.onMapReady(exploreMapController); registerUnregisterLocationListener(false); @@ -480,13 +492,24 @@ public class ExploreMapFragment extends CommonsDaggerSupportFragment @Override public void recenterMap(LatLng currentLatLng) { - if (isPermissionDenied || currentLatLng == null) { - recenterToUserLocation = true; - checkPermissionsAndPerformAction(); - if (!isPermissionDenied && !(locationManager.isNetworkProviderEnabled() - || locationManager.isGPSProviderEnabled())) { - showLocationOffDialog(); + // if user has denied permission twice, then show dialog + if (isPermissionDenied) { + if (locationPermissionsHelper.checkLocationPermission(getActivity())) { + // this will run when user has given permission by opening app's settings + isPermissionDenied = false; + recenterMap(currentLatLng); + } else { + askForLocationPermission(); } + } else { + if (!locationPermissionsHelper.checkLocationPermission(getActivity())) { + askForLocationPermission(); + } else { + locationPermissionGranted(); + } + } + if (currentLatLng == null) { + recenterToUserLocation = true; return; } recenterMarkerToPosition(new GeoPoint(currentLatLng.getLatitude(), currentLatLng.getLongitude())); @@ -514,31 +537,6 @@ public class ExploreMapFragment extends CommonsDaggerSupportFragment } } - @Override - public void showLocationOffDialog() { - // This creates a dialog box that prompts the user to enable location - DialogUtil - .showAlertDialog(getActivity(), getString(R.string.ask_to_turn_location_on), - getString(R.string.nearby_needs_location), - getString(R.string.yes), getString(R.string.no), this::openLocationSettings, null); - } - - @Override - public void openLocationSettings() { - // This method opens the location settings of the device along with a followup toast. - final Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); - final PackageManager packageManager = getActivity().getPackageManager(); - - if (intent.resolveActivity(packageManager) != null) { - startActivity(intent); - Toast.makeText(getContext(), R.string.recommend_high_accuracy_mode, Toast.LENGTH_LONG) - .show(); - } else { - Toast.makeText(getContext(), R.string.cannot_open_location_settings, Toast.LENGTH_LONG) - .show(); - } - } - @Override public void hideBottomDetailsSheet() { bottomSheetDetailsBehavior.setState(BottomSheetBehavior.STATE_HIDDEN); @@ -843,7 +841,20 @@ public class ExploreMapFragment extends CommonsDaggerSupportFragment if (mapCenter != null) { latLnge = new fr.free.nrw.commons.location.LatLng( mapCenter.getLatitude(), mapCenter.getLongitude(), 100); + } else { + if (applicationKvStore.getString("LastLocation") != null) { + final String[] locationLatLng + = applicationKvStore.getString("LastLocation").split(","); + lastKnownLocation + = new fr.free.nrw.commons.location.LatLng(Double.parseDouble(locationLatLng[0]), + Double.parseDouble(locationLatLng[1]), 1f); + latLnge = lastKnownLocation; + } else { + latLnge = new fr.free.nrw.commons.location.LatLng(51.506255446947776, + -0.07483536015053005, 1f); + } } + moveCameraToPosition(new GeoPoint(latLnge.getLatitude(),latLnge.getLongitude())); return latLnge; } @@ -902,4 +913,10 @@ public class ExploreMapFragment extends CommonsDaggerSupportFragment } }; } + + @Override + public void onLocationPermissionDenied(String toastMessage) {} + + @Override + public void onLocationPermissionGranted() {} } diff --git a/app/src/main/java/fr/free/nrw/commons/explore/map/ExploreMapPresenter.java b/app/src/main/java/fr/free/nrw/commons/explore/map/ExploreMapPresenter.java index c07aae24c..94b9cf5ad 100644 --- a/app/src/main/java/fr/free/nrw/commons/explore/map/ExploreMapPresenter.java +++ b/app/src/main/java/fr/free/nrw/commons/explore/map/ExploreMapPresenter.java @@ -131,7 +131,6 @@ public class ExploreMapPresenter public void onMapReady(ExploreMapController exploreMapController) { this.exploreMapController = exploreMapController; - exploreMapFragmentView.addSearchThisAreaButtonAction(); if (null != exploreMapFragmentView) { exploreMapFragmentView.addSearchThisAreaButtonAction(); initializeMapOperations(); @@ -141,7 +140,6 @@ public class ExploreMapPresenter public void initializeMapOperations() { lockUnlockNearby(false); updateMap(LOCATION_SIGNIFICANTLY_CHANGED); - exploreMapFragmentView.addSearchThisAreaButtonAction(); } public Observable loadAttractionsFromLocation(LatLng currentLatLng, diff --git a/app/src/main/java/fr/free/nrw/commons/location/LocationPermissionsHelper.java b/app/src/main/java/fr/free/nrw/commons/location/LocationPermissionsHelper.java index d72cb0832..77e089c9c 100644 --- a/app/src/main/java/fr/free/nrw/commons/location/LocationPermissionsHelper.java +++ b/app/src/main/java/fr/free/nrw/commons/location/LocationPermissionsHelper.java @@ -1,10 +1,13 @@ package fr.free.nrw.commons.location; +import android.Manifest; import android.Manifest.permission; import android.app.Activity; import android.content.Intent; import android.content.pm.PackageManager; +import android.net.Uri; import android.provider.Settings; +import android.widget.Toast; import androidx.core.app.ActivityCompat; import fr.free.nrw.commons.R; import fr.free.nrw.commons.filepicker.Constants.RequestCodes; @@ -12,120 +15,172 @@ import fr.free.nrw.commons.utils.DialogUtil; import fr.free.nrw.commons.utils.PermissionUtils; /** - * Helper class to handle location permissions + * Helper class to handle location permissions. + * + * Location flow for fragments containing a map is as follows: + * Case 1: When location permission has never been asked for or denied before + * Check if permission is already granted or not. + * If not already granted, ask for it (if it isn't denied twice before). + * If now user grants permission, go to Case 3/4, else go to Case 2. + * + * Case 2: When location permission is just asked but has been denied + * Shows a toast to tell the user why location permission is needed. + * Also shows a rationale to the user, on agreeing to which, we go back to Case 1. + * Show current location / nearby pins / nearby images according to the default location. + * + * Case 3: When location permission are already granted, but location services are off + * Asks the user to turn on the location service, using a dialog. + * If the user rejects, checks for the last known location and shows stuff using that location. + * Also displays a toast telling the user why location should be turned on. + * + * Case 4: When location permission has been granted and location services are also on + * Do whatever is required by that particular activity / fragment using current location. + * */ public class LocationPermissionsHelper { + Activity activity; LocationServiceManager locationManager; LocationPermissionCallback callback; + public LocationPermissionsHelper(Activity activity, LocationServiceManager locationManager, LocationPermissionCallback callback) { this.activity = activity; this.locationManager = locationManager; this.callback = callback; } - public static class Dialog { - int dialogTitleResource; - int dialogTextResource; - - public Dialog(int dialogTitle, int dialogText) { - dialogTitleResource = dialogTitle; - dialogTextResource = dialogText; - } - } /** - * Handles the entire location permissions flow + * Ask for location permission if the user agrees on attaching location with pictures and the + * app does not have the access to location * - * @param locationAccessDialog - * @param locationOffDialog + * @param dialogTitleResource Resource id of the title of the dialog + * @param dialogTextResource Resource id of the text of the dialog */ - public void handleLocationPermissions(Dialog locationAccessDialog, - Dialog locationOffDialog) { - requestForLocationAccess(locationAccessDialog, locationOffDialog); - } - - /** - * Ask for location permission if the user agrees on attaching location with pictures - * and the app does not have the access to location - * - * @param locationAccessDialog - * @param locationOffDialog - */ - private void requestForLocationAccess( - Dialog locationAccessDialog, - Dialog locationOffDialog + public void requestForLocationAccess( + int dialogTitleResource, + int dialogTextResource ) { - if (PermissionUtils.hasPermission(activity, new String[]{permission.ACCESS_FINE_LOCATION})) { + if (checkLocationPermission(activity)) { callback.onLocationPermissionGranted(); } else { - if (ActivityCompat.shouldShowRequestPermissionRationale(activity, permission.ACCESS_FINE_LOCATION)) { - if (locationAccessDialog != null && locationOffDialog != null) { - DialogUtil.showAlertDialog(activity, activity.getString(locationAccessDialog.dialogTitleResource), - activity.getString(locationAccessDialog.dialogTextResource), - activity.getString(android.R.string.ok), - activity.getString(android.R.string.cancel), - () -> { - if (!isLocationAccessToAppsTurnedOn()) { - showLocationOffDialog(activity); - } else { - ActivityCompat.requestPermissions(activity, - new String[]{permission.ACCESS_FINE_LOCATION}, 1); - } - }, - () -> callback.onLocationPermissionDenied(activity.getString(R.string.in_app_camera_location_permission_denied)), - null, - false); - } + if (ActivityCompat.shouldShowRequestPermissionRationale(activity, + permission.ACCESS_FINE_LOCATION)) { + DialogUtil.showAlertDialog(activity, activity.getString(dialogTitleResource), + activity.getString(dialogTextResource), + activity.getString(android.R.string.ok), + activity.getString(android.R.string.cancel), + () -> { + ActivityCompat.requestPermissions(activity, + new String[]{permission.ACCESS_FINE_LOCATION}, 1); + }, + () -> callback.onLocationPermissionDenied( + activity.getString(R.string.upload_map_location_access)), + null, + false); } else { - ActivityCompat.requestPermissions(activity, new String[]{permission.ACCESS_FINE_LOCATION}, + ActivityCompat.requestPermissions(activity, + new String[]{permission.ACCESS_FINE_LOCATION}, RequestCodes.LOCATION); } } } - public void showLocationOffDialog(Activity activity) { + /** + * Shows a dialog for user to open the settings page and turn on location services + * + * @param activity Activity object + * @param dialogTextResource int id of the required string resource + */ + public void showLocationOffDialog(Activity activity, int dialogTextResource) { DialogUtil .showAlertDialog(activity, activity.getString(R.string.ask_to_turn_location_on), - activity.getString(R.string.in_app_camera_needs_location), + activity.getString(dialogTextResource), activity.getString(R.string.title_app_shortcut_setting), activity.getString(R.string.cancel), () -> openLocationSettings(activity), - () -> callback.onLocationPermissionDenied(activity.getString( - R.string.in_app_camera_location_unavailable))); + () -> Toast.makeText(activity, activity.getString(dialogTextResource), + Toast.LENGTH_LONG).show() + ); } /** - * Open location source settings so that apps with location access can access it + * Opens the location access page in settings, for user to turn on location services * - * TODO: modify it to fix https://github.com/commons-app/apps-android-commons/issues/5255 + * @param activity Activtiy object */ - public void openLocationSettings(Activity activity) { final Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); final PackageManager packageManager = activity.getPackageManager(); - if (intent.resolveActivity(packageManager)!= null) { + if (intent.resolveActivity(packageManager) != null) { activity.startActivity(intent); + } else { + Toast.makeText(activity, R.string.cannot_open_location_settings, Toast.LENGTH_LONG) + .show(); } } + /** + * Shows a dialog for user to open the app's settings page and give location permission + * + * @param activity Activity object + * @param dialogTextResource int id of the required string resource + */ + public void showAppSettingsDialog(Activity activity, int dialogTextResource) { + DialogUtil + .showAlertDialog(activity, activity.getString(R.string.location_permission_title), + activity.getString(dialogTextResource), + activity.getString(R.string.title_app_shortcut_setting), + activity.getString(R.string.cancel), + () -> openAppSettings(activity), + () -> Toast.makeText(activity, activity.getString(dialogTextResource), + Toast.LENGTH_LONG).show() + ); + } + + /** + * Opens detailed settings page of the app for the user to turn on location services + * + * @param activity Activity object + */ + public void openAppSettings(Activity activity) { + Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); + Uri uri = Uri.fromParts("package", activity.getPackageName(), null); + intent.setData(uri); + activity.startActivity(intent); + } + /** * Check if apps have access to location even after having individual access * - * @return + * @return Returns true if location services are on and false otherwise */ public boolean isLocationAccessToAppsTurnedOn() { - return (locationManager.isNetworkProviderEnabled() || locationManager.isGPSProviderEnabled()); + return (locationManager.isNetworkProviderEnabled() + || locationManager.isGPSProviderEnabled()); + } + + /** + * Checks if location permission is already granted or not + * + * @param activity Activity object + * @return Returns true if location permission is granted and false otherwise + */ + public boolean checkLocationPermission(Activity activity) { + return PermissionUtils.hasPermission(activity, + new String[]{Manifest.permission.ACCESS_FINE_LOCATION}); } /** * Handle onPermissionDenied within individual classes based on the requirements */ public interface LocationPermissionCallback { + void onLocationPermissionDenied(String toastMessage); + void onLocationPermissionGranted(); } } diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/contract/NearbyParentFragmentContract.java b/app/src/main/java/fr/free/nrw/commons/nearby/contract/NearbyParentFragmentContract.java index 8763926bc..df999dbf0 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/contract/NearbyParentFragmentContract.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/contract/NearbyParentFragmentContract.java @@ -24,7 +24,7 @@ public interface NearbyParentFragmentContract { boolean isListBottomSheetExpanded(); - void checkPermissionsAndPerformAction(); + void askForLocationPermission(); void displayLoginSkippedWarning(); @@ -36,8 +36,6 @@ public interface NearbyParentFragmentContract { void recenterMap(LatLng currentLatLng); - void showLocationOffDialog(); - void openLocationSettings(); void hideBottomSheet(); diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java index 4b5b78d5d..e4bc8ad7b 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java @@ -6,7 +6,6 @@ import static fr.free.nrw.commons.location.LocationServiceManager.LocationChange import static fr.free.nrw.commons.location.LocationServiceManager.LocationChangeType.MAP_UPDATED; import static fr.free.nrw.commons.wikidata.WikidataConstants.PLACE_OBJECT; -import android.Manifest; import android.Manifest.permission; import android.annotation.SuppressLint; import android.app.ProgressDialog; @@ -67,6 +66,8 @@ import fr.free.nrw.commons.contributions.MainActivity.ActiveFragment; import fr.free.nrw.commons.databinding.FragmentNearbyParentBinding; import fr.free.nrw.commons.di.CommonsDaggerSupportFragment; import fr.free.nrw.commons.kvstore.JsonKvStore; +import fr.free.nrw.commons.location.LocationPermissionsHelper; +import fr.free.nrw.commons.location.LocationPermissionsHelper.LocationPermissionCallback; import fr.free.nrw.commons.location.LatLng; import fr.free.nrw.commons.location.LocationServiceManager; import fr.free.nrw.commons.location.LocationUpdateListener; @@ -84,9 +85,9 @@ import fr.free.nrw.commons.upload.FileUtils; import fr.free.nrw.commons.utils.DialogUtil; import fr.free.nrw.commons.utils.ExecutorUtils; import fr.free.nrw.commons.utils.LayoutUtils; +import fr.free.nrw.commons.utils.MapUtils; import fr.free.nrw.commons.utils.NearbyFABUtils; import fr.free.nrw.commons.utils.NetworkUtils; -import fr.free.nrw.commons.utils.PermissionUtils; import fr.free.nrw.commons.utils.SystemThemeUtils; import fr.free.nrw.commons.utils.ViewUtil; import fr.free.nrw.commons.wikidata.WikidataEditListener; @@ -130,7 +131,8 @@ import timber.log.Timber; public class NearbyParentFragment extends CommonsDaggerSupportFragment implements NearbyParentFragmentContract.View, - WikidataEditListener.WikidataP18EditListener, LocationUpdateListener { + WikidataEditListener.WikidataP18EditListener, LocationUpdateListener, + LocationPermissionCallback { FragmentNearbyParentBinding binding; @@ -152,6 +154,7 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment SystemThemeUtils systemThemeUtils; @Inject CommonPlaceClickActions commonPlaceClickActions; + private LocationPermissionsHelper locationPermissionsHelper; private NearbyFilterSearchRecyclerViewAdapter nearbyFilterSearchRecyclerViewAdapter; private BottomSheetBehavior bottomSheetListBehavior; private BottomSheetBehavior bottomSheetDetailsBehavior; @@ -201,7 +204,7 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment controller.locationPermissionCallback.onLocationPermissionGranted(); } else { if (shouldShowRequestPermissionRationale(permission.ACCESS_FINE_LOCATION)) { - controller.handleShowRationaleFlowCameraLocation(getActivity()); + controller.handleShowRationaleFlowCameraLocation(getActivity(), inAppCameraLocationPermissionLauncher); } else { controller.locationPermissionCallback.onLocationPermissionDenied( getActivity().getString( @@ -223,15 +226,17 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment getActivity().getString(android.R.string.ok), getActivity().getString(android.R.string.cancel), () -> { - if (!(locationManager.isNetworkProviderEnabled() - || locationManager.isGPSProviderEnabled())) { - showLocationOffDialog(); - } + askForLocationPermission(); }, - () -> isPermissionDenied = true, + null, null, false); } else { + if (isPermissionDenied) { + locationPermissionsHelper.showAppSettingsDialog(getActivity(), + R.string.nearby_needs_location); + } + Timber.d("The user checked 'Don't ask again' or denied the permission twice"); isPermissionDenied = true; } } @@ -323,7 +328,8 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment } else { binding.rlContainerWlmMonthMessage.setVisibility(View.GONE); } - + locationPermissionsHelper = new LocationPermissionsHelper(getActivity(), locationManager, + this); presenter.attachView(this); isPermissionDenied = false; recenterToUserLocation = false; @@ -426,7 +432,6 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment } initNearbyFilter(); addCheckBoxCallback(); - performMapReadyActions(); moveCameraToPosition(lastMapFocus); initRvNearbyList(); onResume(); @@ -471,6 +476,10 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment binding.tvLearnMore.setOnClickListener(v ->onLearnMoreClicked()); binding.nearbyFilter.ivToggleChips.setOnClickListener(v -> onToggleChipsClicked()); + + if (!locationPermissionsHelper.checkLocationPermission(getActivity())) { + askForLocationPermission(); + } } /** @@ -527,14 +536,18 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment private void performMapReadyActions() { if (((MainActivity) getActivity()).activeFragment == ActiveFragment.NEARBY) { - if (!applicationKvStore.getBoolean("doNotAskForLocationPermission", false) || - PermissionUtils.hasPermission(getActivity(), - new String[]{Manifest.permission.ACCESS_FINE_LOCATION})) { - checkPermissionsAndPerformAction(); - } else { + if (applicationKvStore.getBoolean("doNotAskForLocationPermission", false) && + !locationPermissionsHelper.checkLocationPermission(getActivity())) { isPermissionDenied = true; } } + presenter.onMapReady(); + } + + @Override + public void askForLocationPermission() { + Timber.d("Asking for location permission"); + locationPermissionLauncher.launch(permission.ACCESS_FINE_LOCATION); } private void locationPermissionGranted() { @@ -554,8 +567,7 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment locationManager.requestLocationUpdatesFromProvider(LocationManager.GPS_PROVIDER); setProgressBarVisibility(true); } else { - Toast.makeText(getContext(), getString(R.string.nearby_location_not_available), - Toast.LENGTH_LONG).show(); + locationPermissionsHelper.showLocationOffDialog(getActivity(), R.string.ask_to_turn_location_on_text); } presenter.onMapReady(); registerUnregisterLocationListener(false); @@ -568,15 +580,10 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment presenter.attachView(this); registerNetworkReceiver(); if (isResumed() && ((MainActivity) getActivity()).activeFragment == ActiveFragment.NEARBY) { - if (!isPermissionDenied && !applicationKvStore.getBoolean( - "doNotAskForLocationPermission", false)) { - if (!locationManager.isGPSProviderEnabled()) { - startMapWithCondition("Without GPS"); - } else { - startTheMap(); - } + if (locationPermissionsHelper.checkLocationPermission(getActivity())) { + locationPermissionGranted(); } else { - startMapWithCondition("Without Permission"); + startMapWithoutPermission(); } } } @@ -586,12 +593,8 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment * coordinates, other than that it points to the last known location which can be get by the key * "LastLocation" from applicationKvStore * - * @param condition : for which condition the map should start */ - private void startMapWithCondition(final String condition) { - if (condition.equals("Without Permission")) { - applicationKvStore.putBoolean("doNotAskForLocationPermission", true); - } + private void startMapWithoutPermission() { if (applicationKvStore.getString("LastLocation") != null) { final String[] locationLatLng = applicationKvStore.getString("LastLocation").split(","); @@ -599,12 +602,13 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment = new fr.free.nrw.commons.location.LatLng(Double.parseDouble(locationLatLng[0]), Double.parseDouble(locationLatLng[1]), 1f); } else { - lastKnownLocation = new fr.free.nrw.commons.location.LatLng(51.50550, - -0.07520, 1f); + lastKnownLocation = MapUtils.defaultLatLng; } if (binding.map != null) { - recenterMap(lastKnownLocation); + moveCameraToPosition( + new GeoPoint(lastKnownLocation.getLatitude(), lastKnownLocation.getLongitude())); } + presenter.onMapReady(); } private void registerNetworkReceiver() { @@ -1426,12 +1430,6 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment // TODO } - @Override - public void checkPermissionsAndPerformAction() { - Timber.d("Checking permission and perfoming action"); - locationPermissionLauncher.launch(permission.ACCESS_FINE_LOCATION); - } - /** * Starts animation of fab plus (turning on opening) and other FABs */ @@ -1559,6 +1557,14 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment return presenter.backButtonClicked(); } + @Override + public void onLocationPermissionDenied(String toastMessage) { + } + + @Override + public void onLocationPermissionGranted() { + } + /** * onLogoutComplete is called after shared preferences and data stored in local database are * cleared. @@ -1856,18 +1862,37 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment @Override public void recenterMap(fr.free.nrw.commons.location.LatLng currentLatLng) { - if (isPermissionDenied || currentLatLng == null) { - recenterToUserLocation = true; - checkPermissionsAndPerformAction(); - if (!isPermissionDenied && !(locationManager.isNetworkProviderEnabled() - || locationManager.isGPSProviderEnabled())) { - showLocationOffDialog(); + // if user has denied permission twice, then show dialog + if (isPermissionDenied) { + if (locationPermissionsHelper.checkLocationPermission(getActivity())) { + // this will run when user has given permission by opening app's settings + isPermissionDenied = false; + locationPermissionGranted(); + return; + } else { + askForLocationPermission(); } + } else { + if (!locationPermissionsHelper.checkLocationPermission(getActivity())) { + askForLocationPermission(); + } else { + locationPermissionGranted(); + } + } + if (currentLatLng == null) { + recenterToUserLocation = true; return; } - addCurrentLocationMarker(currentLatLng); - binding.map.getController() - .animateTo(new GeoPoint(currentLatLng.getLatitude(), currentLatLng.getLongitude())); + + /* + * FIXME: With the revamp of the location permission helper in the MR + * #5494[1], there is a doubt that the following code is redundant. + * If we could confirm the same, the following code can be removed. If it + * turns out to be necessary, we could replace this with a comment + * clarifying why it is necessary. + * + * Ref: https://github.com/commons-app/apps-android-commons/pull/5494#discussion_r1560404794 + */ if (lastMapFocus != null) { Location mylocation = new Location(""); Location dest_location = new Location(""); @@ -1890,15 +1915,6 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment } } - @Override - public void showLocationOffDialog() { - // This creates a dialog box that prompts the user to enable location - DialogUtil - .showAlertDialog(getActivity(), getString(R.string.ask_to_turn_location_on), - getString(R.string.nearby_needs_location), - getString(R.string.yes), getString(R.string.no), this::openLocationSettings, null); - } - @Override public void openLocationSettings() { // This method opens the location settings of the device along with a followup toast. @@ -2103,7 +2119,7 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment super.setUserVisibleHint(isVisibleToUser); this.isVisibleToUser = isVisibleToUser; if (isResumed() && isVisibleToUser) { - startTheMap(); + performMapReadyActions(); } else { if (null != bottomSheetListBehavior) { bottomSheetListBehavior.setState(BottomSheetBehavior.STATE_HIDDEN); @@ -2115,10 +2131,6 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment } } - private void startTheMap() { - performMapReadyActions(); - } - /** * Clears all markers from the map and resets certain map overlays and gestures. After clearing * markers, it re-adds a scale bar overlay and rotation gesture overlay to the map. diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/presenter/NearbyParentFragmentPresenter.java b/app/src/main/java/fr/free/nrw/commons/nearby/presenter/NearbyParentFragmentPresenter.java index 06608d6b9..440cb5638 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/presenter/NearbyParentFragmentPresenter.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/presenter/NearbyParentFragmentPresenter.java @@ -92,7 +92,6 @@ public class NearbyParentFragmentPresenter public void initializeMapOperations() { lockUnlockNearby(false); updateMapAndList(LOCATION_SIGNIFICANTLY_CHANGED); - this.nearbyParentFragmentView.addSearchThisAreaButtonAction(); nearbyParentFragmentView.setCheckBoxAction(); } diff --git a/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java b/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java index 253f3cd55..94e799aa2 100644 --- a/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java @@ -93,7 +93,7 @@ public class SettingsFragment extends PreferenceFragmentCompat { areAllGranted = areAllGranted && b; } if (!areAllGranted && shouldShowRequestPermissionRationale(permission.ACCESS_FINE_LOCATION)) { - contributionController.handleShowRationaleFlowCameraLocation(getActivity()); + contributionController.handleShowRationaleFlowCameraLocation(getActivity(), inAppCameraLocationPermissionLauncher); } } }); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f05b8b2b7..04aa6af9b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -282,6 +282,8 @@ Nearby might not work properly, Location not available. Location access denied. Please set your location manually to use this feature. Permission required to display a list of nearby places + Permission required to display a list of nearby images + Directions Wikidata @@ -355,7 +357,7 @@ Share App Rotate - Error fetching nearby places. + Could not load nearby places No pictures in this area No nearby places around Error fetching nearby monuments. @@ -586,7 +588,7 @@ Upload your first media by tapping on the add button. Could not add coordinates. Could not add descriptions. Could not add caption. - Unable to get coordinates. + Image\'s coordinates not updated Unable to get descriptions. Edit descriptions and captions @@ -623,8 +625,10 @@ Upload your first media by tapping on the add button. Failed to open location settings. Please turn on location manually For best results, choose the High Accuracy mode. Turn on location? + Kindly turn on location services for the app show your current location Nearby needs location enabled to work properly - You need to give access to your current location to set location automatically. + Explore map needs location permission to display nearby images + You need to give location permission to set location automatically. Did you shoot these two pictures at the same place? Do you want to use the latitude/longitude of the picture on the right? Load More No places found, try changing your search criteria. diff --git a/app/src/test/kotlin/fr/free/nrw/commons/nearby/NearbyParentFragmentPresenterTest.kt b/app/src/test/kotlin/fr/free/nrw/commons/nearby/NearbyParentFragmentPresenterTest.kt index e4bc42d88..f3f0863f5 100644 --- a/app/src/test/kotlin/fr/free/nrw/commons/nearby/NearbyParentFragmentPresenterTest.kt +++ b/app/src/test/kotlin/fr/free/nrw/commons/nearby/NearbyParentFragmentPresenterTest.kt @@ -71,7 +71,6 @@ class NearbyParentFragmentPresenterTest { verify(nearbyParentFragmentView).`setProgressBarVisibility`(true) assertTrue(null == nearbyParentFragmentView.mapCenter) verify(nearbyParentFragmentView).populatePlaces(null) - verify(nearbyParentFragmentView).addSearchThisAreaButtonAction() verify(nearbyParentFragmentView).setCheckBoxAction() } @@ -121,7 +120,7 @@ class NearbyParentFragmentPresenterTest { /** * Test updateMapAndList method returns with zero interactions when last location is null */ - @Test @Ignore + @Test fun testUpdateMapAndListWhenLastLocationIsNull() { whenever(nearbyParentFragmentView.isNetworkConnectionEstablished()).thenReturn(true) whenever(nearbyParentFragmentView.getLastLocation()).thenReturn(null) diff --git a/app/src/test/kotlin/fr/free/nrw/commons/nearby/NearbyParentFragmentUnitTest.kt b/app/src/test/kotlin/fr/free/nrw/commons/nearby/NearbyParentFragmentUnitTest.kt index 018cc50ae..9c812ad28 100644 --- a/app/src/test/kotlin/fr/free/nrw/commons/nearby/NearbyParentFragmentUnitTest.kt +++ b/app/src/test/kotlin/fr/free/nrw/commons/nearby/NearbyParentFragmentUnitTest.kt @@ -379,12 +379,4 @@ class NearbyParentFragmentUnitTest { Assert.assertEquals(shadowActivity.nextStartedActivityForResult, null) } - @Test @Ignore - @Throws(Exception::class) - fun testShowLocationOffDialog() { - fragment.showLocationOffDialog() - val dialog: AlertDialog = ShadowAlertDialog.getLatestDialog() as AlertDialog - Assert.assertEquals(dialog.isShowing, true) - } - -} \ No newline at end of file +} From 4bd48aa43260df1db71e5ee373c7d0ff8ba53111 Mon Sep 17 00:00:00 2001 From: "translatewiki.net" Date: Thu, 18 Apr 2024 14:02:49 +0200 Subject: [PATCH 09/25] Localisation updates from https://translatewiki.net. --- app/src/main/res/values-af/strings.xml | 2 +- app/src/main/res/values-ar/strings.xml | 4 +-- app/src/main/res/values-ast/strings.xml | 2 +- app/src/main/res/values-az/strings.xml | 3 +++ app/src/main/res/values-b+sr+Latn/strings.xml | 6 ++--- app/src/main/res/values-bn/strings.xml | 2 +- app/src/main/res/values-ca/strings.xml | 2 +- app/src/main/res/values-cs/strings.xml | 2 +- app/src/main/res/values-de/strings.xml | 6 ++--- app/src/main/res/values-el/strings.xml | 2 +- app/src/main/res/values-eo/strings.xml | 6 ++--- app/src/main/res/values-es/strings.xml | 9 ++++--- app/src/main/res/values-eu/strings.xml | 2 +- app/src/main/res/values-fa/strings.xml | 2 +- app/src/main/res/values-fi/strings.xml | 4 +-- app/src/main/res/values-fr/strings.xml | 6 ++--- app/src/main/res/values-gl/strings.xml | 2 +- app/src/main/res/values-hi/strings.xml | 2 +- app/src/main/res/values-hr/strings.xml | 2 +- app/src/main/res/values-hu/strings.xml | 2 +- app/src/main/res/values-ia/strings.xml | 9 ++++--- app/src/main/res/values-in/strings.xml | 6 ++--- app/src/main/res/values-io/strings.xml | 2 +- app/src/main/res/values-is/strings.xml | 4 +-- app/src/main/res/values-it/strings.xml | 6 ++--- app/src/main/res/values-iw/strings.xml | 9 ++++--- app/src/main/res/values-ja/strings.xml | 2 +- app/src/main/res/values-ko-rKP/strings.xml | 2 +- app/src/main/res/values-ko/strings.xml | 22 +++++++++++----- app/src/main/res/values-krc/strings.xml | 8 +++--- app/src/main/res/values-kus/strings.xml | 4 +-- app/src/main/res/values-lt/strings.xml | 4 +-- app/src/main/res/values-mk/strings.xml | 6 ++--- app/src/main/res/values-nb/strings.xml | 4 +-- app/src/main/res/values-nl/strings.xml | 6 ++--- app/src/main/res/values-nqo/strings.xml | 4 +-- app/src/main/res/values-pl/strings.xml | 26 +++++++++++-------- app/src/main/res/values-pms/strings.xml | 9 ++++--- app/src/main/res/values-pt-rBR/strings.xml | 6 ++--- app/src/main/res/values-pt/strings.xml | 6 ++--- app/src/main/res/values-ro/strings.xml | 4 +-- app/src/main/res/values-ru/strings.xml | 6 ++--- app/src/main/res/values-sk/strings.xml | 4 +-- app/src/main/res/values-sl/strings.xml | 6 ++--- app/src/main/res/values-sr/strings.xml | 5 ++-- app/src/main/res/values-su/strings.xml | 2 +- app/src/main/res/values-sv/strings.xml | 6 ++--- app/src/main/res/values-tcy/strings.xml | 2 +- app/src/main/res/values-te/strings.xml | 4 +-- app/src/main/res/values-th/strings.xml | 2 +- app/src/main/res/values-tr/strings.xml | 6 ++--- app/src/main/res/values-uk/strings.xml | 6 ++--- app/src/main/res/values-vec/strings.xml | 2 +- app/src/main/res/values-vi/strings.xml | 2 +- app/src/main/res/values-yue-hant/error.xml | 9 +++++++ app/src/main/res/values-zh-rTW/strings.xml | 9 ++++--- app/src/main/res/values-zh/strings.xml | 6 ++--- 57 files changed, 167 insertions(+), 127 deletions(-) create mode 100644 app/src/main/res/values-yue-hant/error.xml diff --git a/app/src/main/res/values-af/strings.xml b/app/src/main/res/values-af/strings.xml index 97d2aed15..046087b2c 100644 --- a/app/src/main/res/values-af/strings.xml +++ b/app/src/main/res/values-af/strings.xml @@ -282,7 +282,7 @@ Verkeerde antwoord Is hierdie skermkiekie OK om op te laai? Toepassing dele - Kon nie nabygeleë plekke gaan haal nie. + Kon nie nabygeleë plekke gaan haal nie. Geen onlangse soektogte nie Is u seker dat u u soekgeskiedenis wil uitvee? Wil u hierdie soektog uitvee? diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index b710133a3..6279c9f5c 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -395,7 +395,7 @@ هل هذه الصورة موافقة للرفع؟ شارك التطبيق تدوير - خطأ في جلب الأماكن المجاورة. + خطأ في جلب الأماكن المجاورة. لا توجد صور في هذه المنطقة لا توجد أماكن قريبة بالجوار خطأ في جلب المعالم القريبة. @@ -604,7 +604,7 @@ لا يمكن إضافة الإحداثيات. تعذر إضافة الأوصاف. تعذرت إضافة الشرح. - غير قادر على الحصول على الإحداثيات. + غير قادر على الحصول على الإحداثيات. تعذر الحصول على الأوصاف. تحرير الأوصاف والتعليقات مشاركة الصور عبر diff --git a/app/src/main/res/values-ast/strings.xml b/app/src/main/res/values-ast/strings.xml index 58ee5f120..1e7e86834 100644 --- a/app/src/main/res/values-ast/strings.xml +++ b/app/src/main/res/values-ast/strings.xml @@ -338,7 +338,7 @@ Respuesta incorreuta ¿Puede xubise esta imaxe de pantalla? Compartir app - Error al llograr los llugares cercanos. + Error al llograr los llugares cercanos. Nun hay llugares cercanos alredor Error al alcontrar monumentos ciercanos. Nun hai guetes de recién diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml index b7e9c2252..9adf565ea 100644 --- a/app/src/main/res/values-az/strings.xml +++ b/app/src/main/res/values-az/strings.xml @@ -92,5 +92,8 @@ Təşəkkür göndərilə bilmədi %1$s Təşəkkür göndərilir: Xəta %1$s üçün təşəkkür göndərişi + Şəklin koordinatları yenilənməyib Bildiriş oxunmuş olaraq işarələndi + Zəhmət olmasa tətbiqin cari məkanınızı göstərmək üçün məkan xidmətlərini aktiv edin + Yaxınlıqdakı şəkilləri göstərmək üçün məkan icazəsi lazımdır diff --git a/app/src/main/res/values-b+sr+Latn/strings.xml b/app/src/main/res/values-b+sr+Latn/strings.xml index adb80f541..a543bc5f4 100644 --- a/app/src/main/res/values-b+sr+Latn/strings.xml +++ b/app/src/main/res/values-b+sr+Latn/strings.xml @@ -337,7 +337,7 @@ Pogrešan odgovor Želite li da otpremite ovaj snimak ekrana? Deli aplikaciju - Greška pri dobavljanju mesta u blizini. + Greška pri dobavljanju mesta u blizini. Ne postoje najbliža mesta u blizini Greška pri dobavljanju spomenika u blizini. Nema nedavnih pretraga @@ -528,7 +528,7 @@ Nije moguće dodavanje koordinata. Nije moguće dodavanje opisa. Nije moguće dodavanje natpisa. - Nije moguće dobiti koordinate. + Nije moguće dobiti koordinate. Nije moguće dobiti opise. Uredi opise i natpise Podeli sliku preko @@ -559,7 +559,7 @@ Došlo je do greške prilikom otvaranja podešavanja za lokaciju. Uključite lokaciju ručno Za najbolje rezultate, odaberite režim visoke preciznosti. Uključi lokaciju? - Morate da date pristup vašoj trenutnoj lokaciji da bi lokacija bila postavljena automatski. + Morate da date pristup vašoj trenutnoj lokaciji da bi lokacija bila postavljena automatski. Da li ste snimili ove dve slike na istom mestu? Da li želite da koristite geografsku širinu/dužinu slike sa desne strane? Učitaj još Mesta nisu pronađena, pokušajte da promenite kriterijume za pretragu. diff --git a/app/src/main/res/values-bn/strings.xml b/app/src/main/res/values-bn/strings.xml index a4ecfe631..85756fdca 100644 --- a/app/src/main/res/values-bn/strings.xml +++ b/app/src/main/res/values-bn/strings.xml @@ -334,7 +334,7 @@ এই স্ক্রিনশটটি কি আপলোড করা ঠিক হয়েছে? অ্যাপ শেয়ার করুন ঘোরান - কাছাকাছি স্থানগুলি আনতে ত্রুটি। + কাছাকাছি স্থানগুলি আনতে ত্রুটি। আশেপাশে কোনো এলাকা পাওয়া যায়নি আশেপাশের স্মৃতিস্তম্ভগুলি আনায়নে ত্রুটি৷ কোনও সাম্প্রতিক অনুসন্ধান নেই diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index ae372180c..82ad7c1b7 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -290,7 +290,7 @@ Resposta incorrecta Esteu d\'acord en carregar la captura de pantalla? Comparteix l\'aplicació - S\'ha produït un error en recuperar els llocs propers. + S\'ha produït un error en recuperar els llocs propers. No hi ha cap cerca recent Esteu segur que voleu esborrar el vostre historial de cerca? Voleu suprimir aquesta cerca? diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 5ad2587f0..ec7e402f7 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -321,7 +321,7 @@ Nesprávná odpověď Je v pořádku nahrát tento snímek obrazovky? Sdílet aplikaci - Nastala chyba při hledání míst v okolí. + Nastala chyba při hledání míst v okolí. Zatím žádné vyhledávání Opravdu chcete vyčistit historii vašeho hledání? Chcete odstranit toto hledání? diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 03003a17d..c9d753f5b 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -378,7 +378,7 @@ Darf dieses Bildschirmfoto hochgeladen werden? App teilen Drehen - Fehler beim Abrufen der Orte in der Nähe. + Fehler beim Abrufen der Orte in der Nähe. Keine Bilder in diesem Bereich Keine Orte in der Nähe gefunden Fehler beim Abrufen von Denkmälern in der Nähe. @@ -579,7 +579,7 @@ Koordinaten konnten nicht hinzugefügt werden. Es konnten keine Beschreibungen hinzugefügt werden. Die Überschrift konnte nicht hinzugefügt werden. - Es können keine Koordinaten abgerufen werden. + Es können keine Koordinaten abgerufen werden. Beschreibungen können nicht abgerufen werden Beschreibungen und Überschriften bearbeiten Bild teilen via @@ -614,7 +614,7 @@ Die besten Ergebnisse erzielst du, wenn du den Modus „Hohe Genauigkeit“ wählst. Standort einschalten? Für die Funktion „in der Nähe“ muss der Standort aktiviert sein, um richtig zu funktionieren - Um den Standort automatisch festzulegen, musst du Zugriff auf deinen aktuellen Standort gewähren. + Um den Standort automatisch festzulegen, musst du Zugriff auf deinen aktuellen Standort gewähren. Hast du diese beiden Bilder am selben Ort aufgenommen? Möchtest du den Breiten- und Längengrad des rechten Bildes verwenden? Mehr laden Es wurden keine Orte gefunden. Versuche, deine Suchkriterien zu ändern. diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 823fe8e13..42744a5bb 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -359,7 +359,7 @@ Αυτό το στιγμιότυπο είναι εντάξει για ανέβασμα; Κοινοποίηση εφαρμογής Γυρίστε - Σφάλμα κατά την εύρεση κοντινών μερών. + Σφάλμα κατά την εύρεση κοντινών μερών. Δεν υπάρχουν φωτογραφίες σε αυτήν την περιοχή Δεν υπάρχουν μέρη κοντά Σφάλμα κατά την εύρεση κοντινών μνημείων. diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index c2b00d986..47bf06051 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -351,7 +351,7 @@ Ĉu ĉi tiu ekrankopio estas alŝutebla? Diskonigi Aplikaĵon Turni - Eraro dum akirado de apudaj lokoj. + Eraro dum akirado de apudaj lokoj. Neniuj apudaj lokoj ĉirkaŭ Eraro dum akirado de apudaj monumentoj. Neniu ĵusa serĉo @@ -554,7 +554,7 @@ Ne eblis aldoni koordinatojn. Ne eblis aldoni priskribojn. Ne eblis aldoni bildotekston. - Ne eblas akiri koordinatojn. + Ne eblas akiri koordinatojn. Ne eblas ricevi priskribojn. Redakti priskribojn kaj bildotekstojn Disdonu bildon per @@ -589,7 +589,7 @@ Por plej bonaj rezultoj, elektu la modon de Alta Precizeco. Ĉu aktivigi lokon? Apude bezonas loko aktivigita por ke funkcii bone - Vi devas doni aliron al via nuna loko por agordi lokon aŭtomate. + Vi devas doni aliron al via nuna loko por agordi lokon aŭtomate. Ĉu vi filmis ĉi tiujn du bildojn en la sama loko? Ĉu vi volas uzi la latitudon/longitudon de la bildo dekstre? Ŝargi pli Neniuj lokoj trovitaj, provu ŝanĝi viajn serĉkriteriojn. diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 7e0ba143d..91730fc44 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -323,6 +323,7 @@ Cercanos no puede funcionar correctamente. La ubicación no está disponible. Acceso a la ubicación denegado. Configura tu ubicación manualmente para utilizar esta función. Se necesita permiso para mostrar una lista de lugares cercanos + Se necesita permiso para mostrar una lista de lugares cercanos Cómo llegar Wikidata Wikipedia @@ -390,7 +391,7 @@ ¿Esta captura de pantalla esta bien para ser subida? Compartir aplicación Rotar - Error al recuperar los lugares cercanos. + No se pudieron cargar lugares cercanos No hay fotos en esta área. No hay lugares cercanos alrededor Error al encontrar monumentos cercanos. @@ -594,7 +595,7 @@ No se pudo añadir coordenadas. No se pudieron añadir descripciones. No se pudo añadir la leyenda. - No se pudo conseguir las coordenadas. + Las coordenadas de la imagen no están actualizadas. No se puede obtener descripciones. Editar descripciones y leyendas Compartir imagen via @@ -628,8 +629,10 @@ Falló la apertura de los ajuste de localización. Por favor enciende la localización manualmente Para mejores resultados, selecciona el modo de alta precisión ¿quieres encender la localización? + Por favor active los servicios de ubicación para que la aplicación muestre su ubicación actual. Nearby requiere habilitada la localización para trabajar apropiadamente - Necesitas dar acceso a tu ubicación actual para establecer la ubicación automáticamente. + El mapa de exploración necesita permiso de ubicación para mostrar imágenes cercanas + Debe otorgar permiso de ubicación para configurar la ubicación automáticamente. ¿Tomaste estas imágenes en el mismo sitio?¿quieres usar la latitud/longitud de la imagen de la derecha? Cargar más No se hallaron sitios, intenta cambiar tus criterios de búsqueda diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index 31e377245..a2b2cf4f9 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -295,7 +295,7 @@ Erantzun okerra Pantaila-kaptura hau ondo al dago igotzeko? Aplikazioa partekatu - Ezin izan dira hurbileko lekuak ekarri. + Ezin izan dira hurbileko lekuak ekarri. Ziur zaude zure bilaketen historia garbitu nahi duzula? Bilaketa historia ezabatuta Ezabatu diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index 5e7fe49d4..d38336fa7 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -327,7 +327,7 @@ آیا این عکس از صفحه برای بارگذاری مناسب است؟ اشتراک اپلیکیشن چرخاندن - خطا در آوردن مکان‌های نزدیک. + خطا در آوردن مکان‌های نزدیک. خطا در واکشی یادمان‌های نزدیک. جستجوهای اخیر وجود ندارد آیا مطمئن هستید که می‌خواهید تاریخچۀ جستجو را حذف کنید؟ diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index f1ce6695e..df86a6d0e 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -343,7 +343,7 @@ Onko tämä kuvakaappaus OK tallennettavaksi? Jaa sovellus Kierrä - Virhe paikkoja haettaessa. + Virhe paikkoja haettaessa. Virhe läheisiä monumentteja haettaessa. Ei viimeaikaisia hakuja Haluatko varmasti tyhjentää hakuhistoriasi? @@ -522,7 +522,7 @@ Koordinaatteja ei voitu lisätä. Kuvauksia ei voitu lisätä. Kuvatekstiä ei voitu lisätä. - Koordinaattien haku epäonnistui. + Koordinaattien haku epäonnistui. Kuvauksia ei voitu hakea. Muokkaa kuvauksia ja kuvatekstejä Jaa kuva diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index fbf7f3b5f..cfa74f498 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -380,7 +380,7 @@ Cette copie d’écran est-elle correcte pour être téléversée ? Partager l’application Pivoter - Erreur durant la recherche d’endroits proches. + Erreur durant la recherche d’endroits proches. Aucune image dans cette zone Aucun lieu à proximité Erreur de récupération des monuments à proximité. @@ -584,7 +584,7 @@ Impossible d’ajouter des coordonnées. Impossible d’ajouter des descriptions. Impossible d’ajouter la légende. - Impossible d’obtenir les coordonnées. + Impossible d’obtenir les coordonnées. Impossible d’obtenir les descriptions. Modifier les descriptions et les légendes Partager l’image via @@ -619,7 +619,7 @@ Pour de meilleurs résultats, choisir le mode Haute Précision. Activer la localisation ? « Lieux à proximité » nécessite que la localisation soit activée pour fonctionner correctement. - Vous devez donner accès à votre emplacement actuel pour définir automatiquement la localisation. + Vous devez donner accès à votre emplacement actuel pour définir automatiquement la localisation. Avez-vous pris ces deux photos au même lieu ? Voulez-vous utiliser la latitude et la longitude de l’image de droite ? Charger davantage Aucun lieu trouvé, essayez de modifier vos critères de recherche. diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index 09ef77cca..a4ea6f9c3 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -297,7 +297,7 @@ Resposta incorrecta Pódese subir esta captura de pantalla? Compartir a aplicación - Erro ó procurar os lugares próximos. + Erro ó procurar os lugares próximos. Non hai procuras recentes Está seguro de querer borrar o seu historial de procuras? Queres borrar esta procura? diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index a1c14e5ad..4afd15bff 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -285,7 +285,7 @@ गलत उत्तर क्या यह स्क्रीनशॉट अपलोड होने के लिये तैयार है? एप साझा करें - निकट के स्थान लाने में त्रुटि हुई। + निकट के स्थान लाने में त्रुटि हुई। हाल में कोई खोज नहीं क्या आप सचमुच अपना खोज इतिहास मिटाना चाहते हैं? खोज इतिहास मिट गया diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index 7cf95c8fc..7dbe335d1 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -265,7 +265,7 @@ Pogrešan odgovor Želite li postaviti ovu snimku zaslona? Aplikacija za dijeljenje - Pogreška prilikom dohvaćanja mjesta u blizini. + Pogreška prilikom dohvaćanja mjesta u blizini. Želite li izbrisati ovu pretragu? Predloži za brisanje Izbriši diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index a70f787e8..6d61ead3a 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -314,7 +314,7 @@ Rossz válasz Ez a képernyőkép feltölthető? Alkalmazás megosztása - Hiba a közeli helyek elérésekor. + Hiba a közeli helyek elérésekor. Nincs korábbi keresés Biztosan törölni szeretnéd a keresési előzményeidet? Biztos törölni szeretnéd ezt a keresést? diff --git a/app/src/main/res/values-ia/strings.xml b/app/src/main/res/values-ia/strings.xml index 6f50801d4..a63f0df01 100644 --- a/app/src/main/res/values-ia/strings.xml +++ b/app/src/main/res/values-ia/strings.xml @@ -270,6 +270,7 @@ “A proximitate” poterea non functionar perque le localisation non es disponibile. Le accesso al localisation ha essite refusate. Per favor indica tu localisation manualmente pro usar iste function. Permission necessari pro monstrar un lista de locos a proximitate + Permission necessari pro monstrar un lista de imagines a proximitate Itinerario Wikidata Wikipedia @@ -337,7 +338,7 @@ Es iste captura de schermo bon pro incargar? Condivider app Rotar - Error durante le obtention de locos a proximitate. + Error durante le cargamento de locos a proximitate Necun imagine in iste area Necun loco a proximitate Error durante le obtention de monumentos a proximitate. @@ -541,7 +542,7 @@ Non poteva adder categorias. Non poteva adder descriptiones Non poteva adder legenda. - Non pote obtener coordinatas. + Le coordinatas del imagine non ha essite actualisate Non pote obtener descriptiones. Modificar descriptiones e legendas Condivider imagine via @@ -575,8 +576,10 @@ Fallimento de acceder al parametros de localisation. Per favor activa manualmente le localisation Pro le melior resultatos, elige le modo de alte precision. Activar localisation? + Per favor activa le servicios de localisation pro permitter que le application monstra tu position actual ‘Locos a proximitate’ require que le localisation es activate pro functionar correctemente - Tu debe dar accesso a tu localisation actual pro determinar automaticamente tu position. + Le carta de exploration require le permission de localisation pro monstrar le imagines a proximitate + Tu debe dar le permission de localisation determinar automaticamente tu position. Ha tu prendite iste duo photos al mesme loco? Vole tu usar le latitude/longitude del imagine al dextra? Cargar plus Necun loco trovate. Tenta cambiar tu criterios de recerca. diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 90031775e..9c8ce4122 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -348,7 +348,7 @@ Apakah tangkapan layar ini OKE untuk diunggah? Bagikan Aplikasi Putar - Galat saat mengambil tempat terdekat. + Galat saat mengambil tempat terdekat. Tidak ditemukan tempat yang dekat Galat saat mengambil monumen terdekat. Tidak ada pencarian terbaru @@ -539,7 +539,7 @@ Tidak bisa menambahkan koordinat. Tidak bisa menambahkan deskripsi. Tidak bisa menambahkan takarir. - Tidak bisa mendapatkan koordinat. + Tidak bisa mendapatkan koordinat. Tidak bisa memperoleh deskripsi. Sunting deskripsi dan takarir Bagikan gambar melalui @@ -574,7 +574,7 @@ Untuk hasil terbaik, pilih mode Akurasi Tinggi. Nyalakan lokasi? Tempat sekitar perlu lokasi yang diaktifkan agar bekerja dengan benar - Anda perlu memberikan akses ke lokasi Anda saat ini untuk mengatur lokasi secara otomatis. + Anda perlu memberikan akses ke lokasi Anda saat ini untuk mengatur lokasi secara otomatis. Apakah Anda menangkap kedua gambar ini di tempat yang sama? Apakah Anda ingin menggunakan lintang/bujur dari gambar yang di kanan? Muat Lebih Banyak Tempat tidak ditemukan, coba ubah kriteria pencarian Anda. diff --git a/app/src/main/res/values-io/strings.xml b/app/src/main/res/values-io/strings.xml index 04970edef..3b71ae580 100644 --- a/app/src/main/res/values-io/strings.xml +++ b/app/src/main/res/values-io/strings.xml @@ -332,7 +332,7 @@ Ka ica skreno-kopiuro esas \'OK\' por sendar? Partigez \'\'app\'\' Rotacar - Eroro adportanta informi pri loki proxima. + Eroro adportanta informi pri loki proxima. Nula pikturi en ca areo Nula loki proxima trovesis Eroro adportanta informi pri monumenti proxima. diff --git a/app/src/main/res/values-is/strings.xml b/app/src/main/res/values-is/strings.xml index 8bfc894fe..aa761fff4 100644 --- a/app/src/main/res/values-is/strings.xml +++ b/app/src/main/res/values-is/strings.xml @@ -335,7 +335,7 @@ Rangt svar Er í lagi að senda inn þessa skjámynd? Deila forriti - Villa við að sækja nálæga staði. + Villa við að sækja nálæga staði. Engir staðir fundust í nágrenninu Villa við að sækja nálæg minnismerki. Engar nýlegar leitir @@ -526,7 +526,7 @@ Gat ekki bætt við hnitum. Gat ekki bætt við lýsingum. Gat ekki bætt við skýringatexta. - Gat ekki náð í hnit. + Gat ekki náð í hnit. Gat ekki náð í lýsingar. Breyta lýsingum og skýringatextum Deila mynd með diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 00d0d01a1..9afc86126 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -360,7 +360,7 @@ Questo screenshot è OK per essere caricato? Condividi applicazione Ruota - Errore durante il recupero dei luoghi nelle vicinanze. + Non è possibile caricare i luoghi nelle vicinanze Nessun luogo trovato nelle vicinanze Errore durante la ricerca di monumenti nelle vicinanze. Nessuna ricerca recente @@ -558,7 +558,7 @@ Impossibile aggiungere le coordinate. Non è stato possibile aggiungere descrizioni. Non è stato possibile aggiungere la didascalia. - Impossibile ottenere coordinate. + Coordinate dell\'immagine non aggiornate Impossibile ottenere descrizioni. Modifica descrizioni e didascalie Condividi immagine tramite @@ -593,7 +593,7 @@ Per migliori risultati, seleziona il modo Alta Precisione Accendere la localizzazione? La funzione \'nelle vicinanze\' richiede l\'abilitazione della localizzazione per operare correttamente - Devi consentire l\'accesso alla tua posizione corrente per impostare automaticamente la posizione. + È necessario fornire l\'autorizzazione alla posizione per impostare automaticamente la posizione. Hai scattato queste immagini nello stesso posto? Vuoi usare la latitudine e la longitudine dell\'immagine indicate a destra? Caricane ancora Nessun luogo trovato, prova a cambiare i tuoi criteri di ricerca diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index 2d124c9da..442e49a25 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -308,6 +308,7 @@ ייתכן ש\"בסביבה\" לא יפעל כראוי, משום שהמיקום אינו זמין. הגישה למיקום נדחתה. נא להגדיר את המקום שלך ידנית כדי להשתמש ביכולת הזאת. נדרשת הרשאה כדי להציג רשימה של מקומות בסביבה + נדרשת הרשאה להצגת רשימת התמונות בסביבתך כיוונים ויקינתונים ויקיפדיה @@ -375,7 +376,7 @@ האם בסדר להעלות את צילום המסך הזה? שיתוף היישום סיבוב - שגיאה באחזור המקומות בסביבתך. + שגיאה בטעינת המקומות בסביבתך אין תמונות באזור הזה אין מקומות בסביבה שגיאה באחזור אתרים בסביבתך. @@ -583,7 +584,7 @@ לא היה אפשר להוסיף נקודות ציון. לא היה אפשר להוסיף תיאורים. לא היה אפשר להוסיף כיתוב. - לא ניתן לעדכן נקודות ציון. + לא ניתן לעדכן את נקודות הציון של התמונה אי־אפשר לקבל תיאורים. עריכת תיאורים וכיתובים שיתוף תמונה דרך @@ -617,8 +618,10 @@ פתיחת הגדרות המיקום נכשלה. נא להפעיל את איתור המיקום ידנית לתוצאות המיטביות יש להשתמש במצב דיוק גבוה. להפעיל מיקום? + נא להפעיל את שירותי המיקום כדי שהיישום יוכל להציג את מיקומך הנוכחי פעולת \"בסביבה\" זקוקה לשירותי מיקומי פועלים כדי לעבוד כמו שצריך - יש להעניק גישה למיקום הנוכחי שלך כדי להגדיר את המקום אוטומטית. + חקירת המפה דורשת הרשאות מיקום כדי להציג תמונות בסביבתך + יש להעניק הרשאת מיקום כדי להגדיר את המיקום אוטומטית. האם צילמת את שתי התמונות באותו המקום? האם ברצונך להשתמש בקו הרוחב וקו האורך של התמונה משמאל? לטעון עוד לא נמצאו מקומות, נא לנסות לשנות את החיפוש. diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index ab8f8e94e..51bb17f24 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -343,7 +343,7 @@ 不正解 このスクリーンショットをアップロードしてもよいですか? アプリをシェアする - 付近の場所を取得しようとしてエラーが発生しました。 + 付近の場所を取得しようとしてエラーが発生しました。 最近の検索はまだありません 本当に検索履歴を消去しますか? このアップロードを本当にキャンセルしますか? diff --git a/app/src/main/res/values-ko-rKP/strings.xml b/app/src/main/res/values-ko-rKP/strings.xml index 0b4825139..d7a621356 100644 --- a/app/src/main/res/values-ko-rKP/strings.xml +++ b/app/src/main/res/values-ko-rKP/strings.xml @@ -252,7 +252,7 @@ 오답 이 화면속사를 올리적재하시겠습니까? 프로그람 공유 - 주변 장소를 가져오는데 오유가 있습니다. + 주변 장소를 가져오는데 오유가 있습니다. 최근 검색 없음 검색 리력을 지우겠습니까? 검색 리력이 지워짐 diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index cee56fb0a..705936285 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -83,8 +83,8 @@ 기다려 주세요… 캡션 및 설명를 업데이트하는 중 기다려 주십시오... - 로그인 성공! - 로그인 실패! + 로그인 성공! + 로그인 실패! 파일을 찾을 수 없습니다. 다른 파일을 사용해 주십시오. 인증을 실패했습니다. 다시 로그인해 주십시오 올리기를 시작했습니다! @@ -112,11 +112,11 @@ 이 파일의 설명을 작성해 주십시오 설명 캡션 - 로그인할 수 없습니다 - 네트워크 오류입니다 + 로그인할 수 없습니다 - 네트워크 오류입니다 실패한 시도가 너무 많습니다. 몇 분 후에 다시 시도하세요. 죄송합니다, 이 사용자는 공용에서 차단되었습니다 2요소 인증 코드를 제공해야 합니다. - 로그인 실패 + 로그인 실패 올리기 이 집합의 이름 짓기 바뀜 @@ -236,6 +236,7 @@ 정보 설정 피드백 + 깃허브를 통한 피드백 로그아웃 강좌 알림 @@ -343,7 +344,7 @@ 이 스크린샷을 올리시겠습니까? 앱 공유 회전 - 주변 장소를 가져오는데 오류가 있습니다. + 주변 장소를 불러오지 못했습니다 근처에 장소가 없습니다 최근 검색 없음 검색 기록을 지우겠습니까? @@ -486,7 +487,7 @@ 캡션이 추가되었습니다. 설명을 추가하지 못했습니다. 캡션을 추가하지 못했습니다. - 좌표를 가져올 수 없습니다. + 이미지 좌표가 업데이트되지 않았습니다 설명을 가져오지 못했습니다. 설명 및 캡션 편집 다음을 통해 이미지 공유 @@ -501,7 +502,7 @@ 사진 필요 장소 유형: 다리, 박물관, 호텔 등. - 로그인에 문제가 생겼습니다, 비밀번호를 재설정해야 합니다!! + 로그인에 문제가 생겼습니다, 비밀번호를 재설정해야 합니다! 미디어 자식 클래스 부모 클래스 @@ -587,4 +588,11 @@ 더 이상 이미지를 찾을 수 없습니다 이 이미지는 이미 업로드되었습니다 로그인이 만료되었습니다. 다시 로그인해 주십시오. + 파일이 성공적으로 저장되었습니다 + GPX 파일을 여시겠습니까? + KML 파일을 여시겠습니까? + KML 파일을 저장하지 못했습니다. + GPX 파일을 저장하지 못했습니다. + KML 파일을 저장 중 + GPX 파일을 저장 중 diff --git a/app/src/main/res/values-krc/strings.xml b/app/src/main/res/values-krc/strings.xml index c5b0aeb51..bab194d71 100644 --- a/app/src/main/res/values-krc/strings.xml +++ b/app/src/main/res/values-krc/strings.xml @@ -6,7 +6,7 @@ --> Викигёзен - Джарашдырыула + Джарашдырыўла Хайырланыучуну аты Пароль Кир @@ -36,13 +36,13 @@ Тюрлениуле Джюкле Категорияланы изле - Сакъла + Сакъландыр Категорияла - Джарашдырыула + Джарашдырыўла Юсюнден Юсюнден Оюмунгу билдир (эл. почта бла) - Ызына алыу + Ызына ал Эндир Лицензия CC Attribution-ShareAlike 3.0 diff --git a/app/src/main/res/values-kus/strings.xml b/app/src/main/res/values-kus/strings.xml index eb28759bd..3416b2287 100644 --- a/app/src/main/res/values-kus/strings.xml +++ b/app/src/main/res/values-kus/strings.xml @@ -298,7 +298,7 @@ Footo kaŋa an sʋ\'ʋm nɛ kpɛn\'ɛsʋgɔɔ? Pʋdigim App Giligim - Daʋŋ bɛ zin\'ibanɛ bɛ yamma paamʋg ni. + Daʋŋ bɛ zin\'ibanɛ bɛ yamma paamʋg ni. Zin\'ibanɛ bɛ yamma kae Dinɛ ka ba ia nananna kae Fʋ siak ye fʋ bɔɔd ye fʋ ɛɛnsi fʋ ieeb labakʋdaa? @@ -465,7 +465,7 @@ Pʋ nyaŋi paas coordinate nama. Pʋ nyaŋi paas pa\'alaa. Pʋ nyaŋi paas piana\'azutɛ. - P nyaŋi paam coordinatenama + P nyaŋi paam coordinatenama Pʋ nyaŋi paam pa\'alaa. Dɛmisim Pa\'ala nɛ pian\'azut Pʋdigim footo dɔlis diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 8646919b5..2d4f060b5 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -321,7 +321,7 @@ Atsakymas neteisingas Ar šią ekrano kopiją galima įkelti? Dalintis programėle - Klaida gaunant netoliese esančias vietas. + Klaida gaunant netoliese esančias vietas. Nėra šalia esančių vietų Gaunant netoliese esančius paminklus įvyko klaida. Nėra naujausių paieškų @@ -499,7 +499,7 @@ Nepavyko pridėti koordinačių. Nepavyko pridėti aprašymų. Nepavyko pridėti antraštę. - Nepavyko gauti koordinačių. + Nepavyko gauti koordinačių. Nepavyko gauti aprašymų. Redaguokite aprašymus ir antraštes Dalintis vaizdu per diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml index 8d8469651..b99a8454a 100644 --- a/app/src/main/res/values-mk/strings.xml +++ b/app/src/main/res/values-mk/strings.xml @@ -345,7 +345,7 @@ Дали оваа екранска снимка е во ред за подигање? Сподели прилог Сврти - Грешка при добивањето на околните места. + Грешка при добивањето на околните места. Нема слики за ова подрачје Не најдов околни места Грешка при добивањето на околните споменици. @@ -549,7 +549,7 @@ Не можев да додадам координати. Не можев да додадам описи. Не можев да додадам толкување. - Не можев да добијам координати. + Не можев да добијам координати. Не можам да добијам описи. Уреди описи и толкувања Сподели ја сликата преку @@ -584,7 +584,7 @@ За да добиете најдобар исход, изберете го режимот на висока уточнетост. Да ја вклучам местоположбата? „Во близина“ бара местоположба за да работи - Ќе треба да дозволите пристап до вашата моментална местоположба за таа да може да се зададе автоматски. + Ќе треба да дозволите пристап до вашата моментална местоположба за таа да може да се зададе автоматски. Дали ги направивте ови две слики на истото место? Дали сакате да ја искористите географската ширина/должина од десната слика? Вчитај уште Не пронајдов места. Изменете ги критериумите во барањето. diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index 6f8266eb6..e645b2b47 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -351,7 +351,7 @@ Kan dette skjermbildet lastes opp? Del appen Roter - Feil under henting av steder i nærheten. + Feil under henting av steder i nærheten. Ingen steder funnet i nærheten Feil under henting av kulturminner i nærheten. Ingen nylige søk @@ -534,7 +534,7 @@ Kunne ikke legge til koordinater. Kunne ikke legge til beskrivelser. Kunne ikke legge til bildetekst. - Kunne ikke hente koordinater. + Kunne ikke hente koordinater. Kunne ikke hente beskrivelser. Rediger beskrivelser og bildetekster Del bilde via diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 06287ffc0..a4a16e2b4 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -366,7 +366,7 @@ Is deze screenshot OK om te uploaden? Toepassing delen Draaien - Fout bij het ophalen van plaatsen in de buurt. + Fout bij het ophalen van plaatsen in de buurt. Geen foto\'s in dit gebied. Geen plaatsen in de buurt Fout bij het ophalen van monumenten. @@ -570,7 +570,7 @@ Kan geen coördinaten toevoegen. Kon beschrijvingen niet toevoegen. Kon bijschrift niet toevoegen. - Kan coördinaten niet opvragen. + Kan coördinaten niet opvragen. Kon beschrijvingen niet ophalen Bewerk beschrijvingen en bijschriften. Deel afbeelding via @@ -605,7 +605,7 @@ Kies voor de beste resultaten de modus van hoge nauwkeurigheid. Locatie inschakelen? In de Buurt heeft locatie nodig om correct te werken - U moet toegang geven tot uw huidige locatie om de locatie automatisch in te stellen. + U moet toegang geven tot uw huidige locatie om de locatie automatisch in te stellen. Heeft u deze twee foto\'s op dezelfde plek gemaakt? Wilt u de breedtegraad/lengtegraad van de afbeelding rechts gebruiken? Laad meer Geen plaatsen gevonden, probeer uw zoekcriteria te wijzigen. diff --git a/app/src/main/res/values-nqo/strings.xml b/app/src/main/res/values-nqo/strings.xml index e573257b6..d25b93fb8 100644 --- a/app/src/main/res/values-nqo/strings.xml +++ b/app/src/main/res/values-nqo/strings.xml @@ -297,7 +297,7 @@ ߖߋ߬ߓߌ߬ߟߌ ߝߘߏ߬ߣߍ߲ ߊ߬ ߝߐ߫ ߘߊ߬ߣߊ߲߬ߥߟߊ߬ߖߌߦߊ ߣߌ߲߬ ߓߍ߲߬ߣߍ߲߫ ߦߋ߫ ߟߊ߬ߦߟߍ߬ߟߌ ߘߐ߫ ߝߋߎ߫؟ ߟߥߊ߬ߟߌ߬ߟߊ߲ ߟߊ߬ߖߍ߲߬ߛߍ߲߬ߠߌ߲ - ߝߌ߬ߟߌ ߦߋ߫ ߛߌ߰ߢߐ߲߰ ߘߌ߲ߞߌߙߊ ߟߊߘߏ߲߬ߕߐ ߘߐ߫. + ߝߌ߬ߟߌ ߦߋ߫ ߛߌ߰ߢߐ߲߰ ߘߌ߲ߞߌߙߊ ߟߊߘߏ߲߬ߕߐ ߘߐ߫. ߛߌ߰ߢߐ߲߰ ߦߙߐ߫ ߡߊ߫ ߛߐ߬ߘߐ߲߫ ߟߊ߬ߡߌߣߌ߲ ߘߐ߫ ߝߟߌ߬ ߓߘߊ߫ ߞߍ߫ ߛߌ߰ߢߐ߲߰ ߝߙߎߕߎ ߟߊߛߐ߬ߘߐ߲ ߘߐ߫. ߢߌߣߌ߲ߠߌ߲߫ ߠߊߓߊ߲ ߕߴߦߋ߲߬ @@ -459,7 +459,7 @@ ߘߏ߲߬ߖߟߎ߬ߡߊ߬ߣߍ߲ ߕߍ߫ ߛߐ߲߬ ߝߙߊ߬ ߟߊ߫. ߞߊ߲߬ߛߓߍߟߌ ߕߍ߫ ߛߐ߲߬ ߝߙߊ߬ ߟߊ߫. ߝߍ߬ߛߓߍߟߌ ߕߍ߫ ߛߐ߲߬ ߝߙߊ߬ ߟߊ߫. - ߘߏ߲߬ߖߟߎ߬ߡߊ߬ߣߍ߲ ߕߍ߫ ߛߐ߲߬ ߡߊߛߐ߬ߘߐ߲߬ ߠߊ߫. + ߘߏ߲߬ߖߟߎ߬ߡߊ߬ߣߍ߲ ߕߍ߫ ߛߐ߲߬ ߡߊߛߐ߬ߘߐ߲߬ ߠߊ߫. ߞߊ߲߬ߛߓߍߟߌ ߕߍ߫ ߛߐ߲߬ ߡߊߛߐ߬ߘߐ߲߬ ߠߊ߫. ߞߊ߲߬ߛߓߍߟߌ ߣߌ߫ ߝߍ߬ߛߓߍߟߌ ߟߎ߫ ߡߊߦߟߍ߬ߡߊ߲߫ ߖߌ߬ߦߊ߬ߓߍ ߟߊߖߍ߲ߛߍ߲߫ ߞߊߕߙߍ߬ diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index c9667eb1d..fa1806f92 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -4,6 +4,7 @@ * Chrumps * CiaPan * DeRudySoulStorm +* IOIOI * InternerowyGołąb * Kareyac * Krottyianock @@ -109,12 +110,12 @@ Proszę czekać… Aktualizowanie podpisów i opisów Proszę czekać… - Zalogowano pomyślnie! - Logowanie nie powiodło się! + Zalogowano pomyślnie! + Logowanie nie powiodło się! Nie znaleziono pliku. Spróbuj znaleźć inny. Osiągnięto maksymalny limit ponownych prób! Anuluj przesyłanie i spróbuj ponownie Wyłączyć optymalizację baterii? - Uwierzytelnianie nie powiodło się, zaloguj się ponownie + Uwierzytelnianie nie powiodło się, zaloguj się ponownie, proszę. Wysyłanie rozpoczęte! Prześlij w kolejce (włączony tryb ograniczonego połączenia) Przesłano %1$s! @@ -141,11 +142,11 @@ Podaj podpis dla tego pliku Opis Podpis - Nie można zalogować - błąd sieci + Nie można zalogować - błąd sieci Zbyt wiele nieudanych prób zalogowania. Spróbuj ponownie za kilka minut. Przepraszamy, ten użytkownik został zablokowany na Commons Wprowadź swój kod dla dwuetapowej autoryzacji. - Logowanie nie powiodło się + Logowanie nie powiodło się Prześlij Nazwij ten zestaw Zmiany @@ -269,6 +270,7 @@ O aplikacji Ustawienia Opinie + Odpowiedź za pośrednictwem GitHub Wyloguj Samouczek Powiadomienia @@ -302,7 +304,7 @@ Szczegółowe informacje można znaleźć na stronie internetowej Pomiń Zaloguj się - Czy na pewno chcesz pominąć logowanie? + Czy na pewno chcesz pominąć logowanie? Musisz się zalogować, aby przesłać zdjęcia w przyszłości Zaloguj się, aby skorzystać z tej funkcji Skopiuj wikitext do schowka @@ -310,6 +312,7 @@ W pobliżu może nie działać poprawnie, Lokalizacja jest niedostępna. Odmowa dostępu do lokalizacji. Aby skorzystać z tej funkcji, ustaw swoją lokalizację ręcznie. Uprawnienie wymagane do wyświetlania listy pobliskich miejsc + Uprawnienie wymagane do wyświetlania listy pobliskich zdjęć Wskazówki Wikidane Wikipedia @@ -369,7 +372,7 @@ Zdjęcia przedstawiające technologię lub kulturę są bardzo mile widziane na Commons. Masz %1$s poprawnych odpowiedzi. Gratulacje! Wybierz jedną z dwóch opcji, aby odpowiedzieć na pytanie - Sesja logowania wygasła, prosimy zalogować się ponownie. + Sesja logowania wygasła, prosimy zalogować się ponownie. Podziel się quizem ze swoimi znajomymi! Kontynuuj Poprawna odpowiedź @@ -377,7 +380,8 @@ Czy ten zrzut ekranu nadaje się do przesłania? Udostępnij aplikację Obrót - Błąd podczas pobierania pobliskich miejsc. + Nie udało się wczytać miejsc w pobliżu + Brak zdjęć w tym obszarze Brak miejsc w pobliżu Błąd pobierania pobliskich zabytków. Brak ostatnich wyszukiwań @@ -452,7 +456,7 @@ Nigdy więcej nie pytaj o to Poproś o dostęp do lokalizacji W razie potrzeby zapytaj o pozwolenie na lokalizację w przypadku funkcji widoku pobliskiej karty powiadomień. - Coś poszło nie tak, nie mogliśmy pobrać twoich osiągnięć + Coś poszło nie tak. Nie mogliśmy pobrać osiągnięć Zrobiłeś tak wiele wkładu, że nasz system obliczania osiągnięć nie może sobie poradzić. To jest najwyższym osiągnięciem. Kończy się na: Wyświetl kampanie @@ -577,7 +581,7 @@ Nie można dodać koordynatów. Nie można dodać opisów. Nie można dodać przypisu. - Nie można uzyskać koordynatów. + Nie można uzyskać koordynatów. Nie można uzyskać opisów. Edycja opisów i przypisów Udostępnij obraz przez @@ -612,7 +616,7 @@ Aby uzyskać najlepsze wyniki, wybierz tryb wysokiej dokładności. Włączyć lokalizację? Lokalizacja W pobliżu wymaga włączonej lokalizacji, aby działać poprawnie - Aby ustawić lokalizację automatycznie, musisz przyznać dostęp do swojej bieżącej lokalizacji. + Aby ustawić lokalizację automatycznie, musisz przyznać dostęp do swojej bieżącej lokalizacji. Czy zrobiłeś te dwa zdjęcia w tym samym miejscu? Czy chcesz użyć szerokości/długości geograficznej obrazu po prawej stronie? Wczytaj więcej Nie znaleziono miejsc, spróbuj zmienić kryteria wyszukiwania. diff --git a/app/src/main/res/values-pms/strings.xml b/app/src/main/res/values-pms/strings.xml index 593b1a975..e861e3a39 100644 --- a/app/src/main/res/values-pms/strings.xml +++ b/app/src/main/res/values-pms/strings.xml @@ -276,6 +276,7 @@ «A prossimità» a podrìa marcé nen bin, soa posission a l\'é nen disponìbil. Acess a la localisassion arfudà. Për piasì, ch\'a definissa soa localisassion a man për dovré costa fonsionalità. A-i é da manca dël përmess pr\'ësmon-e na lista dij pòst davzin + A-i é da manca dël përmess pr\'ësmon-e na lista dle plance pijà lì-davzin Diression Wikidata Wikipedia @@ -343,7 +344,7 @@ Costa schermà a va bin da carié? Partagé j\'aplicassion Deje na gira - Eror durant l\'esplorassion dj\'anviron. + Impossìbil carié j\'anviron. Gnun-e plance an cost\'àrea Gnun pòst sì-davzin Eror d\'arcuperassion dij monument davzin. @@ -547,7 +548,7 @@ Impossìbil gionté lé coordinà. Impossìbil gionté le descrission. Impossìbil gionté la legenda. - Impossìbil oten-e le coordinà. + Coordinà dla plancia nen agiornà Impossìbil oten-e le descrission. Modifiché le descrission e le legende. Partagé la plancia via @@ -581,8 +582,10 @@ Falì a duverté ij paràmeter ëd localisassion. Për piasì, ch\'a anvisca la localisassion a man Për dij mej arzultà, ch\'a serna ël meud Àuta precision. Anvisché la localisassion? + Për piasì, ch\'a anvisca ij servissi ëd localisassion për che l\'aplicassion a smon-a soa posission atual Nearby a l\'ha damanca dla localisassion abilità për marcé \'me ch\'as dev - A dev përmëtte l\'acess a soa posission atual për definì an automàtich la localisassion. + L\'esplorassion dla carta a l\'ha damanca dij përmess ëd localisassion pr\'ësmon-s le plance pijà lì-davzin + A dev dé ij përmess a la localisassion për definì la localisassion an automàtich. A la fàit se doe fòto ant l\'istess pòst? A veul dovré la latitùdin e la longitùdin ëd la fòto an sla drita? Carié \'d pi Gnun pòst trovà, ch\'a preuva a modifiché ij sò criteri d\'arserca. diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index b08fe0669..e4f755090 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -366,7 +366,7 @@ Esta captura de tela pode ser carregada? Compartilhar o aplicativo Girar - Erro ao buscar lugares próximos. + Erro ao buscar lugares próximos. Não há lugares próximos Erro ao buscar monumentos próximos. Nenhuma pesquisa recente @@ -569,7 +569,7 @@ Não foi possível adicionar coordenadas. Não foi possível adicionar as descrições. Não foi possível adicionar a legenda. - Incapaz de obter coordenadas. + Incapaz de obter coordenadas. Não foi possível obter as descrições. Editar descrições e legendas Compartilhar imagem via @@ -604,7 +604,7 @@ Para obter melhores resultados, escolha o modo de alta precisão. Ativar a localização? Proximidade precisa de localização ativado para funcionar corretamente - Você precisa dar acesso à sua localização atual para definir a localização automaticamente. + Você precisa dar acesso à sua localização atual para definir a localização automaticamente. Você tirou essas duas fotos no mesmo lugar? Deseja usar a latitude/longitude da imagem à direita? Carregar mais Nenhum local encontrado, tente alterar seus critérios de pesquisa. diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 80837c215..7c0ac8a1a 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -360,7 +360,7 @@ Esta captura de ecrã pode ser carregada? Partilhar aplicação Rodar - Erro ao procurar locais próximos. + Erro ao procurar locais próximos. Não existem locais próximos Erro ao procurar monumentos próximos. Não há pesquisas recentes @@ -563,7 +563,7 @@ Não foi possível adicionar coordenadas. Não foi possível adicionar as descrições. Não foi possível adicionar a legenda. - Não foi possível obter coordenadas. + Não foi possível obter coordenadas. Não foi possível obter as descrições. Editar descrições e legendas Partilhar imagem via @@ -598,7 +598,7 @@ Para obter os melhores resultados, escolha o modo Alta Precisão. Ativar a localização? A funcionalidade de proximidade precisa que a localização esteja ativada para funcionar corretamente - Precisa de dar acesso à sua localização atual para gravar automaticamente a localização. + Precisa de dar acesso à sua localização atual para gravar automaticamente a localização. Tirou estas duas fotos no mesmo lugar? Quer usar a latitude/longitude da fotografia da direita? Carregar mais Não foi encontrado nenhum local; tente alterar os seus critérios de pesquisa. diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 850bc7f93..ac6c76d17 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -339,7 +339,7 @@ Răspuns greșit Este această captură de ecran OK pentru încărcare? Trimiteți App - Eroare la preluarea locurilor din apropiere. + Eroare la preluarea locurilor din apropiere. Eroare la preluarea monumentelor din apropiere. Nu există căutări recente Sigur doriți să ștergeți istoricul căutărilor? @@ -515,7 +515,7 @@ Succes Se adaugă coordonatele %1$s. Nu s-au putut adăuga coordonate. - Nu se pot obține coordonatele. + Nu se pot obține coordonatele. Partajează imaginea prin Încă nu ați făcut contribuții Cont creat! diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 969997b39..95e46b931 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -399,7 +399,7 @@ Этот скриншот подходит для загрузки на Викисклад? Поделиться приложением Повернуть - Ошибка получения мест поблизости + Ошибка получения мест поблизости Здесь нет никаких фотографий Нет мест поблизости Ошибка получения мест поблизости. @@ -607,7 +607,7 @@ Не удалось добавить координаты. Не удалось добавить описания. Не удалось добавить подпись. - Не удалось получить координаты. + Не удалось получить координаты. Не удалось получить описания. Редактировать описания и подписи Поделиться изображением с помощью @@ -642,7 +642,7 @@ Для достижения наилучших результатов выберите режим высокой точности. Включить местоположение? Рядом необходимо, чтобы местоположение было включено для правильной работы. - Вам необходимо предоставить доступ к вашему текущему местоположению, чтобы установить местоположение автоматически. + Вам необходимо предоставить доступ к вашему текущему местоположению, чтобы установить местоположение автоматически. Вы снимали эти две фотографии в одном месте? Хотите использовать широту/долготу изображения справа? Загрузить ещё Мест не найдено, попытайтесь изменить критерии поиска. diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 4475b825b..fd72247a6 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -355,7 +355,7 @@ Nesprávna odpoveď Je v poriadku nahrať túto snímku obrazovky? Zdieľať aplikáciu - Nastala chyba pri hľadaní miest v okolí. + Nastala chyba pri hľadaní miest v okolí. V okolí sa nenašli žiadne miesta Nastala chyba pri načítavaní miest v okolí. Žiadne nedávne hľadania @@ -549,7 +549,7 @@ Nepodarilo sa pridať súradnice. Nepodarilo sa pridať popisy. Nepodarilo sa pridať titulky. - Nepodarilo sa získať súradnice. + Nepodarilo sa získať súradnice. Nepodarilo sa získať popisy. Upraviť popisy a titulky Zdieľať obrázok cez diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index 9daa34e9a..64d9bf2d2 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -359,7 +359,7 @@ Ali je ta zaslonski posnetek primeren za naložitev? Delite aplikacijo Zasukaj - Napaka pri pridobivanju bližnjih krajev. + Napaka pri pridobivanju bližnjih krajev. Tu okoli ni bližnjih krajev Napaka pri pridobivanju bližnjih spomenikov. Ni nedavnih iskanj @@ -566,7 +566,7 @@ Ni bilo mogoče dodati koordinat. Ni bilo mogoče dodati opisov. Napisa ni bilo mogoče dodati. - Koordinat ni bilo mogoče pridobiti. + Koordinat ni bilo mogoče pridobiti. Ni bilo mogoče pridobiti opisov. Uredi opise in napise Deli slike prek ... @@ -601,7 +601,7 @@ Za najboljše zadetke izberite način Visoka natančnost. Vklopim kraj? Za Bližnje je trebs vklopiti kraj - Za samodejno nastavitev lokacije morate omogočiti dostop do vaše trenutne lokacije. + Za samodejno nastavitev lokacije morate omogočiti dostop do vaše trenutne lokacije. Ali ste sliki posneli na istem kraju? Ali želite uporabiti geografsko širino/dolžino desne slike? Naloži več Najden ni noben kraj. Poskusite spremeniti iskalne parametre. diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml index d69b0c6e4..d2547fa1c 100644 --- a/app/src/main/res/values-sr/strings.xml +++ b/app/src/main/res/values-sr/strings.xml @@ -279,6 +279,7 @@ „У близини” можда не ради како треба. Локација није доступна. Приступ локацији је онемогућен. Одаберите вашу локацију ручно да би сте користили ову могућност. Потребна је дозвола за приказивање листе локација у близини + Потребна је дозвола за приказивање списка слика у близини Упутства Википодаци Википедија @@ -537,7 +538,7 @@ Није могуће додавање координата. Није могуће додавање описа. Није могуће додавање натписа. - Није могуће добити координате. + Координате слике нису ажуриране Није могуће добити описе. Уреди описе и натписе Подели слику преко @@ -568,7 +569,7 @@ Дошло је до грешке приликом отварања подешавања за локацију. Укључите локацију ручно За најбоље резултате, одаберите режим високе прецизности. Укључи локацију? - Морате да дате приступ Вашој тренутној локацији да би локација била постављена аутоматски. + Морате да дате приступ Вашој локацији да би локација била постављена аутоматски. Да ли сте снимили ове две слике на истом месту? Да ли желите да користите географску ширину/дужину слике са десне стране? Учитај још Места нису пронађена, покушајте да промените критеријуме за претрагу. diff --git a/app/src/main/res/values-su/strings.xml b/app/src/main/res/values-su/strings.xml index 93eca01de..ed8a79d16 100644 --- a/app/src/main/res/values-su/strings.xml +++ b/app/src/main/res/values-su/strings.xml @@ -322,7 +322,7 @@ Jawaban salah Ieu téwakan layar geus OKÉH jang unjalkeuneun? Bagikeun Aplikasi - Éror pas nyomot tempat sabudeureun. + Éror pas nyomot tempat sabudeureun. Taya pamaluruhan kiwari Anjeun yakin rék mupus jujutan pamaluruhan anjeun? Yakin rék miceun ieu pamaluruhan? diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 1a77e0352..8b389878f 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -351,7 +351,7 @@ Är det okej att ladda upp denna skärmdump? Dela app Rotera - Fel uppstod när platser i närheten hämtades. + Fel uppstod när platser i närheten hämtades. Inga bilder i detta område Inga platser i närheten Fel uppstod när monument i närheten hämtades. @@ -555,7 +555,7 @@ Kunde inte lägga till koordinater. Kunde inte lägga till beskrivningar. Kunde inte lägga till bildtext. - Kunde inte hämta koordinater. + Kunde inte hämta koordinater. Kunde inte hämta beskrivningar. Redigera beskrivningar och bildtexter Dela bild via @@ -590,7 +590,7 @@ För bästa resultat väljer du alternativet \"Öka precisionen\". Aktivera plats? \"I närheten\" behöver ha plats aktiverat för att fungera ordentligt - Du måste ge åtkomst till din nuvarande plats för att ange platsen automatiskt. + Du måste ge åtkomst till din nuvarande plats för att ange platsen automatiskt. Tog du dessa två bilder på samma plats? Vill du använda den högra bildens latitud/longitud? Läs in fler Inga platser hittades, försök ändra dina sökkriterier. diff --git a/app/src/main/res/values-tcy/strings.xml b/app/src/main/res/values-tcy/strings.xml index 6ac1f4979..37268c7f5 100644 --- a/app/src/main/res/values-tcy/strings.xml +++ b/app/src/main/res/values-tcy/strings.xml @@ -282,7 +282,7 @@ ಈ ಪರದೆಚಿತ್ರನ್ ಮಿತೇರಾವರೆ ಒಪ್ಪಿಗೆ ಉಂಡಾ? ಶೇರ್ ಅಪ್ಯ್ ತಿರ್ಗಲೆ - ಕೈತಲ್ದ ಜಾಗೊಲೆನ್ ಕಣನಗ ದೋಷವಾಂಡ್. + ಕೈತಲ್ದ ಜಾಗೊಲೆನ್ ಕಣನಗ ದೋಷವಾಂಡ್. ಇಂಚೊಗು ನಾಡಿನವು ದಾಲಾ ಇಜ್ಜಿ ಇರ್ ನಾಡ್ನಾ ಇತಿಹಾಸೋನ್ ಮಾಜಾಯಾರಾ ಉಪ್ಪುವರತಾ? ನನಾಡುನ ಇತಿಹಾಸೊ ಮಾಜಾತೆರ್. diff --git a/app/src/main/res/values-te/strings.xml b/app/src/main/res/values-te/strings.xml index 432318e53..8f938efa9 100644 --- a/app/src/main/res/values-te/strings.xml +++ b/app/src/main/res/values-te/strings.xml @@ -319,7 +319,7 @@ తప్పు సమాధానం ఈ తెరపట్టును ఎక్కించేందుకు బానే ఉందా? యాప్‌ను పంచుకోండి - చుట్టుపక్కల స్థలాలను తేవడంలో లోపం. + చుట్టుపక్కల స్థలాలను తేవడంలో లోపం. సమీపంలో స్థలాలేమీ లేవు సమీపం లోని నిర్మాణాలను తేవడంలో లోపం. ఇటీవలి వెతుకులాటలేమీ లేవు @@ -497,7 +497,7 @@ నిర్దేశాంకాలను చేర్చలేకపోయాం. వివరణలను చేర్చలేకపోయాం. వ్యాఖ్యను చేర్చలేకపోయాం. - నిర్దేశాంకాలను తేలేకపోయాం. + నిర్దేశాంకాలను తేలేకపోయాం. వివరణలను తేలేకపోయాం. వివరణలు, వ్యాఖ్యలను సరిదిద్దండి బొమ్మను దీని ద్వారా పంచుకోండి diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index 0ac92c2b1..76f1ad6a5 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -332,7 +332,7 @@ คำตอบที่ไม่ถูกต้อง ภาพหน้าจอนี้สามารถอัปโหลดได้หรือไม่ แบ่งปันแอป - เกิดข้อผิดพลาดในการดึงข้อมูลสถานที่ใกล้เคียง + เกิดข้อผิดพลาดในการดึงข้อมูลสถานที่ใกล้เคียง ไม่มีสถานที่ใกล้เคียง ไม่มีการค้นหาล่าสุด คุณแน่ใจหรือไม่ว่าต้องการล้างประวัติการค้นหาของคุณ? diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 656defbf5..fe7c7a2e3 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -370,7 +370,7 @@ Bu ekran görüntüsü yüklemeye uygun mu? Uygulamayı Paylaş Döndür - Yakındaki yerler getirilirken hata oluştu. + Yakındaki yerler getirilirken hata oluştu. Yakınlarda yer bulunamadı Yakındaki anıtlar getirilirken hata oluştu. Son arama yok @@ -573,7 +573,7 @@ Koordinatlar eklenemedi. Açıklamalar eklenemedi. Başlık eklenemedi. - Koordinatlar alınamadı. + Koordinatlar alınamadı. Açıklamalar alınamadı. Açıklamaları ve başlıkları düzenle Resmi şununla paylaş @@ -608,7 +608,7 @@ En iyi sonuçlar için Yüksek Hassasiyet modunu seçin. Konum açılsın mı? Yakınımdakilerin düzgün çalışması için konumun açık olması gerekiyor - Konumu otomatik olarak ayarlamak için mevcut konumunuza erişim izni vermeniz gerekir. + Konumu otomatik olarak ayarlamak için mevcut konumunuza erişim izni vermeniz gerekir. Bu iki fotoğrafı aynı yerde mi çektiniz? Sağdaki resmin enlem/boylamını kullanmak ister misiniz? Daha Fazla Yükle Yer bulunamadı, arama kriterlerinizi değiştirmeyi deneyin. diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 78d0ba0e2..07917a49a 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -374,7 +374,7 @@ Чи можна завантажувати цей знімок? Поширити програму Повернути - Помилка отримання місць поблизу. + Помилка отримання місць поблизу. Не знайдено місць поблизу Помилка отримання пам\'ятників поблизу. Історія пошуку порожня @@ -581,7 +581,7 @@ Не вдалося додати координати. Не вдалося додати описи. Не вдалося додати заголовок. - Не вдалося отримати координати. + Не вдалося отримати координати. Не вдається отримати описи. Редагувати описи та заголовки Поширити зображення через @@ -616,7 +616,7 @@ Щоб отримати кращі результати, виберіть режим високої точності. Увімкнути визначення місця розташування? «Поблизу» потребує увімкненого визначення місця розташування, щоб працювати належним чином - Вам потрібно надати доступ до вашого поточного місцезнаходження, щоб місцезнаходження встановлювалось автоматично. + Вам потрібно надати доступ до вашого поточного місцезнаходження, щоб місцезнаходження встановлювалось автоматично. Ви зробили ці два знімки в одному й тому ж місці? Хочете використати широту/довготу зображення справа? Завантажити більше Місць не знайдено, спробуйте змінити критерії пошуку. diff --git a/app/src/main/res/values-vec/strings.xml b/app/src/main/res/values-vec/strings.xml index 2690af3ea..a71c0384b 100644 --- a/app/src/main/res/values-vec/strings.xml +++ b/app/src/main/res/values-vec/strings.xml @@ -290,7 +290,7 @@ Risposta xbajada Sta schermada ła xé bona par esare cargada? Spartisi aplicasion - Erore co se jera drio ricatar fora i posti cuà rente + Erore co se jera drio ricatar fora i posti cuà rente Nisuna riserca fata ultimamente Sito seguro de vołer scançełare el to storego de riserca? Vuto scançełare sta riserca? diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 4b4027555..a12abfa01 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -245,7 +245,7 @@ Đặt làm hình nền Hình chứa di tích và cảnh vật thiên nhiên thường được chấp nhận tải lên ở hầu hết các quốc gia. Xin lưu ý rằng các công trình nghệ thuật được trưng bày tạm thời thường có bản quyền và không được chấp nhận tải lên. Chia sẻ Ứng dụng - Lỗi khi lấy các nơi lân cận. + Lỗi khi lấy các nơi lân cận. Tìm kiếm khu vực này Đang cố gắng cập nhật danh mục. Cập nhật danh mục diff --git a/app/src/main/res/values-yue-hant/error.xml b/app/src/main/res/values-yue-hant/error.xml new file mode 100644 index 000000000..68579e4a0 --- /dev/null +++ b/app/src/main/res/values-yue-hant/error.xml @@ -0,0 +1,9 @@ + + + + 同享壞咗 + 哎呀。出咗錯! + 多謝你! + diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 1f614a4cd..9e0c71de2 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -299,6 +299,7 @@ 位置無效,應用程式在此地附近可能無法正常運作。 位置存取遭拒。請手動設定您的位置才能使用此功能。 需權限來顯示附近地點清單 + 需要權限來顯示附近圖片清單 方向 維基數據 維基百科 @@ -366,7 +367,7 @@ 這張截圖可以上傳嗎? 分享應用程式 旋轉 - 獲取附近地點時出錯。 + 無法載入附近地點 此區域沒有圖片 找不到附近地點 索取附近古蹟景點時出錯。 @@ -570,7 +571,7 @@ 無法添加座標。 無法添加描述。 無法添加說明。 - 無法取得座標。 + 圖片的座標無法更新 無法取得描述。 編輯描述與說明 分享圖片透過 @@ -604,8 +605,10 @@ 開啟位置設定失敗,請手動打開位置 為了獲得最佳結果,請選擇高精準度模式。 打開位置? + 請開啟位置服務讓應用程式顯示您的目前位置 附近功能需要啟用位置才能運作正常 - 您需要授予對目前位置的存取權限才能自動設定位置。 + 探索地圖需要位置權限才能顯示附近的圖片 + 您需要授予位置權限才能自動設定位置。 您是否在同一地點拍攝了這兩張圖片?您要使用圖片右側的緯度/經度嗎? 載入更多 查無地點,請嘗試更改您的搜尋條件。 diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 859214125..edbb54e96 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -393,7 +393,7 @@ 这个屏幕截图可以上传吗? 分享应用 旋转 - 检索附近地点时出错。 + 无法加载附近地点 找不到附近地点 检索附近古迹时出错。 还没有最近搜索 @@ -596,7 +596,7 @@ 无法添加坐标。 无法添加描述。 无法添加说明。 - 无法获取坐标。 + 图像坐标未更新 无法获取描述。 编辑描述和说明。 分享图片透过 @@ -631,7 +631,7 @@ 选择高精确度模式以获得最佳结果。 打开位置? 附近需要启用位置才能正常工作 - 您需要授予对当前位置的访问权限才能自动设置位置。 + 您需要授予位置权限才能自动设置位置。 您是在同一地点拍摄这两张图片的吗?您想要使用右侧图片的纬度/经度吗? 加载更多 未找到位置,请尝试更改您的搜索条件。 From 4eb8a821911ae5ce117ae736aaa95fb6f2b87d73 Mon Sep 17 00:00:00 2001 From: Kaartic Sivaraam Date: Sun, 21 Apr 2024 19:47:38 +0530 Subject: [PATCH 10/25] Remove the value-yue-hant file The file is not properly recognized by Android and we've actually codemapped it to yue. The translatewiki configuration has been done in the incorrect file. So, it is still being created. The following Gerrit change would correct it for updates after that change is merged. https://gerrit.wikimedia.org/r/c/translatewiki/+/1022508 For the time being remove it for the sake of release. --- app/src/main/res/values-yue-hant/error.xml | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 app/src/main/res/values-yue-hant/error.xml diff --git a/app/src/main/res/values-yue-hant/error.xml b/app/src/main/res/values-yue-hant/error.xml deleted file mode 100644 index 68579e4a0..000000000 --- a/app/src/main/res/values-yue-hant/error.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 同享壞咗 - 哎呀。出咗錯! - 多謝你! - From feabb6bc207f1632aeccedc3dd395893ab93607a Mon Sep 17 00:00:00 2001 From: "translatewiki.net" Date: Mon, 22 Apr 2024 14:02:19 +0200 Subject: [PATCH 11/25] Localisation updates from https://translatewiki.net. --- app/src/main/res/values-az/strings.xml | 1 + app/src/main/res/values-de/strings.xml | 2 +- app/src/main/res/values-it/strings.xml | 5 +++++ app/src/main/res/values-mk/strings.xml | 9 ++++++--- app/src/main/res/values-ne/strings.xml | 2 +- app/src/main/res/values-ru/strings.xml | 9 ++++++--- app/src/main/res/values-yue-hant/error.xml | 9 +++++++++ 7 files changed, 29 insertions(+), 8 deletions(-) create mode 100644 app/src/main/res/values-yue-hant/error.xml diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml index 9adf565ea..866bf63d0 100644 --- a/app/src/main/res/values-az/strings.xml +++ b/app/src/main/res/values-az/strings.xml @@ -5,6 +5,7 @@ * MuratTheTurkish * Mushviq Abdulla * NMW03 +* Nemoralis * Neriman2003 * Toghrul Rahimli * Wertuose diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index c9d753f5b..0bf52acc9 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -682,7 +682,7 @@ Mehr lesen In allen Sprachen Wähle einen Ort - Schwenken und Zoomen zum Einstellen + Schwenken und Zoomen zum Anpassen Ort auswählen In Karten-App anzeigen Standort beabeiten diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 9afc86126..253372305 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -6,6 +6,7 @@ * Ale.salmo * Beta16 * Black Sky83 +* Champ0999 * Davio * Gianfranco * Lorelai87 @@ -747,6 +748,10 @@ Impara come scrivere una descrizione utile Impara come scrivere una didascalia utile Vedi i tuoi risultati + Modifica Immagine + Modifica Posizione + Posizione aggiornata! + Ringrazia l\'autore Sessione scaduta. Accedi nuovamente. %d immagine selezionata diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml index b99a8454a..785bc8b85 100644 --- a/app/src/main/res/values-mk/strings.xml +++ b/app/src/main/res/values-mk/strings.xml @@ -278,6 +278,7 @@ „Во близина“ може да не работи како што треба. Местоположбата е недостапна. Пристапот до местоположбата е одбиен. Задајте ја местоположбата рачно за да ја користите оваа функција. Се бара дозвола за приказ на список на околни места + Се бара дозвола за приказ на список на околни слики Насоки Википодатоци Википедија @@ -345,7 +346,7 @@ Дали оваа екранска снимка е во ред за подигање? Сподели прилог Сврти - Грешка при добивањето на околните места. + Не можам да ги вчитам околните места. Нема слики за ова подрачје Не најдов околни места Грешка при добивањето на околните споменици. @@ -549,7 +550,7 @@ Не можев да додадам координати. Не можев да додадам описи. Не можев да додадам толкување. - Не можев да добијам координати. + Координатите на сликата не се подновени Не можам да добијам описи. Уреди описи и толкувања Сподели ја сликата преку @@ -583,8 +584,10 @@ Не можев да ги отворам поставките за местоположба. Вклучете ја местоположбата рачно. За да добиете најдобар исход, изберете го режимот на висока уточнетост. Да ја вклучам местоположбата? + Вклучете ги местоположбените услуги за прилогот да може да ви ја прикажува вашата тековна местоположба „Во близина“ бара местоположба за да работи - Ќе треба да дозволите пристап до вашата моментална местоположба за таа да може да се зададе автоматски. + Истражувањето на картата бара дозвола за местоположба за да прикажува околни слики + Ќе треба да дозволите пристап до вашата местоположба за таа да може да се задава автоматски. Дали ги направивте ови две слики на истото место? Дали сакате да ја искористите географската ширина/должина од десната слика? Вчитај уште Не пронајдов места. Изменете ги критериумите во барањето. diff --git a/app/src/main/res/values-ne/strings.xml b/app/src/main/res/values-ne/strings.xml index 1329b07fe..1d2a28606 100644 --- a/app/src/main/res/values-ne/strings.xml +++ b/app/src/main/res/values-ne/strings.xml @@ -164,7 +164,7 @@ अभिरुचिहरू प्रतिक्रिया निर्गमन - प्रशिक्षण + स्वशिक्षा जानकारीहरू समीक्षा कुनैपनि विवरण भेटिएन diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 95e46b931..c04863075 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -332,6 +332,7 @@ Функция «Поблизости» может работать некорректно, определение местоположения недоступно. Доступ к местоположению запрещён. Чтобы использовать эту функцию, укажите своё местоположение вручную. Необходимо разрешение для отображения списка мест поблизости + Необходимо разрешение для отображения списка мест поблизости Направления Викиданные Википедия @@ -399,7 +400,7 @@ Этот скриншот подходит для загрузки на Викисклад? Поделиться приложением Повернуть - Ошибка получения мест поблизости + Ошибка получения мест поблизости Здесь нет никаких фотографий Нет мест поблизости Ошибка получения мест поблизости. @@ -607,7 +608,7 @@ Не удалось добавить координаты. Не удалось добавить описания. Не удалось добавить подпись. - Не удалось получить координаты. + Не удалось получить координаты. Не удалось получить описания. Редактировать описания и подписи Поделиться изображением с помощью @@ -641,8 +642,10 @@ Не удалось открыть настройки местоположения. Пожалуйста, включите местоположение вручную Для достижения наилучших результатов выберите режим высокой точности. Включить местоположение? + Пожалуйста, включите службы определения местоположения, чтобы приложение показывало ваше текущее местоположение. Рядом необходимо, чтобы местоположение было включено для правильной работы. - Вам необходимо предоставить доступ к вашему текущему местоположению, чтобы установить местоположение автоматически. + Для просмотра близлежащих изображений карте «Исследование» требуется разрешение на определение местоположения. + Вам необходимо предоставить доступ к вашему текущему местоположению, чтобы установить местоположение автоматически. Вы снимали эти две фотографии в одном месте? Хотите использовать широту/долготу изображения справа? Загрузить ещё Мест не найдено, попытайтесь изменить критерии поиска. diff --git a/app/src/main/res/values-yue-hant/error.xml b/app/src/main/res/values-yue-hant/error.xml new file mode 100644 index 000000000..68579e4a0 --- /dev/null +++ b/app/src/main/res/values-yue-hant/error.xml @@ -0,0 +1,9 @@ + + + + 同享壞咗 + 哎呀。出咗錯! + 多謝你! + From e23d03b2dbaa7ccf124b2ad0ee3ac35f4fb3b3f9 Mon Sep 17 00:00:00 2001 From: RedAuburn Date: Tue, 23 Apr 2024 14:29:51 +0100 Subject: [PATCH 12/25] remove yue-hant again (#5702) --- app/src/main/res/values-yue-hant/error.xml | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 app/src/main/res/values-yue-hant/error.xml diff --git a/app/src/main/res/values-yue-hant/error.xml b/app/src/main/res/values-yue-hant/error.xml deleted file mode 100644 index 68579e4a0..000000000 --- a/app/src/main/res/values-yue-hant/error.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 同享壞咗 - 哎呀。出咗錯! - 多謝你! - From 2e0c57b3ce4a10ea4e72be33f0e08a34d0c8badf Mon Sep 17 00:00:00 2001 From: "translatewiki.net" Date: Thu, 25 Apr 2024 14:02:33 +0200 Subject: [PATCH 13/25] Localisation updates from https://translatewiki.net. --- app/src/main/res/values-de/strings.xml | 6 +++--- app/src/main/res/values-krc/strings.xml | 2 +- app/src/main/res/values-pt-rBR/strings.xml | 3 ++- app/src/main/res/values-yue/error.xml | 9 +++++++++ app/src/main/res/values-zh/strings.xml | 20 ++++++++++++++++++++ 5 files changed, 35 insertions(+), 5 deletions(-) create mode 100644 app/src/main/res/values-yue/error.xml diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 0bf52acc9..a93c547a9 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -378,7 +378,7 @@ Darf dieses Bildschirmfoto hochgeladen werden? App teilen Drehen - Fehler beim Abrufen der Orte in der Nähe. + Konnte keine Orte in der Nähe laden Keine Bilder in diesem Bereich Keine Orte in der Nähe gefunden Fehler beim Abrufen von Denkmälern in der Nähe. @@ -579,7 +579,7 @@ Koordinaten konnten nicht hinzugefügt werden. Es konnten keine Beschreibungen hinzugefügt werden. Die Überschrift konnte nicht hinzugefügt werden. - Es können keine Koordinaten abgerufen werden. + Koordinaten des Bildes nicht aktualisiert Beschreibungen können nicht abgerufen werden Beschreibungen und Überschriften bearbeiten Bild teilen via @@ -614,7 +614,7 @@ Die besten Ergebnisse erzielst du, wenn du den Modus „Hohe Genauigkeit“ wählst. Standort einschalten? Für die Funktion „in der Nähe“ muss der Standort aktiviert sein, um richtig zu funktionieren - Um den Standort automatisch festzulegen, musst du Zugriff auf deinen aktuellen Standort gewähren. + Um den Standort automatisch festlegen zu können, musst du die Berechtigung dazu erteilen. Hast du diese beiden Bilder am selben Ort aufgenommen? Möchtest du den Breiten- und Längengrad des rechten Bildes verwenden? Mehr laden Es wurden keine Orte gefunden. Versuche, deine Suchkriterien zu ändern. diff --git a/app/src/main/res/values-krc/strings.xml b/app/src/main/res/values-krc/strings.xml index bab194d71..45cfafec5 100644 --- a/app/src/main/res/values-krc/strings.xml +++ b/app/src/main/res/values-krc/strings.xml @@ -12,7 +12,7 @@ Кир Системагъа кириу Бираз сакълагъыз… - Авторизация тыйыншлы ётдю + Кириу джетишимлиди! Системагъа кириуде халат Аутентификацияда халат! Джюклеу башланды! diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index e4f755090..089a5bc5e 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -18,6 +18,7 @@ * Maxan * McDutchie * Mello25 +* Mellogabi03 * Re demz * Stephanyb76 * TheEduGobi @@ -717,7 +718,7 @@ Remova deste e-mail qualquer informação que você não se sinta à vontade para compartilhar publicamente. Além disso, esteja ciente de que seu endereço de e-mail com o qual você está postando e o nome associado e a foto do perfil serão visíveis publicamente. Detalhes As conquistas estão disponíveis apenas na versão de produção, verifique a documentação do desenvolvedor. - A tabela de classificação está disponível somente na versão de produção. Consulte a documentação de desenvolvedores. + A tabela de classificação está disponível somente na versão de produção. Consulte a documentação do desenvolvedor. Por favor, envie apenas fotos tiradas por você mesmo. Os usuários que enviarem imagens protegidas por direitos autorais serão bloqueados. Isso se aplica à versão beta também. Obrigado por testar o aplicativo! Desmarque qualquer informação que você não se sinta à vontade para compartilhar publicamente. Nível da API diff --git a/app/src/main/res/values-yue/error.xml b/app/src/main/res/values-yue/error.xml new file mode 100644 index 000000000..68579e4a0 --- /dev/null +++ b/app/src/main/res/values-yue/error.xml @@ -0,0 +1,9 @@ + + + + 同享壞咗 + 哎呀。出咗錯! + 多謝你! + diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index edbb54e96..ba9cc8832 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -285,6 +285,7 @@ 关于 设置 反馈 + 通过GitHub反馈 退出 教程 通知 @@ -326,6 +327,7 @@ 附近可能无法正常工作,位置不可用。 位置权限被拒绝。请手动设置您的位置以使用此功能。 需要权限以显示附近地点列表 + 需要权限以显示附近图片列表 方向 维基数据 维基百科 @@ -394,6 +396,7 @@ 分享应用 旋转 无法加载附近地点 + 此区域没有图片 找不到附近地点 检索附近古迹时出错。 还没有最近搜索 @@ -782,7 +785,24 @@ 存储权限被拒绝 无法分享此项目 功能需要权限 + 查看您的成果 + 编辑图片 + 编辑位置 + 位置已更新! + 移除位置 + 移除位置警告 + 位置已移除! + 感谢作者 + 向作者发送感谢时出错。 您的登录已过期。请重新登录。 + 没有可用于开启GPX文件的应用程序 + 文件保存成功 + 您想打开GPX文件吗? + 您想打开KML文件吗? + 保存KML文件失败。 + 保存GPX文件失败。 + 正在保存KML文件 + 正在保存GPX文件 已选择%d个图像 已选择%d个图像 From e7504b834420e7981f14f5c6b4b9d2693303c3bd Mon Sep 17 00:00:00 2001 From: rohit-satya <151615370+rohit-satya@users.noreply.github.com> Date: Sat, 27 Apr 2024 13:35:26 +0530 Subject: [PATCH 14/25] rename method setImageTobeUploaded to setImageToBeUploaded (#5706) --- .../main/java/fr/free/nrw/commons/upload/UploadActivity.java | 2 +- .../upload/mediaDetails/UploadMediaDetailFragment.java | 2 +- .../upload/mediaDetails/UploadMediaDetailFragmentUnitTest.kt | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/upload/UploadActivity.java b/app/src/main/java/fr/free/nrw/commons/upload/UploadActivity.java index 5b1e3ac11..6b46a103f 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/UploadActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/UploadActivity.java @@ -535,7 +535,7 @@ public class UploadActivity extends BaseActivity implements UploadContract.View, currLocation = null; } } - uploadMediaDetailFragment.setImageTobeUploaded(uploadableFile, place, currLocation); + uploadMediaDetailFragment.setImageToBeUploaded(uploadableFile, place, currLocation); locationManager.unregisterLocationManager(); UploadMediaDetailFragmentCallback uploadMediaDetailFragmentCallback = new UploadMediaDetailFragmentCallback() { diff --git a/app/src/main/java/fr/free/nrw/commons/upload/mediaDetails/UploadMediaDetailFragment.java b/app/src/main/java/fr/free/nrw/commons/upload/mediaDetails/UploadMediaDetailFragment.java index 2698633fd..3d1305023 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/mediaDetails/UploadMediaDetailFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/mediaDetails/UploadMediaDetailFragment.java @@ -154,7 +154,7 @@ public class UploadMediaDetailFragment extends UploadBaseFragment implements - public void setImageTobeUploaded(UploadableFile uploadableFile, Place place, + public void setImageToBeUploaded(UploadableFile uploadableFile, Place place, LatLng inAppPictureLocation) { this.uploadableFile = uploadableFile; this.place = place; diff --git a/app/src/test/kotlin/fr/free/nrw/commons/upload/mediaDetails/UploadMediaDetailFragmentUnitTest.kt b/app/src/test/kotlin/fr/free/nrw/commons/upload/mediaDetails/UploadMediaDetailFragmentUnitTest.kt index 33018a848..c81d0548d 100644 --- a/app/src/test/kotlin/fr/free/nrw/commons/upload/mediaDetails/UploadMediaDetailFragmentUnitTest.kt +++ b/app/src/test/kotlin/fr/free/nrw/commons/upload/mediaDetails/UploadMediaDetailFragmentUnitTest.kt @@ -166,9 +166,9 @@ class UploadMediaDetailFragmentUnitTest { @Test @Throws(Exception::class) - fun testSetImageTobeUploaded() { + fun testSetImageToBeUploaded() { Shadows.shadowOf(Looper.getMainLooper()).idle() - fragment.setImageTobeUploaded(null, null, location) + fragment.setImageToBeUploaded(null, null, location) } @Test From 9f904a95151f6148d801768c8748ad061583d509 Mon Sep 17 00:00:00 2001 From: Kaartic Sivaraam Date: Sat, 27 Apr 2024 22:35:06 +0530 Subject: [PATCH 15/25] Version v4.3.0 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index c11dc513c..e2641a479 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -191,8 +191,8 @@ android { defaultConfig { //applicationId 'fr.free.nrw.commons' - versionCode 1036 - versionName '4.2.1' + versionCode 1037 + versionName '4.3.0' setProperty("archivesBaseName", "app-commons-v$versionName-" + getBranchName()) minSdkVersion 21 From 12ac709aba2b210b3eae13ff6d6fa83173ce8e95 Mon Sep 17 00:00:00 2001 From: Kaartic Sivaraam Date: Sun, 28 Apr 2024 14:46:47 +0530 Subject: [PATCH 16/25] Rebrand v4.3.0 as v5.0.0 We have a huge quantum of changes since v4.2.1. So, it makes sense to bump the major release. So, rebrand v4.3.0 as v5.0.0. --- CHANGELOG.md | 73 ++++++++++++++++++++++++++++++++++++++++++++++++ app/build.gradle | 4 +-- 2 files changed, 75 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 72015947f..d09948950 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,78 @@ # Wikimedia Commons for Android +## v5.0.0 + +### What's Changed + +- Redesigned the map feature to **replace Mapbox with the osmdroid library**. + Key elements like pin visualization and user-centered display are still + included in this redesign. This is done to guard against possible misuse of + the Mapbox token and, more crucially, to keep the app from becoming dependent + on a service that charges for usage but offers a free tier. + + With this change, the app retrieves the map tiles from [Wikimedia maps](https://maps.wikimedia.org). +- Add the ability to **export locations of nearby missing pictures in GPX and + KML formats**. This allows users to browse the locations with desired radius + for offline use in their favourite map apps like OsmAnd or Maps.me, enhancing + accessibility and offline functionality. +- **Limited the uploads via the custom image picker** to a maximum of 20. +- Added two menu choices for **transparent image backgrounds**, giving users the + option of either a black or white background, increasing adaptability to + various theme settings. + + User customization option has been provided with the + ability to save background color selections permanently on a per image basis. +- Implemented functionality to **automatically resume uploads** that become + stuck due to app termination or device reboot. +- Added a **compass arrow in the Nearby banner** shown in the "Contributions" + screen to guide users towards the nearest item, thus providing the missing + directional cues. The arrow dynamically adjusts based on device rotation, + aligning with the calculated bearing towards the target location. Further, + the distance and direction are updated as the user moves. +- Implemented **voice input feature** for caption and description fields, + enabling users to dictate text directly into these fields. +- Improved various flows in the app to **redirect users to the login page** and + display a persistent message **if their session becomes invalid** due to a + password change, enhancing user guidance and security measures. + +### Revamps and refactorings + +- **Revamped initial upload screen layout and the description edit screen layout** + for enhanced user experience and ensuring better symmetry in the design. +- **Replaced Butterknife with ViewBinding** in various places of the app. +- Transferred essential code from **the redundant data-client module** to the + main Commons app code, enabling its integration and facilitating the removal + of the redundant module. Further, convert various parts of the code to Kotlin. +- **Revamped the various location permission flows** to ensure consistency for + the sake of a better user experience. + +### Bug fixes and various changes + +- Resolved an issue where paused uploads that were subsequently cancelled were + still being uploaded. +- Fixed an issue where some user information such as upload count were not + displayed in the "Contributions" and "Profile" screens. +- Fixed the long-standing broken *"Picture of the Day" widget* to restore its + usability. +- Resolved an issue where some categories were hidden at the top of Upload + Wizard suggestions. +- Resolved an issue where there was a grey empty screen at Upload wizard when + the app was denied the files permission. +- Implemented logic to bypass media in Peer Review if the current reviewer is + also the user who uploaded the media. +- Corrected arrow image behaviour in the first upload screen: now displays down + arrow when details card is fully visible, aligning with expected user + interaction. +- Updated app icon to improve visibility and recognition on F-Droid. +- Fixed issue causing all pictures to disappear and activity to reload fully in + the custom image selector after marking a picture as 'not for upload', now + ensuring only the selected picture is removed as expected. + +What's listed here is only a subset of all the changes. Check the full-list of +the changes in [this link](https://github.com/commons-app/apps-android-commons/compare/v4.2.1...v4.3.0). +Alternatively, checkout this release on GitHub releases page for an exhaustive +list of changes and the various contributors who contributed the same. + ## v4.2.1 - Provide the ability to edit an image to losslessly rotate it while uploading diff --git a/app/build.gradle b/app/build.gradle index e2641a479..77eced3ae 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -191,8 +191,8 @@ android { defaultConfig { //applicationId 'fr.free.nrw.commons' - versionCode 1037 - versionName '4.3.0' + versionCode 1038 + versionName '5.0.0' setProperty("archivesBaseName", "app-commons-v$versionName-" + getBranchName()) minSdkVersion 21 From c692766c4186e84970448d0ffd1afdb60d5bd577 Mon Sep 17 00:00:00 2001 From: Kaartic Sivaraam Date: Sun, 28 Apr 2024 15:05:54 +0530 Subject: [PATCH 17/25] CHANGELOG: fix diff link to appropriately use the v5.0.0 tag --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d09948950..84b88ebc0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -69,7 +69,7 @@ ensuring only the selected picture is removed as expected. What's listed here is only a subset of all the changes. Check the full-list of -the changes in [this link](https://github.com/commons-app/apps-android-commons/compare/v4.2.1...v4.3.0). +the changes in [this link](https://github.com/commons-app/apps-android-commons/compare/v4.2.1...v5.0.0). Alternatively, checkout this release on GitHub releases page for an exhaustive list of changes and the various contributors who contributed the same. From 4cc5224556ec2d59e4a4276979efbf26c304be86 Mon Sep 17 00:00:00 2001 From: Kaartic Sivaraam Date: Sun, 28 Apr 2024 15:07:13 +0530 Subject: [PATCH 18/25] CHANGELOG: add link to the v5.0.0 GitHub release --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 84b88ebc0..a9abdaa26 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -70,8 +70,8 @@ What's listed here is only a subset of all the changes. Check the full-list of the changes in [this link](https://github.com/commons-app/apps-android-commons/compare/v4.2.1...v5.0.0). -Alternatively, checkout this release on GitHub releases page for an exhaustive -list of changes and the various contributors who contributed the same. +Alternatively, checkout [this release on GitHub releases page](https://github.com/commons-app/apps-android-commons/releases/tag/v5.0.0) +for an exhaustive list of changes and the various contributors who contributed the same. ## v4.2.1 From da0b2c28e39f61b64a981c8b114ab5e6d4be7406 Mon Sep 17 00:00:00 2001 From: Kaartic Sivaraam Date: Sun, 28 Apr 2024 16:21:14 +0530 Subject: [PATCH 19/25] app: adjust R8 rules to ensure our model classes are not obfuscated With refactoring of the dataclient module, the model classes now live within the app's source code itself. So, the existing R8 rules became obsolete and resulted in the prodRelease version of the app not working. So, adjust the R8 rules so that R8 doesn't obsfuscate the model classes that now live within the app. --- app/proguard-rules.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/proguard-rules.txt b/app/proguard-rules.txt index 8a0b24e83..63981633b 100644 --- a/app/proguard-rules.txt +++ b/app/proguard-rules.txt @@ -32,13 +32,15 @@ # Retain declared checked exceptions for use by a Proxy instance. -keepattributes Exceptions -# Application classes that will be serialized/deserialized over Gson --keepclasseswithmembers class org.wikipedia.** { *; } # Note: The model package right now seems to include some other classes that # are not used for serialization / deserialization over Gson. Hopefully # that's not a problem since it only prevents R8 from avoiding trimming # of few more classes. -keepclasseswithmembers class fr.free.nrw.commons.*.model.** { *; } +-keepclasseswithmembers class fr.free.nrw.commons.actions.** { *; } +-keepclasseswithmembers class fr.free.nrw.commons.auth.csrf.** { *; } +-keepclasseswithmembers class fr.free.nrw.commons.auth.login.** { *; } +-keepclasseswithmembers class fr.free.nrw.commons.wikidata.mwapi.** { *; } # --- /Retrofit --- From af028cbddcd1f40deb41e44d6de98bd3369b8621 Mon Sep 17 00:00:00 2001 From: Kaartic Sivaraam Date: Sun, 28 Apr 2024 16:58:49 +0530 Subject: [PATCH 20/25] Version v5.0.1 (fix release variant of v5.0.0) The same as v5.0.0 except this fixes the release variants of the app for v5.0.0. --- CHANGELOG.md | 5 +++++ app/build.gradle | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a9abdaa26..f4250ebd9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Wikimedia Commons for Android +## v5.0.1 + +Same as v5.0.0 except this fixes some R8 rules to ensure that the release +variants of the app work as intended. + ## v5.0.0 ### What's Changed diff --git a/app/build.gradle b/app/build.gradle index 77eced3ae..19c570a6b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -191,8 +191,8 @@ android { defaultConfig { //applicationId 'fr.free.nrw.commons' - versionCode 1038 - versionName '5.0.0' + versionCode 1039 + versionName '5.0.1' setProperty("archivesBaseName", "app-commons-v$versionName-" + getBranchName()) minSdkVersion 21 From 6aa9303d0f1d844ecb82b027796e255e390cce4c Mon Sep 17 00:00:00 2001 From: "translatewiki.net" Date: Mon, 29 Apr 2024 14:02:13 +0200 Subject: [PATCH 21/25] Localisation updates from https://translatewiki.net. --- app/src/main/res/values-bg/strings.xml | 12 +- app/src/main/res/values-fi/strings.xml | 6 +- app/src/main/res/values-krc/strings.xml | 724 +++++++++++++++++++++++- app/src/main/res/values-zh/strings.xml | 1 + 4 files changed, 725 insertions(+), 18 deletions(-) diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index d4f1c871d..3522e165f 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -53,10 +53,10 @@ Регистриране Влизане в системата Изчакайте… - Успешно влизане. - Неуспешно влизане! + Успешно влизане. + Неуспешно влизане! Файлът не е намерен. Моля, опитайте с друг файл. - Заверката е неуспешна. Влезете отново. + Неуспешен опит за удостоверяване. Моля, влезете отново. Качването започна! Файл %1$s е качен! Докоснете, за да видите качения файл @@ -75,11 +75,11 @@ Споделяне Описание (задълж.) Описание - Неуспешно влизане – проблем в мрежата + Неуспешно влизане – проблем в мрежата Твърде много неуспешни опити. Моля, опитайте пак след няколко минути. За съжаление, потребителят е блокиран на Общомедия Трябва да предоставите кода на двуфакторната си автентикация. - Грешка при влизане + Грешка при влизане Качване Дайте име на този комплект Изменения @@ -294,7 +294,7 @@ Показване на кампании Вижте текущите кампании Вече няма да ви се показват кампаниите. Ако промените решението си, ще намерите тази настройка в Настройки. - Тази опция изисква да сте свързани към мрежата. Проверете настройките за връзка. + Тази опция изисква да сте свързани към мрежата. Моля, проверете настройките за връзка. Възникна грешка при обработката на картината. Моля, опитайте отново! Няма използвани изображения Няма върнати изображения diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index df86a6d0e..7eabea97d 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -343,7 +343,7 @@ Onko tämä kuvakaappaus OK tallennettavaksi? Jaa sovellus Kierrä - Virhe paikkoja haettaessa. + Virhe läheisiä paikkoja ladatessa Virhe läheisiä monumentteja haettaessa. Ei viimeaikaisia hakuja Haluatko varmasti tyhjentää hakuhistoriasi? @@ -669,6 +669,10 @@ Sijainti poistettu! Kiitä tekijää Tiedosto tallennettu onnistuneesti + Haluatko avata GPX-tiedoston? + Haluatko avata KML-tiedoston? + KML-tiedoston tallentaminen epäonnistui. + GPX-tiedoston tallentaminen epäonnistui. %d kuva valittu %d kuvaa valittu diff --git a/app/src/main/res/values-krc/strings.xml b/app/src/main/res/values-krc/strings.xml index 45cfafec5..1a1f83cde 100644 --- a/app/src/main/res/values-krc/strings.xml +++ b/app/src/main/res/values-krc/strings.xml @@ -5,60 +5,762 @@ * Къарачайлы --> - Викигёзен + Викигёзенни Facebook Бети + Викигёзенни Github Къайнакъ Коду + Викигёзен Лого + Викигёзен вебсайт + Локация сайлаучудан чыкъ + Джибер + Башха ачыкълау къош + Джангы къошум къош + Камерадан къошум къош + Фотосуратладан къошум къош + Алгъынгы къошумла галериядан къошум къош + Тюб джазыула + Тил ачыкълау + Тюб джазыу + Ачыкълау + Сурат + Барысы да + Ач/Джукълат + Кёрюнюу Изле + Джерни Болуму + Кюнню сураты + + %1$d файл джюкленеди + %1$d файл джюкленеди + + + (%1$d) + (%1$d) + + Джюклеуле Башланадыла + + %d джюклениу этиледи + %d джюклениу этиледи + + + %d джюклеу + %d джюклеу + + + Бу сурат %1$s лицензнияны тамалында боллукъду + Бу суратла %1$s лицензнияны тамалында боллукъдула + + + %1$d джюклеу + %1$d джюклеу + + + Юлюшленнген контент алынады. Суратны ишлению, суратны боюна эмда девайсыгъызгъа байламлы болуб, бираз заман алыргъа боллукъду. + Юлюшленнген контент алынады. Суратны ишлению, суратны боюна эмда девайсыгъызгъа байламлы болуб, бираз заман алыргъа боллукъду. + + Аула + Кёрюнюую + Баш + Кери билдириу + Ташалыкъ + Гёзен Джарашдырыўла + Гёзеннге джюкле + Джюклеу бардырыла турады Хайырланыучуну аты Пароль + Commons Beta хыйсабыгъыгъа киригиз Кир + Паролугъузнуму унутхансыз? + Регистрация эт Системагъа кириу Бираз сакълагъыз… + Тюб джазыула эмда ачыкълаула джангыртыладыла + Бираз сакълагъыз… Кириу джетишимлиди! - Системагъа кириуде халат - Аутентификацияда халат! + Системагъа кириуде халат! + Файл табылмады. Тилейбиз, башха файлны кёрюгюз. + Къайтарыб сынау лимитге джетгенди! Тилейбиз, джюклеуню тохтатыгъыз эмда джангыдан кёрюгюз + Батарейни оптимизациясы джукълатылсынмы? + Батарей оптимизация джукълатылса, 3-ден аслам сурат джюклеу ышангылы ётерикди. Тилейбиз, проблемасыз джюклеу ючюн, Викигёзенни къошагъыны джарашдырыуларында батарей оптимизацияны джукълатыгъыз.\n\nБатарей Оптимизацияны джукълатыр ючюн атыллыкъ атламла:\n\nАтлам 1: Энишгедеги кесегинде \"Джарашдырыула\" тиекге басыгъыз\n\nАтлам 2: \"Оптимизация этилмегенди\" сайлауну \"Бютеу къошакъла\" бла алмашдырыгъыз\n\nАтлам 3: \"Викигёзен\" неда \"fr.free.nrw.commons\" табыгъыз\n\nАтлам 4: Басыгъыз эмда \"Оптимизация Этме\" сайлауну сайлагъыз.\n\nАтлам 5: \"Этилди\" сайлаугъа басыгъыз. + Аутентификацияда халат! Тилейбиз, энтда бир кере киригиз. Джюклеу башланды! + Джюклеу кёзюуюн сакълайды (тимитли байланыу режим джандырылыбды) %1$s джюкленди! Джюкленнген файлгъа къарар ючюн басыгъыз - %1$s джюклениую башланды + Файл джюклене турады: %s %1$s джюклене турады %1$s джюклениб бошалды + %1$s джюклеу джетишимсиз болду + %1$s джюклеу туракълады Къарар ючюн басыгъыз - Джюклегенлерим - Джюклениу халат + Къарар ючюн басыгъыз + Ахыр Джюклеулерим + Кёзюуде + Джетишимсиз %1$d%% тамамланды Джюклениу Галереядан Суратха ал + Джуўукъда Джюклегенлерим - Башлыкъ + Юлюшле + Файлны бетине къара + Тюб джазыу (Амалсыз) + Бу файл ючюн тюб джазыу джазсагъыз Ачыкълау - Системагъа кириуде халат! + Тюб джазыу + Кириу джетишимсизди - аулауда халат + Кёб джетишимсиз сынау болду. Тилейбиз, талай минст сора энтда кёрюгюз. + Кечериксиз, бу хайырланыучу Гёзенде блок этилгенди + Эки факторлу аутентификация кодну берирге керексиз. + Системагъа кириуде халат Джюкле + Бу къауумха ат бер Тюрлениуле Джюкле Категорияланы изле + Медиагъызда суратланнган элементлени излегиз (тау, Тадж Махал э. а. к.) Сакъландыр + Джангырт + Тизме + (Алкъын джюклеуле джокъдула) + %1$s бла келишген категория табылмады + %1$s бла келишген Викибилгилени элементи табылмады + %1$s бала класс джокъду + %1$s ана класс джокъду + Суратлагъызны Викигёзенде тынчыракъ табылыр ючюн категория къошугъуз. Категория къошар ючюн джазыб башлагъыз. Категорияла Джарашдырыўла + Регистрация + Сайланнган Суратла + Хайырланыучуну Сайлаучусу + Категория + Эксперт Тинтиу Юсюнден + Викигёзен къошакъ, Викимедиа джамагъатны грантларыны къошулуучулары эмда волонтрла джаратылгъан, эмда бардырылгъан ачыкъ къайнакълы къошакъды. Викимедиа Фонд, къошакъны болдурууу, айнытыуу эмда баджарыуу бла байламлы тюлдю. + Халат отчетла эмда теджеуле ючюн джангы <a href=\"%1$s\">GitHub излем</a> болдуругъуз. + Ташалыкъ политика + Къошум этгенле Юсюнден Оюмунгу билдир (эл. почта бла) + Почта клиент къурулмагъанды + Кёб болмай хайырланнган категорияла + Биринчи синхронизацияны сакълаб турады... + Алкъын джюкленнген фотосуратыгъыз джокъду. + Джангыдан сына Ызына ал + Бу суратны джибериб, буну кесими урунуум болгъанын, автор хакъла бла къорууланнган материал неда селфи ичинде болмагъанын, эмда башха <a href=\"https://commons.wikimedia.org/wiki/Commons:Policies_and_guidelines/tr\">Викигёзен политикалагъа</a> келишгенин баямлайма. Эндир - Лицензия - CC Attribution-ShareAlike 3.0 - CC Attribution 3.0 + Тынгылау бла Лицензия + Аллындагъы башлыкъ эмда ачыкълауну хайырлан + Тема + Attribution-ShareAlike 4.0 + Attribution 4.0 + Attribution-ShareAlike 3.0 + Attribution 3.0 CC0 CC BY-SA 3.0 CC BY 3.0 + Викигёзен, Википедияда хайырланнган суратланы кёбюсюн ичинде тутар. + Суратларыгъыз, дунияны тёрт джанындагъы инсанлагъа окъуу алыуда болушлукъчу боллукъду. + Тилейбиз, тамамы бла кесигиз алгъан неда салгъан суратланы джюклегиз: + Табийгъат объектле (гоккала, джаныуарла, таула) + Хайырланнган объектле (аякъ мешинала, темирджол станцияла) + Белгили адамла (мэригиз, сиз тюбеген олимпиячы спортчула) + Тилейбиз, быланы ДЖЮКЛЕМЕГИЗ: + Селфиле неда шохларыгъызны картлары + Интернетден сиз эндирген суратла + Иелери болгъан къошакъланы скриншотлары + Юлгю джюклеу: + Башлыкъ: Синдей Опера Театр + Ачыкълау: Сидней Опера Театр, богъазны туурасындан кёрюнюую + Категорияла: Сидней Опера Театр кюнбатышдан, Сидней Опера Театр узакъдан кёрюнюмлери Кесинги суратларынгы къош. Википедиягъа статьяланы джанландырыргъа болуш! Википедиядагъы суратла Викигёзендендиле. + Суратларыгъыз, бютеу дуниядагъы инсанланы окъуу алыуда болушлукъчу боллукъду. + Интернетде табхан, автор хакъла бла къорууланнган материалладан, сёз ючюн, плакат, китаб тыш э. а. к. хайырланыудан джанлагъыз. Буну ангыладыгъызмы? Хоу! + Аслам Информация Категорияла Джюклениу… Бир зат да сайланмагъанды + Тюб джазыу джокъду Ачыкълау джокъду + Сюзюу джокъду Билинмеген лицензия Джангырт + Асырау Эркинлик Излем + Керекли эркинлик: Тыш асыраучудан окъуу. Къошакъ, бу болмагъанлай галереягъызгъа джетишалмаз. + Керекли эркинлик: Тыш асыраучудан окъуу. Къошакъ, бу болмагъанлай камерагъызгъа/галереягъызгъа джетишалмаз. + Локация Эркинлик Излем + Къошакъ ичинде локацияны суратха алыугъа джаздырыу + Девайс камераны джаздырмагъаны болса, локацияны къошакъны ичиндеги картха алыу бла сакъландырыр ючюн, буну джандырыгъыз + ОК + Эс бёлюгюз + Къайтарылгъан Файл Ат табылды + Джюкле + Хоу + Огъай + Тюб джазыу + Башлыкъ + Суратлаула + Ачыкълау + Сюзюу + Автор + Джюклениу дата + Лицензия + Координатла + Баджармагъанды + Бета-Тестер болугъуз + Google Play-де бета каналыбызгъа къошулугъуз эмда джангы функциялагъа эмда халат тюзетиулеге эртде джетишигиз + 2FA Код + Кертиден чыгъаргъа излеймисиз? + Медиа Сурат Джетишимсизди + Тюб категория табылмады + Ана категорияла табылмадыла + Зао Тау + Ламала + Джангкъылыч Кёпюр + Гюлханий + Википедиягъа Хош Келигиз + Автор Хакълагъа Хош Келигиз + Сидней Опера Театр + Ызына ал + Ач + Джаб + Баш бет + Джюкле + Джуўукъда + Юсюнден + Джарашдырыўла + Кери билдириу + GitHub юсю бла Кери билдириу + Чыкъ + Юретиучю + Хапарландырыула + Тинт + ачыкъланыу табылмагъанды + Гёзен файл бет + Викибилгилени элементи + Википедия статья + Тилейбиз, медианы къарыуугъузча ачыкълагъыз: Къайда алынды? Не кёргюзеди?Тилейбиз, объектлени эмда адамланы танытыгъыз. Тынч тюшюнюрча болмагъан информацияны кёргюзюгюз, сёз ючюн, ландшафт эсе, кюнню сагъатын. Медиада тюбей турмагъан зат эсе, тилейбиз, буну бир башха не шартлары болгъаны ангылатыгъыз. + Тилейбиз, суратны къысха ачыкълауун джазыгъыз. Биринчи сурат ачыкълау, суратны Башлыгъы болуб хайырланныкъды. 255 символгъа сыйындыр. + Бу сурат бла байламлы болургъа болгъан проблемала: + Сурат асыры къарангыды. + Сурат мутхузду. + Сурат алайсыз да Гёзендеди. + Бу сурат башха джерде алыннганды. + Тилейбиз, джангыз кесигиз алгъан суратланы джюклегиз. Башхаланы Фейсбук хыйсабларында табдыгъыз суратла эсе, джюклемегиз. + Алкъын бу суратны джюклерге излеймисиз? + Байланыу халат + Джюклеуге, интернет бла хайырланырча амал керекди. Тилейбиз, аулау байламыгъызны тинтигиз. + Суратда табылгъан проблемала + Тилейбиз, джангыз кесигиз алгъан суратланы джюклегиз. Интернертден эндирген суратланы джюклемегиз. + Къошакъда этилген суратланы сакъландыр + Къошакъда камера бла алыннган суратланы девайсыгъызны асыраучусуна сакъландырыгъыз. + Хыйсабыгъызгъа киригиз + Лог-файлны джибер + Къошакъ бла байламлы проблемаланы тюзетир ючюн, джаратыучулагъа лог-файлны электрон почта бла джибер. Эсгертиу: журналла потенциал халда энчи информация тутаргъа болурла + URL ачарча веб-браузер табылмады + Халат! URL табылмады + Кетериуге Теджерге + Бу сурат кетерир ючюн теджелди + Веб бетни толу билгилерин кёр + Атлат + Кир + Авторизацияны керти да атлатыргъамы излейсиз? + Боллукъ заманда сурат джюклер ючюн кирирге керек боллукъсуз. + Бу функцияны хайырланыр ючюн, тилейбиз, киригиз + Викитекстни алмашдырыу буферге копия эт + Викитекст алмашдырыу буферге копия этилди + Джууукъдагыла тюз ишлеялмайды, Локация хайырландырылалмайды. + Локациягъа джетишиу уналмады. Бу функцияны хайырланыр ючюн, тилейбиз, локациягъызны къолугъуз бла белгилегиз. + Джууукъдагъы джерле тизмени кёргюзюр ючююн, эркинлик берирге керекди + Джууукъдагъы суратла тизмени кёргюзюр ючююн, эркинлик берирге керекди + Буйрукъла + Викибилгиле + Википедия + Гёзен + Бизе багъа бич + FAQ + Хайырланыучуну юретиучю + Юретиучюню Атлат + Интернет хайырланалмайды + Хапарландырыу алыннганда халат + Тинтирге сурат алыуда халат болду. Джангыдан сынар ючюн джангырт тиекге басыгъыз. + Хапарарландырыу табылмады + Кёчюр + Тилле + Кёчюрюу джиберирге излеген тилигизни сайлагъыз + Бардыр + Ызына ал + Джангыдан сына + Была, Википедия статьяланы суратлы этер ючюн суратлагъа керек болгъан сизге джууукъ джерле.\n\n\n\'БУ БЁЛГЕДЕ ИЗЛЕ\'ни басыб, карта ачылыр эмда ол локацияны къатында излеуню башлар. + Былайда фотосурат керекди. + Былайда фотосурат алайсыз да барды. + Былайы энди джокъду. + Сурат табылалмады! + Суратла джюкленнген заманда халат болду. + Джюклеген: %1$s + Блок этилди + Гёзенни тюзетиуюгюз блок этилди + Кюнню сураты + Изле + Гёзенде изле + Изле + Ахыр излеуле: + Ахыр изленген соруула + Ахыр изленнген тилле + Категорияла джюкленнген заманда халат болду. + Суратлаула джюкленнген заманда халат болду. + Медиа + Категорияла + Элементле + Сайланнган + Мобил мадар бла джюкленди + Карта + Сурат, Викибилгиледе %1$s элементге къошулду! + Келишген Викибилгиле барлыкъ джангыртылалмады! + Къабыргъа къагъыт этиб сал + Къабыргъа къагъыт джетишимли салынды! + Соруулау + Бу сурат джюклеуге келишемиди? + Соруу + Эсеб + Кетерирге керекли суратланы андан ары да джюклеуню бардырсагъыз, хыйсабыгъыз блокга тюшериги ишексизди. Соруулауну битдирге излегенигизге ишексизмисиз? + Сиз джюклеген суратладан кетерилгенни саны: %1$s. Кетерилирге керек суратланы Кетерирге керекли суратланы андан ары да джюклеуню бардырсагъыз, хыйсабыгъыз блокга тюшериги ишексизди.\n\nЮретиучюню къайтарыб кёргюзюрге эмда ызындан къаллай типли суратланы джюклерге керек болгъаны бла болмагъанын билирге болушлукъ боллукъ тест этерге излеймисиз? + Селфилени энциклопедиялыкъ багъалары джокъду. Тилейбиз, сизни юсюгюзден Википедия статьягъыз джокъ эсе, кесигизни суратыгъызны джюклемегиз. + Эсгертме эмда ландшафт суратла къралланы кёбюсюнде джюкленирге джарайдыла. Тышындагъы болджаллы санат инсталляцияла асламысы бла автор хакълагъа иедиле, эмда джюклер ючюн келишмегенлерин унутмагъыз. + Вебсайтланы скриншотлары, чыгъармаланнган ишлеге саналгъанлары ючюн, вебсайтны кесинде белгиленнген автор хакъланы субъектиди. Скриншотла, вебсайтны авторундан алыннган эркинликден сора хайырланырча боладыла. Аллай эркинлик болмаса, чыгъармаланы тамалында сиз этген къаллай да болсун чыгъарма, тамал авторгъа хакълары берилген, лицензиясы болмагъан копиягъа саналады. + Гёзенни нюзюрлеринден бири агъачлары мийик суратланы джыйыуду. Ол себебден, мутхуз суратла джюкленмезге керекдиле. Хар заман иги джарыкъ бла ариу суратланы алыргъа кюрешигигз. + Гёзенде технололгия эмда культура санагъатда суратлагъа хар заманда да хош тюбейдиле. + %1$s тюз джууаб бердигиз. Алгъышлайбыз! + Сорууну джууаблар ючюн эки сайлауну бирин сайлагъыз. + Сессияны болджалы чыкъгъанды. Тилебиз, джангыдан киригиз. + Шохларыгъыз бла соруулауну юлюшлегиз! + Бардыр + Тюз Джууаб + Терс Джууаб + Бу скриншот джюклер ючюн келишемиди? + Къошакъны юлюшле + Бур + Къатындагъа джерлени джюклеу джетишимсиз + Былайда джукъ сурат джокъду + Джууукъда джер джокъду + Джууукъда эсгертмелени алгъан заманда халат. + Ахыр излеуле джокъдула + Излеу тарихни тазаларгъа излегенигизден ишексизмисиз? + Бу джюклеуню кери алыргъа излегенигизге ишексизмисиз? + Бу излеуню кетерирге излеймисиз? + Излеу тарих кетерилди + Кетериуге Теджерге + Кетер + Джетишимле + Профиль + Статистика + Бюсюреуле Алындыла + Сайланнган Суратла + \"Джууукъдагъы Джерле\" юсю бла суратла + Дараджа + Суратла Джюклендиле + Суратла Кери Алынмадыла + Суратла Хайырландыла + Джетишимлеригизни шохларыгъыз бла юлюшлегиз! + Бу излемлени шартларын тындырылгъанлары бла бирге дараджаггъыз ёсерикди. \"Статистика\" бёлюмюндеги элементле дараджагъыз бла байламлы тюлдюле. + минимум керекли: + Къаллай да болсун программа баджарыу бла Гёзеннге сиз джюклеген суратны саны + Гёзеннге сиз джюклеген кетерилмеген суратланы проценти + Гёзеннге сиз джюклеген эмда Викимедиа статьялада хайырланнган суратланы саны + Халат болду! + Гёзен Хапарландырыу + Энчи автор атны хайырлан + Фотосуратла джюклеген заманда хайырланыучу атыгъызны орнуна энчи автор ат хайырланыгъыз + Энчи автор ат + Къошумла + Джуўукъда + Хапарландырыула + Хапарландырыула (окъулгъан) + Джууукъдагъыла хапараландырыуну кёргюз + Суратла керек болгъан эм джууукъ джер ючюн къошакъ ичи хапарландырыу кёргюз + Тизме + Асыраучугъа Эркинлик + Суратланы джюклер ючюн девайсыгъызны тыш асыраучусуна джетиширге эркинлик алыргъа керекди. + Энди сизге эм джууукъ джерлени кёрлюк тюлсюз. Алай а излеген бу хапарландырыуну Джарашдырыулада джангыдан джандырырчасыз. + Атлам %1$d/%2$d: %3$s + Эндиги + Аллындагъы + %1$s атлы файл алайсыз да барды. Андан ары бардырыгъа излегенизге ишексизмисиз?\n\nЭсгертиу: файлны атына автомат халда келишген суффикс къошуллукъду. + Девайсыгъызда келишген картография къошакъ табылмады. Тилейбиз, бу энчиликни хайырландырыр ючюн картография къошакъ джюклегиз. + Суратла + Локацияла + Китаб белгилени къош/къорат + Китаб белгиле + Алкъын чырт китаб белги къошмадыгъыз + Китаб белгиле + Лог джыйыу башланнганды. Тилейбиз ДЖАНГЫЛАН БАШЛАТЫГЪЫЗ, журналгъа сакъландырыргъа излеген ишлеуню тындырыгъыз эмда ызындан джангыдан \'лог-файлны джибер\'ни басыгъыз + Джангылыч джюкледим + Буну хар ким кёрюрча боллугъун билмей эдим + Ташалыгъыма аман болгъанын ангыладым + Сагъышымы тюрлендирдим, энди хар кимге кёрюннюгюмю излемейме + Кечериксиз, бу сурат энциклопедия ючюн эс бёлюрча тюлдю + Кесим джюклеген %1$s сайтха джюкленди эмда %2$d статьяда хайырландырылды. + Гёзеннге Хош Келигиз!\n\nКъош тиекге басыб биринчи медиагъызны джюклегиз. + Категорияла Сайланмадыла + Категориясыз суратла аз хайырланадыла. Категория сайламай бардырыргъа излегенигизге ишексизмисиз? + Танытыула Сайланмадыла + Танытыулары болгъан суратланы табхан эмда хайырланнган тынчыракъ боллукъду. Танытыуу сайламай андан ары бардырыргъа излегенигизге ишексизмисиз? + Джюклеуню Ызына Ал + Кери тиекни хайырланыб, бу джюклеуню ызына аллыкъсыз эмда ишлеулеригизни тас этериксиз + Джюклеуню Бардыр + (Тобламадагъы бютеу сурат(ла) ючюн) + Бу бёлгеде изле + Эркинлик Излем + Суратла керекли эм джууукъ джерни кёргюзюр ючюн, болгъан локациягъызны хайырланырыбызны излеймисиз? + Локация эркинлик болмагъанлай, сурат керек болгъан эм джууукъ джер кёргюзтюрча тюлдю + Буну мындан сора сорма + Локация эркинлик излегиз + Джууукъдагъы хапарландырыу картны кёргюзюу функциясы ючюн керек болса локация эркинлик излегиз. + Не эсе да терс кетди, биз джетишимлеригизни алалмадыкъ + Джетишим эсеблеучю системабыз онглаямлазча, бек кёб къошум этдигиз. Бу уллу джетишимди. + Бошалады: + Компанияланы кёргюз + Баргъан компанияланы кёргюз + Камера джазмай эсе, къошакъгъа локацияны алыргъа эркинлик беригиз. Бир къауум девайс камерала локацияны джаздырмазла. Быллай болумлада къошакъны локация алыб эмда къошарына эркинлик бергенигиз, къошумугъузну андан да файдалы халгъа келтирир. Буну излеген заманыгъызда Джарашдырыулада тюрлендирирге боллукъсуз. + Эркинлик бер + Унама + Тилейбиз, Джарашдыруладан локациягъа джетишиуню ачыгъыз эмда энтда бир кере кёргюз.\n\nЭсгертиу: Къошакъ, къысха бир заман ичинде девайсдан локация алалмазса, джюклеуде локация информация болмазгъа болур. + EXIF-де локация болмаса, къошакъ ичи камераны локациягъызны суратларыгъызгъа къошалырча болур ючюн, локациягъа эркинлик керекди. Тилейбиз, къошакъны локациягъызгъа джетишалырча эркинлик беригиз эмда джангыдан кёрюгюз.\n\nЭсгертиу: Къошакъ, къысха бир заман ичинде девайсдан локация алалмазса, джюклеуде локация информация болмазгъа болур. + Къошакъ, локация эркинлик болмаса, картха алыула бла бирге локацияларын джаздырлыкъ тюлдю + GPS джукълатылгъаны себебли, къошакъ картла бла бирге локацияларын джаздырмайды. + Документ тамалында фото сайлаучуну хайырлан + Джангы Android фото сайлаучуну, локация информацияны тас этер къоркъуу барды. Аны хайырланыр акъылыгъыз бар эсе, джандырыгъыз. + Буну джукълатыу, джангы Android фото сайлаучуну джандырыр. Локация информацияны тас этер къоркъуу барды.\n\n\'Аслам бил\' тиекни басыб аслам информация алыгъыз. + Энди чырт компанияланы кёрлюк тюлсюз. Алай а излесегиз Джарашдырыулада джангыдан джандырырчасыз. + Бу функция нетаулау излеуди. Байламыгъызны джарашдырыуларын тинтигиз. + Сурат ишлеуде халат болду. Тилейбиз, джангыдан сынагъыз! + Тюзетиу ючюн токен алынады + Категория тинтиу ючюн шаблон къошуу + %1$s ючюн категория тинтиу излем барады + Категория тинтиу излем барады + Категория тинтиу излем этилди + Категория тинтиу излем ишге джарамады + %1$s ючюн излем болгъан категоря тинтиу + %1$s ючюн категория тинтиу излем болмады + %1$s ючюн категория тинтиу излем барады + Тындырылды + Бюсюреуле Джибериу: Джетишимли + %1$s бюсюреуле джиберилдиле + %1$s бюсюреуле джиберилалмадыла + Бюсюреуле Джибериу: Джетишимсиз + %1$s ючюн Бюсюреуле Джибериу + Бу автор хакълагъа келишемиди? + Бу тюз категориялашханмыды? + Бу келишемиди? + Къошулуучугъа бюсюрерге излеймисиз? + Чырт файдалы тюл эсе, бу суратны кетерирге теджеу джиберир ючюн ОГЪАЙ-ны басыгъыз. + Логола, скриншотла, фильм афишала асламысы бла автор хакъланы бузадыла. Бу суратны кетерирге теджеу джиберир ючюн ОГЪАЙ-ны басыгъыз. + %1$s бюсюреуюгюзню аллыкъды + Оу, бу таб энтда категориялашдырылмагъанды + Бу сурат %1$s категорияладанды. + Бу себебден келишмейди: + Бу себебден автор хакълары бузулубдула: + Эндиги сурат + Хоу, нек болмасын + Бу тиекге бассагъыз, Викигёзенден джангы джюклеген башха сурат аллыкъсыз + Викигёзенни агъачын иги этер ючюн суратланы тинтерге боллукъсуз.\nТинтиуню юч параметри быладыла:\n\n- Бу сурат келишемиди?\nОгъайны (келишмейди) бассагъыз, бу суратха кетериуге теджеу шаблон къошарыкъсыз.\n\n- Бу сурат автор хакъланы джорукъларына келишемиди?\nОгъайны (автор хакълагъа келишмейди) бассагъыз, бу суратха кетериуге теджеу шаблон къошарыкъсыз.\n\n- Бу сурат тюз категориялашханмыды?\nОгъайны (тюз категориялашмагъанды) бассагъыз, бу суратха категориялашыу излмем шаблон къошарыкъсыз.\n\nХар не джолунда эсе, суратха джукъ шаблон къошулмаз, эмда къошум этгеннге бюсюреу джиберир амал алырсыз. + Чырт сурат хайырланмады + Кери келтирилген сурат джокъду + Джюкленнген сурат джокъду + Окъулмагъана хапарландырыуугъуз джокъду + Окъулмагъан хапарландырыуугъуз барды + Логларыгъызны хайырланыб юлюшлегиз + Окъулгъанны кёргюз + Окъулмагъанланы кёргюз + Суратла сайланнган заманда халат болду. + Бираз сакълагъыз… + Сайланнган суратла, Викигёзен джамагъат, сайтдагъы эм мийик агъачы болгъанды деб сайлагъанды, эм фахмулу фотографла бла иллюстраторланы суратларыды. + Джууукъдагъы джерле юсю бла джюкленнген суратла, картадагъы джерлени табыб джюкленнген суратладыла. + Бу функция, редакторланы, тарих бетде неда версия башхалыкъ бетде, гитче бюсюреу джибериуню хайырланыб, файдалы тюзетиулени этген хайырланыучулагъа Бюсюреу хапарландырыу джиберирге амал береди. + Сорагъы медиагъа копия эт + Копия этилди + Гёзеннге джюкленник иги суратланы юлгюлери + Джюкленмезлик суратланы юлгюлери + Бу суратны атлат + Джюклеу Джетишимсиз Болду!! Тыш асыраучугъа эркинлик берилмей джюклеяллыкъ тюлбюз. + EXIF-тегле бла ишле + Джюклеуледе къайсы EXIF-теглени тутуллукъларын сайла + Автор + Автор хакъла + Локация + Камераны Модели + Линзаны Модели + Серия Номерлери + Программа баджарыу + Медиа локациягъа джетишиу уналмады + Джюклеген суратладан локация билгилени автомат халда алмазгъа боллукъбуз. Тилейбиз, джибериуден алгъа хар сурат ючюн келишген локацияны къошугъуз + Фотосуратланы телефонугъуздан туура Викигёзеннге джюклегиз. Гёзен Къошакъны энди эндиригиз: %1$s + Къошакъны буну бла юлюшле... + Сурат Информация + Категорияла табылмадыла + Танытыула табылмадыла + Джюклеу Ызына Алынды + Аллындагъы суратны башлыгъы неда ачыкълауу ючюн билги джокъду + %1$s нек кетерилирге керекди? + %1$s джюклеген: %2$s + Тынгылау бла ачыкълау тил + Кетериуге теджеу + Джетишимли + %1$s кетериуге теджелди. + Джетишимсиз + Кетериуге излем этилалмады. + чырт бир статьяда хайырланмагъан селфи + тамамы бла мутхуз + ангыламсыз, чырт бир статьяда хайырланырча тюлдю + Басым фото + Интернетден рандом фото + Лого + Панорманы Эркинлигини Бузуу + Ол себебден + Категорияланы джангыртыргъа кюрешеди. + Категория джангыртыу + Джетишимли + + %1$s категория къошулду. + %1$s категория къошулду. + + Категория къошулалмадыла. + Категорияланы джангырт + Танытыуланы джангыртыргъа кюрешеди. + Танытыуланы тюзет + + %1$s Танытыу къошулду. + %1$s Танытыу къошулду. + + Танытыула къошулалмадыла. + Координатланы джангыртыргъа кюрешеди. + Координатланы джангыртыу + Ачыкълауланы джангыртыу + Тюб джазыуланы джангыртыу + Джетишимли + %1$s координатла къошулдула. + Ачыкълаула къошулдула. + Тюб джазыу къошулду. + Координатла къошулалмадыла. + Ачыкълаула къошулалмадыла. + Тюб джазыу къошулалмады. + Суратны координатлары джангыртылмады + Ачыкълау алынырча тюлдю. + Ачыкълауланы эмда тюб джазыуланы тюзет + Суратны буну бла юлюшле + Алкъын чырт къошум этмедегиз + %s алкъын чырт къошум этмеди + Хыйсаб къуралды! + Текст алмашдырыу буферге копия этилгенди + Хапарландырыу окъулгъанча белгиленди + Бир халат болду! + Джерни болуму: + Барды + Фото Керекди + Джерни типи: + Кёпюр, музей, къонакъ юй эмда а. к. + Не эсе да терс кетди. Паролугъузну ташларгъа керексиз! + МЕДИА + БАЛА КЛАССЛА + АНА КЛАССЛА + Джууукъдагъы Джер Табылды + Бу %1$s суратмыды? + Китаб белгиле + Джарашдырыўла + Китаб белгиледен къоратылды + Китаб белгилеге къошулду + Не эсе да терс кетди. Къабыргъа къагъыт къурулалмады + Къабыргъа къагъыт эт + Къабыргъа Къагъыт къурула турады. Тилейбиз сакълагъыз... + Системаны джарашдыр + Къарангы + Джарыкъ + Локация джарашдырыула ачылалмадыла. Тилейбиз, локацияны къолугъуз бла джандырыгъыз. + Эм иги эсебле ючюн Мийик Кескинлик режимни сайлагъыз. + Локация джандырылсынмы? + Тилейбиз, къошакъ бусагъатдагъы локациягъызны кёргюзюр ючюн, локация къуллукъланы джандырыгъыз. + Джууукъдагъыланы тюз ишлерлери ючюн, локация джандырылыб турургъа керекди + Джууукъдагъы суратланы кёргюзюр ючюн Аулау картагъа локация эркинлик керекди + Локацияны автомат халда къурур ючюн, локация эркинлик алыргъа керекди. + Бу эки фотосуратны бир джердеми алдыгъыз? Онгдагъы суратны кенглик/узунлугъун хайырланыргъа излеймисиз? + Аслам Джюкле + Джер табылмады, излеу шартларыгъызны тюрлендириб кёрюгюз. + Теджелген маджаллашдырыула: + - Хайырланыуну таблыгъын ёсдюрюр ючюн бу суратха категорияла къошугъуз. + - Бу суратны, сураты болмагъан байламлы Википедия статьягъа къош. + Википедиягъа сурат къош + Бу суратны %1$s Википедия статьягъа къошаргъа излеймисиз? + Къабыл эт + Инструкцияла + 1. Быллай викитекстни хайырлан: + 2. Къабыл Эт тиекни басханлай, Википедия статья ачылыр + 3. Статьягъызда суратыгъыз ючюн келишимли бёлюм табыгъыз + 4. Бу бёлюм ючюн Тюзетиу белгиге (карандашха ушаш) басыгъыз. + 5. Викитекстни келишимли джерле салыгъыз. + 6. Керек болса викитекстни, келишимли орунландырыр ючюн тюзетигиз. Аслам информация ючюн <a href=\"https://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style/Images#How_to_place_an_image\">бери къарагъыз</a>. + 7. Статьяны басмалагъыз + Викикодну алмашдырыу буферге копия эт + туракълат + бардыр + Туракълатылды + Энтда + Китаб белгиле + Джетишимле + Алчыланы таблицасы + Ранг: + Саны: + Ранг + Хайырланыучу + Саны + Алчыланы таблицасында аватар этиб къур + Аватар этилиб къурула турады, тилейбиз сакълагъыз + Аватар къурулду + Джангы аватар къурулгъан заманда, халат болду, тилейбиз, джангыдан кёрюгюз + Аватар этиб къур + Джылгъа + Ыйыкъгъа + Бютеу заман + Джюкле + Джуўукъда + Хайырланнган + Рангым + Чекленнген байланыу режим джандырылгъанды! + Чекленнген байланыу режим джукъланнганды. Сакълаб тургъан джюклениуле энди андан ары бардырыллыкъдыла. + Чекленнген Байланыу Режим + Агъачлары Мийик Суратла + Агъачлы суратла, белгили агъач стандартларына (асламысыны техника халы болады) келишген эмда Викимедиа проектле ючюн багъалы болгъан диаграммала неда фотосуратладыла + Джюклениу андан ары бардырылады... + Джюклениу туракъланады... + Джюклениу ызына алынады... + Джюклеуню Ызына Ал + Чекли байланыу режимни джандырдыгъыз. Бютеу джюклениуле туракълатыллыкъдыла эмда бу режимни джукълатсагъыз, тохтагъан джерден башларыкъдыла. + Чекленнген байланыу режим джандырылгъанды. + Тилейбиз, суратыгъызны не кёргюзтгенин ангылатхан къысха тюб джазыу джазыгъыз. Ачыкълауда, суратны неси сейир, неда кёб тюбеучю, неда санда бир тюбеучю неси болгъанын ачыкълагъыз. Мадарыгъызча, кескин терминологияны хайырланыгъыз. + Тилейбиз, бу суратда сыфатланнган бютеу концептлени табыгъыз эмда сайлагъыз. Мадарыгъызгъа кёре кескин болугъуз. Сурат бирден кёб элементни сыфатлай эсе, барысын да керекли мардада сайлагъыз. Андан да кескин тегле бар эсе, ортакъ теглени сайламагъыз. + Тилейбиз, келишген категорияланы сайлагъыз. Танытыулача болмай, категорияла барысы да къуру ингилизчадыла. + Гёзен, суратларыгъызны хар ким да джангыдан хайырланырча эмда келишдирирча халгъа келтирликди. Бютеу хакълагъа иеликни унамазгъа излеймисиз? Авторлугъугъуз белгиленирин излеймисиз? Чыгъармаланнган ишле биягъы лицензияны хайырланырларын излеймисиз? + Кёргюзеди + Медиа Лицензия + Медианы Толу Билгилери + Категорияны бетине къара + Элемент бетни кёргюз + Къошакъны хайырланыучу интерфейсини тили + Тюб джазыуну эмда ачыкълауну къоратады + Энтда окъу + Бютеу тилледе + Локацияны сайла + Джарашдырыр ючюн панорама эт эмда джуукълашдыр + Локация сайла + Карта къошакъда кёргюз + Локацияны тюзет + Локация сайлаучуну сурат кёрюнюмю + \n\n Локация сайлаучуну сурат кёрюнюмюню кёлеккеси + Суратны Локациясы + Локацияны тюз болгъанын тинт + Белги + Ачыкълау + Элементле + Хайырланыучуну Сайлаучусу + Суратла джокъду + Тындырылды + Кери + Энчи Сурат Сайлаучугъа Хош Келигиз + Бу сайлаучу, Гёзенде къайсы суратланы джюклегенигизни кёргюзюр. + Солдагъы суратдан башха болуб, онгдагъы суратда алайсыз да джюкленнгенин белгилеген Гёзенни логосу барды. Суратны ал къарауу ючюн басыб туругъуз. + Сейирлик + Бу сурат Гёзеннге алайсыз да джюкленнгенди. + Техника чурумла бла къошакъ бир заманда %1$d фотосуратдан асламыны къоркъуусуз шекелде джюклеялмайды. %1$d болгъан джюклеу марда %2$d бла оздурулду. + Унама + Максимум: %1$d + Халат: Джюклеу Марда Оздурулду + Бу сурат Вики Эсгертмелени Сюеди эришиуге къошуллукъду + Эсгертмелени кёргюз + Вики Эсгертмелени Сюеди айы! + АСЛАМ БИЛ + Вики, Эсгертмелени Сюеди, Викимедиа джанындан къуралгъан эсгретмеле ючюн халкъла арасы фото эришиудю + Эркинлик Керекди + Джууукъдагъы картала тюз ишлер ючюн ТЕЛЕФОННУ БОЛУМУн окъургъа амал болургъа кереклиди + Хайырланыучуну къошумлары: %s + Хайырланыучуну джетишимлери: %s + Хайырланыучу бетни кёргюз + Танытыуланы тюзет + Категорияланы тюзет + Кенгленнген Сайлаула + Джууукъдагъыла излемини джарашдырыргъа боллукъсуз. Халат алсагъыз, ариулагъыз эмда къабыл этигиз. + Хайырландыр + Ариула + Локация билги Вики редакторлагъа суратыгъызны табханын тынч этиб, андан да иги хайырланырча этеди.\nКамера къошагъыгъызны джарашдырыуларында локацияны джандырлыгъызны теджейбиз. Джюклениу ючюн сау болугъуз! + Локация табылалмады + Бу сурат алыннган джерни къошууну юсюнден не дерсиз?\nЛокация билгиле, Вики тюзетиучюлени суратыгъызны табмасына болушлукъ болуб, аны андан да бек хайырланырча этер. \nСау болугъуз! + Локацияны къош + Тилейбиз, хар кимге ачыкъ болуб юлюшерге излемеген бютеу информацияны бу электрон мектубдан къоратыгъыз. Аны юсюне, юлюшледигиз электрон адресигизни эмда байламлы ат эмда профиль суратыгъызны хар кимге ачыкъ кёрюннюгюню унутмагъыз. + Толу ачыкълаула + Джетишимле къуру prod версияда джетиширчады, тилейбиз, джаратыучу документация бла танышыгъыз. + Алчыланы таблицасы къуру prod версияда джетиширчады, тилейбиз, джаратыучу документация бла танышыгъыз. + Тилейбиз, къуру кесигиз алгъан фотосуратланы джюклегиз. Автор хакъла бла къоруланнган суратланы джюклегенле блок этилликдиле. Бу бета ючюн да джараулуду. Къошакъны тест этгенигиз ючюн сау болугъуз! + Тилейбиз, хар кимге ачыкъ болуб юлюшерге излемеген бютеу информацияны саулаудан къоратыгъыз. + API дараджа + Андроид версия + Девайсны чыгъарыучусу + Девайсны модели + Девайсны аты + Нетаулауну типи + Кери билдириу бергенигиз ючюн сау болугъуз + Кери билдириу джиберген заман халат болду + Кери билдириугюз неди? + Кери билдириугюз + Джюклеу ючюн тюлдю деб белгиле + Джюклеу ючюн тюлдю белгини къорат + Джюклеу ючюн тюлдю деб белгиленеди + Джюклеу ючюн тюлдю деб белги къоратылады + Хазыр этилиб бошагъан суратланы кёргюз + Хазыр этилиб бошагъан суратланы джашыр + Башха сурат табылмады + Бу сурат алайсыз да джюкленнгенди + Бу сурат джюклер ючюн сайланалмайды + Сурат сайланды + Сурат джюклениу ючюн тюлдю деб белгиленди + Билдирме + Акъ аркъа планны къур + Къара аркъа планны къур + Бузууну юсюнден билдир + Бу хайырланыучудан тарыкъ + Бу контентге тарыкъ + Бу хайырланыучуну блок этилиуюн изле + Толу Экран Сайлау Режимге Хош Келигиз + Джууукълашдырыр эмда узакълашдырыр ючюн эки бармакъны хайырланыгъыз. Бу талай этиуню этер ючюн бир джанына дженгил эмда узун тартыгъыз:\n- Солгъа/онгнга: аллындагъыгъа/эндиге кёчюу\n- Башына: сайлагъыз\n- Тюбюне: Джюклеуге джораланмагъанча белгиле. + Алчылыкъ таблицада аватарыгъызны джарашдырыр, къайсы болса да суратны юч нохтасы болгъан менюсундагъы \"Аватар этиб къур\" пунктну басыгъыз. + Координатла, кескин координатла болмасала да, бу суратны джюклеген адам бу координатланы джетерча джууукъду деб турады. + Асыраучу Эркинлик Уналмады + Бу элемент юлюшленалмайды + Ишлерча болууу ючюн эркинликле керекдиле + Хайырланырча ачыкълау къалай джазаргъа керек болгъанын юренигиз + Хайырланырча тюб джазыуну къалай джазаргъа керек болгъанын юренигиз + Джетишимлеригизге къарагъыз + Суратны Тюзет + Локацияны Тюзет + Локация джангыртылды! + Локацияны Къорат + Локация Эсгертиуню Къорат + Локация, суратланы андан да файдалы эмда излерге тынч этеди. Бу суратдан локацияны къоратыргъа керти да излеймисиз? + Локация къоратылды! + Авторгъа бюсюреу + Авторгъа бюсюреу джибериуде халат. + Сессиягъызны болджалы чыкъгъанды. Тилебиз, джангыдан киригиз. + GPX файлланы ачаллыкъ джетиширча къошакъ джокъду + Файл Джетишимли Сакъланды + GPX файлны ачаргъа излеймисиз? + KML файлны ачаргъа излеймисиз? + KML файл сакъландырыу джетишимсиз болду. + GPX файл сакъландырыу джетишимсиз болду. + KML файлны сакъланыуу + GPX файлны сакъланыуу + + %d сурат сайланды + %d сурат сайланды + diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index ba9cc8832..391f208a6 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -633,6 +633,7 @@ 无法打开位置设置。请手动打开位置 选择高精确度模式以获得最佳结果。 打开位置? + 请开启定位服务,以便应用显示您当前的位置 附近需要启用位置才能正常工作 您需要授予位置权限才能自动设置位置。 您是在同一地点拍摄这两张图片的吗?您想要使用右侧图片的纬度/经度吗? From c178c5de419296e8abad3fead8174bacb9369cdd Mon Sep 17 00:00:00 2001 From: Evangelos Talos <115378448+vtalos@users.noreply.github.com> Date: Thu, 2 May 2024 14:12:32 +0300 Subject: [PATCH 22/25] Enhancing Multi-Upload Functionality for Consistent Depiction Categorization (#5700) * Add AlertDialog for categories and modularize receiveSharedItems * Improve nearby-place search function for a multi-upload Enhance the depiction consistency of a multi-upload by ensuring that it corresponds to a single place * Add javadoc * Update strings.xml * Renamed setImageTobeUploaded to setImageToBeUploaded * Make uploadIsOnPlace private & add a setter * Rename uploadIsOnPlace to uploadIsOfAPlace * Use singular when there is only one picture * Add a 'Do not show again' checkbox on the dialog * Update strings.xml --------- Co-authored-by: Giannis Karyotakis <110292528+karyotakisg@users.noreply.github.com> Co-authored-by: Nicolas Raoul --- .../commons/contributions/MainActivity.java | 1 + .../nrw/commons/upload/UploadActivity.java | 199 ++++++++++++------ .../UploadMediaDetailFragment.java | 54 +++-- .../UploadMediaDetailsContract.java | 2 +- .../mediaDetails/UploadMediaPresenter.java | 32 ++- .../activity_upload_categories_dialog.xml | 16 ++ app/src/main/res/values/strings.xml | 5 +- 7 files changed, 210 insertions(+), 99 deletions(-) create mode 100644 app/src/main/res/layout/activity_upload_categories_dialog.xml diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/MainActivity.java b/app/src/main/java/fr/free/nrw/commons/contributions/MainActivity.java index 7862493fd..63bde1be9 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/MainActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/MainActivity.java @@ -142,6 +142,7 @@ public class MainActivity extends BaseActivity } else { if (applicationKvStore.getBoolean("firstrun", true)) { applicationKvStore.putBoolean("hasAlreadyLaunchedBigMultiupload", false); + applicationKvStore.putBoolean("hasAlreadyLaunchedCategoriesDialog", false); } if(savedInstanceState == null){ //starting a fresh fragment. diff --git a/app/src/main/java/fr/free/nrw/commons/upload/UploadActivity.java b/app/src/main/java/fr/free/nrw/commons/upload/UploadActivity.java index 6b46a103f..707bf1363 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/UploadActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/UploadActivity.java @@ -20,8 +20,11 @@ import android.os.Build.VERSION_CODES; import android.os.Bundle; import android.provider.Settings; import android.util.DisplayMetrics; +import android.view.LayoutInflater; import android.view.View; +import android.widget.CheckBox; import androidx.annotation.NonNull; +import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentStatePagerAdapter; @@ -100,6 +103,7 @@ public class UploadActivity extends BaseActivity implements UploadContract.View, private Place place; private LatLng prevLocation; private LatLng currLocation; + private static boolean uploadIsOfAPlace = false; private boolean isInAppCameraUpload; private List uploadableFiles = Collections.emptyList(); private int currentSelectedPosition = 0; @@ -123,10 +127,8 @@ public class UploadActivity extends BaseActivity implements UploadContract.View, * when necessary. Initially, it is set to `true`, indicating that the permissions dialog * should be displayed if permissions are missing and it is first time calling * `checkStoragePermissions` method. - * * This variable is used in the `checkStoragePermissions` method to determine whether to * show a permissions dialog to the user if the required permissions are not granted. - * * If `showPermissionsDialog` is set to `true` and the necessary permissions are missing, * a permissions dialog will be displayed to request the required permissions. If set * to `false`, the dialog won't be shown. @@ -438,6 +440,15 @@ public class UploadActivity extends BaseActivity implements UploadContract.View, } } + /** + * Sets the flag indicating whether the upload is of a specific place. + * + * @param uploadOfAPlace a boolean value indicating whether the upload is of place. + */ + public static void setUploadIsOfAPlace(boolean uploadOfAPlace) { + uploadIsOfAPlace = uploadOfAPlace; + } + private void receiveSharedItems() { thumbnailsAdapter.context=this; Intent intent = getIntent(); @@ -452,8 +463,14 @@ public class UploadActivity extends BaseActivity implements UploadContract.View, handleNullMedia(); } else { //Show thumbnails - if (uploadableFiles.size() - > 1) {//If there is only file, no need to show the image thumbnails + if (uploadableFiles.size() > 1){ + if(!defaultKvStore.getBoolean("hasAlreadyLaunchedCategoriesDialog")){//If there is only file, no need to show the image thumbnails + showAlertDialogForCategories(); + } + if (uploadableFiles.size() > 3 && + !defaultKvStore.getBoolean("hasAlreadyLaunchedBigMultiupload")){ + showAlertForBattery(); + } thumbnailsAdapter.setUploadableFiles(uploadableFiles); } else { binding.llContainerTopCard.setVisibility(View.GONE); @@ -467,77 +484,17 @@ public class UploadActivity extends BaseActivity implements UploadContract.View, } - /* Suggest users to turn battery optimisation off when uploading more than a few files. - That's because we have noticed that many-files uploads have - a much higher probability of failing than uploads with less files. - - Show the dialog for Android 6 and above as - the ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS intent was added in API level 23 - */ - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - if (uploadableFiles.size() > 3 - && !defaultKvStore.getBoolean("hasAlreadyLaunchedBigMultiupload")) { - // When battery-optimisation dialog is shown don't show the image quality dialog - UploadMediaPresenter.isBatteryDialogShowing = true; - DialogUtil.showAlertDialog( - this, - getString(R.string.unrestricted_battery_mode), - getString(R.string.suggest_unrestricted_mode), - getString(R.string.title_activity_settings), - getString(R.string.cancel), - () -> { - /* Since opening the right settings page might be device dependent, using - https://github.com/WaseemSabir/BatteryPermissionHelper - directly appeared like a promising idea. - However, this simply closed the popup and did not make - the settings page appear on a Pixel as well as a Xiaomi device. - - Used the standard intent instead of using this library as - it shows a list of all the apps on the device and allows users to - turn battery optimisation off. - */ - Intent batteryOptimisationSettingsIntent = new Intent( - Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS); - startActivity(batteryOptimisationSettingsIntent); - // calling checkImageQuality after battery dialog is interacted with - // so that 2 dialogs do not pop up simultaneously - presenter.checkImageQuality(0); - UploadMediaPresenter.isBatteryDialogShowing = false; - }, - () -> { - presenter.checkImageQuality(0); - UploadMediaPresenter.isBatteryDialogShowing = false; - } - ); - defaultKvStore.putBoolean("hasAlreadyLaunchedBigMultiupload", true); - } - } for (UploadableFile uploadableFile : uploadableFiles) { UploadMediaDetailFragment uploadMediaDetailFragment = new UploadMediaDetailFragment(); - LocationPermissionsHelper locationPermissionsHelper = new LocationPermissionsHelper( - this, locationManager, null); - if (locationPermissionsHelper.isLocationAccessToAppsTurnedOn()) { - currLocation = locationManager.getLastLocation(); + if (!uploadIsOfAPlace) { + handleLocation(); + uploadMediaDetailFragment.setImageToBeUploaded(uploadableFile, place, currLocation); + locationManager.unregisterLocationManager(); + } else { + uploadMediaDetailFragment.setImageToBeUploaded(uploadableFile, place, currLocation); } - if (currLocation != null) { - float locationDifference = getLocationDifference(currLocation, prevLocation); - boolean isLocationTagUnchecked = isLocationTagUncheckedInTheSettings(); - /* Remove location if the user has unchecked the Location EXIF tag in the - Manage EXIF Tags setting or turned "Record location for in-app shots" off. - Also, location information is discarded if the difference between - current location and location recorded just before capturing the image - is greater than 100 meters */ - if (isLocationTagUnchecked || locationDifference > 100 - || !defaultKvStore.getBoolean("inAppCameraLocationPref") - || !isInAppCameraUpload) { - currLocation = null; - } - } - uploadMediaDetailFragment.setImageToBeUploaded(uploadableFile, place, currLocation); - locationManager.unregisterLocationManager(); - UploadMediaDetailFragmentCallback uploadMediaDetailFragmentCallback = new UploadMediaDetailFragmentCallback() { @Override public void deletePictureAtIndex(int index) { @@ -930,4 +887,106 @@ public class UploadActivity extends BaseActivity implements UploadContract.View, this::finish ); } + + /** + * If the user uploads more than 1 file informs that + * depictions/categories apply to all pictures of a multi upload. + * This method takes no arguments and does not return any value. + * It shows the AlertDialog and continues the flow of uploads. + */ + private void showAlertDialogForCategories() { + UploadMediaPresenter.isCategoriesDialogShowing = true; + // Inflate the custom layout + LayoutInflater inflater = getLayoutInflater(); + View view = inflater.inflate(R.layout.activity_upload_categories_dialog, null); + CheckBox checkBox = view.findViewById(R.id.categories_checkbox); + // Create the alert dialog + AlertDialog alertDialog = new AlertDialog.Builder(this) + .setView(view) + .setTitle(getString(R.string.multiple_files_depiction_header)) + .setMessage(getString(R.string.multiple_files_depiction)) + .setPositiveButton("OK", (dialog, which) -> { + if (checkBox.isChecked()) { + // Save the user's choice to not show the dialog again + defaultKvStore.putBoolean("hasAlreadyLaunchedCategoriesDialog", true); + } + presenter.checkImageQuality(0); + + UploadMediaPresenter.isCategoriesDialogShowing = false; + }) + .setNegativeButton("", null) + .create(); + alertDialog.show(); + } + + + /** Suggest users to turn battery optimisation off when uploading + * more than a few files. That's because we have noticed that + * many-files uploads have a much higher probability of failing + * than uploads with less files. Show the dialog for Android 6 + * and above as the ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS + * intent was added in API level 23 + */ + private void showAlertForBattery(){ + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + // When battery-optimisation dialog is shown don't show the image quality dialog + UploadMediaPresenter.isBatteryDialogShowing = true; + DialogUtil.showAlertDialog( + this, + getString(R.string.unrestricted_battery_mode), + getString(R.string.suggest_unrestricted_mode), + getString(R.string.title_activity_settings), + getString(R.string.cancel), + () -> { + /* Since opening the right settings page might be device dependent, using + https://github.com/WaseemSabir/BatteryPermissionHelper + directly appeared like a promising idea. + However, this simply closed the popup and did not make + the settings page appear on a Pixel as well as a Xiaomi device. + Used the standard intent instead of using this library as + it shows a list of all the apps on the device and allows users to + turn battery optimisation off. + */ + Intent batteryOptimisationSettingsIntent = new Intent( + Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS); + startActivity(batteryOptimisationSettingsIntent); + // calling checkImageQuality after battery dialog is interacted with + // so that 2 dialogs do not pop up simultaneously + + UploadMediaPresenter.isBatteryDialogShowing = false; + }, + () -> { + UploadMediaPresenter.isBatteryDialogShowing = false; + } + ); + defaultKvStore.putBoolean("hasAlreadyLaunchedBigMultiupload", true); + } + } + + /** + * If the permission for Location is turned on and certain + * conditions are met, returns current location of the user. + */ + private void handleLocation(){ + LocationPermissionsHelper locationPermissionsHelper = new LocationPermissionsHelper( + this, locationManager, null); + if (locationPermissionsHelper.isLocationAccessToAppsTurnedOn()) { + currLocation = locationManager.getLastLocation(); + } + + if (currLocation != null) { + float locationDifference = getLocationDifference(currLocation, prevLocation); + boolean isLocationTagUnchecked = isLocationTagUncheckedInTheSettings(); + /* Remove location if the user has unchecked the Location EXIF tag in the + Manage EXIF Tags setting or turned "Record location for in-app shots" off. + Also, location information is discarded if the difference between + current location and location recorded just before capturing the image + is greater than 100 meters */ + if (isLocationTagUnchecked || locationDifference > 100 + || !defaultKvStore.getBoolean("inAppCameraLocationPref") + || !isInAppCameraUpload) { + currLocation = null; + } + } + } } diff --git a/app/src/main/java/fr/free/nrw/commons/upload/mediaDetails/UploadMediaDetailFragment.java b/app/src/main/java/fr/free/nrw/commons/upload/mediaDetails/UploadMediaDetailFragment.java index 3d1305023..2cf284705 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/mediaDetails/UploadMediaDetailFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/mediaDetails/UploadMediaDetailFragment.java @@ -374,8 +374,7 @@ public class UploadMediaDetailFragment extends UploadBaseFragment implements final boolean response = UploadActivity.nearbyPopupAnswers.get(nearbyPlace); if (response) { if (callback != null) { - presenter.onUserConfirmedUploadIsOfPlace(nearbyPlace, - indexOfFragment); + presenter.onUserConfirmedUploadIsOfPlace(nearbyPlace); } } } else { @@ -395,19 +394,41 @@ public class UploadMediaDetailFragment extends UploadBaseFragment implements final View customLayout = getLayoutInflater().inflate(R.layout.custom_nearby_found, null); ImageView nearbyFoundImage = customLayout.findViewById(R.id.nearbyItemImage); nearbyFoundImage.setImageURI(uploadItem.getMediaUri()); - DialogUtil.showAlertDialog(getActivity(), - getString(R.string.upload_nearby_place_found_title), - String.format(Locale.getDefault(), - getString(R.string.upload_nearby_place_found_description), - place.getName()), - () -> { - UploadActivity.nearbyPopupAnswers.put(place, true); - presenter.onUserConfirmedUploadIsOfPlace(place, indexOfFragment); - }, - () -> { - UploadActivity.nearbyPopupAnswers.put(place, false); - }, - customLayout, true); + + final Activity activity = getActivity(); + + if (activity instanceof UploadActivity) { + final boolean isMultipleFilesSelected = ((UploadActivity) activity).getIsMultipleFilesSelected(); + + // Determine the message based on the selection status + String message; + if (isMultipleFilesSelected) { + // Use plural message if multiple files are selected + message = String.format(Locale.getDefault(), + getString(R.string.upload_nearby_place_found_description_plural), + place.getName()); + } else { + // Use singular message if only one file is selected + message = String.format(Locale.getDefault(), + getString(R.string.upload_nearby_place_found_description_singular), + place.getName()); + } + + // Show the AlertDialog with the determined message + DialogUtil.showAlertDialog(getActivity(), + getString(R.string.upload_nearby_place_found_title), + message, + () -> { + // Execute when user confirms the upload is of the specified place + UploadActivity.nearbyPopupAnswers.put(place, true); + presenter.onUserConfirmedUploadIsOfPlace(place); + }, + () -> { + // Execute when user cancels the upload of the specified place + UploadActivity.nearbyPopupAnswers.put(place, false); + }, + customLayout, true); + } } @Override @@ -440,8 +461,7 @@ public class UploadMediaDetailFragment extends UploadBaseFragment implements if (UploadActivity.nearbyPopupAnswers.containsKey(nearbyPlace)) { final boolean response = UploadActivity.nearbyPopupAnswers.get(nearbyPlace); if (response) { - presenter.onUserConfirmedUploadIsOfPlace(nearbyPlace, - indexOfFragment); + presenter.onUserConfirmedUploadIsOfPlace(nearbyPlace); } } else { showNearbyPlaceFound(nearbyPlace); diff --git a/app/src/main/java/fr/free/nrw/commons/upload/mediaDetails/UploadMediaDetailsContract.java b/app/src/main/java/fr/free/nrw/commons/upload/mediaDetails/UploadMediaDetailsContract.java index 21c7eae9f..9b789e046 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/mediaDetails/UploadMediaDetailsContract.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/mediaDetails/UploadMediaDetailsContract.java @@ -109,7 +109,7 @@ public interface UploadMediaDetailsContract { void onEditButtonClicked(int indexInViewFlipper); - void onUserConfirmedUploadIsOfPlace(Place place, int uploadItemPosition); + void onUserConfirmedUploadIsOfPlace(Place place); } } diff --git a/app/src/main/java/fr/free/nrw/commons/upload/mediaDetails/UploadMediaPresenter.java b/app/src/main/java/fr/free/nrw/commons/upload/mediaDetails/UploadMediaPresenter.java index 4f9fe7d7c..7152d4d8f 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/mediaDetails/UploadMediaPresenter.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/mediaDetails/UploadMediaPresenter.java @@ -76,6 +76,8 @@ public class UploadMediaPresenter implements UserActionListener, SimilarImageInt */ public static boolean isBatteryDialogShowing; + public static boolean isCategoriesDialogShowing; + @Inject public UploadMediaPresenter(UploadRepository uploadRepository, @Named("default_preferences") JsonKvStore defaultKVStore, @@ -329,18 +331,28 @@ public class UploadMediaPresenter implements UserActionListener, SimilarImageInt view.showEditActivity(repository.getUploads().get(indexInViewFlipper)); } + /** + * Updates the information regarding the specified place for uploads + * when the user confirms the suggested nearby place. + * + * @param place The place to be associated with the uploads. + */ @Override - public void onUserConfirmedUploadIsOfPlace(Place place, int uploadItemPosition) { - final List uploadMediaDetails = repository.getUploads() - .get(uploadItemPosition) - .getUploadMediaDetails(); - UploadItem uploadItem = repository.getUploads() - .get(uploadItemPosition); - uploadItem.setPlace(place); - uploadMediaDetails.set(0, new UploadMediaDetail(place)); - view.updateMediaDetails(uploadMediaDetails); + public void onUserConfirmedUploadIsOfPlace(Place place) { + final List uploads = repository.getUploads(); + for (UploadItem uploadItem : uploads) { + uploadItem.setPlace(place); + final List uploadMediaDetails = uploadItem.getUploadMediaDetails(); + // Update UploadMediaDetail object for this UploadItem + uploadMediaDetails.set(0, new UploadMediaDetail(place)); + } + // Now that all UploadItems and their associated UploadMediaDetail objects have been updated, + // update the view with the modified media details of the first upload item + view.updateMediaDetails(uploads.get(0).getUploadMediaDetails()); + UploadActivity.setUploadIsOfAPlace(true); } + /** * Calculates the image quality * @@ -410,7 +422,7 @@ public class UploadMediaPresenter implements UserActionListener, SimilarImageInt } if (uploadItemIndex == 0) { - if (!isBatteryDialogShowing) { + if (!isBatteryDialogShowing && !isCategoriesDialogShowing) { // if battery-optimisation dialog is not being shown, call checkImageQuality checkImageQuality(uploadItem, uploadItemIndex); } else { diff --git a/app/src/main/res/layout/activity_upload_categories_dialog.xml b/app/src/main/res/layout/activity_upload_categories_dialog.xml new file mode 100644 index 000000000..fd1620f6e --- /dev/null +++ b/app/src/main/res/layout/activity_upload_categories_dialog.xml @@ -0,0 +1,16 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 04aa6af9b..017404d2c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -610,7 +610,8 @@ Upload your first media by tapping on the add button. PARENT CLASSES Nearby Place Found - Is this a photo of %1$s? + Are these pictures of %1$s? + Is this a picture of %1$s? Bookmarks Settings Removed from bookmarks @@ -815,4 +816,6 @@ Upload your first media by tapping on the add button. %d image selected %d images selected + Please remember that all images in a multi-upload get the same categories and depictions. If the images do not share depictions and categories, please perform several separate uploads. + Note about multi-uploads From d6ac307f63973ba4d9c317ae342546b57bacd34a Mon Sep 17 00:00:00 2001 From: "translatewiki.net" Date: Thu, 2 May 2024 14:02:36 +0200 Subject: [PATCH 23/25] Localisation updates from https://translatewiki.net. --- app/src/main/res/values-br/strings.xml | 1 + app/src/main/res/values-ms/strings.xml | 1 + app/src/main/res/values-nl/strings.xml | 9 ++++++--- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/values-br/strings.xml b/app/src/main/res/values-br/strings.xml index cc8073eb7..bb16ca5d7 100644 --- a/app/src/main/res/values-br/strings.xml +++ b/app/src/main/res/values-br/strings.xml @@ -216,6 +216,7 @@ Diwar-benn Arventennoù Evezhiadennoù + Reiñ hoc\'h ali gant GitHub Digevreañ Tutorial Kemennoù diff --git a/app/src/main/res/values-ms/strings.xml b/app/src/main/res/values-ms/strings.xml index 69a0ed52c..f4b1508da 100644 --- a/app/src/main/res/values-ms/strings.xml +++ b/app/src/main/res/values-ms/strings.xml @@ -25,6 +25,7 @@ Gambar ini akan dilesenkan di bawah %1$s Jelajah + Penampilan Maklum balas Privasi Commons diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index a4a16e2b4..1ced6a0d6 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -299,6 +299,7 @@ In de buurt werkt mogelijk niet naar behoren. Locatie niet beschikbaar. Locatietoegang geweigerd. Stel uw locatie handmatig in om deze functie te gebruiken. Toestemming vereist om een lijst van nabije plaatsen weer te geven + Toestemming vereist om een lijst van nabije afbeeldingen weer te geven Routebeschrijving Wikidata Wikipedia @@ -366,7 +367,7 @@ Is deze screenshot OK om te uploaden? Toepassing delen Draaien - Fout bij het ophalen van plaatsen in de buurt. + Kan plaatsen in de buurt niet laden Geen foto\'s in dit gebied. Geen plaatsen in de buurt Fout bij het ophalen van monumenten. @@ -570,7 +571,7 @@ Kan geen coördinaten toevoegen. Kon beschrijvingen niet toevoegen. Kon bijschrift niet toevoegen. - Kan coördinaten niet opvragen. + De coördinaten van de afbeelding zijn niet bijgewerkt Kon beschrijvingen niet ophalen Bewerk beschrijvingen en bijschriften. Deel afbeelding via @@ -604,8 +605,10 @@ Kan locatie-instellingen niet openen. Schakel locatie handmatig in Kies voor de beste resultaten de modus van hoge nauwkeurigheid. Locatie inschakelen? + Schakel locatiediensten in zodat de app uw huidige locatie toont In de Buurt heeft locatie nodig om correct te werken - U moet toegang geven tot uw huidige locatie om de locatie automatisch in te stellen. + Voor de verkenningskaart is locatietoestemming nodig om afbeeldingen in de buurt weer te geven + U moet locatietoestemming geven om de locatie automatisch in te stellen. Heeft u deze twee foto\'s op dezelfde plek gemaakt? Wilt u de breedtegraad/lengtegraad van de afbeelding rechts gebruiken? Laad meer Geen plaatsen gevonden, probeer uw zoekcriteria te wijzigen. From 6b93c34f9ed0e1ab24af98f45012efcf4d3e8cea Mon Sep 17 00:00:00 2001 From: Kanahia <114223204+kanahia1@users.noreply.github.com> Date: Fri, 3 May 2024 03:53:19 +0530 Subject: [PATCH 24/25] Changed Unknown to Wikidata Description (#5697) * Delete app/src/main/res/values-yue-hant directory * Changed Unknown to description --- .../fragments/NearbyParentFragment.java | 36 +++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java index e4bc8ad7b..d3f555b4d 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java @@ -1770,7 +1770,9 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment ArrayList items = new ArrayList<>(); Drawable icon = ContextCompat.getDrawable(getContext(), getIconFor(place, isBookMarked)); GeoPoint point = new GeoPoint(place.location.getLatitude(), place.location.getLongitude()); - OverlayItem item = new OverlayItem(place.name, null, point); + OverlayItem item = new OverlayItem(place.name, + containsParentheses(place.getLongDescription()) ? getTextBetweenParentheses( + place.getLongDescription()) : place.getLongDescription(), point); item.setMarker(icon); items.add(item); ItemizedOverlayWithFocus overlay = new ItemizedOverlayWithFocus(items, @@ -1813,7 +1815,11 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment GeoPoint point = new GeoPoint( nearbyBaseMarkers.get(i).getPlace().location.getLatitude(), nearbyBaseMarkers.get(i).getPlace().location.getLongitude()); - OverlayItem item = new OverlayItem(nearbyBaseMarkers.get(i).getPlace().name, null, + OverlayItem item = new OverlayItem(nearbyBaseMarkers.get(i).getPlace().name, + containsParentheses(nearbyBaseMarkers.get(i).getPlace().getLongDescription()) + ? getTextBetweenParentheses( + nearbyBaseMarkers.get(i).getPlace().getLongDescription()) + : nearbyBaseMarkers.get(i).getPlace().getLongDescription(), point); item.setMarker(icon); items.add(item); @@ -1844,6 +1850,32 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment binding.map.getOverlays().add(overlay); } + /** + * Extracts text between the first occurrence of '(' and its corresponding ')' in the input string. + * + * @param input The input string from which to extract text between parentheses. + * @return The text between parentheses if found, or {@code null} if no parentheses are found. + */ + public static String getTextBetweenParentheses(String input) { + int startIndex = input.indexOf('('); + int endIndex = input.indexOf(')', startIndex); + if (startIndex != -1 && endIndex != -1) { + return input.substring(startIndex + 1, endIndex); + } else { + return null; + } + } + + /** + * Checks if the given text contains '(' or ')'. + * + * @param input The input text to check. + * @return {@code true} if '(' or ')' is found, {@code false} otherwise. + */ + public static boolean containsParentheses(String input) { + return input.contains("(") || input.contains(")"); + } + private void removeMarker(Place place){ List overlays = binding.map.getOverlays(); for (int i = 0; i < overlays.size();i++){ From c67cf4b07ebb93ae98007db49cfa5c5af86474af Mon Sep 17 00:00:00 2001 From: "translatewiki.net" Date: Mon, 6 May 2024 14:02:07 +0200 Subject: [PATCH 25/25] Localisation updates from https://translatewiki.net. --- app/src/main/res/values-af/strings.xml | 2 +- app/src/main/res/values-ar/strings.xml | 2 +- app/src/main/res/values-ast/strings.xml | 2 +- app/src/main/res/values-b+sr+Latn/strings.xml | 2 +- app/src/main/res/values-bn/strings.xml | 2 +- app/src/main/res/values-cs/strings.xml | 2 +- app/src/main/res/values-de/strings.xml | 2 +- app/src/main/res/values-eo/strings.xml | 2 +- app/src/main/res/values-es/strings.xml | 5 ++++- app/src/main/res/values-eu/strings.xml | 8 ++++---- app/src/main/res/values-fi/strings.xml | 2 +- app/src/main/res/values-fr/strings.xml | 2 +- app/src/main/res/values-ia/strings.xml | 2 +- app/src/main/res/values-in/strings.xml | 4 ++-- app/src/main/res/values-io/strings.xml | 2 +- app/src/main/res/values-is/strings.xml | 2 +- app/src/main/res/values-it/strings.xml | 2 +- app/src/main/res/values-iw/strings.xml | 7 +++++-- app/src/main/res/values-ja/strings.xml | 3 ++- app/src/main/res/values-ko/strings.xml | 4 +++- app/src/main/res/values-krc/strings.xml | 2 +- app/src/main/res/values-kus/strings.xml | 2 +- app/src/main/res/values-lb/strings.xml | 3 ++- app/src/main/res/values-lt/strings.xml | 2 +- app/src/main/res/values-mk/strings.xml | 5 ++++- app/src/main/res/values-nb/strings.xml | 2 +- app/src/main/res/values-nl/strings.xml | 5 ++++- app/src/main/res/values-nqo/strings.xml | 2 +- app/src/main/res/values-pl/strings.xml | 2 +- app/src/main/res/values-pms/strings.xml | 5 ++++- app/src/main/res/values-pt-rBR/strings.xml | 2 +- app/src/main/res/values-pt/strings.xml | 2 +- app/src/main/res/values-qq/strings.xml | 14 ++++++++++++++ app/src/main/res/values-ro/strings.xml | 2 +- app/src/main/res/values-ru/strings.xml | 5 ++++- app/src/main/res/values-sk/strings.xml | 2 +- app/src/main/res/values-sl/strings.xml | 2 +- app/src/main/res/values-sr/strings.xml | 2 +- app/src/main/res/values-sv/strings.xml | 2 +- app/src/main/res/values-te/strings.xml | 2 +- app/src/main/res/values-tr/strings.xml | 2 +- app/src/main/res/values-uk/strings.xml | 2 +- app/src/main/res/values-vec/strings.xml | 2 +- app/src/main/res/values-zh-rTW/strings.xml | 5 ++++- app/src/main/res/values-zh/strings.xml | 3 ++- 45 files changed, 89 insertions(+), 49 deletions(-) diff --git a/app/src/main/res/values-af/strings.xml b/app/src/main/res/values-af/strings.xml index 046087b2c..5c01e2a74 100644 --- a/app/src/main/res/values-af/strings.xml +++ b/app/src/main/res/values-af/strings.xml @@ -363,5 +363,5 @@ Kategorie-tjekversoek het nie gewerk nie Versoek kategorie-toets vir %1$s Nabygeleë plek gevind - Is dit \'n foto van Plek %1$s? + Is dit \'n foto van Plek %1$s? diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 6279c9f5c..cb84b39d4 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -624,7 +624,7 @@ تصنيف الأطفال تصنيف أولياء الأمور تم العثور على مكان قريب - هل هذه صورة للمكان %1$؟ + هل هذه صورة للمكان %1$؟ العلامات الإعدادات أزل من العلامات diff --git a/app/src/main/res/values-ast/strings.xml b/app/src/main/res/values-ast/strings.xml index 1e7e86834..628e9d083 100644 --- a/app/src/main/res/values-ast/strings.xml +++ b/app/src/main/res/values-ast/strings.xml @@ -518,7 +518,7 @@ CLASES FÍES CLASES PADRES Llugar cercanu alcontráu - ¿Ye esta una foto del Llugar %1$s? + ¿Ye esta una foto del Llugar %1$s? Marcadores Configuración Desaniciáu de los marcadores diff --git a/app/src/main/res/values-b+sr+Latn/strings.xml b/app/src/main/res/values-b+sr+Latn/strings.xml index a543bc5f4..2c133f464 100644 --- a/app/src/main/res/values-b+sr+Latn/strings.xml +++ b/app/src/main/res/values-b+sr+Latn/strings.xml @@ -545,7 +545,7 @@ Most, muzej, hotel itd. Došlo je do greške sa prijavljivanjem, morate da promenite vašu lozinku !! Obližnje mesto je pronađeno - Da li je ovo fotografija %1$s? + Da li je ovo fotografija %1$s? Obeleživači Podešavanja Uklonjeno iz obeleživača diff --git a/app/src/main/res/values-bn/strings.xml b/app/src/main/res/values-bn/strings.xml index 85756fdca..d6cd15b61 100644 --- a/app/src/main/res/values-bn/strings.xml +++ b/app/src/main/res/values-bn/strings.xml @@ -430,7 +430,7 @@ সেতু, জাদুঘর, হোটেল ইত্যাদি। মিডিয়া কাছাকাছি স্থান পাওয়া গেছে - এটি কি %1$s-এর একটি চিত্র? + এটি কি %1$s-এর একটি চিত্র? বুকমার্ক সেটিং বুকমার্ক থেকে সরানো হয়েছে diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index ec7e402f7..788c166a4 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -488,7 +488,7 @@ Most, muzeum, hotel atd. Při přihlášení nastala chyba, musíte si resetovat vaše heslo! Místo v okolí nalezeno - Je toto fotka místa %1$s? + Je toto fotka místa %1$s? Nastavení Něco se pokazilo. Tapetu se nepodařilo nastavit Nastavit jako tapetu diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index a93c547a9..2cc15092b 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -599,7 +599,7 @@ CHILD CLASSES PARENT CLASSES Ort in der Nähe gefunden - Ist das ein Foto von %1$s? + Ist das ein Foto von %1$s? Lesezeichen Einstellungen aus den Lesezeichen entfernt diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index 47bf06051..96cf751ae 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -574,7 +574,7 @@ SUBKLASOJ PLI ALTAJ KLASOJ Oni trovis lokon en proksimo - Ĉu ĉi tio estas foto de %1$s? + Ĉu ĉi tio estas foto de %1$s? Legosignoj Agordoj Forigi el legosignoj diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 91730fc44..0fbebb5f6 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -615,7 +615,8 @@ CLASES HIJAS CLASES PADRES Lugar cercano encontrado - ¿Esta foto es de %1$s? + ¿Son estas imágenes de %1$s? + ¿Es esta una imagen de %1$s? Marcadores Configuración removido de marcadores @@ -804,4 +805,6 @@ %d imagen seleccionada %d imagenes seleccionadas + Recuerde que todas las imágenes en una carga múltiple tienen la misma categoría y representación. Si las imágenes no comparten representación y categoría, haga varias cargas por separado. + Nota sobre cargas múltiples diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index a2b2cf4f9..6dcbc546b 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -86,7 +86,7 @@ Igotzen Galeriatik Argazkia egin - Gertukoak + Hurbilekoak Nire igoerak Partekatu Ikusi fitxategiaren orria @@ -202,7 +202,7 @@ Itxi Hasiera Igo - Gertukoak + Hurbilekoak Honi buruz Ezarpenak Feedback @@ -316,7 +316,7 @@ Errorea gertatu da! Commons Jakinarazpena Ekarpenak - Gertukoak + Hurbilekoak Jakinarazpenak Jakinarazpenak (irakurriak) Zerrenda @@ -357,5 +357,5 @@ Erabiltzailea Zenbaketa Igo - Gertukoak + Hurbilekoak diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 7eabea97d..938fceb04 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -540,7 +540,7 @@ Jokin meni pieleen kirjautumisessa. Sinun on nollattava salasanasi! MEDIA Lähipaikka löytyi - Onko tämä kuva paikasta %1$s? + Onko tämä kuva paikasta %1$s? Kirjanmerkit Asetukset Poistettu kirjanmerkeistä diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index cfa74f498..eb251448c 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -604,7 +604,7 @@ CLASSES ENFANTS CLASSES PARENTES Lieu à proximité trouvé - Est-ce une photo de « %1$s » ? + Est-ce une photo de « %1$s » ? Signets Paramètres Retiré des favoris diff --git a/app/src/main/res/values-ia/strings.xml b/app/src/main/res/values-ia/strings.xml index a63f0df01..21ab3c0b5 100644 --- a/app/src/main/res/values-ia/strings.xml +++ b/app/src/main/res/values-ia/strings.xml @@ -562,7 +562,7 @@ CLASSES FILIO CLASSES GENITOR Loco a proximitate trovate - Es isto un photo de %1$s? + Es isto un imagine de %1$s? Marcapaginas Configurationes Removite del marcapaginas diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 9c8ce4122..4374eeb0b 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -180,7 +180,7 @@ Cuplikan layar suatu aplikasi Contoh unggahan: Judul: Gedung Opera Sydney - Deskripsi: Gedung Opera Sydney dilihat dari seberang teluk + Deskripsi: Gedung Opera Sydney yang dilihat dari seberang teluk Kategori: Opera House Sydney dari arah barat, pemandangan Opera House Sydney Sumbangkan gambar-gambar Anda. Bantu hidupkan artikel Wikipedia! Gambar di Wikipedia diambil dari Wikimedia Commons. @@ -559,7 +559,7 @@ KELAS ANAK KELAS INDUK Tempat di sekitar ditemukan - Apakah ini foto %1$s? + Apakah ini gambar %1$s? Markah Pengaturan \nDihapus dari pembatas diff --git a/app/src/main/res/values-io/strings.xml b/app/src/main/res/values-io/strings.xml index 3b71ae580..2d70e08bc 100644 --- a/app/src/main/res/values-io/strings.xml +++ b/app/src/main/res/values-io/strings.xml @@ -458,7 +458,7 @@ SUBKLASI KLASI PLU ABSTRAKTA Loko proxima trovesis - Ka to esas fotografuro pri %1$s? + Ka to esas fotografuro pri %1$s? Marko-rubandi Ajusti Adjuntita marko-rubandi diff --git a/app/src/main/res/values-is/strings.xml b/app/src/main/res/values-is/strings.xml index aa761fff4..ceade1663 100644 --- a/app/src/main/res/values-is/strings.xml +++ b/app/src/main/res/values-is/strings.xml @@ -546,7 +546,7 @@ AFLEIDDIR FLOKKAR YFIRFLOKKAR Staður í nágrenninu fannst - Er þetta mynd af staðnum %1$s? + Er þetta mynd af staðnum %1$s? Bókamerki Stillingar Fjarlægt úr bókamerkjum diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 253372305..1d9c34e56 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -579,7 +579,7 @@ CLASSI FIGLIE CLASSI SUPERIORI Rinvenuto luogo nei pressi - Questa è una foto di %1$s? + Questa è una foto di %1$s? Segnalibri Impostazioni Rimuovi dai preferiti diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index 442e49a25..fbd6a60e9 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -604,7 +604,8 @@ מחלקות יורשות מחלקות מורישות נמצא בקרבת מקום - האם זאת תמונה של %1$s? + האם אלו תמונות של %1$s? + האם זאת תמונה של %1$s? סימניות הגדרות הוסר מסימניות @@ -679,7 +680,7 @@ נא למצוא ולבחור את כל העקרונות שהתמונה הזאת מתארת. נא לשמור על דיוק מרבי. אם התמונה מתארת מגוון פריטים, נא לבחור אותם בגבולות הסביר. לא לבחור תגיות גנריות אם יש תגיות יותר נקודתית זמינות. נא לבחור את הקטגוריות המתאימות. בניגוד למאפייני \"מציג\", הקטגוריות כתובות רק באנגלית. ויקישיתוף הופך את התמונות שלך לזמינות לשימוש חוזר ולהתאמה על ידי כל אחד. בא לך לוותר על כל הזכויות? שייחסו את היצירה אליך? שההתאמות ישתמשו באותו הרישיון? - מציג + מוצג רישיון מדיה פרטי מדיה הצגת דף הקטגוריה @@ -804,4 +805,6 @@ נבחרו %d תמונות נבחרו %d תמונות + נא לזכור שכשמועלות כמה תמונות, כולן מקבלות את אותן הקטגוריות והמוצגים. אם התמונות אינן חולקות מוצגים וקטגוריות, נא לעשות כמה העלאות נפרדות. + הערה על העלאות מרובות diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 51bb17f24..62f645ddf 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -535,7 +535,7 @@ 子分類 親クラス 付近の場所が見つかりました - これは%1$sの写真ですか? + これは%1$sの写真ですか? ブックマーク 設定 ブックマークから除去 @@ -622,6 +622,7 @@ 項目 完了 戻る + 権限が必要です 題材を編集する カテゴリを編集 適用 diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 705936285..920fdaf13 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -507,7 +507,8 @@ 자식 클래스 부모 클래스 주변 장소 발견 - %1$s의 사진이 맞습니까? + %1$s의 사진이 맞습니까? + %1$s의 사진이 맞습니까? 북마크 설정 북마크에서 제거됨 @@ -595,4 +596,5 @@ GPX 파일을 저장하지 못했습니다. KML 파일을 저장 중 GPX 파일을 저장 중 + 다중 업로드에 대한 참고사항 diff --git a/app/src/main/res/values-krc/strings.xml b/app/src/main/res/values-krc/strings.xml index 1a1f83cde..7a0acc6ed 100644 --- a/app/src/main/res/values-krc/strings.xml +++ b/app/src/main/res/values-krc/strings.xml @@ -567,7 +567,7 @@ БАЛА КЛАССЛА АНА КЛАССЛА Джууукъдагъы Джер Табылды - Бу %1$s суратмыды? + Бу %1$s суратмыды? Китаб белгиле Джарашдырыўла Китаб белгиледен къоратылды diff --git a/app/src/main/res/values-kus/strings.xml b/app/src/main/res/values-kus/strings.xml index 3416b2287..437ba44dc 100644 --- a/app/src/main/res/values-kus/strings.xml +++ b/app/src/main/res/values-kus/strings.xml @@ -485,7 +485,7 @@ CHILD\n CLASSES PARENT CLASSES Gban\'e zin\'ibanɛ bɛ yamma - Nɛ\' anɛ %1$s footo? + Nɛ\' anɛ %1$s footo? Bookmark nam Maalʋg Yisi yi Bookmarknamin diff --git a/app/src/main/res/values-lb/strings.xml b/app/src/main/res/values-lb/strings.xml index fd47043c4..ac8249bc3 100644 --- a/app/src/main/res/values-lb/strings.xml +++ b/app/src/main/res/values-lb/strings.xml @@ -393,7 +393,8 @@ Bréck, Musée, Hotel etc. Beim Aloggen ass eppes schif gaang. Dir musst Äert Passwuert zrécksetzen! Plaz nobäi fonnt - Ass dëst eng Foto vun %1$s? + Sinn dëst Biller vun %1$s? + Ass dëst e Bild vun %1$s? Lieszeechen Astellungen Vun de Lieszeechen ewechgeholl diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 2d4f060b5..aa2518028 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -517,7 +517,7 @@ Kažkas nepavyko prisijungiant, turite iš naujo nustatyti slaptažodį !! MEDIJA Netoliese rasta vieta - Ar tai vietos %1$s nuotrauka? + Ar tai vietos %1$s nuotrauka? Žymės Nustatymai Pašalinta iš žymių diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml index 785bc8b85..fb48f11f9 100644 --- a/app/src/main/res/values-mk/strings.xml +++ b/app/src/main/res/values-mk/strings.xml @@ -570,7 +570,8 @@ ЗАВИСНИ КЛАСИ МАТИЧНИ КЛАСИ Пронајдено околно место - Дали ова е слика од %1$s? + Дали ова се слики на %1$s? + Дали ова е слика на %1$s? Обележани Нагодувања Отстрането од обележани @@ -768,4 +769,6 @@ Избрана е %d слика Избрани се %d слики + Запомнете дека сите слики што ги подигате наеднаш се очекуваат да ја прикажуваат истата работа и ги добиваат истите категории и описи. Ако сликите прикажуваат различни нешта и треба да имаат различни категории, извршете неколку одделни подигања. + Напомена за подигање повеќе слики наеднаш diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index e645b2b47..cc82b3b9e 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -554,7 +554,7 @@ UNDERKLASSER OVERKLASSER Sted i nærheten funnet - Er dette et bilde av %1$s? + Er dette et bilde av %1$s? Bokmerker Innstillinger Fjernet fra bokmerker diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 1ced6a0d6..863c62d0b 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -591,7 +591,8 @@ SUBKLASSEN HOOFDKLASSEN Plaats in de buurt gevonden - Is dit een foto van %1$s? + Zijn dit afbeeldingen van %1$s? + Is dit een afbeelding van %1$s? Bladwijzers Instellingen Bladwijzer verwijderd @@ -789,4 +790,6 @@ %d afbeelding geselecteerd %d afbeeldingen geselecteerd + Houd er rekening mee dat alle afbeeldingen in een multi-upload dezelfde categorieën krijgen en geacht worden hetzelfde weer te geven. Als deze gegevens per afbeelding moeten verschillen, voer dan meerdere afzonderlijke uploads uit. + Opmerking over multi-uploads diff --git a/app/src/main/res/values-nqo/strings.xml b/app/src/main/res/values-nqo/strings.xml index d25b93fb8..fa91a14d5 100644 --- a/app/src/main/res/values-nqo/strings.xml +++ b/app/src/main/res/values-nqo/strings.xml @@ -479,7 +479,7 @@ ߘߋ߲ ߠߎ߬ ߟߊ߫ ߛߊ߯ߘߊ ߟߎ߫ ߡߏߦߌߓߊ߮ ߟߎ߬ ߟߊ߫ ߛߊ߯ߘߊ ߟߎ߫ ߛߌ߰ߢߐ߲߰ ߦߙߐ ߦߴߊ߬ ߘߐ߫ - ߊ߬ ߝߐ߫ %1$s ߖߌ߬ߦߊ߬ߓߍ ߟߋ߬ ߦߋ߫ ߣߌ߲߬ ߘߌ߫؟ + ߊ߬ ߝߐ߫ %1$s ߖߌ߬ߦߊ߬ߓߍ ߟߋ߬ ߦߋ߫ ߣߌ߲߬ ߘߌ߫؟ ߟߊ߬ߡߊ ߟߊ߬ߓߍ߲߬ߢߐ߲߰ߡߦߊ߬ߘߊ ߟߊߕߊ߲߬ߞߌ߫ ߞߊ߬ ߓߐ߫ ߟߊ߬ߡߊ ߘߐ߫ diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index fa1806f92..6d2a15299 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -601,7 +601,7 @@ KLASY POTOMNE KLASY NADRZĘDNE Znaleziono miejsce w pobliżu - Czy to zdjęcie %1$s? + Czy to zdjęcie %1$s? Zakładki Ustawienia Usunięto z zakładek diff --git a/app/src/main/res/values-pms/strings.xml b/app/src/main/res/values-pms/strings.xml index e861e3a39..e5ada8700 100644 --- a/app/src/main/res/values-pms/strings.xml +++ b/app/src/main/res/values-pms/strings.xml @@ -568,7 +568,8 @@ CLASSE MASNÀ CLASSE CE Trovà un pòst davzin - É-lo na fòto ëd %1$s? + Son-lo le fòto ëd %1$s? + É-lo na fòto ëd %1$s? Marcapàgine Paràmeter Gavà dai marca-pàgina @@ -764,4 +765,6 @@ %d plancia selessionà %d plance selessionà + Ch\'a ten-a da ment che tute le plance ant un cariament mùltipl a pijo j\'istesse categorìe e descrission. Si le plance a partagio nen descrission e categorìe, për piasì ch\'a fasa tanti cariament separà. + Nòta an sij cariament mùltipl diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 089a5bc5e..550072366 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -590,7 +590,7 @@ CLASSES INFANTIS CLASSES PAIS Local próximo encontrado - Esta é uma foto de %1$s? + Esta é uma foto de %1$s? Favoritos Configurações Removido dos favoritos diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 7c0ac8a1a..316cb2e9b 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -583,7 +583,7 @@ CLASSES DESCENDENTES CLASSES PROGENITORAS Foi encontrado um local próximo - Isto é uma fotografia de %1$s? + Isto é uma fotografia de %1$s? Marcadores Definições Removido dos marcadores diff --git a/app/src/main/res/values-qq/strings.xml b/app/src/main/res/values-qq/strings.xml index d3298e6cf..0e7cc31c4 100644 --- a/app/src/main/res/values-qq/strings.xml +++ b/app/src/main/res/values-qq/strings.xml @@ -71,6 +71,7 @@ {{Identical|Modification}} Hint text on menu item to upload a single image.\n{{Identical|Upload}} This message is followed by a list of the categories.\n{{Identical|Search category}} + {{Doc-commons-app-depicts}} Hint text on menu item to save selected categories.\n{{Identical|Save}} {{Identical|Refresh}} This is an action button, usually a verb (just like Continue, Cancel, Delete, Search, and so on).\n{{Identical|List}} @@ -121,6 +122,7 @@ {{Identical|Yes}} {{Identical|No}} {{Identical|Title}} + {{Doc-commons-app-depicts}} {{Identical|Description}} {{Identical|Discussion}} {{Identical|Author}} @@ -159,6 +161,7 @@ \"Search this area\" refers to {{msg-wm|Commons-android-strings-search this area}}. {{Identical|Search}} {{Identical|Search}} + {{Doc-commons-app-depicts}} {{Identical|Map}} 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}} @@ -170,23 +173,34 @@ Refers to the next \'\'\'step\'\'\' in the uploading process. Refers to the previous \'\'\'step\'\'\' in the uploading process. \"Send log file\" is {{msg-wm|Commons-android-strings-send log file}}. + {{Doc-commons-app-depicts}} + {{Doc-commons-app-depicts}} \"Read more\" is {{msg-wm|Commons-android-strings-read help link}}. {{Identical|Done}} \'%1$s\' is replaced by a formatted number (of categories). {{Identical|Please wait}} {{Identical|Author}} {{Identical|Location}} + {{Doc-commons-app-depicts}} + {{Doc-commons-app-depicts}} + {{Doc-commons-app-depicts}} + {{Doc-commons-app-depicts}} + {{Doc-commons-app-depicts}} {{identical|Bookmark}} Option to make the app\'s theme follow the global system setting. {{Identical|More}} {{Optional}}\n<code>&amp;#169;</code> is the copyright symbol (©). + {{Doc-commons-app-depicts}} + {{Doc-commons-app-depicts}} Panning means moving the map left/right/up/down, typically by touching the screen with one finger and moving it.\n\nZooming means making the map\'s scale bigger or smaller, typically by pinching with two fingers.\n\nExample in other app:\nhttps://igss.schneider-electric.com/features/pan-and-zoom-in-definition/ A description of a visual element, location picker image shadow. Used for accesibility usually. {{Identical|Label}} {{Identical|Description}}\n\nDescription of the picture. It ends up on Wikimedia Commons as the \"Description\" field. {{Identical|Item}} {{identical|Done}} + {{Doc-commons-app-depicts}} {{Identical|Advanced options}} {{Identical|Detail}} \"Set as avatar\" should be translated the same as {{msg-wm|Commons-android-strings-menu set avatar}}. + {{Doc-commons-app-depicts}} diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index ac6c76d17..e8806b3ca 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -532,7 +532,7 @@ CLASE COPIl CLASE PĂRINTE Locație Găsită în Apropiere - Este o fotografie a Locului %1$s? + Este o fotografie a Locului %1$s? Semne de carte Setări Eliminat din semne de carte diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index c04863075..d63f8e013 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -628,7 +628,8 @@ ДЕТСКИЕ КЛАССЫ РОДИТЕЛЬСКИЕ КЛАССЫ Место поблизости найдено - На этом фото %1$s? + На этих изображениях %1$s? + На этом изображении %1$s? Закладки Настройки Удалено из закладок @@ -828,4 +829,6 @@ выбрано %d изображений + Помните, что все изображения при мультизагрузке получают одинаковые категории и описания. Если изображения не имеют одинаковых описаний и категорий, выполните несколько отдельных загрузок. + Замечание о мультизагрузках diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index fd72247a6..dbdc4e3e7 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -569,7 +569,7 @@ DETSKÉ TRIEDY RODIČOVSKÉ TRIEDY Miesto v okolí nájdené - Je toto fotka miesta %1$s? + Je toto fotka miesta %1$s? Záložky Nastavenia Odstránené zo záložiek diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index 64d9bf2d2..b1cdd6c7a 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -586,7 +586,7 @@ PODREJENI RAZREDI NADREJENI RAZREDI Najden bližnji kraj - Ali je to fotografija kraja %1$s? + Ali je to fotografija kraja %1$s? Zaznamki Nastavitve Odstranjeno iz zaznamkov diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml index d2547fa1c..d2c17b4f3 100644 --- a/app/src/main/res/values-sr/strings.xml +++ b/app/src/main/res/values-sr/strings.xml @@ -555,7 +555,7 @@ Мост, музеј, хотел итд. Дошло је до грешке са пријављивањем. Морате да промените Вашу лозинку! Оближње место је пронађено - Да ли је ово фотографија %1$s? + Да ли је ово фотографија %1$s? Обележивачи Подешавања Уклоњено из обележивача diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 8b389878f..0d59618af 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -575,7 +575,7 @@ UNDERORDNADE KLASSER ÖVERORDNADE KLASSER Hittade platser i närheten - Är detta ett foto på %1$s? + Är detta ett foto på %1$s? Bokmärken Inställningar Togs bort från bokmärken diff --git a/app/src/main/res/values-te/strings.xml b/app/src/main/res/values-te/strings.xml index 8f938efa9..9be193bde 100644 --- a/app/src/main/res/values-te/strings.xml +++ b/app/src/main/res/values-te/strings.xml @@ -517,7 +517,7 @@ చైల్డ్ క్లాస్ పేరెంట్ క్లాస్ సమీపంలోని స్థలాలు కనబడ్డాయి - ఇది %1$s ప్రాంతపు ఫొటోనా? + ఇది %1$s ప్రాంతపు ఫొటోనా? ఇష్టాంశాలు అమరికలు బుక్‌మార్కుల నుండి తీసేసాం diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index fe7c7a2e3..dbf420902 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -593,7 +593,7 @@ ALT SINIFLAR ÜST SINIFLAR Yakındaki Yer Bulundu - Bu bir %1$s fotoğrafı mı? + Bu bir %1$s fotoğrafı mı? Yer imleri Ayarlar Yer işaretlerinden kaldırıldı diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 07917a49a..f1188bf13 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -601,7 +601,7 @@ ДОЧІРНІ КЛАСИ БАТЬКІВСЬКІ КЛАСИ Знайдено місце поблизу - На цьому фото %1$s? + На цьому фото %1$s? Закладки Налаштування Вилучено з закладок diff --git a/app/src/main/res/values-vec/strings.xml b/app/src/main/res/values-vec/strings.xml index a71c0384b..f6c68cf71 100644 --- a/app/src/main/res/values-vec/strings.xml +++ b/app/src/main/res/values-vec/strings.xml @@ -454,7 +454,7 @@ Ponti, muxei, alberghi etc. Se ga verifegà on erore co te jeri drio entrare n\'te l\'utensa, xé neçesario rinpostar ła ciave. Posto cuà rente catà - Sta cuà ła xé na foto del posto %1$s? + Sta cuà ła xé na foto del posto %1$s? Segnałibri Inpostasion Cava dai favorii diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 9e0c71de2..05ad5ca25 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -591,7 +591,8 @@ 子類別 父類別 找到附近地點 - 這是%1$s的照片嗎? + 這些是%1$s的圖片嗎? + 這是%1$s的圖片嗎? 書籤 設定 已從書籤刪除 @@ -789,4 +790,6 @@ 已選 %d 張圖片 已選 %d 張圖片 + 請記住,多重上傳中的所有圖片都會取得相同的分類和描述。如果圖片不要共享描述和分類,請執行多次單筆上傳。 + 關於多次上傳的註釋 diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 391f208a6..3bd870044 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -619,7 +619,8 @@ 子类别 父类别 找到附近地点 - 这是%1$s的照片吗? + 这些是%1$s的图片吗? + 这是%1$s的图片吗? 书签 设置 已从书签中移除