Създайте статусите на резултатите, които искате да добавите (връзка)
Създайте поне един Резултат ръчно чрез администраторския панел (връзка), преди да използвате Импортиране, за с по-добро разбиране на формата и това, което ще трябва да попълните.
Изтеглете експортиране с CSV формат (%{link_export_csv})
Направете промените локално. Можете да промените само следните колони от CSV:
категория/id: ID за категорията
обхват/id:ИД за обхвата
родител / id: ID на родителя (за свързани резултати). Незадължително
заглавие/I18N:Заглавие на езика X
описание/I18N Описание на X език
< li>начало_дата:дата, когато резултатът стартира изпълнението (формат ГГГГ-ММ-DD)
край_ дата:дата, когато резултатът приключи изпълнението (формат ГГГГ-MM-DD)
status/id:ID на състоянието за този резултат
прогрес:Процент (от 0 до 100) на изпълнението
offers_ids:вътрешен ID на свързаните предложения (разделени със запетая). Той автоматично се преобразува в предложение_url
"
- link: връзка
title: Импортирай резултати от CSV
imports:
create:
diff --git a/decidim-accountability/config/locales/ca.yml b/decidim-accountability/config/locales/ca.yml
index 378a47977b396..b38227b35e454 100644
--- a/decidim-accountability/config/locales/ca.yml
+++ b/decidim-accountability/config/locales/ca.yml
@@ -48,9 +48,29 @@ ca:
results: Resultats
import_results:
new:
+ download_export: Descarregar l'exportació en format CSV
import: Importar
- info: "
Et recomanem que segueixis les passes següents:
Crea els estats per als resultats que vulguis afegir (link)
Crea com a mínim un resultat manualment a través del taulell d'administració (link) abans d'importar, per a entendre millor el format i com cal omplir-ho.
Descarrega l'arxiu en format CSV(%{link_export_csv})
Fes els canvis en local. Només pots modificar les següents columnes del CSV:
id category/id: ID per la categoria
scope/id: ID per a l'àmbit
parent/id: ID per al pare (per a resultats relacionats). Opcional
title/I18N: Title en la llengua X
description/I18N: Descripció en la lleguna X
start_date: data en la que s'inicia l'execució del resultat (format YYYY-MM-DD)
end_date: data en la que finalitza l'execució del resultat (format YYYY-MM-DD)
status/id: ID de l'estat per a aquest resultat
progress: Tant per cent (de 0 a 100) d'execució
proposals_ids: ID intern de les propostes relacionades (separades per comes). Es convertirà automàticament en proposal_url
Fes els canvis en local. Només pots modificar les següents columnes del CSV:
+
+
id category/id: ID per la categoria
+
scope/id: ID per a l'àmbit
+
parent/id: ID per al pare (per a resultats relacionats). Opcional
+
title/I18N: Title en la llengua X
+
description/I18N: Descripció en la lleguna X
+
start_date: data en la que s'inicia l'execució del resultat (format YYYY-MM-DD)
+
end_date: data en la que finalitza l'execució del resultat (format YYYY-MM-DD)
+
status/id: ID de l'estat per a aquest resultat
+
progress: Tant per cent (de 0 a 100) d'execució
+
proposals_ids: ID intern de les propostes relacionades (separades per comes). Es convertirà automàticament en proposal_url
+
+
+
title: Importar resultats via CSV
imports:
create:
diff --git a/decidim-accountability/config/locales/cs.yml b/decidim-accountability/config/locales/cs.yml
index 75fcf8a4352ef..07d8f7a8899ff 100644
--- a/decidim-accountability/config/locales/cs.yml
+++ b/decidim-accountability/config/locales/cs.yml
@@ -50,9 +50,8 @@ cs:
results: Výsledky
import_results:
new:
+ download_export: Stáhnout export s CSV formátem
import: Importovat
- info: "
Doporučujeme postupovat podle těchto kroků:
Vytvořte stavy pro výsledky, které chcete přidat (odkaz)
Vytvořte alespoň jeden výsledek ručně přes tento Admin panel (odkaz) před použitím Importu, pro lepší pochopení formátu a toho, co budete muset vyplnit.
Stáhněte si export s CSV formátem (%{link_export_csv})
Proveďte změny lokálně. Následující sloupce CSV:
kategorie / id: ID pro kategorii
rozsah / id: ID pro rozsah
nadřazené / id: ID nadřazených (pro související výsledky). Nepovinný
název / I18N: Název jazyka X
popis / I18N: Popis jazyka X
start_date: datum, kdy výsledek začne provádět (formát YYYY-MM-DD)
end_date: den, kdy výsledek končí provedení (formát YYYY-MM-DD)
status / id: ID stavu pro tento výsledek
pokrok: procenta (od 0 do 100) provedení
proposals_ids: interní ID souvisejících návrhů (oddělené čárkou). Automaticky se převede na proposal_url
"
- link: odkaz
title: Importovat výsledky z CSV
imports:
create:
diff --git a/decidim-accountability/config/locales/da.yml b/decidim-accountability/config/locales/da.yml
index 2f80fe6d42c07..245d5875cca62 100644
--- a/decidim-accountability/config/locales/da.yml
+++ b/decidim-accountability/config/locales/da.yml
@@ -46,8 +46,6 @@ da:
import_results:
new:
import: Import
- info: "
Vi anbefaler, at du følger disse trin:
Opret status for de resultater, du ønsker at tilføje (link)
Opret mindst ét resultat manuelt via dette administrationspanel (link) før brug af import for at få en bedre forståelse af formatet, og hvad du har brug for til at udfylde det.
Download eksporten som CSV-format (%{link_export_csv})
Lav ændringerne lokalt. Du kan kun ændre følgende kolonner i CSV’et:
category/id: ID for kategorien
scope/id: ID for anvendelsesområde
parent/id: ID for forælder(tilknyttede resultater). Valgfrit
title/I18N: Titel for X-sprog
description/I18N: Beskrivelse på X-sprog
dato, hvor resultatet begynder med at blive gennemført (format YYYY-MM-DD)
slutdato: dato, hvor gennemførelsen af resultatet afsluttes (format YYYY-MM-DD)
status/id: ID for status for dette resultat
fremskridt: procentandel (fra 0 til 100) for gennemførelsen
proposals_ids: internt ID for de tilknyttede forslag (adskilt med et komma). Den konverteres automatisk til proposal_url
"
- link: link
title: Importresultater fra CSV
imports:
create:
diff --git a/decidim-accountability/config/locales/de.yml b/decidim-accountability/config/locales/de.yml
index 0064addbd1133..9e008a3b7f868 100644
--- a/decidim-accountability/config/locales/de.yml
+++ b/decidim-accountability/config/locales/de.yml
@@ -49,8 +49,6 @@ de:
import_results:
new:
import: Importieren
- info: "
Wir empfehlen, dass Sie folgende Schritte befolgen:
Erstellen Sie den Status der Ergebnisse, die Sie hinzufügen möchten (link)
Erstellen Sie mindestens ein Ergebnis über diesen Administrator-Panel (link) bevor Sie Importieren, damit Sie mit dem Format und den benötigten Eingaben vertraut sind.
Laden Sie den Export im CSV-Format herunter (%{link_export_csv})
Nehmen Sie Änderungen lokal vor. Sie können nur die folgenden Spalten der CSV ändern:
Kategorie/ID: ID der Kategorie
Umfang/ID: ID des Umfangs
Übergeordnet/ID: Übergeordnete ID (für verwandte Ergebnisse). Optional
Titel/I18N: Titel in Sprache X
Beschreibung/I18N: Beschreibung in Sprache X
start_datum: Datum, an dem die Ausführung des Ergebnisses beginnt (Format JJJJ-MM-TT)
end_datum: Datum, an dem die Ausführung des Ergebnisses endet (Format JJJJ-MM-TT)
Status/ID: ID des Status dieses Ergebnisses
Fortschritt: Prozentualer (von 0 bis 100) Fortschritt der Durchführung
Vorschläge_IDs: Interne ID der verwandten Vorschläge (getrennt durch Komma). Dies wird automatisch umgewandelt in proposal_url
Δημιουργήστε τις Καταστάσεις για τα Αποτελέσματα που θέλετε να προσθέσετε (link)
Δημιουργήστε τουλάχιστον ένα Αποτέλεσμα χειροκίνητα μέσω αυτού του Πίνακα διαχειριστή (link), προτού χρησιμοποιήσετε την Εισαγωγή, προκειμένου να κατανοήσετε καλύτερα τη μορφή και τα στοιχεία που πρέπει να συμπληρώσετε.
Πραγματοποιήστε λήψη της Εξαγωγής σε μορφή CSV (%{link_export_csv})
Πραγματοποιήστε τις αλλαγές τοπικά. Μπορείτε να αλλάξετε μόνο τις παρακάτω στήλες του CSV:
κατηγορία/αναγνωριστικό: Αναγνωριστικό για την Κατηγορία
πεδίο εφαρμογής/αναγνωριστικό: Αναγνωριστικό για το Πεδίο εφαρμογής
γονικό στοιχείο/αναγνωριστικό: Αναγνωριστικό για το γονικό στοιχείο (για σχετικά Αποτελέσματα). Προαιρετικά
τίτλος/I18N: Τίτλος στη γλώσσα X
περιγραφή/I18N: Περιγραφή στη γλώσσα X
ημερομηνία_έναρξης: ημερομηνία κατά την οποία το αποτέλεσμα ξεκινά την εκτέλεση (μορφή ΕΕΕΕ-ΜΜ-ΗΗ)
ημερομηνία_λήξης: ημερομηνία κατά την οποία το αποτέλεσμα ολοκληρώνει την εκτέλεση (μορφή ΕΕΕΕ-ΜΜ-ΗΗ)
κατάσταση/αναγνωριστικό: Αναγνωριστικό της Κατάστασης αυτού του αποτελέσματος
πρόοδος: Ποσοστό (από 0 έως 100) της εκτέλεσης
αναγνωριστικά_προτάσεων: εσωτερικό αναγνωριστικό των σχετικών προτάσεων (διαχωρισμένων με κόμμα). Μετατρέπεται αυτόματα σε url_πρότασης
"
- link: σύνδεσμος
title: Εισαγωγή αποτελεσμάτων από αρχείο CSV
imports:
create:
diff --git a/decidim-accountability/config/locales/en.yml b/decidim-accountability/config/locales/en.yml
index 5207004161356..9b2c53d84e715 100644
--- a/decidim-accountability/config/locales/en.yml
+++ b/decidim-accountability/config/locales/en.yml
@@ -50,9 +50,29 @@ en:
results: Results
import_results:
new:
+ download_export: Download the Export with CSV format
import: Import
- info: "
We recommend that you follow these steps:
Create the Statuses for the Results that you want to add (link)
Create at least one Result manually through this Admin panel (link) before using Import, for having a better understanding of the format and what you'll need to fill out.
Download the Export with CSV format (%{link_export_csv})
Make the changes locally. You can only change the following columns of the CSV:
category/id: ID for the Category
scope/id: ID for the Scope
parent/id: ID of the parent (for related Results). Optional
title/I18N: Title on X language
description/I18N: Description on X language
start_date: date when the result starts execution (format YYYY-MM-DD)
end_date: date when the result ends execution (format YYYY-MM-DD)
status/id: ID of the Status for this result
progress: Percentage (from 0 to 100) of the execution
proposals_ids: internal ID of the related proposals (separated with a comma). It gets automatically converted to proposal_url
Create at least one Result manually through this Admin panel before using Import, for having a better understanding of the format and what you'll need to fill out.
+
%{link_export_csv}
+
Make the changes locally. You can only change the following columns of the CSV:
+
+
category/id: ID for the Category
+
scope/id: ID for the Scope
+
parent/id: ID of the parent (for related Results). Optional
+
title/en: Title on English language. This will depend on your platform language configuration.
+
description/en: Description on English language. This will depend on your platform language configuration.
+
start_date: date when the result starts execution (format YYYY-MM-DD)
+
end_date: date when the result ends execution (format YYYY-MM-DD)
+
status/id: ID of the Status for this result
+
progress: Percentage (from 0 to 100) of the execution
+
proposals_ids: internal ID of the related proposals (separated with a comma). It gets automatically converted to proposal_url
Crea los estados para los resultados que quieras agregar ( link )
Crea por lo menos un resultado manualmente a través del panel de administración (link) antes de importar, para entender mejor el formato y cómo rellenarlo.
Descarga el archivo en formato CSV (%{link_export_csv})
Haz los cambios en local. Sólo puedes modificar las siguientes columnas del CSV:
id category /id: ID para la categoría
scope /id: ID para el ámbito
parent /id: ID para el padre (para resultados relacionados). Opcional
title /I18N: título en la lengua X
description /I18N: descripción en la lleguna X
start_date: date en la que se inicia la ejecución del resultado (formato AAAA-MM-DD)
end_date: fecha en la que finaliza la ejecución del resultado (formato AAAA-MM-DD)
status /id: ID del estado para este resultado
progress: Tanto por ciento (de 0 a 100) de ejecución
proposals_ids: ID interno de las propuestas relacionadas (separadas por comas). Se convertirá automáticamente en proposal_url
Crea los estados para los resultados que quieras agregar ( link )
Crea por lo menos un resultado manualmente a través del panel de administración (link) antes de importar, para entender mejor el formato y cómo rellenarlo.
Descarga el archivo en formato CSV (%{link_export_csv})
Haz los cambios en local. Sólo puedes modificar las siguientes columnas del CSV:
id category /id: ID para la categoría
scope /id: ID para el ámbito
parent /id: ID para el padre (para resultados relacionados). Opcional
title /I18N: título en la lengua X
description /I18N: descripción en la lleguna X
start_date: date en la que se inicia la ejecución del resultado (formato AAAA-MM-DD)
end_date: fecha en la que finaliza la ejecución del resultado (formato AAAA-MM-DD)
status /id: ID del estado para este resultado
progress: Tanto por ciento (de 0 a 100) de ejecución
proposals_ids: ID interno de las propuestas relacionadas (separadas por comas). Se convertirá automáticamente en proposal_url
Crea los estados para los resultados que quieras agregar ( link )
Crea por lo menos un resultado manualmente a través del panel de administración (link) antes de importar, para entender mejor el formato y cómo rellenarlo.
Descarga el archivo en formato CSV (%{link_export_csv})
Haz los cambios en local. Sólo puedes modificar las siguientes columnas del CSV:
id category /id: ID para la categoría
scope /id: ID para el ámbito
parent /id: ID para el padre (para resultados relacionados). Opcional
title /I18N: título en el idioma X
description /I18N: descripción en el idioma X
start_date: fecha en la que se inicia la ejecución del resultado (formato AAAA-MM-DD)
end_date: fecha en la que finaliza la ejecución del resultado (formato AAAA-MM-DD)
status /id: ID del estado para este resultado
progress: Tanto por ciento (de 0 a 100) de ejecución
proposals_ids: ID interno de las propuestas relacionadas (separadas por comas). Se convertirá automáticamente en proposal_url
Luo vähintään yksi tulos manuaalisesti hallintapaneelin kautta (linkki) ennen tuontia, ymmärtääksesi millaisessa muodossa tulosten tiedot tulee määrittää.
Vie tulokset CSV-tiedostoon (%{link_export_csv})
Tee muutokset tietokoneellasi. Voit ainoastaan muuttaa seuraavia asioita CSV-tiedoston kautta:
category/id: Aihepiirin ID-numero
scope/id: Teeman ID-numero
parent/id: Isäntätuloksen ID-numero (toisiinsa liitetyille tuloksille, muille tyhjä). Valinnainen
title/I18N Otsikko kielelle X
description/I18N: Kuvaus kielelle X
start_date: Päivämäärä, jolloin tuloksen toteuttaminen aloitetaan (muodossa YYYY-MM-DD)
end_date: Päivämäärä, jolloin tuloksen toteuttaminen lopetetaan (muodossa YYYY-MM-DD)
status/id: Tuloksen tilan ID-numero
progress: Tuloksen toteutuksen tilan prosentuaalinen kuvaus (0-100)
proposal_ids: Tulokseen liitettyjen ehdotusten ID-numerot (eroteltuna pilkulla). Muutetaan automaattisesti proposal_url
"
- link: linkki
+ info: |
+
Suorittelemme tekemään seuraavat toimenpiteet suorittaaksesi tuonnin onnistuneesti:
Luo vähintään yksi tulos manuaalisesti hallintapaneelin kautta (linkki) ennen tuontia, ymmärtääksesi millaisessa muodossa tulosten tiedot tulee määrittää.
Vie tulokset CSV-tiedostoon (%{link_export_csv})
Tee muutokset tietokoneellasi. Voit ainoastaan muuttaa seuraavia asioita CSV-tiedoston kautta:
category/id: Aihepiirin ID-numero
scope/id: Teeman ID-numero
parent/id: Isäntätuloksen ID-numero (toisiinsa liitetyille tuloksille, muille tyhjä). Valinnainen
title/I18N Otsikko kielelle X
description/I18N: Kuvaus kielelle X
start_date: Päivämäärä, jolloin tuloksen toteuttaminen aloitetaan (muodossa YYYY-MM-DD)
end_date: Päivämäärä, jolloin tuloksen toteuttaminen lopetetaan (muodossa YYYY-MM-DD)
status/id: Tuloksen tilan ID-numero
progress: Tuloksen toteutuksen tilan prosentuaalinen kuvaus (0-100)
proposal_ids: Tulokseen liitettyjen ehdotusten ID-numerot (eroteltuna pilkulla). Muutetaan automaattisesti proposal_url
"
- link: linkki
+ info: |
+
Suorittelemme tekemään seuraavat toimenpiteet suorittaaksesi tuonnin onnistuneesti:
Luo vähintään yksi tulos käsin hallintapaneelin kautta ennen tuontia, jotta ymmärrät paremmin, miltä tuontitiedoston tulee näyttää.
+
%{link_export_csv}
+
Tee tiedostoon muutoksia tietokoneellasi. Voit muuttaa ainoastaan seuraavia sarakkeita CSV-tiedostossa:
+
+
category/id: Aihepiirin ID-tunniste
+
scope/id: Teeman ID-tunniste
+
parent/id: Tuloksen isännän ID-tunniste. Vapaaehtoinen
+
title/fi: Otsikko suomeksi. Tämän sarakkeen nimi riippuu alustalle määritetyistä kielistä.
+
description/fi: Kuvaus suomeksi. Tämän sarakkeen nimi riippuu alustalle määritetyistä kielistä.
+
start_date: Tuloksen toteuttamisen aloituspäivämäärä (muodossa YYYY-MM-DD)
+
end_date: Tuloksen toteuttamisen päättymispäivämäärä (muodossa YYYY-MM-DD)
+
status/id: Tuloksen tilan ID-tunniste
+
progress: Tuloksen toteutuksen prosentuaalisen etenemisen tila (välillä 0-100)
+
proposals_ids: Liittyvien ehdotusten ID-numerot (pilkulla eroteltuna). Nämä muutetaan automaattisesti proposal_url
+
+
+
title: Tuo tulokset CSV-tiedostosta
imports:
create:
diff --git a/decidim-accountability/config/locales/fr-CA.yml b/decidim-accountability/config/locales/fr-CA.yml
index 370e9e01757cc..2f073a03e55e7 100644
--- a/decidim-accountability/config/locales/fr-CA.yml
+++ b/decidim-accountability/config/locales/fr-CA.yml
@@ -48,9 +48,29 @@ fr-CA:
results: Réalisations
import_results:
new:
+ download_export: Télécharger l'export au format CSV
import: Importer
- info: "
Nous vous recommandons de suivre les étapes suivantes :
Créez les statuts pour les résultats que vous souhaitez ajouter (lien)
Créez au moins un résultat manuellement via ce panneau administrateur (lien) avant d'utiliser l'import, pour comprendre ce que vous aurez besoin de remplir.
Téléchargez l'export en format CSV (%{link_export_csv})
Faites les modifications nécessaires. Vous pouvez uniquement changer les colonnes suivantes du fichier CSV :
category/id: Identifiant de la catégorie
scope/id : Identifiant du secteur
parent/id : Identifiant du parent (pour les résultats liés). Optional
title/I18N: Titre en langue X
description/I18N: Description en langue X
start_date: date à laquelle le résultat commence (format AAAA-MM-JJ)
end_date: date à laquelle le résultat finit (format AAAA-MM-JJ)
status/id: Identifiant du statut du résultat
progress: Pourcentage (de 0 à 100) de l'exécution du résultat
proposals_ids: Identifiant interne des propositions liées (séparées avec une virgule). La conversion en URL de la proposition se fait automatiquement.
Appliquer les changement localement. Vous ne pouvez changer que les colonnes suivantes du CSV:
+
+
category/id: ID de la catégorie
+
scope/id: ID du périmètre d'application
+
parent/id: ID du parent (pour résultat liés). Optionel
+
title/en: Titre en anglais. Cela dépend de la configuration des langues sur votre plateforme.
+
description/en: Description en anglais. Cela dépend de la configuration des langues sur votre plateforme.
+
start_date: date à partir de laquelle le résultat est mis en œuvre (format AAAA-MM-JJ)
+
end_date: date à laquelle se termine la mise en œuvre du résultat (format AAAA-MM-JJ)
+
status/id: ID du status de ce résultat
+
progress: Pourcentage (de 0 à 100) de l'exécution
+
proposals_ids: IDs des propositions liées (séparés par une virgule). C'est automatiquement converti en proposal_url
+
+
+
title: Importer les résultats depuis un fichier CSV
imports:
create:
diff --git a/decidim-accountability/config/locales/fr.yml b/decidim-accountability/config/locales/fr.yml
index b448518478a95..338b7546cd957 100644
--- a/decidim-accountability/config/locales/fr.yml
+++ b/decidim-accountability/config/locales/fr.yml
@@ -48,9 +48,29 @@ fr:
results: Réalisations
import_results:
new:
+ download_export: Télécharger l'export au format CSV
import: Importer
- info: "
Nous vous recommandons de suivre les étapes suivantes :
Créez les statuts pour les résultats que vous souhaitez ajouter (lien)
Créez au moins un résultat manuellement via ce panneau administrateur (lien) avant d'utiliser l'import, pour comprendre ce que vous aurez besoin de remplir.
Téléchargez l'export en format CSV (%{link_export_csv})
Faites les modifications nécessaires. Vous pouvez uniquement changer les colonnes suivantes du fichier CSV :
category/id: Identifiant de la catégorie
scope/id : Identifiant du secteur
parent/id : Identifiant du parent (pour les résultats liés). Optional
title/I18N: Titre en langue X
description/I18N: Description en langue X
start_date: date à laquelle le résultat commence (format AAAA-MM-JJ)
end_date: date à laquelle le résultat finit (format AAAA-MM-JJ)
status/id: Identifiant du statut du résultat
progress: Pourcentage (de 0 à 100) de l'exécution du résultat
proposals_ids: Identifiant interne des propositions liées (séparées avec une virgule). La conversion en URL de la proposition se fait automatiquement.
Crear os estados para os Resultados que desexes engadir (ligazón)
Crear polo menos un Resultado de xeito manual a través deste panel de administrador (ligazón) antes de usar Importar, para entender o formato e que precisas encher.
Descargar o ficheiro en formato CSV (%{link_export_csv})
Fai os trocos localmente. Só podes trocar as seguintes columnas do CSV:
category/id: ID da categoría
scope/id: ID do ámbito
parent/id: ID do pai (para Resultados relacionados). Opcional
title/I18N: Título no idioma X
description/I18N: Descrición no idioma X
start_date: data na que se inicia a execución do resultado (formato YYYY-MM-DD)
end_date: data na que remata a execución (formato YYYY-MM-DD)
status/id: ID do estado do resultado
progress: Porcentaxe (de 0 a 100) da execución
proposals_ids: ID interno das propostas relacionadas (separadas por comas). Isto converterase automaticamente en proposal_url
Hozza létre a hozzáadni kívánt Eredmények állapotait (link).
Az Importálás lehetőség használata előtt hozzon létre legalább egy eredményt manuálisan ezen az Adminisztrációs panelen keresztül (link), hogy jobban megismerje a használni kívánt formátumot, valamint az adatokat, amelyeket meg kell adnia.
Töltse le az Exportált elemet CSV-formátumban (%{link_export_csv})
A módosításokat helyileg végezze el. A CSV-fájlban kizárólag a következő oszlopokat módosíthatja:
category/id: a Kategória azonosítója
scope/id: az Alkalmazási kör azonosítója
parent/id: a Fölérendelt objektum azonosítója (a kapcsolódó Eredmények esetében). Opcionális
title/I18N: Cím X nyelven
description/I18N: Leírás X nyelven
start_date: az eredmény végrehajtásának kezdő dátuma (formátum: ÉÉÉÉ-HH-NN)
end_date: az eredmény végrehajtásának záró dátuma (formátum: ÉÉÉÉ-HH-NN)
status/id: az eredmény Állapotának azonosítója
progress: a végrehajtás mértéke százalékban kifejezve (0 és 100 közötti érték)
proposals_ids: a kapcsolódó javaslatok belső azonosítói (vesszővel elválasztva). Automatikusan a következőre konvertálva: proposal_url
"
- link: link
title: Eredmények betöltése CSV-ből
imports:
create:
@@ -94,7 +92,7 @@ hu:
index:
title: Állapotok
new:
- create: Státusz létrehozása
+ create: Állapot létrehozása
title: Új állapot
update:
invalid: Probléma történt az állapot frissítésekor
@@ -109,7 +107,7 @@ hu:
title: Bejegyzés szerkesztése
update: Bejegyzés frissítése
index:
- title: Projekt ütemtervének bejegyzései
+ title: Projekt idővonal bejegyzései
new:
create: Bejegyzés létrehozása
title: Új bejegyzés
@@ -170,7 +168,7 @@ hu:
other: "%{count} találat"
filters:
all: Összes
- scopes: Hatáskörök
+ scopes: Hatókörök
home:
categories_label: Kategóriák
subcategories_label: Alkategóriák
@@ -225,13 +223,13 @@ hu:
accountability:
proposal_linked:
email_intro: 'A "%{proposal_title}" nevű javaslat szerepel az eredményben. Erről az oldalról érhető el:'
- email_outro: Ezt az értesítést azért kaptad, mert követed a(z) "%{proposal_title}" nevű ajánlást. Az értesítéseket a következő linkre kattintva kapcsolhatod ki.
+ email_outro: 'Ezt az értesítést azért kaptad, mert ezt követed: "%{proposal_title}". Az értesítéseket az előző linkre kattintva kapcsolhatod ki.'
email_subject: A %{proposal_title} frissítve lett
notification_title: 'A(z) %{proposal_title} javaslat szerepel ebben a(z) eredményben: %{resource_title}.'
result_progress_updated:
email_intro: 'A "%{resource_title}" eredmény, amely magában foglalja a "%{proposal_title}" javaslatot, most már %{progress}% -ban teljes. Láthatod ezt erről oldalról:'
- email_outro: Ezt az értesítést azért kaptad, mert "%{proposal_title}" -t követed, és ez a javaslat szerepel a "%{resource_title}" eredményben. Leállíthatoa az értesítések fogadását követve az előző linket.
- email_subject: '%{resource_title} frissítése'
+ email_outro: Ezt az értesítést azért kaptad, mert "%{proposal_title}" -t követed, és ez a javaslat szerepel a "%{resource_title}" eredményben. Leállíthatod az értesítések fogadását követve az előző linket.
+ email_subject: '%{resource_title} frissítése folyamatban'
notification_title: Az eredmény %{resource_title}, amely magában foglalja a %{proposal_title}javaslatot, most %{progress}%-ban teljes.
metrics:
results:
@@ -243,8 +241,8 @@ hu:
see_all: Eredmények megtekintése (%{count})
resource_links:
included_projects:
- result_project: Ebben az eredményben szereplő projektek
+ result_project: Az eredményben szereplő projektek
included_proposals:
- result_proposal: Az eredménybe foglalt javaslatok
+ result_proposal: Ebben az eredményben szereplő javaslatok
statistics:
results_count: Találatok
diff --git a/decidim-accountability/config/locales/is-IS.yml b/decidim-accountability/config/locales/is-IS.yml
index 1943665a1de39..7d9e5c9c40560 100644
--- a/decidim-accountability/config/locales/is-IS.yml
+++ b/decidim-accountability/config/locales/is-IS.yml
@@ -48,7 +48,6 @@ is-IS:
import_results:
new:
import: Flytja inn
- link: hlekkur
title: Flytja inn niðurstöður frá CSV
imports:
create:
diff --git a/decidim-accountability/config/locales/it.yml b/decidim-accountability/config/locales/it.yml
index 590df439b4415..ff6a5b520b19d 100644
--- a/decidim-accountability/config/locales/it.yml
+++ b/decidim-accountability/config/locales/it.yml
@@ -49,8 +49,6 @@ it:
import_results:
new:
import: Importa
- info: "
Si consiglia di seguire questi passaggi:
Creare gli Stati per i risultati che si desidera aggiungere (link)
Creare manualmente almeno un risultato attraverso questo pannello di amministrazione (link) prima di utilizzare Import, per avere una migliore comprensione del formato e di ciò che è necessario compilare.
Scarica l'esportazione nel formato CSV (%{link_export_csv})
Effettua le modifiche localmente. È possibile modificare solo le seguenti colonne del CSV:
categoria/id: ID per la categoria
scope/id: ID per l'ambito
parent/id: ID dell'origine (per i risultati correlati). Opzionale
titolo/I18N: Titolo sulla lingua X
descrizione/I18N: Descrizione sulla lingua X
start_date: data in cui il risultato inizia l'esecuzione (formato YYYY-MM-DD)
end_date: data in cui il risultato termina l'esecuzione (formato AAAA-MM-DD)
status/id: ID dello stato per questo risultato
progresso: Percentuale (da 0 a 100) dell'esecuzione
proposte_ids: ID interno delle relative proposte (separate da una virgola). Viene convertito automaticamente in proposal_url
Wir empfehlen, dass Sie folgende Schritte befolgen:
Erstellen Sie den Status der Ergebnisse, die Sie hinzufügen möchten (link)
Erstellen Sie mindestens ein Ergebnis über diesen Administrator-Panel (link) bevor Sie Importieren, damit Sie mit dem Format und den benötigten Eingaben vertraut sind.
Laden Sie den Export im CSV-Format herunter (%{link_export_csv})
Nehmen Sie Änderungen lokal vor. Sie können nur die folgenden Spalten der CSV ändern:
Kategorie/ID: ID der Kategorie
Umfang/ID: ID des Umfangs
Übergeordnet/ID: Übergeordnete ID (für verwandte Ergebnisse). Optional
Titel/I18N: Titel in Sprache X
Beschreibung/I18N: Beschreibung in Sprache X
start_datum: Datum, an dem die Ausführung des Ergebnisses beginnt (Format JJJJ-MM-TT)
end_datum: Datum, an dem die Ausführung des Ergebnisses endet (Format JJJJ-MM-TT)
Status/ID: ID des Status dieses Ergebnisses
Fortschritt: Prozentualer (von 0 bis 100) Fortschritt der Durchführung
Vorschläge_IDs: Interne ID der verwandten Vorschläge (getrennt durch Komma). Dies wird automatisch umgewandelt in proposal_url
"
- link: link
title: Resultater aus engem CSV-Fichier importéieren
imports:
create:
diff --git a/decidim-accountability/config/locales/lo-LA.yml b/decidim-accountability/config/locales/lo-LA.yml
new file mode 100644
index 0000000000000..27a02bfece429
--- /dev/null
+++ b/decidim-accountability/config/locales/lo-LA.yml
@@ -0,0 +1 @@
+lo:
diff --git a/decidim-accountability/config/locales/lt.yml b/decidim-accountability/config/locales/lt.yml
index eba4402b0fd33..9ef24d7061a69 100644
--- a/decidim-accountability/config/locales/lt.yml
+++ b/decidim-accountability/config/locales/lt.yml
@@ -51,8 +51,6 @@ lt:
import_results:
new:
import: Importuoti
- info: "
Sukurti bent vieną rezultatą rankiniu būdu pasinaudojant šia Administratoriaus panele (link) prieš spustelint „Importuoti“, kad geriau suprastumėte formatą ir tai, ką turite užpildyti.
Atlikite pakeitimus lokaliai. Galite pakeisti tik šias CSV skiltis:
category/id: ID, skirtą kategorijai
scope/id: ID, skirtą sričiai
parent/id: pirminio elemento ID (skirtą susijusiems rezultatams). Neprivaloma
title/I18N: Pavadinimas X kalba
description/I18N: Aprašymas X kalba
start_date: data, kada rezultatas pradedamas generuoti (MMMM-MM-DD formatas)
end_date: data, kada rezultatas baigiamas generuoti (MMMM-MM-DD formatas)
status/id: šio rezultato būsenos ID
progress: Įvykdymo procentinė dalis (nuo 0 iki 100)
proposals_ids: susijusių pasiūlymų vidaus ID (atskirta kableliu). Tai automatiškai pakeičiama į proposal_url
"
- link: nuoroda
title: Importuoti rezultatus iš CSV
imports:
create:
@@ -180,6 +178,8 @@ lt:
subcategories_label: Subkategorijos
home_header:
global_status: Bendra vykdymo būsena
+ nav_breadcrumb:
+ global: Bendras vykdymas
search:
search: Ieškoti veiksmų
show:
diff --git a/decidim-accountability/config/locales/lv.yml b/decidim-accountability/config/locales/lv.yml
index ff06cfa9d52de..aac3223a752d1 100644
--- a/decidim-accountability/config/locales/lv.yml
+++ b/decidim-accountability/config/locales/lv.yml
@@ -45,8 +45,6 @@ lv:
import_results:
new:
import: Importēt
- info: "
Mēs iesakām veikt šādas darbības:
izveidojiet statusu rezultātiem, ko vēlaties pievienot (link)
Pirms importēšanas manuāli izveidojiet vismaz vienu rezultātu, izmantojot šo administratora paneli, (link) lai labāk izprastu formātu un to, kas būs jāaizpilda.
Lejupielādējiet formātā Eksportēt ar CSV (%{link_export_csv})
Veiciet lokālas izmaiņas. Jūs varat mainīt tikai šādas CSV kolonnas:
category/id: Kategorijas ID
scope/id: Tvēruma ID
parent/id: Saistītais ID (saistītajiem rezultātiem). Pēc izvēles:
title/I18N: Virsraksts X valodā
description/I18N: Apraksts X valodā
start_date: datums, kurā uzsākta rezultāta izpilde (formāts GGGG-MM-DD)
end_date: datums, kurā beidzas rezultāta izpilde (formāts GGGG-MM-DD)
status/id: šī rezultāta statusa ID
progress: Izpildes līmenis procentos (no 0 līdz 100)
proposals_ids: saistīto priekšlikumu iekšējais ID (atdalīts ar komatu). Tas tiek automātiski konvertēts uz proposal_url
Lag Statuser for de Resultatene du vil legge til (link)
Lag manuelt i hvert fall ett Resultat via dette Admin-panelet (link) før du bruker Importer, for å bedre forstå formatet og det du trenger for å fylle ut.
Last ned Eksporter med CSV-format (%{link_export_csv})
Gjør endringene lokalt. Du kan bare endre følgende kolonner i CSV:
kategori/id: ID for Kategorien
omfang/id: ID for Omfanget
parent/id: ID for parent (for relaterte Resultater). Alternativt
tittel/I18N: Tittel på X språk
beskrivelse/I18N: Beskrivelse på X språk
start_dato: dato for når resultat starter oppgave (format YYYY-MM-DD)
slutt_dato: dato for når resultater avslutter oppgave (format YYYY-MM-DD)
status/id: ID for Status for dette resultatet
fremgang: Prosent (fra 0 to 100) av oppgaven
forslag_id: intern ID for relaterte forslag (separert med komma). Det blir automatisk konvertert til forslag_url
"
- link: lenke
title: Importere resultater fra CSV
imports:
create:
@@ -61,10 +59,10 @@
status:
name: Status
timeline_entry:
- name: Tidslinje oppføring
+ name: Oppføring i tidslinjen
results:
create:
- invalid: Det oppsto et problem med å opprette dette resultatet
+ invalid: Det oppstod et problem med å opprette dette resultatet
success: Resultat ble opprettet
destroy:
success: Resultat ble slettet
diff --git a/decidim-accountability/config/locales/oc-FR.yml b/decidim-accountability/config/locales/oc-FR.yml
new file mode 100644
index 0000000000000..325b348894124
--- /dev/null
+++ b/decidim-accountability/config/locales/oc-FR.yml
@@ -0,0 +1 @@
+oc:
diff --git a/decidim-accountability/config/locales/pl.yml b/decidim-accountability/config/locales/pl.yml
index 1fcd7c0c4cb91..4428cafb69fb9 100644
--- a/decidim-accountability/config/locales/pl.yml
+++ b/decidim-accountability/config/locales/pl.yml
@@ -50,9 +50,8 @@ pl:
results: Wyniki
import_results:
new:
+ download_export: Pobierz Eksport w formacie CSV
import: Importuj
- info: "
Zalecamy wykonanie następujących kroków:
Utwórz Statusy dla Wyników, które chcesz dodać (link)
Utwórz co najmniej jeden wynik ręcznie z poziomu tego Panelu administracyjnego (link) przed wybraniem opcji Importuj, aby lepiej zrozumieć format oraz jakie informacje należy załączyć.
Pobierz plik Eksport w formacie CSV (%{link_export_csv})
Wprowadź zmiany lokalnie. Możesz zmienić tylko następujące kolumny pliku CSV:
kategoria/id: ID kategorii
zakres/id: ID zakresu
element nadrzędny/id: ID elementu nadrzędnego (dla powiązanych wyników). Opcjonalnie
tytuł/I18N: Tytuł w języku X
opis/I18N: Opis w języku X
start_date: data rozpoczęcia pracy nad utworzeniem wyniku (format RRRR-MM-DD)
end_date: data zakończenia pracy nad utworzeniem wyniku (format RRRR-MM-DD)
status/id: ID statusu dla tego wyniku
postęp: Postęp prac nad wynikiem wyrażony procentowo (od 0 do 100)
proposals_ids: wewnętrzne ID powiązanych propozycji (oddzielone przecinkiem). Jest ono automatycznie konwertowane na proposal_url
"
- link: link
title: Importuj wyniki z CSV
imports:
create:
diff --git a/decidim-accountability/config/locales/pt-BR.yml b/decidim-accountability/config/locales/pt-BR.yml
index eff62079183cd..8dbbad22378ba 100644
--- a/decidim-accountability/config/locales/pt-BR.yml
+++ b/decidim-accountability/config/locales/pt-BR.yml
@@ -48,9 +48,8 @@ pt-BR:
results: Resultados
import_results:
new:
+ download_export: Baixe a Exportação com formato CSV
import: Importar
- info: "
Nós recomendamos que vosê siga os seguintes passos:
Crie os Status para os Resultados que você gostaria de adicionar(link)
Crie o último Resultado manualmente através do Painel de Administração(link) antes de usar Importação, para ter um melhor entendimento do formato e o que você precisa preencher.
Baixe a Exportação em formato CSV (%{link_export_csv})
Faça as mudanças localmente. Você só pode fazer mudanças nas seguintes colunas do CSV:
categoria/id: ID da Categoria
escopo/id: ID do Escopo
pai/id: ID do pai(para resultados Relacionados). Opcional
Título/I18N: Título na liinguagem X
Descrição/I18N: Descrição na linguagem X
data_inicial: data em que os resultados começaram a ser executados (formato YYYY-MM-DD)
data_final: em que os resultados pararam de ser executados (formato YYYY-MM-DD)
status/id: ID do Status para este resultado
progresso: Percentual (De 0 a 100) de execução
id_propostas: ID interno relacionado às propostas (separados por vírgula). Ele é convertido automaticamente paraurl_proposta
Crie os Estados para os Resultados que deseja adicionar (hiperligação)
Crie pelo menos um Resultado de forma manual através deste painel de Administrador (link) antes de usar Importar, para obter uma melhor compreensão do formato e daquilo que terá de preencher.
Transfira a Exportação com o formato CSV (%{link_export_csv})
Faça as alterações localmente. Apenas poderá alterar as seguintes colunas do CSV:
categoria/id: ID para a Categoria
âmbito/id: ID para o Âmbito
principal/id: ID do principal (para os Resultados relacionados). Opcional
título/I18N: Título no idioma X
descrição/I18N: Descrição no idioma X
data_início: data na qual o resultado inicia a execução (formato AAAA-MM-DD)
data_fim: data na qual o resultado termina a execução (formato AAAA-MM-DD)
estado/id: ID do Estado para este resultado
progresso: Percentagem (de 0 a 100) da execução
ids_propostas: ID interna das propostas relacionadas (separado por vírgula). Automaticamente convertido para url_proposta
Creați statutele pentru rezultatele pe care doriți să le adăugați (link)
Creați manual cel puțin un rezultat prin acest panou de administrare (link) înainte de a folosi funcția Importare, pentru a înțelege mai bine formatul și ceea ce trebuie completat.
Descărcați exportul cu format CVS (%{link_export_csv})
Efectuați modificările local. Puteți modifica numai următoarele coloane din CSV:
Skapa statusar för de resultat som du vill lägga till (länk)
Skapa minst ett resultat manuellt genom denna Admin panel (länk) innan du använder Importera, för att ha en bättre förståelse för formatet och vad du behöver för att fylla i.
Ladda ner exporten med CSV-format (%{link_export_csv})
Gör ändringarna lokalt. Du kan bara ändra följande kolumner i CSV:
kategori/id: ID för kategorin
omfattning/id: ID för omfattningen
förälder/id: ID för föräldern (för relaterade resultat). Valfri
title/I18N: Titel på X språk
beskrivning/I18N: Beskrivning på X språk
start_date: datum när resultatet startar exekvering (format YYYY-MM-DD)
end_date: datum när resultatet slutar exekvering (format YYYY-MM-DD)
status/id: ID för status för detta resultat
fortskrider: Procent (från 0 till 100) av exekveringen
förslag_ids: internt ID för de relaterade förslagen (separerade med komma). Det konverteras automatiskt till proposal_url
Eklemek istediğiniz Sonuçlar için Statüleri oluşturun (bağlantı)
Biçimi ve neleri doldurmanız gerektiğini daha iyi anlamak için İçe Aktar'ı kullanmadan önce bu Yönetici paneli (bağlantı) aracılığıyla yeniden en az bir Sonuç oluşturun.
diff --git a/decidim-admin/config/locales/ar.yml b/decidim-admin/config/locales/ar.yml
index b0576d7ec8dd8..20007e1e69fee 100644
--- a/decidim-admin/config/locales/ar.yml
+++ b/decidim-admin/config/locales/ar.yml
@@ -159,7 +159,6 @@ ar:
accept:
success: رائع! لقد قمت بالموافقة على شروط الإستخدام للمدير.
actions:
- accept: أوافق على شروط الإستخدام التالية
refuse: ارفض شروط المدير
title: وافق على شروط وأحكام الإستخدام
required_review:
@@ -742,7 +741,7 @@ ar:
title: مشارك جديد الفضاء الخاص المشارك.
participatory_space_private_users_csv_imports:
create:
- invalid: حدثت مشكلة أثناء قراءة ملف CSV.
+ invalid: حدثت مشكلة في قراءة ملف CSV.
new:
title: حمّل ملف CSV الخاص بك
upload: حمّل
diff --git a/decidim-admin/config/locales/ca.yml b/decidim-admin/config/locales/ca.yml
index c28a8fb58d1d9..1808f2e23cfec 100644
--- a/decidim-admin/config/locales/ca.yml
+++ b/decidim-admin/config/locales/ca.yml
@@ -77,7 +77,7 @@ ca:
organization_admin_name: Nom de l'administradora de l'organització
organization_locales: Idiomes de l'organització
primary_color: Primària
- reference_prefix: prefix de referència
+ reference_prefix: Prefix de referència
rich_text_editor_in_public_views: Habilitar l'editor de text enriquit
secondary_color: Secundari
secondary_hosts: Hosts secundaris
@@ -184,7 +184,7 @@ ca:
error: S'ha produït un error en acceptar els Termes i Condicions dell panell d'administració.
success: Genial! Has acceptat els Termes i Condicions del panell d'administració.
actions:
- accept: Estic d'acord amb els termes següents
+ accept: Estic d'acord amb els termes
are_you_sure: Segur que vols rebutjar els termes i condicions del panell d'administració?
refuse: Rebutjar els termes
title: Accepto els Termes i Condicions d'Administració
@@ -1039,6 +1039,7 @@ ca:
moderation:
fields:
created_at: Data de creació
+ deleted_resource: Elimina el recurs
hidden_at: Data d'ocultació
participatory_space: Espai de participació
report_count: Recompte
diff --git a/decidim-admin/config/locales/cs.yml b/decidim-admin/config/locales/cs.yml
index d28a4952c0445..525065ab8dc90 100644
--- a/decidim-admin/config/locales/cs.yml
+++ b/decidim-admin/config/locales/cs.yml
@@ -184,8 +184,7 @@ cs:
error: Při přijímání správcovských podmínek použití došlo k chybě.
success: Skvělé! Přijali jste administrátorské podmínky použití.
actions:
- accept: Souhlasím s následujícími podmínkami
- are_you_sure: Oravdu chcete odmítnout podmínky používání správce?
+ are_you_sure: Opravdu chcete odmítnout Podmínky použití pro správce?
refuse: Odmítnout administrátorské podmínky
title: Souhlasit s podmínkami používání
required_review:
@@ -213,7 +212,7 @@ cs:
error: Při vytváření nové oblasti došlo k chybě.
success: Oblast byla úspěšně vytvořena.
destroy:
- has_spaces: Tato oblast má závislé prostory. Před smazáním se prosím ujistěte, že žádný účatnický prostor neodkazuje na tuto oblast.
+ has_spaces: Tato oblast má závislé prostory. Před smazáním se prosím ujistěte, že žádný účastnický prostor neodkazuje na tuto oblast.
success: Oblast úspěšně zničena
edit:
title: Upravit oblast
@@ -504,9 +503,9 @@ cs:
example_error: Nelze vytvořit příklad pro daný typ
new:
accepted_mime_types:
- csv: csv
- json: json
- xlsx: xlsx
+ csv: CSV
+ json: JSON
+ xlsx: Excel (.xlsx)
actions:
back: Zpět
download_example: Stáhnout příklad
@@ -591,11 +590,11 @@ cs:
name: Participační prostor soukromého účastníka
scope:
fields:
- name: název
+ name: Název
scope_type: Typ oblasti působnosti
scope_type:
fields:
- name: název
+ name: Název
plural: Množné číslo
share_token:
fields:
@@ -614,7 +613,7 @@ cs:
created_at: Datum vzniku
email: E-mail
last_sign_in_at: Datum posledního přihlášení
- name: název
+ name: Název
role: Role
roles:
admin: Správce
@@ -625,7 +624,7 @@ cs:
actions: Akce
created_at: Vytvořeno v
document_number: Číslo dokumentu
- name: název
+ name: Název
phone: Telefon
state: Stav
users_count: Počet účastníků
@@ -741,15 +740,15 @@ cs:
error: Při blokování uživatele došlo k chybě
success: Uživatel byl úspěšně zablokován
create:
- success: Uživatel úspěšně oficializován
+ success: Účastník úspěšně oficiálně zaregistrován
destroy:
- success: Uživatel úspěšně zbaven oficializace
+ success: Uživatel úspěšně zbaven oficiální registrace
index:
actions: Akce
badge: Odznak
block: Zablokovat uživatele
created_at: Vytvořeno na
- name: název
+ name: Název
nickname: Přezdívka
not_officialized: Neověřeno
officialize: Ověřit
@@ -783,7 +782,7 @@ cs:
facebook: Facebook
github: GitHub
instagram: Instagram
- rich_text_editor_in_public_views_help: V některých textových oblastech budou účastníci moci vložit některé HTML tagy pomocí textového editoru.
+ rich_text_editor_in_public_views_help: V některých textových polích budou účastníci moci vložit některé HTML tagy pomocí textového editoru.
social_handlers: Sociální
twitter: Twitter
url: URL
@@ -977,7 +976,7 @@ cs:
user_groups:
index:
state:
- pending: čekající
+ pending: Čekající
rejected: Odmítnuto
verified: Ověřeno
verify_via_csv: Ověřit pomocí CSV
@@ -1047,6 +1046,7 @@ cs:
moderation:
fields:
created_at: Datum vytvoření
+ deleted_resource: Smazaný dokument
hidden_at: Skryté u
participatory_space: Participativní prostor
report_count: Spočítat
diff --git a/decidim-admin/config/locales/de.yml b/decidim-admin/config/locales/de.yml
index 9995b53c696b1..84f2292310b20 100644
--- a/decidim-admin/config/locales/de.yml
+++ b/decidim-admin/config/locales/de.yml
@@ -184,7 +184,6 @@ de:
error: Beim Akzeptieren der Nutzungsbedingungen ist ein Fehler aufgetreten.
success: Super! Sie haben die Admin-Nutzungsbedingungen akzeptiert.
actions:
- accept: Ich stimme den folgenden Bedingungen zu
are_you_sure: Sind Sie sicher, dass Sie die Admin-Nutzungsbedingungen ablehnen möchten?
refuse: Die Admin-Nutzungsbedingungen ablehnen
title: Den Admin-Nutzungsbedingungen zustimmen
diff --git a/decidim-admin/config/locales/el.yml b/decidim-admin/config/locales/el.yml
index 697d49cee6ab6..bde77ee9ad119 100644
--- a/decidim-admin/config/locales/el.yml
+++ b/decidim-admin/config/locales/el.yml
@@ -179,7 +179,6 @@ el:
error: Υπήρξε ένα σφάλμα κατά την αποδοχή των όρων χρήσης διαχειριστή.
success: Εξαιρετικά! Αποδεχτήκατε τους όρους χρήσης διαχειριστή.
actions:
- accept: Συμφωνώ με τους ακόλουθους όρους
are_you_sure: Είστε σίγουρος ότι θέλετε να αρνηθείτε τους όρους χρήσης του διαχειριστή;
refuse: Απόρριψη των όρων διαχειριστή
title: Αποδοχή των όρων και των προϋποθέσεων χρήσης
diff --git a/decidim-admin/config/locales/en.yml b/decidim-admin/config/locales/en.yml
index b5bc998f36025..13273e64c03b0 100644
--- a/decidim-admin/config/locales/en.yml
+++ b/decidim-admin/config/locales/en.yml
@@ -185,7 +185,7 @@ en:
error: There's been an error while accepting the admin terms of use.
success: Great! You've accepted the admin terms of use.
actions:
- accept: I agree with the following terms
+ accept: I agree with the terms
are_you_sure: Are you sure you want to refuse the admin terms of use?
refuse: Refuse the admin terms
title: Agree to the terms and conditions of use
@@ -1040,6 +1040,7 @@ en:
moderation:
fields:
created_at: Creation date
+ deleted_resource: Deleted resource
hidden_at: Hidden at
participatory_space: Participatory space
report_count: Count
diff --git a/decidim-admin/config/locales/es-MX.yml b/decidim-admin/config/locales/es-MX.yml
index e62422b3192a7..da6aa3f2bcaac 100644
--- a/decidim-admin/config/locales/es-MX.yml
+++ b/decidim-admin/config/locales/es-MX.yml
@@ -184,7 +184,7 @@ es-MX:
error: Ha habido un error al aceptar los Términos y Condiciones de Administración.
success: '¡Genial! Has aceptado los Términos y Condiciones de Administración.'
actions:
- accept: Estoy de acuerdo con los siguientes términos
+ accept: Estoy de acuerdo con los términos
are_you_sure: '¿Seguro que deseas rechazar los términos de uso para administradoras?'
refuse: Rechazar los Términos y Condiciones de Administración
title: Acepto los Términos y Condiciones de Administración
@@ -832,7 +832,7 @@ es-MX:
title: Nuevo usuario privado en el espacio participativo.
participatory_space_private_users_csv_imports:
create:
- invalid: Se ha producido un error al leer el archivo CSV.
+ invalid: Se produjo un error al leer el archivo CSV.
success: Archivo CSV subido correctamente, estamos enviando un correo electrónico de invitación a las participantes. Esto puede tardar un tiempo.
new:
explanation: 'Sube tu archivo CSV. Debe tener dos columnas con correo electrónico en la primera columna del archivo y el nombre en la última columna del archivo (correo electrónico, nombre) de los usuarios que deseas añadir al espacio participativo, sin encabezados. Evitar usar caracteres no válidos como `<>?%&^*#@()[]=+:;"{}\|` en el nombre de usuario.'
@@ -1039,6 +1039,7 @@ es-MX:
moderation:
fields:
created_at: Fecha de creación
+ deleted_resource: Eliminar recurso
hidden_at: Fecha de ocultación
participatory_space: Espacio participativo
report_count: Recuento
diff --git a/decidim-admin/config/locales/es-PY.yml b/decidim-admin/config/locales/es-PY.yml
index 74923461493b1..83f1c8f6fd3c1 100644
--- a/decidim-admin/config/locales/es-PY.yml
+++ b/decidim-admin/config/locales/es-PY.yml
@@ -184,7 +184,7 @@ es-PY:
error: Ha habido un error al aceptar los Términos y Condiciones de Administración.
success: '¡Genial! Has aceptado los Términos y Condiciones de Administración.'
actions:
- accept: Estoy de acuerdo con los siguientes términos
+ accept: Estoy de acuerdo con los términos
are_you_sure: '¿Seguro que deseas rechazar los términos de uso para administradoras?'
refuse: Rechazar los Términos y Condiciones de Administración
title: Acepto los Términos y Condiciones de Administración
@@ -832,7 +832,7 @@ es-PY:
title: Nuevo usuario privado en el espacio participativo.
participatory_space_private_users_csv_imports:
create:
- invalid: Se ha producido un error al leer el archivo CSV.
+ invalid: Se produjo un error al leer el archivo CSV.
success: Archivo CSV subido correctamente, estamos enviando un correo electrónico de invitación a las participantes. Esto puede tardar un tiempo.
new:
explanation: 'Sube tu archivo CSV. Debe tener dos columnas con correo electrónico en la primera columna del archivo y el nombre en la última columna del archivo (correo electrónico, nombre) de los usuarios que deseas añadir al espacio participativo, sin encabezados. Evitar usar caracteres no válidos como `<>?%&^*#@()[]=+:;"{}\|` en el nombre de usuario.'
@@ -1039,6 +1039,7 @@ es-PY:
moderation:
fields:
created_at: Fecha de creación
+ deleted_resource: Eliminar recurso
hidden_at: Fecha de ocultación
participatory_space: Espacio participativo
report_count: Recuento
diff --git a/decidim-admin/config/locales/es.yml b/decidim-admin/config/locales/es.yml
index a6a274f4fbb8d..3e67d46362234 100644
--- a/decidim-admin/config/locales/es.yml
+++ b/decidim-admin/config/locales/es.yml
@@ -184,7 +184,7 @@ es:
error: Ha habido un error al aceptar los Términos y Condiciones de Administración.
success: '¡Genial! Has aceptado los Términos y Condiciones de Administración.'
actions:
- accept: Estoy de acuerdo con los siguientes términos
+ accept: Estoy de acuerdo con los términos
are_you_sure: '¿Seguro que deseas rechazar los términos de uso para administradoras?'
refuse: Rechazar los Términos y Condiciones de Administración
title: Acepto los Términos y Condiciones de Administración
@@ -832,7 +832,7 @@ es:
title: Nueva participante de espacio de participación privado.
participatory_space_private_users_csv_imports:
create:
- invalid: Se ha producido un error al leer el archivo CSV.
+ invalid: Se produjo un error al leer el archivo CSV.
success: Archivo CSV subido correctamente, estamos enviando un correo electrónico de invitación a las participantes. Esto puede tardar un tiempo.
new:
explanation: 'Sube tu archivo CSV. Debe tener dos columnas con correo electrónico en la primera columna del archivo y el nombre en la última columna del archivo (correo electrónico, nombre) de los usuarios que deseas añadir al espacio participativo, sin encabezados. Evitar usar caracteres no válidos como `<>?%&^*#@()[]=+:;"{}\|` en el nombre de usuario.'
@@ -1039,6 +1039,7 @@ es:
moderation:
fields:
created_at: Fecha de creación
+ deleted_resource: Eliminar recurso
hidden_at: Fecha de ocultación
participatory_space: Espacio participativo
report_count: Recuento
diff --git a/decidim-admin/config/locales/eu.yml b/decidim-admin/config/locales/eu.yml
index 93d4e1e6fee93..0425ecd5e81d7 100644
--- a/decidim-admin/config/locales/eu.yml
+++ b/decidim-admin/config/locales/eu.yml
@@ -180,7 +180,7 @@ eu:
error: Errorea gertatu da Administrazioaren Gaiak eta Baldintzak onartzean.
success: Ederto! Onartu dituzu Administrazioaren Gaiak eta Baldintzak.
actions:
- accept: Ados nago ondoko gai hauekin
+ accept: Ados nago
are_you_sure: Ziur zaude ez dituzula onartu nahi administratzaileentzako erabilera-irizpideak?
refuse: Ez onartu Administrazio-irizpideak eta baldintzak
title: Onartzen ditut Administrazio-irizpideak eta baldintzak
@@ -810,7 +810,7 @@ eu:
title: Erabiltzaile pribatuaren parte hartzailea.
participatory_space_private_users_csv_imports:
create:
- invalid: Errorea gertatu da CSV artxiboa irakurtzean.
+ invalid: Errore bat gertatu da CSV fitxategia irakurtzean.
success: CSV fitxategia zuzen igo da, eta parte-hartzaileei gonbidapen-mezu elektroniko bat bidaltzen ari gara. Horrek denbora behar du.
new:
explanation: 'Igo zure CSV fitxategia. Bi zutabe izan behar ditu, artxiboaren lehen zutabean eremu parte-hartzailera gehitu nahi dituzun erabiltzaileen posta elektronikoa, eta izena azken zutabean (posta elektronikoa, izena), goibururik gabe. Ez erabili balio ez duten karaktererik erabiltzaile-izenean, hala nola: `<>?%&^*#@()[]=+:;"{}\|`.'
diff --git a/decidim-admin/config/locales/fi-plain.yml b/decidim-admin/config/locales/fi-plain.yml
index e601478deb1a2..689a379b4fba0 100644
--- a/decidim-admin/config/locales/fi-plain.yml
+++ b/decidim-admin/config/locales/fi-plain.yml
@@ -184,7 +184,7 @@ fi-pl:
error: Hallintakäyttäjän ehtojen hyväksymisessä tapahtui virhe.
success: Hienoa! Olet hyväksynyt hallintakäyttäjän ehdot.
actions:
- accept: Hyväksyn seuraavat ehdot
+ accept: Hyväksyn ehdot
are_you_sure: Oletko varma, että haluat kieltäytyä hyväksymästä hallintakäyttäjien käyttöehtoja?
refuse: Kieltäydy hyväksymästä hallintakäyttäjän ehtoja
title: Hyväksy käyttöehdot
@@ -832,7 +832,7 @@ fi-pl:
title: Uusi osallisuustilan yksityinen käyttäjä.
participatory_space_private_users_csv_imports:
create:
- invalid: CSV-tiedostossa on ongelma.
+ invalid: CSV-tiedoston käsittelyssä tapahtui virhe.
success: CSV-tiedosto ladattu onnistuneesti. Lähetämme kutsusähköpostin osallistujille. Tämä voi kestää hetken.
new:
explanation: 'Lataa CSV-tiedosto osallistumistilan käyttäjistä. Tiedostossa on oltava kaksi saraketta tuotaville käyttäjille ilman sarakeotsikoita: sähköpostiosoitteet ensimmäisessä ja nimi toisessa sarakkeessa (sähköposti, nimi). Vältä erikoismerkkejä nimessä, kuten `<>?%&^*#@()[]=+:;"{}\|`.'
@@ -1039,6 +1039,7 @@ fi-pl:
moderation:
fields:
created_at: Luonnin ajankohta
+ deleted_resource: Poistettu tietue
hidden_at: Piilotuksen ajankohta
participatory_space: Osallistumistila
report_count: Määrä
diff --git a/decidim-admin/config/locales/fi.yml b/decidim-admin/config/locales/fi.yml
index 66b9424133414..1ce09f917594d 100644
--- a/decidim-admin/config/locales/fi.yml
+++ b/decidim-admin/config/locales/fi.yml
@@ -184,7 +184,7 @@ fi:
error: Hallintakäyttäjän ehtojen hyväksyminen epäonnistui.
success: Hienoa! Olet hyväksynyt hallintakäyttäjän ehdot.
actions:
- accept: Hyväksyn seuraavat ehdot
+ accept: Hyväksyn ehdot
are_you_sure: Oletko varma, että haluat kieltäytyä hyväksymästä hallintakäyttäjien käyttöehtoja?
refuse: Kieltäydy hyväksymästä hallintakäyttäjän ehtoja
title: Hyväksy käyttöehdot
@@ -832,7 +832,7 @@ fi:
title: Uusi osallistumistilan yksityinen käyttäjä.
participatory_space_private_users_csv_imports:
create:
- invalid: CSV-tiedostossa on ongelma.
+ invalid: CSV-tiedoston käsittely epäonnistui.
success: CSV-tiedosto ladattu onnistuneesti. Lähetämme kutsusähköpostin osallistujille. Tämä voi kestää hetken.
new:
explanation: 'Lataa CSV-tiedosto osallistumistilan käyttäjistä. Tiedostossa on oltava kaksi saraketta tuotaville käyttäjille ilman sarakeotsikoita: sähköpostiosoitteet ensimmäisessä ja nimi toisessa sarakkeessa (sähköposti, nimi). Vältä erikoismerkkejä nimessä, kuten `<>?%&^*#@()[]=+:;"{}\|`.'
@@ -1039,6 +1039,7 @@ fi:
moderation:
fields:
created_at: Luonnin ajankohta
+ deleted_resource: Poistettu tietue
hidden_at: Piilotuksen ajankohta
participatory_space: Osallistumistila
report_count: Määrä
diff --git a/decidim-admin/config/locales/fr-CA.yml b/decidim-admin/config/locales/fr-CA.yml
index ff1061803a4a0..a8a2180f142bb 100644
--- a/decidim-admin/config/locales/fr-CA.yml
+++ b/decidim-admin/config/locales/fr-CA.yml
@@ -184,7 +184,7 @@ fr-CA:
error: Une erreur s'est produite lorsque vous avez accepté les conditions d'utilisation administrateur.
success: Super! Vous avez accepté les conditions d'utilisation administrateur.
actions:
- accept: J'accepte les conditions d'utilisation suivantes
+ accept: J'accepte les conditions d'utilisation
are_you_sure: Êtes-vous sûr de vouloir refuser les conditions d'utilisation de l'administrateur?
refuse: Refuser les conditions d'utilisation administrateur
title: Accepter les conditions d'utilisation
@@ -832,7 +832,7 @@ fr-CA:
title: Nouvel utilisateur privé de l'espace participatif.
participatory_space_private_users_csv_imports:
create:
- invalid: Il y a eu un problème de lecture du fichier CSV.
+ invalid: Une erreur s'est produite lors de la lecture du fichier CSV.
success: Fichier CSV a été transféré avec succès, nous envoyons un courriel d'invitation aux participants. Cela peut prendre un certain temps.
new:
explanation: 'Téléchargez votre fichier CSV. Il doit avoir deux colonnes avec dans la première colonne les emails, et dans la deuxième colonne les noms (email, nom) des utilisateurs que vous souhaitez ajouter à l''espace participatif, sans en-tête. Évitez les caractères spéciaux comme `<>?%&^*#@()[]=+:;"{}\|` dans les noms des utilisateurs.'
@@ -1039,6 +1039,7 @@ fr-CA:
moderation:
fields:
created_at: Date de création
+ deleted_resource: Ressource supprimée
hidden_at: Masqué le
participatory_space: Espace participatif
report_count: Compteur
diff --git a/decidim-admin/config/locales/fr.yml b/decidim-admin/config/locales/fr.yml
index 24fb80aed9b21..75e8c0dbffba0 100644
--- a/decidim-admin/config/locales/fr.yml
+++ b/decidim-admin/config/locales/fr.yml
@@ -184,7 +184,7 @@ fr:
error: Une erreur s'est produite lorsque vous avez accepté les conditions d'utilisation administrateur.
success: Super! Vous avez accepté les conditions d'utilisation administrateur.
actions:
- accept: J'accepte les conditions d'utilisation suivantes
+ accept: J'accepte les conditions d'utilisation
are_you_sure: Êtes-vous sûr de vouloir refuser les conditions d'utilisation de l'administrateur ?
refuse: Refuser les conditions d'utilisation administrateur
title: Accepter les conditions d'utilisation
@@ -210,21 +210,21 @@ fr:
success: Le type de périmètre d'assemblée a été mis à jour avec succès
areas:
create:
- error: Une erreur s'est produite lors de la création d'une nouvelle zone d'application.
- success: Zone d'application créée avec succès.
+ error: Une erreur s'est produite lors de la création d'un nouveau périmètre d'assemblée.
+ success: Périmètre d'assemblée créé avec succès.
destroy:
- has_spaces: Des espaces dépendent de cette zone d'application. Veuillez vous assurer qu'aucun espace participatif n'est lié à cette zone avant de la supprimer.
- success: La zone d'application a bien été supprimée
+ has_spaces: Des espaces dépendent de ce périmètre d'assemblée. Veuillez vous assurer qu'aucun espace participatif n'est lié à périmètre avant de la supprimer.
+ success: Le périmètre d'assemblée a bien été supprimé
edit:
- title: Modifier la zone d'application
+ title: Modifier le périmètre d'assemblée
update: Mettre à jour
new:
- create: Créer une zone d'application
- title: Nouvelle zone d'application
- no_areas: Aucune zone d'application
+ create: Créer un périmètre d'assemblée
+ title: Nouveau périmètre d'assemblée
+ no_areas: Aucun périmètre d'assemblée
update:
- error: Une erreur s'est produite lors de la mise à jour de cette zone d'application.
- success: Zone d'application mise à jour avec succès
+ error: Une erreur s'est produite lors de la mise à jour de ce périmètre d'assemblée.
+ success: Périmètre d'assemblée mise à jour avec succès
attachment_collections:
create:
error: Une erreur s'est produite lors de la création d'un nouveau dossier.
@@ -523,7 +523,7 @@ fr:
admins: Administrateurs
appearance: Apparence
area_types: Types de périmètre d'assemblée
- areas: Zones d'application
+ areas: Périmètres d'assemblée
configuration: Configuration
dashboard: Tableau de bord
external_domain_whitelist: Domaines externes autorisés
@@ -535,7 +535,7 @@ fr:
participants: Participants
reported_users: Utilisateurs signalés
scope_types: Types de secteur
- scopes: Périmètres d’application
+ scopes: Secteurs
settings: Paramètres
static_pages: Pages
user_groups: Groupes d'utilisateurs
@@ -832,7 +832,7 @@ fr:
title: Nouvel utilisateur privé de l'espace participatif.
participatory_space_private_users_csv_imports:
create:
- invalid: Il y a eu un problème de lecture du fichier CSV.
+ invalid: Une erreur s'est produite lors de la lecture du fichier CSV.
success: Fichier CSV a été transféré avec succès, nous envoyons un courriel d'invitation aux participants. Cela peut prendre un certain temps.
new:
explanation: 'Téléchargez votre fichier CSV. Il doit avoir deux colonnes avec dans la première colonne les emails, et dans la deuxième colonne les noms (email, nom) des utilisateurs que vous souhaitez ajouter à l''espace participatif, sans en-tête. Évitez les caractères spéciaux comme `<>?%&^*#@()[]=+:;"{}\|` dans les noms des utilisateurs.'
@@ -942,7 +942,7 @@ fr:
titles:
admin_log: Journal d'administration
area_types: Types de périmètre d'assemblée
- areas: Zones d'application
+ areas: Périmètres d'assemblée
authorization_workflows: Méthodes de vérification
dashboard: Tableau de bord
impersonatable_users: Utilisateurs pouvant être représentés
@@ -951,7 +951,7 @@ fr:
panel: Administrateur
participants: Utilisateurs
scope_types: Types de secteur
- scopes: Périmètres d'application
+ scopes: Secteurs
static_pages: Pages
statistics: Activité
user_groups: Groupes d'utilisateurs
@@ -1039,6 +1039,7 @@ fr:
moderation:
fields:
created_at: Date de création
+ deleted_resource: Ressource supprimée
hidden_at: Masqué le
participatory_space: Espace participatif
report_count: Compteur
diff --git a/decidim-admin/config/locales/gl.yml b/decidim-admin/config/locales/gl.yml
index e94881c8fdb1b..d69bb61d9dc1f 100644
--- a/decidim-admin/config/locales/gl.yml
+++ b/decidim-admin/config/locales/gl.yml
@@ -179,7 +179,6 @@ gl:
error: Produciuse un erro ao aceptar os termos de uso do panel de administración.
success: Xenial! Aceptaches os termos de uso do panel de administración.
actions:
- accept: Concordo con seguintes termos
refuse: Rexeitar os termos de uso
title: Concordo cos termos e condicións de uso
required_review:
diff --git a/decidim-admin/config/locales/gn-PY.yml b/decidim-admin/config/locales/gn-PY.yml
new file mode 100644
index 0000000000000..bd442b0ad85de
--- /dev/null
+++ b/decidim-admin/config/locales/gn-PY.yml
@@ -0,0 +1 @@
+gn:
diff --git a/decidim-admin/config/locales/hu.yml b/decidim-admin/config/locales/hu.yml
index e2f3d0b26bfb2..051a6815c1e84 100644
--- a/decidim-admin/config/locales/hu.yml
+++ b/decidim-admin/config/locales/hu.yml
@@ -24,13 +24,17 @@ hu:
component:
name: Név
published_at: Publikálva
- weight: Rendelési pozíció
+ weight: Pozíció sorrend
id: ID
+ import:
+ user_group_id: Az importáltak létrehozása mint
newsletter:
body: Szöveg
subject: Tárgy
organization:
+ admin_terms_of_use_body: A szövegtörzse az admin felhasználási feltételeinek
alert_color: Figyelmeztetés
+ available_authorizations: Elérhető authorizációk
badges_enabled: Jelvények engedélyezése
comments_max_length: Kommentek maximális hossza (Hagyjon 0 -t az alapértékhez)
cta_button_path: Felhívás gomb elérési útvonala
@@ -39,8 +43,12 @@ hu:
default_locale: Alapértelmezett hely
description: Leírás
enable_omnipresent_banner: Mindenhol megjelenő banner mutatása
+ enable_participatory_space_filters: A részvételi terek szűrőjének engedélyezése
facebook_handler: Facebook handler
favicon: Ikon
+ force_authentication: Kényszerített authentikáció
+ force_users_to_authenticate_before_access_organization: A felhasználók authentikációjának kényszerítése mielőtt a szervezethez csatlakoznak
+ from: A küldő emailcíme
github_handler: GitHub handler
header_snippets: Fejléc részletek
highlight_alternative_color: Kiemelés, alternatíva
@@ -65,6 +73,9 @@ hu:
omnipresent_banner_short_description: Rövid leírás
omnipresent_banner_title: Cím
omnipresent_banner_url: URL
+ organization_admin_email: A szervezet admin emailje
+ organization_admin_name: A szervezet admin neve
+ organization_locales: A szervezet helyi sajátossága
primary_color: Elsődleges
reference_prefix: Hivatkozási előtag
rich_text_editor_in_public_views: A résztvevők számára a szövegszerkesztő felület engedélyezése
@@ -76,6 +87,7 @@ hu:
tos_version: Használati feltételek
twitter_handler: Twitter handler
user_groups_enabled: Csoportok engedélyezése
+ users_registration_mode: Felhasználói regisztrációs mód
warning_color: Figyelmeztetés
welcome_notification_body: Üdvözlő értesítés szövegtörzse
welcome_notification_subject: Üdvözlő üzenet tárgya
@@ -92,28 +104,40 @@ hu:
organization: Szervezet
plural: Plurális
settings:
- scope_id: Hatáskör
+ scope_id: Hatókör
static_page:
+ allow_public_access: Hozzáférés engedélyezése authentikáció nélkül
changed_notably: Észrevehető változások történtek.
content: Tartalom
organization: Szervezet
show_in_footer: Mutassa a láblécben
slug: URL slug
title: Cím
+ weight: Pozíció sorrend
static_page_topic:
description: Leírás
show_in_footer: Mutassa a láblécben
title: Cím
+ weight: Pozíció sorrend
user_group_csv_verification:
file: Fájl
errors:
models:
+ newsletter:
+ attributes:
+ base:
+ at_least_one_space: Válasszon legalább egy részvételi teret
organization:
attributes:
official_img_footer:
allowed_file_content_types: Érvénytelen képfájl
official_img_header:
allowed_file_content_types: Érvénytelen képfájl
+ new_import:
+ attributes:
+ file:
+ invalid_file: Nem érvényes fájl, ellenőrizze le, hogy helyesen van formázva a fájl
+ invalid_mime_type: Érvénytelen MIME típus
activerecord:
attributes:
decidim/static_page:
@@ -132,28 +156,40 @@ hu:
admin:
actions:
add: Hozzáad
+ attachment:
+ new: Új csatolmány
+ attachment_collection:
+ new: Új melléklet gyűjtemény
browse: Böngészés
category:
new: Új kategória
export: Összes exportálása
+ export-selection: Kiválasztottak exportálása
import: Import
manage: Kezelés
new: Új %{name}
newsletter:
new: Új hírlevél
+ participatory_space_private_user:
+ new: Új privát felhasználó a részvételi térben
per_page: Oldalanként
permissions: Engedélyek
reject: Elutasít
+ share: Megosztás
+ user:
+ new: Új felhasználó
verify: Ellenőrzés
admin_terms_of_use:
accept:
error: Hiba történt az adminra vonatkozó általános szerződési feltételek elfogadása során.
success: Nagyszerű! Elfogadtad az admin felhasználási feltételeket.
actions:
+ are_you_sure: Biztosan visszautasítod az adminokra vonatkozó feltételek elfogadását?
refuse: Admin feltételek elutasítása
title: Elfogadom a felhasználási feltételeket
required_review:
alert: 'Szükséges: az admin felhasználási feltételek áttekintése'
+ callout: Kérünk nézz rá az adminokra vonatkozó felhasználási feltételekre. Máskülönben nem fogod tudni adminisztrálni a platformot.
cta: Áttekintés most.
title: Admin felhasználási feltételek
area_types:
@@ -176,6 +212,7 @@ hu:
error: Hiba történt az új terület létrehozásakor.
success: Terület létrehozása sikeres.
destroy:
+ has_spaces: Ez a terület mással összefüggő terekkel rendelkezik. Kérjük, győződjön meg róla, hogy egyetlen részvételi tér sem hivatkozik erre a területre, mielőtt törölné.
success: Terület eltávolítása sikeres
edit:
title: Terület szerkesztése
@@ -225,6 +262,12 @@ hu:
autocomplete:
no_results: Nincs találat
search_prompt: Legalább három karakter szükséges a kereséshez
+ block_user:
+ new:
+ action: Fiók blokkolása és igazolás küldése
+ description: Egy felhasználó letiltása használhatatlanná teszi a fiókját. Az indoklásban megadhat bármilyen iránymutatást arra vonatkozóan, hogy miként lehetne feloldani a felhasználó blokkolását.
+ justification: Indoklás
+ title: '%{name} felhasználó blokkolása'
categories:
create:
error: Hiba történt a kategória létrehozása során.
@@ -267,6 +310,7 @@ hu:
headers:
actions: Műveletek
name: Elem neve
+ scope: Komponens hatóköre
type: Elem típusa
new:
add: Elem hozzáadása
@@ -284,11 +328,13 @@ hu:
'false': 'Nincs'
managed_user_name: Kezelt felhasználó
solved: Megoldva
+ title: Ellenőrzési konfliktusok
transfer:
email: Email
error: Hiba történt a jelenlegi résztvevő kezelt résztvevővé transzferálása során.
name: Név
reason: Ok
+ success: Az átvitel sikeresen befejezve.
title: Átvezetés
'true': 'Igen'
user_name: Felhasználó
@@ -296,6 +342,12 @@ hu:
show:
view_more_logs: További naplók megtekintése
welcome: Üdvözöljük a Decidim Admin Panelben.
+ domain_whitelist:
+ form:
+ domain_too_short: Túl rövid domain
+ update:
+ error: Nem lehetett frissíteni a domain whitelistet
+ success: A domain whiteliste sikeresen frissítésre került
exports:
export_as: "%{name} mint %{export_format}"
formats:
@@ -309,6 +361,7 @@ hu:
label: Kategória
filter_label: Szűrés
invitation_accepted_at_present:
+ label: Meghívás elfogadva
values:
'false': 'Nem'
'true': 'Igen'
@@ -317,6 +370,13 @@ hu:
values:
'false': 'Nincs'
'true': 'Igen'
+ moderated_users:
+ reports_reason_eq:
+ label: A jelentés oka
+ values:
+ does_not_belong: Nem tartozik hozzá
+ offensive: Offenzív
+ spam: Spam
moderations:
reportable_type_string_eq:
label: Típus
@@ -333,6 +393,9 @@ hu:
'true': Elfogadva
user_invitation_sent_at_not_null:
label: Meghívó kiküldve
+ values:
+ 'false': Nincs elküldve
+ 'true': Elküldve
private_space_eq:
label: Magán
values:
@@ -348,9 +411,24 @@ hu:
search_label: Keresés
search_placeholder:
name_or_nickname_or_email_cont: Keresés %{collection} email, név vagy becenév alapján.
+ report_count_eq: Jelentések száma
+ reported_id_string_or_reported_content_cont: Keresés %{gyűjtemény} a jelentendő azonosító vagy tartalom alapján.
title_cont: Keresés %{collection} cím alapján.
+ user_name_or_user_email_cont: Keresés itt %{collection} néva vagy emailcím alapján.
+ user_name_or_user_nickname_or_user_email_cont: Keresés %{collection} email, név vagy becenév alapján.
state_eq:
label: Állapot
+ values:
+ all: Összes
+ pending: Függőben levő
+ rejected: Elutasított
+ verified: Ellenőrizve
+ forms:
+ file_help:
+ import:
+ explanation: 'Útmutató a fájlhoz:'
+ message_1: A CSV, JSON és Excel (.xls) fájlok támogatottak
+ message_2: CSV fájlok esetén az oszlopok közötti elválasztójelnek pontosvesszőnek (";") kell lennie
help_sections:
error: Hiba történt a súgószakaszok frissítésekor
form:
@@ -390,6 +468,28 @@ hu:
impersonate_existing_user: '"%{name}" felhasználó kezelése'
impersonate_new_managed_user: Új résztvevő kezelése
imports:
+ and: és
+ data_errors:
+ duplicate_headers:
+ detail: Kérjük, csak egyszer ellenőrizze, hogy a fájl tartalmazza-e a szükséges oszlopokat vagy fejléceket.
+ message:
+ one: Oszlop megkettőzése %{columns}.
+ other: '%{columns} Oszlopok megkettőzése.'
+ invalid_indexes:
+ lines:
+ detail: Ellenőrizze a sorok helyes formázását, valamint hogy érvényes rekordokat tartalmaznak.
+ message:
+ one: Hibát találtam az import fájlban a következő sorban %{indexes}.
+ other: Hibát találtam az import fájlban a következő sorokban %{indexes}.
+ records:
+ detail: Ellenőrizze a sorok helyes formázását, valamint hogy érvényes rekordokat tartalmaznak.
+ message:
+ one: Hibát találtam az importfájlban a rendelésszámmal rendelkező rekordnál %{indexes}.
+ other: Hibát találtam az importfájlban a rendelésszámmal rendelkező rekordoknál %{indexes}.
+ missing_headers:
+ detail: Kérjük, ellenőrizze, hogy a fájl tartalmazza-e a szükséges oszlopokat.
+ error: Hiba történt az importálás során
+ example_error: Nem sikerült példát létrehozni a megadott típusra
new:
accepted_mime_types:
csv: csv
@@ -397,7 +497,11 @@ hu:
xlsx: xlsx
actions:
back: Vissza
+ download_example: Példa letöltése
+ download_example_format: Példa mint %{name}
+ file_legend: Adjon hozzá egy importált fájlt, amelyet elemezni fog.
import: Import
+ notice: "%{count} %{resource_name} sikeresen importálva"
logs:
logs_list:
no_logs_yet: Még nincsenek naplók
@@ -418,11 +522,14 @@ hu:
areas: Területek
configuration: Beállítások
dashboard: Vezérlőpult
+ external_domain_whitelist: Engedélyezett külső domainek
help_sections: Súgó szakaszok
homepage: Homepage
impersonations: Felhatalmazások
+ moderation: Globális moderációk
newsletters: Hírlevelek
participants: Résztvevők
+ reported_users: Jelentett felhasználók
scope_types: Hatáskör típusok
scopes: Hatáskörök
settings: Beállítások
@@ -478,6 +585,14 @@ hu:
fields:
name: Név
plural: Plurális
+ share_token:
+ fields:
+ created_at: Létrehozva
+ expires_at: Lejárat ekkor
+ last_used_at: Utoljára használva
+ times_used: Ennyiszer volt használva
+ token: Token
+ user: Létrehozta
static_page:
fields:
created_at: 'Létrehozva:'
@@ -502,6 +617,26 @@ hu:
phone: Telefon
state: Állapot
users_count: Résztvevők száma
+ moderated_users:
+ index:
+ actions:
+ block: Felhasználó tiltása
+ title: Műveletek
+ unblock: Felhasználó feloldása
+ unreport: Jelentés visszavonása
+ name: Név
+ nickname: Felhasználónév
+ reason: Indok
+ reports: Jelentések száma
+ title: Jelentett felhasználók listája
+ report:
+ reasons:
+ does_not_belong: Nem tartozik hozzá
+ offensive: Offenzív
+ spam: Spam
+ tabs:
+ blocked: Letiltva
+ unblocked: Nincs letiltva
moderations:
index:
title: Moderálás
@@ -536,6 +671,7 @@ hu:
newsletters:
create:
error: Hiba történt a hírlevél létrehozása során.
+ success: A hírlevél létrehozása sikeres. Kérjük, ellenőrizze a hírlevelet, mielőtt elküldené.
deliver:
error: Hiba történt a hírlevél kézbesítése során.
success: Hírlevél kézbesítése sikeres.
@@ -618,12 +754,15 @@ hu:
title: '"%{name}" hivatalossá tétele'
show_email_modal:
close_modal: Ablak bezárás
+ description: Ha közvetlenül kapcsolatba kell lépnie egy résztvevővel, akkor kattintson a Megjelenítés gombra az e-mail cím megtekintéséhez. Ez a művelet naplózásra kerül.
email_address: E-mail cím
full_name: Teljes név
hidden: rejtett
show: Megjelenítés
+ title: A résztvevő e-mail címének megjelenítése
unblock:
error: Hiba történt a résztvevő feloldásának feloldása során
+ success: Sikeresen feloldotta a résztvevő tiltását
organization:
edit:
title: Szervezet szerkesztése
@@ -635,6 +774,7 @@ hu:
rich_text_editor_in_public_views_help: Néhány szövegmezőbe, a résztvevők HTML tag-eket tudnak majd beilleszteni a szövegszerkesztő segítségével.
social_handlers: Social
twitter: Twitter
+ url: URL
youtube: Youtube
update:
error: Hiba történt a szervezet frissítése során.
@@ -645,6 +785,7 @@ hu:
form:
colors:
colors_title: Szervezet színei
+ colors_warning_html: Óvatosan! A színek megváltoztatása megtörik az akadálymentes kontrasztokat. Ellenőrizheti a kontrasztot a WebAIM Contrast Checker vagy más, hasonló eszköz segítségével.
header_snippets_help: Ebben a mezőben a HTML fejlécet szerkesztheted. Ennek akkor van jelentősége, ha olyan külső szolgáltatásokat szeretnél intergálni, amelyekhez JavaScript vagy CSS szükséges. Sőt, metacímkéket is hozzáadhatsz. Ez az adminban nem, csak a nyilvános oldalakon jelenik majd meg.
cta_button_path_help: 'Felülírhatod, hogy a kezdőlap felhívás gombja link hova mutasson. Részleges, ne pedig teljes URL címeket használj. A megengedett karakterek: betű, szám, kötőjel vagy perjel, de mindig betűvel kell kezdődnie. A felhívás gomb az üdvözlő szöveg és a leírás között jelenik meg a nyitólapon. Példa: %{url}'
cta_button_text_help: A felhívás gomb szövegét a szervezethez tartozó minden egyes nyelven megjelenítheted. Amennyiben nincs beállítva, akkor akkor az alapértelmezett értéket fogja használni. A felhívás gomb az üdvözlő szöveg és a leírás között jelenik meg a nyitólapon.
@@ -654,6 +795,17 @@ hu:
layout_appearance_title: Elrendezés szerkesztése
preview: Előnézet
omnipresent_banner_appearance_title: Mindenhol megjelenő banner szerkesztése
+ organization_external_domain_whitelist:
+ edit:
+ update: Frissítés
+ external_domain:
+ down: Le
+ external_domain: Külső domain
+ remove: Eltávolítás
+ up: Fel
+ form:
+ add: Hozzáadás a kivétellistához
+ title: Külső domain kivétellista
organization_homepage:
edit:
active_content_blocks: Aktív tartalomblokkok
@@ -669,15 +821,17 @@ hu:
error: Hiba történt egy privát felhasználó törlésével a részvételi helyen.
success: Privát felhasználó részvételi helyhez való hozzáférése törölve.
index:
+ import_via_csv: Importálás CSV -ből
title: Részvételi tér privát felhasználója
new:
create: Létrehozás
title: Új részvételi tér privát felhasználója.
participatory_space_private_users_csv_imports:
create:
- invalid: Hiba történt a CSV fájl olvasásakor.
+ invalid: Hiba történt a CSV fájl olvasásában.
success: A CSV-fájl sikeresen feltöltődött, meghívó e-mailt küldünk a résztvevőknek. Ez eltarthat egy ideig.
new:
+ explanation: 'Töltse fel a CSV-fájlt. Két oszlopnak kell lennie, e-mail címmel a fájl első oszlopában, és a fájl utolsó oszlopában (e-mail, név) azoknak a felhasználóknak az adataival, akiket fel akar venni a részvételi térbe, fejlécek nélkül. Kerülje az olyan érvénytelen karakterek használatát, mint a `<>?%&^*#@()[]=+:;"{}\|` a felhasználónévben.'
title: Töltse fel a CSV fájlod
upload: Feltölt
resource_permissions:
@@ -686,6 +840,10 @@ hu:
title: Engedélyek szerkesztése
update:
success: Engedélyek frissítése sikeres.
+ resources:
+ index:
+ headers:
+ scope: Hatókör
scope_types:
create:
error: Hiba történt az új hatáskör-típus létrehozásakor.
@@ -717,6 +875,18 @@ hu:
update:
error: Hiba történt a hatáskör frissítése során.
success: Hatáskör frissítése sikeres
+ share_tokens:
+ actions:
+ confirm_destroy: Biztosan törlöd ezt a tokent?
+ destroy: Törlés
+ share: Megosztás
+ destroy:
+ error: Hiba történt a token törlése során.
+ success: A token törlése sikeres.
+ share_tokens:
+ empty: Nincs aktív token
+ help: Ezeket a tokeneket arra használják, hogy ezt a nem közzétett erőforrást nyilvánosan megosszák valamely felhasználóval. Az erőforrás közzétételekor elrejtésre kerülnek. Kattintson a token megosztási ikonjára a megosztható URL-cím megtekintéséhez.
+ title: Tokenek megosztása
shared:
gallery:
add_images: Képek hozzáadása
@@ -774,6 +944,7 @@ hu:
impersonatable_users: Kezelhető résztvevők
impersonations: Résztvevők kezelése
metrics: Mérőszámok
+ panel: Admin
participants: Résztvevők
scope_types: Hatáskör típusok
scopes: Hatáskörök
@@ -826,7 +997,17 @@ hu:
no_users_count_statistics_yet: Nincsenek felhasználói statisztikák még
participants: Résztvevők
view_public_page: Nyilvános oldal megtekintése
+ forms:
+ errors:
+ impersonate_user:
+ reason: Indokolnod kell a nem menedzselt résztvevők kezelését
metrics:
+ blocked_users:
+ object: Letiltott felhasználók
+ title: Letiltott felhasználók
+ reported_users:
+ object: Jelentett felhasználók
+ title: Jelentett felhasználók
user_reports:
object: felhasználói jelentések
title: Felhasználói jelentések
@@ -854,9 +1035,11 @@ hu:
moderation:
fields:
created_at: Létrehozás dátuma
+ deleted_resource: Törölt erőforrás
hidden_at: 'Rejtett itt:'
participatory_space: Részvételi tér
report_count: Számol
+ reportable_id: ID
reportable_type: Típus
reported_content_url: Jelentett URL tartalom
reports: Jelentések
diff --git a/decidim-admin/config/locales/id-ID.yml b/decidim-admin/config/locales/id-ID.yml
index 34e5ffb471058..6e041418cc7cb 100644
--- a/decidim-admin/config/locales/id-ID.yml
+++ b/decidim-admin/config/locales/id-ID.yml
@@ -502,6 +502,9 @@ id:
new:
create: Membuat
title: Pengguna Pribadi Ruang Partisipatif Baru.
+ participatory_space_private_users_csv_imports:
+ create:
+ invalid: Ada kesalahan saat membaca file CSV.
resource_permissions:
edit:
submit: Menyerahkan
diff --git a/decidim-admin/config/locales/it.yml b/decidim-admin/config/locales/it.yml
index 7f78325c4c0ff..133f38d72fe7b 100644
--- a/decidim-admin/config/locales/it.yml
+++ b/decidim-admin/config/locales/it.yml
@@ -179,7 +179,6 @@ it:
error: Si è verificato un errore durante l'accettazione dei termini di utilizzo da parte dell'amministratore.
success: Ottimo! Hai accettato i termini d'uso dell'amministratrice/tore.
actions:
- accept: Sono d'accordo con i seguenti termini
are_you_sure: Sei sicuro di voler rifiutare i termini di utilizzo dell'amministratore?
refuse: Rifiuta i termini di amministrazione
title: Accetta i termini e le condizioni di utilizzo
diff --git a/decidim-admin/config/locales/ja.yml b/decidim-admin/config/locales/ja.yml
index a970a514535c3..78f1c2cfee2a8 100644
--- a/decidim-admin/config/locales/ja.yml
+++ b/decidim-admin/config/locales/ja.yml
@@ -184,7 +184,6 @@ ja:
error: 管理者向け利用規約に同意中にエラーが発生しました。
success: ありがとうございます、管理者向け利用規約に同意しました。
actions:
- accept: 次の規約に同意します
are_you_sure: 管理者向け利用規約を削除してもよろしいですか?
refuse: 同意しない
title: 利用規約に同意する
@@ -1035,6 +1034,7 @@ ja:
moderation:
fields:
created_at: 作成日
+ deleted_resource: 削除されたリソース
hidden_at: '非表示:'
participatory_space: 参加型スペース
report_count: カウント
diff --git a/decidim-admin/config/locales/lb.yml b/decidim-admin/config/locales/lb.yml
index 09ac561cb2b2b..eb59b47ebd642 100644
--- a/decidim-admin/config/locales/lb.yml
+++ b/decidim-admin/config/locales/lb.yml
@@ -179,7 +179,6 @@ lb:
error: Beim Akzeptieren der Nutzungsbedingungen ist ein Fehler aufgetreten.
success: Super! Sie haben die Admin-Nutzungsbedingungen akzeptiert.
actions:
- accept: Ich stimme den folgenden Bedingungen zu
are_you_sure: Sidd Dir sécher datt Dir d'Admin Benotzungsconditioune wëllt refuséieren? Sidd Dir sécher datt Dir d'Admin Notzungsbedéngunge refuséiere wëllt?
refuse: Die Admin-Nutzungsbedingungen ablehnen
title: Den Admin-Nutzungsbedingungen zustimmen
diff --git a/decidim-admin/config/locales/lo-LA.yml b/decidim-admin/config/locales/lo-LA.yml
new file mode 100644
index 0000000000000..27a02bfece429
--- /dev/null
+++ b/decidim-admin/config/locales/lo-LA.yml
@@ -0,0 +1 @@
+lo:
diff --git a/decidim-admin/config/locales/lt.yml b/decidim-admin/config/locales/lt.yml
index 03204d2c07ad9..1b21e90a07894 100644
--- a/decidim-admin/config/locales/lt.yml
+++ b/decidim-admin/config/locales/lt.yml
@@ -8,7 +8,56 @@ lt:
area_type:
name: Vardas
organization: Organizacija
+ plural: Pluralistinis
+ attachment:
+ attachment_collection_id: Aplankas
+ description: Aprašymas
+ file: Rinkmena
+ title: Priedo arba paveikslėlio pavadinimas
+ attachment_collection:
+ description: Aprašymas
+ name: Pavadinimas
+ category:
+ description: Aprašymas
+ name: Pavadinimas
+ parent_id: Motininis
+ component:
+ name: Pavadinimas
+ published_at: Paskelbta
+ weight: Vieta eilėje
+ id: ID
+ import:
+ user_group_id: Sukurti importus kaip
+ newsletter:
+ body: Pagrindinė dalis
+ subject: Tema
organization:
+ admin_terms_of_use_body: Vieta administratorių naudotojų sąlygoms
+ alert_color: Įspėjimas
+ available_authorizations: Leidžiamos autorizacijos
+ badges_enabled: Aktyvinti ženklelius
+ comments_max_length: Maksimalus komentarų ilgis (numatytoji vertė – 0)
+ cta_button_path: Mygtuko „Raginti imtis veiksmų“ kelias
+ cta_button_text: Mygtuko „Raginti imtis veiksmų“ tekstas
+ customize_welcome_notification: Individualizuoti pasisveikinimo pranešimą
+ default_locale: Numatytoji lokalė
+ description: Aprašymas
+ enable_omnipresent_banner: Rodyti visur naudojamą reklamjuostę
+ enable_participatory_space_filters: Leisti dalyvaujamosios erdvės filtrus
+ facebook_handler: '„Facebook“ tvarkyklė'
+ favicon: Piktograma
+ force_authentication: Priversti autentifikuotis
+ force_users_to_authenticate_before_access_organization: Priversti naudotojus autentifikuotis prieš gaunant prieigą prie organizacijos
+ from: Siuntėjo elektroninis paštas
+ github_handler: '„GitHub“ tvarkyklė'
+ header_snippets: Antraštės fragmentai
+ highlight_alternative_color: Paryškinti, alternatyva
+ highlight_color: Paryškinimai
+ highlighted_content_banner_action_subtitle: Veiksmo mygtuko paantraštė
+ highlighted_content_banner_action_title: Veiksmo mygtuko pavadinimas
+ highlighted_content_banner_action_url: Veiksmo mygtuko URL
+ highlighted_content_banner_enabled: Rodyti paryškintą turinio reklamjuostę
+ highlighted_content_banner_image: Paveikslėlis
highlighted_content_banner_short_description: Trumpas aprašymas
highlighted_content_banner_title: Pavadinimas
host: Šeimininkas
@@ -63,9 +112,127 @@ lt:
organization: Organizacija
show_in_footer: Rodyti poraštėje
slug: URL laukas
+ title: Pavadinimas
+ weight: Vieta eilėje
+ static_page_topic:
+ description: Aprašymas
+ show_in_footer: Rodyti poraštėje
+ title: Pavadinimas
+ weight: Vieta eilėje
+ user_group_csv_verification:
+ file: Rinkmena
+ errors:
+ models:
+ newsletter:
+ attributes:
+ base:
+ at_least_one_space: Pasirinkite bent vieną dalyvavujamąją erdvę
+ organization:
+ attributes:
+ official_img_footer:
+ allowed_file_content_types: Netinkama vaizdo rinkmena
+ official_img_header:
+ allowed_file_content_types: Netinkama vaizdo rinkmena
+ new_import:
+ attributes:
+ file:
+ invalid_file: Pateiktas nevalidus dokumentas, prašau patikrinkite ar dokumentas teisingai suformatuotas
+ invalid_mime_type: Nevalidus mimo tipas
+ activerecord:
+ attributes:
+ decidim/static_page:
+ content: Turinys
+ slug: URL laukas
+ title: Pavadinimas
+ doorkeeper/application:
+ authorize_url: Leisti URL
+ client_id: Kliento ID
+ client_secret: Kliento Raktas
+ organization_name: Organizacijos pavadinimas
+ organization_url: Organizacijos URL
+ redirect_uri: Peradresavimo URI
+ site: Tinklalapis
decidim:
admin:
+ actions:
+ add: Pridėti
+ attachment:
+ new: Naujas priedas
+ attachment_collection:
+ new: Nauja priedų kolekcija
+ browse: Naršyti
+ category:
+ new: Nauja kategorija
+ export: Eksportuoti viską
+ export-selection: Eksportuoti pasirinktą
+ import: Importuoti
+ manage: Valdyti
+ new: Naujas %{name}
+ newsletter:
+ new: Naujas naujienlaiškis
+ participatory_space_private_user:
+ new: Naujas dalyvaujamosios erdvės privatus naudotojas
+ per_page: Per puslapį
+ permissions: Leidimai
+ reject: Atmesti
+ share: Dalintis
+ user:
+ new: Naujas naudotojas
+ verify: Patikrinti
+ admin_terms_of_use:
+ accept:
+ error: Sutinkant su administratoriaus naudojimosi sąlygomis įvyko klaida.
+ success: Puiku! Jūs sutikote su administratoriaus naudojimosi sąlygomis.
+ actions:
+ are_you_sure: Ar tikrai norite nesutikti su administratoriaus naudojimosi sąlygomis?
+ refuse: Nesutikti su administratoriaus nustatytomis sąlygomis
+ title: Sutikti su naudojimosi sąlygomis
+ required_review:
+ alert: 'Reikalavimas: peržiūrėkite mūsų administratoriaus nustatytas naudojimosi sąlygas'
+ callout: Kviečiame peržiūrėti administratoriaus nustatytas naudojimosi sąlygas. Priešingu atveju šios platformos administruoti negalėsite.
+ cta: Peržiūrėkite jas dabar.
+ title: Administratoriaus nustatytos naudojimosi sąlygos
+ area_types:
+ create:
+ error: Kuriant naujos erdvės tipą iškilo problema.
+ success: Vietovės tipas sėkmingai sukurtas.
+ destroy:
+ success: Vietovės tipas sėkmingai panaikintas
+ edit:
+ title: Keisti erdvės tipą
+ update: Atnaujinti
+ new:
+ create: Sukurti erdvės tipą
+ title: Naujas erdvės tipas
+ update:
+ error: Iškilo problema atnaujinant šį erdvės tipą.
+ success: Erdvės tipas atnaujintas sėkmingai
+ areas:
+ create:
+ error: Iškilo problema kuriant naują erdvę.
+ success: Erdvė sukurta sėkmingai.
+ destroy:
+ has_spaces: Ši aplinka turi priklausomų erdvių. Prašau įsitikinkite, kad jokia Dalyvaujamoji Erdvė nesujungta su šia aplinka prieš ją ištrinant.
+ success: Aplinka sėkmingai panaikinta
+ edit:
+ title: Taisyti aplinką
+ update: Atnaujinti
+ new:
+ create: Sukurti aplinką
+ title: Nauja aplinka
+ no_areas: Nėra aplinkų
+ update:
+ error: Kilo problema atnaujinant šią aplinką.
+ success: Aplinka atnaujinta sėkmingai
attachment_collections:
+ create:
+ error: Kuriant naują aplanką iškilo problema.
+ success: Aplankas sėkmingai sukurtas.
+ destroy:
+ success: Aplankas sėkmingai panaikintas.
+ edit:
+ title: Redaguoti aplanką
+ update: Atnaujinti
index:
attachment_collection_used: Šio aplanko negalima pašalinti, nes jis naudojamas.
attachment_collections_title: Priedų aplankai
@@ -100,3 +267,809 @@ lt:
action: Užblokuoti paskyrą ir išsiųsti paaiškinimą
description: Naudotojo užblokavimas pavers paskyrą nenaudojama. Rekomenduojame paaiškinime pasidalinti būdais kaip naudotojas gali būti atblokuotas.
justification: Paaiškinimas
+ title: Blokuoti naudotoją %{name}
+ categories:
+ create:
+ error: Kuriant šią kategoriją iškilo problema.
+ success: Kategorija sėkmingai sukurta.
+ destroy:
+ error: Šalinant šią kategoriją iškilo problema. Pirmiausia pašalinkite bet kurią pakategorę, įsitikinkite, kad joks kitas subjektas nesusietas su šia kategorija, ir bandykite dar kartą.
+ success: Kategorija sėkmingai pašalinta.
+ edit:
+ title: Redaguoti kategoriją
+ update: Atnaujinti
+ index:
+ categories_title: Kategorijos
+ category_used: Šios kategorijos negalima pašalinti, nes ji naudojama.
+ new:
+ create: Sukurti kategoriją
+ title: Nauja kategorija
+ update:
+ error: Atnaujinant šią kategoriją iškilo problema.
+ success: Kategorija sėkmingai atnaujinta.
+ component_permissions:
+ update:
+ error: Atnaujinant šio komponento leidimus iškilo problema.
+ success: Leidimai atnaujinti.
+ components:
+ create:
+ error: Kuriant šį komponentą iškilo problema.
+ success: Komponentas sukurtas.
+ destroy:
+ error: Naikinant šį komponentą iškilo problema.
+ success: Komponentas pašalintas.
+ edit:
+ title: Redaguoti komponentą
+ update: Atnaujinti
+ form:
+ default_step_settings: Numatyti žingsnių nustatymai
+ global_settings: Bendrieji nustatymai
+ step_settings: Žingsnio nustatymai
+ index:
+ add: Pridėti komponentą
+ headers:
+ actions: Veiksmai
+ name: Komponento pavadinimas
+ scope: Komponento apimtis
+ type: Komponento tipas
+ new:
+ add: Pridėti komponentą
+ title: 'Pridėti komponentą: %{name}'
+ publish:
+ success: Komponentas sėkmingai publikuotas.
+ title: Komponentai
+ unpublish:
+ success: Komponentas nebe publikuojamas.
+ update:
+ error: Atnaujinant šį komponentą iškilo problema.
+ success: Komponentas atnaujintas sėkmingai.
+ conflicts:
+ attempts: Bandymai
+ 'false': 'Ne'
+ managed_user_name: Tvarkomas Dalyvis
+ solved: Išspręsta
+ title: Patikros konfliktai
+ transfer:
+ email: El. paštas
+ error: Iškilo problema perkeliant dabartinį dalyvį į tvarkomą dalyvį.
+ name: Vardas
+ reason: Priežastis
+ success: Perkėlimas sėkmingai baigtas.
+ title: Perkelti
+ 'true': 'Taip'
+ user_name: Naudotojas
+ dashboard:
+ show:
+ view_more_logs: Peržiūrėti daugiau ataskaitų
+ welcome: '„Decidim“ administratoriaus sritis.'
+ domain_whitelist:
+ form:
+ domain_too_short: Domenas per trumpas
+ update:
+ error: Nepavyko įkelti domenų baltojo sąrašo ("whitelist")
+ success: Domenų baltasis sąrašas atnaujintas sėkmingai
+ exports:
+ export_as: "%{name} kaip %{export_format}"
+ formats:
+ CSV: CSV
+ Excel: Excel
+ FormPDF: PDF
+ JSON: JSON
+ notice: Jūsų rinkmena šiuo metu eksportuojama. Kai eksportas bus baigtas, gausite el. laišką.
+ filters:
+ category_id_eq:
+ label: Kategorija
+ filter_label: Filtras
+ invitation_accepted_at_present:
+ label: Pakvietimas priimtas
+ values:
+ 'false': 'Ne'
+ 'true': 'Taip'
+ last_sign_in_at_present:
+ label: Ar yra prisijungę
+ values:
+ 'false': 'Ne'
+ 'true': 'Taip'
+ moderated_users:
+ reports_reason_eq:
+ label: Raporto priežastis
+ values:
+ does_not_belong: Nepriklauso
+ offensive: Įžeidžiamas turinys
+ spam: Šlamštas
+ moderations:
+ reportable_type_string_eq:
+ label: Tipas
+ officialized_at_null:
+ label: Būsena
+ values:
+ 'false': Oficializuota
+ 'true': Neoficializuota
+ participatory_space_private_users:
+ user_invitation_accepted_at_not_null:
+ label: Pakvietimas priimtas
+ values:
+ 'false': Nepriimtas
+ 'true': Priimtas
+ user_invitation_sent_at_not_null:
+ label: Pakvietimas išsiųstas
+ values:
+ 'false': Neišsiųstas
+ 'true': Išsiųstas
+ private_space_eq:
+ label: Privatus
+ values:
+ 'false': Viešas
+ 'true': Privatus
+ published_at_null:
+ label: Publikuota
+ values:
+ 'false': Publikuota
+ 'true': Nebeskelbiama
+ scope_id_eq:
+ label: Apimtis
+ search_label: Ieškoti
+ search_placeholder:
+ name_or_nickname_or_email_cont: Ieškoti %{collection} pagal el. pašto adresą, vardą ir pavardę arba naudotojo vardą.
+ report_count_eq: Raportuoti skaičių
+ reported_id_string_or_reported_content_cont: Ieškoti %{collection} pagal ID arba turinį.
+ title_cont: Ieškoti %{collection} pagal pavadinimą.
+ user_name_or_user_email_cont: Ieškoti %{collection} pagal vardą ar el. paštą.
+ user_name_or_user_nickname_or_user_email_cont: Ieškoti %{collection} pagal el. pašto adresą, vardą arba naudotojo vardą.
+ state_eq:
+ label: Būsena
+ values:
+ all: Visi
+ pending: Laukiama
+ rejected: Atmesta
+ verified: Patvirtinta
+ forms:
+ file_help:
+ import:
+ explanation: 'Rinkmenai skirtos gairės:'
+ message_1: CSV, JSON ir Excel (.xlsx) rinkmenos palaikomos
+ message_2: CSV dokumentams, skiriklis tarp stulpelių turėtų būti kabliataškis ";"
+ help_sections:
+ error: Atnaujinant pagalbos skyrių iškilo problema
+ form:
+ save: Išsaugoti
+ success: Pagalbos skyreliai atnaujinti
+ impersonatable_users:
+ index:
+ filter:
+ all: Visi
+ managed: Valdomas
+ not_managed: Nevaldomas
+ filter_by: Filtruoti pagal
+ impersonate: Apsimesti
+ impersonate_new_managed_user: Tvarkyti naujo dalyvio duomenis
+ managed: Valdomas
+ name: Vardas
+ needs_authorization_warning: Jums reikia bent vienos autorizacijos įgalintos šiai organizacijai.
+ not_managed: Netvarkoma
+ promote: Reklamuoti
+ search: Ieškoti
+ status: Būsena
+ view_logs: Peržiūrėti įvykių ataskaitą
+ impersonations:
+ close_session:
+ error: Iškilo problema uždarant dabartinę nadotojų tvarkymo sesiją.
+ success: Laikino naudotojo perėmimo sesija baigėsi.
+ create:
+ error: Tvarkant naudotojo duomenis iškilo problema.
+ success: Dalyvis, kurio duomenys tvarkomi, buvo sukurtas.
+ form:
+ authorization_method: Autorizacijos metodas
+ name: Vardas
+ reason: Priežastis
+ new:
+ impersonate: Naudoti pakaitinę tapatybę
+ impersonate_existing_managed_user: Tvarkyti dalyvį "%{name}"
+ impersonate_existing_user: Tvarkyti dalyvį "%{name}"
+ impersonate_new_managed_user: Tvarkyti naują naudotoją
+ imports:
+ and: ir
+ data_errors:
+ duplicate_headers:
+ detail: Prašau patikrinkit ar dokumentas turi vieną viršutinę dalį (angl. header) arba vienus stulpelius (angl. columns).
+ message:
+ one: Dublikuoti stulpelį %{columns}.
+ few: Dublikuoti stulpelius %{columns}.
+ many: Dublikuoti stulpelius %{columns}.
+ other: Dublikuoti stulpelius %{columns}.
+ invalid_indexes:
+ lines:
+ detail: Prašau patikrinkit ar šios eilutės suformatuotos teisingai ir turi teisingus įrašus.
+ message:
+ one: Importuoto dokumento %{indexes} eilutėje rasta klaida.
+ few: Importuoto dokumento %{indexes} eilutėje rastos klaidos.
+ many: Importuoto dokumento %{indexes} eilutėje rastos klaidos.
+ other: Importuoto dokumento %{indexes} eilutėje rastos klaidos.
+ records:
+ detail: Prašau patikrinkit ar šie įrašai suformatuoti teisingai ir turi teisingus įrašus.
+ message:
+ one: Importuotame dokumente su įrašais rasta klaida su eilės numeriais %{indexes}.
+ few: Importuotame dokumente su įrašais rasta klaida su eilės numeriais %{indexes}.
+ many: Importuotame dokumente su įrašais rasta klaida su eilės numeriais %{indexes}.
+ other: Importuotame dokumente su įrašais rasta klaida su eilės numeriais %{indexes}.
+ missing_headers:
+ detail: Prašau patikrinkit ar dokumentas turi būtinus stulpelius.
+ message:
+ one: Trūksta stulpelio %{columns}.
+ few: Trūksta stulpelių %{columns}.
+ many: Trūksta stulpelių %{columns}.
+ other: Trūksta stulpelių %{columns}.
+ error: Importuojant iškilo problema
+ example_error: Nepavyko sukurti pavyzdžio duotajam tipui
+ new:
+ accepted_mime_types:
+ csv: CSV
+ json: JSON
+ xlsx: Excel (.xlsx)
+ actions:
+ back: Grįžti
+ download_example: Atsisiųsti pavyzdį
+ download_example_format: Pavyzdys kaip %{name}
+ file_legend: Pridėkite importo failą, kuris bus analizuojamas.
+ import: Importuoti
+ notice: "%{count} %{resource_name} sėkmingai importuotas"
+ logs:
+ logs_list:
+ no_logs_yet: Dar nėra įrašų
+ managed_users:
+ promotion:
+ error: Įvyko problema paaukštinant tvarkomą naudotoją.
+ success: Tvarkomas naudotojas buvo sėkmingai paaukštintas.
+ promotions:
+ new:
+ explanation: Tvarkomi dalyviai gali būti paaukštinti į standartinius dalyvius. Tai reiškia, kad jie bus pakviesti į platformą ir nebegalėsite jų tvarkyti. Pakviesti naudotojai gaus kvietimą prisijungti el. paštu.
+ new_managed_user_promotion: Naujas tvarkomo naudotojo paaukštinimas
+ promote: Paaukštinti
+ menu:
+ admin_log: Administratoriaus veiklos žurnalas
+ admins: Administratoriai
+ appearance: Išvaizda
+ area_types: Erdvės tipas
+ areas: Erdvės
+ configuration: Konfigūracija
+ dashboard: Švieslentė
+ external_domain_whitelist: Leistini išoriniai domenai
+ help_sections: Pagalbos skyrius
+ homepage: Pradinis puslapis
+ impersonations: Įsikūnyjimai
+ moderation: Globalūs moderavimai
+ newsletters: Naujienlaiškiai
+ participants: Dalyviai
+ reported_users: Raportuoti Naudotojai
+ scope_types: Apimties tipai
+ scopes: Apimtys
+ settings: Nustatymai
+ static_pages: Puslapiai
+ user_groups: Grupės
+ users: Dalyviai
+ metrics:
+ metrics:
+ see_more_metrics: Žiūrėti daugiau rodiklių
+ models:
+ area:
+ fields:
+ area_type: Erdvės tipas
+ name: Pavadinimas
+ area_type:
+ fields:
+ name: Pavadinimas
+ plural: Pluralistinis
+ attachment:
+ fields:
+ collection: Aplankas
+ content_type: Tipas
+ file_size: Dydis
+ title: Pavadinimas
+ name: Priedas
+ attachment_collection:
+ name: Aplankas
+ category:
+ name: Kategorija
+ impersonation_log:
+ fields:
+ admin: Administratorius
+ ended_at: Baigėsi
+ expired_at: Baigė galioti
+ reason: Priežastis
+ started_at: Prasidėjo
+ user: Dalyvis
+ newsletter:
+ fields:
+ created_at: Sukurta
+ progress: Progresas
+ sent_at: Išsiųsta
+ sent_to: Išsiųsta
+ subject: Tema
+ name: Naujienlaiškis
+ participatory_space_private_user:
+ name: Dalivaujamosios erdvės privatus dalyvis
+ scope:
+ fields:
+ name: Vardas
+ scope_type: Apimties tipas
+ scope_type:
+ fields:
+ name: Vardas
+ plural: Pluralistinis
+ share_token:
+ fields:
+ created_at: Sukurta
+ expires_at: Nustoja galioti
+ last_used_at: Paskutinį kartą naudota
+ times_used: Kiek kartų naudota
+ token: Žetonas
+ user: Sukūrė
+ static_page:
+ fields:
+ created_at: Sukurta
+ title: Pavadinimas
+ user:
+ fields:
+ created_at: Sukūrimo data
+ email: El. paštas
+ last_sign_in_at: Paskutinio prisijungimo data
+ name: Pavadinimas
+ role: Rolė
+ roles:
+ admin: Administratorius
+ user_manager: Dalyvių tvarkytojas
+ name: Dalyvis
+ user_group:
+ fields:
+ actions: Veiksmai
+ created_at: Sukurta
+ document_number: Dokumento numeris
+ name: Vardas
+ phone: Telefonas
+ state: Būsena
+ users_count: Dalyvių skaičius
+ moderated_users:
+ index:
+ actions:
+ block: Blokuoti naudotoją
+ title: Veiksmai
+ unblock: Atblokuoti naudotoją
+ unreport: Naikinti raportavimą
+ name: Vardas
+ nickname: Slapyvardis
+ reason: Priežastis
+ reports: Raportavimų skaičius
+ title: Raportuotų dalyvių sąrašas
+ report:
+ reasons:
+ does_not_belong: Nepriklauso
+ offensive: Įžeidžiamas turinys
+ spam: Šlamštas
+ tabs:
+ blocked: Užblokuota
+ unblocked: Neužblokuota
+ moderations:
+ index:
+ title: Moderavimai
+ report:
+ reasons:
+ does_not_belong: Nepriklauso
+ offensive: Įžeidžiantis
+ spam: Šlamštas
+ reports:
+ index:
+ author: Autorius(iai)
+ callout_html: Turinys atsiranda moderavimo puslapyje kai jis būna raportuotuotas registruoto naudotojo paspaudus ant %{icon} vėliavėlės prie turinio vieneto.
+ content_original_language: Turinio originali kalba
+ participatory_space: Dalyvaujamoji erdvė
+ reported_content: Turinys, apie kurį pranešta
+ see_current: Žiūrėti dabartinį
+ see_original: Matyti orginalą
+ title: Moderavimo raportai
+ show:
+ report_details: Priežasties detalės
+ report_language: Raportuoti kalbą
+ report_reason: Priežastis
+ title: Raportuoti detales
+ newsletter_templates:
+ index:
+ preview_template: Peržiūra
+ title: Naujienlaiškio šablonai
+ use_template: Naudoti šį šabloną
+ show:
+ preview: 'Peržiūrėti šabloną: %{template_name}'
+ use_template: Naudoti šį šabloną
+ newsletters:
+ create:
+ error: Kuriant šį naujienlaiškį iškilo problema.
+ success: Naujienlaiškis sukurtas. Peržiūrėkite jį prieš išsiųsdami.
+ deliver:
+ error: Siunčiant šį naujienlaiškį iškilo problema.
+ success: Naujienlaiškis išsiųstas.
+ destroy:
+ error_already_sent: 'Naujienlaiškio negalima panaikinti. Jis jau išsiųstas.'
+ success: Naujienlaiškis panaikintas.
+ edit:
+ save_and_preview: Išsaugoti ir peržiūrėti
+ title: Redaguoti naujienlaiškį
+ index:
+ all: visi
+ all_users: 'Visi naudotojai '
+ and: 'ir '
+ confirm_delete: Ar tikrai norite ištrinti šį naujienlaiškį?
+ followers: 'sekėjai '
+ has_been_sent_to: 'Buvo išsiųsta: '
+ no_scopes: Sričių nėra
+ not_sent: Neišsiųstas
+ participants: 'dalyviai '
+ segmented_to: 'Išskaidyta į %{subject}: '
+ subscribed_count: 'Prenumeruojama:'
+ title: Naujienlaiškiai
+ new:
+ save: Išsaugoti
+ title: Naujas naujienlaiškis
+ select_recipients_to_deliver:
+ all_spaces: Visi
+ all_users_help: Naujienlaiškis išsiunčiamas visiems patvirtintiems naudotojams.
+ confirm_deliver: Ar tikrai norite išsiųsti šį naujienlaiškį? Šio veiksmo atšaukti negalima.
+ deliver: Pristatyti naujienlaiškį
+ followers_help: Naujienlaiškis išsiunčiamas visiems patvirtintiems naudotojams, kurie seka sąraše nurodytas pasirinktas dalyvaujamojo proceso erdves.
+ none: Nėra
+ participants_help: Naujienlaiškis išsiunčiamas visiems patvirtintiems naudotojams, kurie dalyvavo bet kurioje sąraše nurodytoje pasirinktoje dalyvaujamojo proceso erdvėje.
+ recipients_count: Šis naujienlaiškis bus išsiųstas %{count} naudotojams.
+ scopes_help: Naujienlaiškis siunčiamas naudotojams, kurių paskyros „Mano interesai“ nuostatose aktyvuota kuri nors pasirinkta sritis.
+ select_scopes: Filtruoti naudotojus, kurie savo paskyros „Mano interesai“ nuostatose aktyvino bet kurią pasirinktą sritį.
+ select_spaces: Pasirinkite naujienlaiškio segmentacijos vietas
+ select_users: Pasirinkite, kuriems naudotojams norite siųsti naujienlaiškį
+ send_to_all_users: Siųsti visiems naudotojams
+ send_to_followers: Siųsti sekėjams
+ send_to_participants: Siųsti dalyviams
+ title: Pasirinkti gavėjus, kuriems išsiųsti
+ warning: "Dėmesio: Šis naujienlaiškis bus išsiųstas tik tiems dalyviams, kurie savo pranešimų nuostatose aktyvino „noriu gauti naujienlaiškius“."
+ send:
+ no_recipients: Niekas nepasirinko gauti pasirinktos srities informacijos
+ show:
+ preview: Peržiūra
+ select_recipients_to_deliver: Pasirinkti gavėjus, kuriems išsiųsti
+ subject: Tema
+ update:
+ error: Atnaujinant šį naujienlaiškį iškilo problema.
+ success: Naujienlaiškis atnaujintas. Peržiūrėkite jį prieš išsiųsdami.
+ officializations:
+ block:
+ error: Blokuojant dalyvį iškilo problema
+ success: Dalyvis sėkmingai užblokuotas
+ create:
+ success: Dalyvis sėkmingai oficializuotas
+ destroy:
+ success: Dalys sėkmingai nebe oficializuotas
+ index:
+ actions: Veiksmai
+ badge: Ženkliukas
+ block: Blokuoti naudotoją
+ created_at: Sukurta
+ name: Vardas
+ nickname: Slapyvardis
+ not_officialized: Neoficializuotas
+ officialize: Oficializuoti
+ officialized: Oficializuotas
+ reofficialize: Vėl oficializuoti
+ reports: Pranešimai
+ show_email: Rodyti el. pašto adresą
+ status: Būsena
+ unblock: Atblokuoti naudotoją
+ unofficialize: Nebe oficializuoti
+ new:
+ badge: Oficializacijos ženklas
+ officialize: Oficializuoti
+ title: Oficializuoti dalyvį "%{name}"
+ show_email_modal:
+ close_modal: Uždaryti modalinį langą
+ description: Jei reikia tiesiogiai susisiekti su dalyviu, galite spustelėti mygtuką „Rodyti“ ir pamatysite e. pašto adresą. Šis veiksmas bus užregistruotas.
+ email_address: El. pašto adresas
+ full_name: Vardas, pavardė
+ hidden: paslėptas
+ show: Rodyti
+ title: Rodyti dalyvio el. pašto adresą
+ unblock:
+ error: Atblokuojant dalyvį iškilo problema
+ success: Dalyvis sėkmingai atblokuotas
+ organization:
+ edit:
+ title: Taisyti organizaciją
+ update: Atnaujinti
+ form:
+ facebook: Facebook
+ github: GitHub
+ instagram: Instagram
+ rich_text_editor_in_public_views_help: Kai kuriose teksto laukuose dalyviai, naudodami raiškiojo teksto redaktoriaus funkciją, galės įterpti HTML žymes.
+ social_handlers: Socialinis
+ twitter: Twitter
+ url: Nuoroda
+ youtube: YouTube
+ update:
+ error: Atnaujinant šią organizaciją iškilo problema.
+ success: Organizacija atnaujinta.
+ organization_appearance:
+ edit:
+ update: Atnaujinti
+ form:
+ colors:
+ colors_title: Organizacijos spalvos
+ colors_warning_html: Dėmesio! Spalvų pakeitimas gali padaryti puslapį neprieinamu. Norėdami patikrinti spalvų prieinamumą naudokite WebAIM Contrast Checker arba kitus panašius įrankius.
+ header_snippets_help: Naudokite šį laukelį, kad į HTML antraštę (angl. head) įtraukti elementus. Dažniausiai įtraukiamos trečiųjų šalių paslaugos, kurioms reikia kai kurių papildomų „JavaScript“ arba CSS elementų. Be to, galite naudotis laukeliu ir prie HTML pridėti papildomų meta žymeklių. Atkreipkite dėmesį į tai, kad tai atsivaizduos tik viešuose puslapiuose, o ne administratoriaus skyrelyje.
+ cta_button_path_help: 'Galite pakeisti į kur nukreipia pagrindinis numatytojo puslapio mygtukas. Naudokite dalines nuorodas, o ne URL nuoroda. Mygtuko pavyzdys - %{url}'
+ cta_button_text_help: Galite pakeisti pagrindinio numatytojo puslapio mygtuko tekstą priklausomai nuo kalbos. Jei ne, bus naudojamas numatytasis mygtuko tekstas.
+ homepage_appearance_title: Keisti numatytojo puslapio išvaizdą
+ homepage_highlighted_content_banner_title: Paryškinta turinio juosta
+ images:
+ layout_appearance_title: Redaguoti išdėstymą
+ preview: Peržiūra
+ omnipresent_banner_appearance_title: Keisti visur naudojamą reklamjuostę
+ organization_external_domain_whitelist:
+ edit:
+ update: Atnaujinti
+ external_domain:
+ down: Žemyn
+ external_domain: Išorinis domenas
+ remove: Pašalinti
+ up: Aukštyn
+ form:
+ add: Pridėti prie baltojo sąrašo
+ title: Išorinių domenų baltasis sąrašas
+ organization_homepage:
+ edit:
+ active_content_blocks: Aktyvūs turinio blokai
+ inactive_content_blocks: Neaktyvūs turinio blokai
+ organization_homepage_content_blocks:
+ edit:
+ update: Atnaujinti
+ participatory_space_private_users:
+ create:
+ error: Pridedant privatų dalyvį į šia dalyvaujamają erdvę kilo problema.
+ success: Dalyvaujamosios erdvės privataus dalyvio prieiga buvo sukurta sėkmingai.
+ destroy:
+ error: Ištrinant privatų dalyvį iš dalyvaujamosios erdvės kilo problema.
+ success: Dalyvaujamojo proceso erdvės privataus dalyvio prieiga panaikinta.
+ index:
+ import_via_csv: Importuoti iš CSV
+ title: Dalyvaujamosios erdvės privatus dalyvis
+ new:
+ create: Sukurti
+ title: Naujas dalyvaujamosios erdvės privatus dalyvis.
+ participatory_space_private_users_csv_imports:
+ create:
+ invalid: Skaitant CSV rinkmeną iškilo problema.
+ success: CSV dokumentas įkeltas sėkmingai, dalyviai kviečiami e. laišku - tai gali užtrukti.
+ new:
+ explanation: 'Įkelkite CSV dokumentą. Jis turi turėti du stulpelius su naudotojų el. paštu pirmajame ir vardu paskutiniąjame. Dokumente neturėtų būti laukų pavadinimų ir šių simbolių naudotojų varduose "<>?%&^*#@()[]=+:;"{}\|".'
+ title: Įkelkite CSV dokumentą
+ upload: Įkelti
+ resource_permissions:
+ edit:
+ submit: Pateikti
+ title: Redaguoti leidimus
+ update:
+ success: Leidimai atnaujinti.
+ resources:
+ index:
+ headers:
+ scope: Apimtis
+ scope_types:
+ create:
+ error: Kuriant naujo tipo sritį iškilo problema.
+ success: Srities tipas sukurtas sėkmingai.
+ destroy:
+ success: Srities tipas sėkmingai panaikintas
+ edit:
+ title: Keisti srities tipą
+ update: Atnaujinti
+ new:
+ create: Sukurti srities tipą
+ title: Nauja sritis
+ update:
+ error: Atnaujinant šį srities tipą iškilo problema.
+ success: Srities tipas atnaujintas
+ scopes:
+ create:
+ error: Kuriant naują sritį iškilo problema.
+ success: Sritis sukurta.
+ destroy:
+ success: Sritis panaikinta.
+ edit:
+ title: Taisyti sritį
+ update: Atnaujinti
+ new:
+ create: Sukurti sritį
+ title: Nauja sritis
+ no_scopes: Šiuo lygmeniu nėra sričių.
+ update:
+ error: Atnaujinant šią sritį iškilo problema.
+ success: Sritis atnaujinta
+ share_tokens:
+ actions:
+ confirm_destroy: Ar tikrai norite pašalinti šį žetoną?
+ destroy: Ištrinti
+ share: Dalintis
+ destroy:
+ error: Pašalinant žetoną iškilo problema.
+ success: Žetonas pašalintas sėkmingai.
+ share_tokens:
+ empty: Nėra aktyvių žetonų
+ help: Šie prieigos raktai naudojami siekiant pasidalinti nepublikuojamu ištekliu su bet kokiu naudotoju. Jie bus paslėpti kai išteklis bus publikuotas. Paspauskite ant rakto dalinimosi įkonos norėdami gauti dalinimosi nuorodą.
+ title: Bendrinti prieigos raktus
+ shared:
+ gallery:
+ add_images: Pridėti paveikslėlių
+ delete_image: Pašalinti paveikslėlį
+ gallery_legend: Pridėti paveikslėlių galeriją (Neprivaloma)
+ static_page_topics:
+ create:
+ error: Kuriant naują temą iškilo problema.
+ success: Tema sukurta.
+ destroy:
+ success: Tema panaikinta
+ edit:
+ title: Redaguoti temą
+ update: Atnaujinti temą
+ new:
+ create: Sukurti temą
+ title: Nauja tema
+ update:
+ error: Atnaujinant šią temą iškilo problema.
+ success: Tema atnaujinta
+ static_pages:
+ actions:
+ view: Peržiūrėti viešą puslapį
+ create:
+ error: Kuriant naują puslapį iškilo problema.
+ success: Puslapis sukurtas.
+ destroy:
+ success: Puslapis panaikintas
+ edit:
+ changed_notably_help: Pažymėjus šį langelį, dalyviai gaus paraginimą sutikti su naujomis sąlygomis.
+ title: Redaguoti puslapį
+ update: Atnaujinti
+ form:
+ none: Nėra
+ slug_help: 'Čia naudokitės daliniais keliais, o ne išsamiais URL. Galima naudoti raides, skaičius, brūkšnius ir pasviruosius brūkšnius, o pradėti būtina raide. Pavyzdys: %{url}'
+ index:
+ last_notable_change: Paskutinis pastebimas pakeitimas
+ new:
+ create: Sukurti puslapį
+ title: Naujas puslapis
+ topic:
+ destroy: Šalinti temą
+ edit: Redaguoti temą
+ empty: Šioje temoje puslapių nėra
+ without_topic: Puslapiai be temos
+ update:
+ error: Atnaujinant šį puslapį iškilo problema.
+ success: Puslapis atnaujintas
+ titles:
+ admin_log: Administratoriaus veiklos žurnalas
+ area_types: Aplinkos tipai
+ areas: Aplinkos
+ authorization_workflows: Verifikacijos metodai
+ dashboard: Švieslentė
+ impersonatable_users: Dalyviai, kurių duomenis galima tvarkyti
+ impersonations: Dalyvių tvarkymas
+ metrics: Duomenys
+ panel: Administratorius
+ participants: Dalyviai
+ scope_types: Apimties tipai
+ scopes: Apimtys
+ static_pages: Puslapiai
+ statistics: Veikla
+ user_groups: Grupės
+ users: Dalyviai
+ user_group:
+ csv_verify:
+ invalid: Skaitant CSV rinkmeną iškilo problema.
+ success: CSV rinkmena įkelta, tikriname, kurios grupės atitinka kriterijus. Tai gali užtrukti.
+ reject:
+ invalid: Atmetant šią grupę iškilo problema.
+ success: Grupė atmesta
+ verify:
+ invalid: Verifikuojant šią grupę iškilo problema.
+ success: Grupė verifikuota
+ user_groups:
+ index:
+ state:
+ pending: Laukiama
+ rejected: Atmesta
+ verified: Patvirtinta
+ verify_via_csv: Patvirtinti naudojant CSV
+ user_groups_csv_verifications:
+ new:
+ explanation: Įkelkite savo CSV rinkmeną. Pirmoje rinkmenos skiltyje turi būti pateikti oficialūs jūsų organizacijos grupių el. pašto adresai, be antraščių. Bus patvirtintos tik tos grupės, kurios patvirtino savo el. pašto adresą ir kurių el. pašto adresai yra matomi CSV rinkmenoje.
+ title: Įkelkite savo CSV rinkmeną
+ upload: Įkelti
+ users:
+ create:
+ error: Kviečiant šį administratorių iškilo problema.
+ success: Dalyvis pakviestas.
+ destroy:
+ error: Bandant pašalinti šį administratorių iškilo problema.
+ success: Dalyvis nebėra administratorius.
+ form:
+ email: El. paštas
+ name: Vardas
+ role: Rolė
+ new:
+ create: Pakviesti
+ title: Kviesti dalyvį kaip administratorių
+ users_statistics:
+ users_count:
+ admins: Administratoriai
+ last_day: Paskutinė diena
+ last_month: Praėjusį mėnesį
+ last_week: Praėjusią savaitę
+ no_users_count_statistics_yet: Dar nėra dalyvių skaičiaus statistinių duomenų
+ participants: Dalyviai
+ view_public_page: Peržiūrėti viešąjį puslapį
+ forms:
+ errors:
+ impersonate_user:
+ reason: Turite pateikti priežastį kai valdote dar nevaldytą dalyvį
+ metrics:
+ blocked_users:
+ object: užblokuoti naudotojai
+ title: Užblokuoti naudotojai
+ reported_users:
+ object: raportuoti naudotojai
+ title: Raportuoti naudotojai
+ user_reports:
+ object: vartotojo pranešimai
+ title: Naudotojo pranešimai
+ moderations:
+ actions:
+ expand: Išplėsti
+ hidden: Paslėptas
+ hide: Slėpti
+ not_hidden: Nepaslėpta
+ title: Veiksmai
+ unhide: Nebeslėpti
+ unreport: Panaikinti raportavimą
+ admin:
+ reportable:
+ hide:
+ invalid: Slepiant išteklių iškilo problema.
+ success: Išteklius paslėptas.
+ unhide:
+ invalid: Atveriant šį išteklį kilo problema.
+ success: Išteklius paslėptas.
+ unreport:
+ invalid: Naikinant pranešimą apie šį išteklį kilo problema.
+ success: Pranešimas apie išteklį panaikintas.
+ models:
+ moderation:
+ fields:
+ created_at: Sukūrimo data
+ hidden_at: Paslėpta
+ participatory_space: Dalyvaujamoji erdvė
+ report_count: Kiekis
+ reportable_id: ID
+ reportable_type: Tipas
+ reported_content_url: Turinio, apie kurį pranešta, URL
+ reports: Pranešimai
+ visit_url: Apsilankykite URL
+ report:
+ fields:
+ details: Priežasties detalės
+ locale: Kalba
+ reason: Priežastis
+ errors:
+ messages:
+ invalid_json: Negaliojantis JSON
+ layouts:
+ decidim:
+ admin:
+ global_moderations:
+ title: Globalūs moderavimai
+ newsletters:
+ title: Naujienlaiškiai
+ settings:
+ title: Nustatymai
+ users:
+ title: Dalyviai
diff --git a/decidim-admin/config/locales/nl.yml b/decidim-admin/config/locales/nl.yml
index b2595571f3577..ad1350d735f3a 100644
--- a/decidim-admin/config/locales/nl.yml
+++ b/decidim-admin/config/locales/nl.yml
@@ -45,7 +45,7 @@ nl:
enable_omnipresent_banner: Toon permanente header
enable_participatory_space_filters: Schakel filters in voor de participatieve ruimte
facebook_handler: Facebook naam
- favicon: Pictogram
+ favicon: Favicon
force_authentication: Verplicht aanmelden
force_users_to_authenticate_before_access_organization: Verplicht gebruikers om zich aan te melden voor toegang tot de organisatie
from: E-mailadres afzender
@@ -63,6 +63,9 @@ nl:
host: Host
instagram_handler: Instagram gebruikersnaam
logo: Logo
+ machine_translation_display_priority: Voorrang weergave machinevertaling
+ machine_translation_display_priority_original: Oorspronkelijke tekst eerst
+ machine_translation_display_priority_translation: Vertaalde tekst eerst
name: Naam
official_img_footer: Officieel logo voettekst
official_img_header: Officieel logo header
@@ -100,6 +103,8 @@ nl:
name: Naam
organization: Organisatie
plural: Meervoud
+ settings:
+ scope_id: Scope
static_page:
allow_public_access: Toegang zonder authenticatie toestaan
changed_notably: Er zijn merkbare veranderingen geweest.
@@ -118,6 +123,10 @@ nl:
file: Bestand
errors:
models:
+ newsletter:
+ attributes:
+ base:
+ at_least_one_space: Selecteer minstens één participatieve ruimte
organization:
attributes:
official_img_footer:
@@ -166,6 +175,7 @@ nl:
per_page: Per pagina
permissions: Permissies
reject: Weigeren
+ share: Deel
user:
new: Nieuwe gebruiker
verify: Verifiëren
@@ -174,7 +184,6 @@ nl:
error: Er is een fout opgetreden bij het accepteren van de admin gebruiksvoorwaarden.
success: Geweldig! Je hebt de admin gebruiksvoorwaarden geaccepteerd.
actions:
- accept: Ik ga akkoord met de volgende voorwaarden
are_you_sure: Weet je zeker dat je de Admin gebruiksvoorwaarden wil resetten?
refuse: Weiger de admin gebruiksvoorwaarden
title: Ga akkoord met de gebruiksvoorwaarden
@@ -315,7 +324,20 @@ nl:
error: Er is een fout opgetreden bij het bijwerken van dit onderdeel.
success: Het onderdeel is met succes bijgewerkt.
conflicts:
+ attempts: Pogingen
+ 'false': 'Nee'
+ managed_user_name: Beheerde gebruiker
+ solved: Opgelost
title: Controle conflicten
+ transfer:
+ email: E-mail
+ error: Er is een probleem opgetreden bij het overbrengen van de huidige deelnemer naar een beheerde deelnemer.
+ name: Naam
+ reason: Reden
+ success: De overdracht is met succes voltooid.
+ title: Overdracht
+ 'true': 'Ja'
+ user_name: Gebruiker
dashboard:
show:
view_more_logs: Bekijk meer logs
@@ -507,8 +529,10 @@ nl:
help_sections: Helpsecties
homepage: Startpagina
impersonations: Zich voordoen als
+ moderation: Algemene moderatie
newsletters: Nieuwsbrieven
participants: Deelnemers
+ reported_users: Gerapporteerde gebruikers
scope_types: Scope types
scopes: Scopes
settings: Instellingen
@@ -564,6 +588,14 @@ nl:
fields:
name: Naam
plural: Meervoud
+ share_token:
+ fields:
+ created_at: Aangemaakt op
+ expires_at: Vervalt op
+ last_used_at: Laatste keer gebruikt
+ times_used: Aantal keren gebruikt
+ token: Token
+ user: Aangemaakt door
static_page:
fields:
created_at: Aangemaakt op
@@ -589,8 +621,25 @@ nl:
state: Staat
users_count: Aantal deelnemers
moderated_users:
+ index:
+ actions:
+ block: Gebruiker blokkeren
+ title: Acties
+ unblock: Deblokkeer gebruiker
+ unreport: Niet langer rapporteren
+ name: Naam
+ nickname: Bijnaam
+ reason: Reden
+ reports: Aantal rapporteringen
+ title: Gerapporteerde gebruikers weergeven
+ report:
+ reasons:
+ does_not_belong: Hoort niet bij
+ offensive: Beledigend
+ spam: Spam
tabs:
blocked: Geblokkeerd
+ unblocked: Niet geblokkeerd
moderations:
index:
title: Moderaties
@@ -697,6 +746,7 @@ nl:
officialize: "Valideren\n"
officialized: Gevalideerd
reofficialize: Hervalideren
+ reports: Rapporten
show_email: Toon e-mailadres
status: status
unblock: Deblokkeer gebruiker
@@ -784,6 +834,7 @@ nl:
invalid: Er is een fout opgetreden bij het lezen van het CSV-bestand.
success: Het CSV-bestand is succesvol geüploaded. We sturen een uitnodigingsmail naar de deelnemers. Dit kan even duren.
new:
+ explanation: 'Upload het CSV-bestand zonder headers. Het moet uit twee kolommen bestaan, met het e-mailadres in de eerste kolom en de naam in de laatste kolom van de gebruikers die je wil toevoegen aan de participatieve ruimte (e-mail, naam). Vermijd tekens als `<>?%&^*#@()[]=+:;"{}\|` in de namen.'
title: Upload het CSV-bestand
upload: Upload
resource_permissions:
@@ -834,6 +885,11 @@ nl:
share: Deel
destroy:
error: Er is een fout opgetreden bij het vernietigen van de token.
+ success: Token met succes verwijderd.
+ share_tokens:
+ empty: Er zijn geen actieve tokens
+ help: Deze tokens worden gebruikt om deze niet-gepubliceerde bron openbaar te delen met alle gebruikers. Ze worden verborgen wanneer de bron is gepubliceerd. Klik op het pictogram “delen” van het token om de deelbare URL te bezoeken.
+ title: Tokens delen
shared:
gallery:
add_images: Afbeeldingen toevoegen
@@ -891,6 +947,7 @@ nl:
impersonatable_users: Beheersbare deelnemers
impersonations: Beheer van deelnemers
metrics: Cijfers
+ panel: Admin
participants: Deelnemers
scope_types: Scope types
scopes: Scopes
@@ -950,6 +1007,7 @@ nl:
metrics:
blocked_users:
object: geblokkeerde gebruikers
+ title: Geblokkeerde gebruikers
reported_users:
object: gerapporteerde gebruikers
title: Gerapporteerde gebruikers
@@ -983,6 +1041,7 @@ nl:
hidden_at: Verborgen op
participatory_space: Participatieve ruimte
report_count: Aantal
+ reportable_id: ID
reportable_type: Type
reported_content_url: Gerapporteerde inhouds-URL
reports: Meldingen
diff --git a/decidim-admin/config/locales/no.yml b/decidim-admin/config/locales/no.yml
index c8f58841c1a05..2cd66e1bcbacf 100644
--- a/decidim-admin/config/locales/no.yml
+++ b/decidim-admin/config/locales/no.yml
@@ -123,6 +123,10 @@
file: Fil
errors:
models:
+ newsletter:
+ attributes:
+ base:
+ at_least_one_space: Velg minst et rom
organization:
attributes:
official_img_footer:
@@ -180,7 +184,6 @@
error: Det oppstod et problem med å godkjenne administrator vilkårene.
success: Flott! Du har godtatt administratorenes vilkår for bruk.
actions:
- accept: Jeg godtar følgende vilkår
are_you_sure: Er du sikker på at du vil avslå administratorvilkårene for bruk?
refuse: Avslå administratorvilkårene
title: Godta vilkårene for bruk
@@ -1038,6 +1041,7 @@
hidden_at: Skjult på
participatory_space: Deltakerrom
report_count: Antall
+ reportable_id: ID
reportable_type: Type
reported_content_url: Rapportert innholds URL
reports: Rapporter
diff --git a/decidim-admin/config/locales/oc-FR.yml b/decidim-admin/config/locales/oc-FR.yml
new file mode 100644
index 0000000000000..325b348894124
--- /dev/null
+++ b/decidim-admin/config/locales/oc-FR.yml
@@ -0,0 +1 @@
+oc:
diff --git a/decidim-admin/config/locales/pl.yml b/decidim-admin/config/locales/pl.yml
index f13f6a2ba0017..ea63ddbbb5b7f 100644
--- a/decidim-admin/config/locales/pl.yml
+++ b/decidim-admin/config/locales/pl.yml
@@ -184,11 +184,12 @@ pl:
error: Wystąpił błąd podczas akceptowania warunków użytkowania dla administratorów.
success: Świetnie! Zaakceptowano warunki użytkowania dla administratorów.
actions:
- accept: Zgadzam się z warunkami użytkowania
+ are_you_sure: Czy na pewno nie wyrażasz zgody na warunki użytkowania dla administratorów?
refuse: Nie akceptuję warunków dla administratorów
title: Akceptuję warunki użytkowania
required_review:
alert: 'Wymagane: Zapoznaj się z warunkami użytkowania dla administratorów'
+ callout: Poświęć chwilę, aby zapoznać się z Warunkami użytkowania dla administratorów. W przeciwnym razie nie uzyskasz dostępu do administrowania platformą.
cta: Zapoznaj się teraz.
title: Warunki użytkowania dla administratorów
area_types:
@@ -263,6 +264,7 @@ pl:
block_user:
new:
action: Zablokuj konto i wyślij uzasadnienie
+ description: Blokowanie użytkownika sprawi, że jego konto nie będzie użyteczne. Możesz podać w uzasadnieniu wszelkie wytyczne dotyczące sposobu odblokowania użytkownika.
justification: Uzasadnienie
title: Zablokuj użytkownika %{name}
categories:
@@ -325,6 +327,7 @@ pl:
'false': 'Nie'
managed_user_name: Zarządzany użytkownik
solved: Rozwiązane
+ title: Konflikty weryfikacji
transfer:
email: Adres e-mail
error: Podczas transferu bieżącego użytkownika do zarządzanego użytkownika wystąpił błąd.
@@ -343,6 +346,7 @@ pl:
domain_too_short: Domena jest zbyt krótka
update:
error: Nie udało się zaktualizować białej listy domen
+ success: Biała lista domen pomyślnie zaktualizowana
exports:
export_as: "%{name} jako %{export_format}"
formats:
@@ -361,9 +365,17 @@ pl:
'false': 'Nie'
'true': 'Tak'
last_sign_in_at_present:
+ label: Zawsze zalogowany
values:
'false': 'Nie'
'true': 'Tak'
+ moderated_users:
+ reports_reason_eq:
+ label: Powód zgłoszenia
+ values:
+ does_not_belong: Nie należy
+ offensive: Ofensywny
+ spam: Spam
moderations:
reportable_type_string_eq:
label: Typ
@@ -398,9 +410,11 @@ pl:
search_label: Szukaj
search_placeholder:
name_or_nickname_or_email_cont: Przeszukaj %{collection} według adresu e-mail, nazwiska lub nazwy użytkownika.
+ report_count_eq: Licznik raportów
reported_id_string_or_reported_content_cont: Przeszukaj %{collection} według identyfikatora lub treści zgłoszenia.
title_cont: Przeszukaj %{collection} według tytułu.
user_name_or_user_email_cont: Przeszukaj %{collection} według nazwy lub e-maila.
+ user_name_or_user_nickname_or_user_email_cont: Szukaj %{collection} według adresu e-mail, nazwy lub pseudonimu.
state_eq:
label: Stan
values:
@@ -454,7 +468,38 @@ pl:
impersonate_new_managed_user: Zarządzaj nowym uczestnikiem
imports:
and: i
+ data_errors:
+ duplicate_headers:
+ detail: Proszę sprawdzić, czy plik zawiera wymagane kolumny lub nagłówki tylko raz.
+ message:
+ one: Duplikuj kolumnę %{columns}.
+ few: Duplikuj kolumny %{columns}.
+ many: Duplikuj kolumny %{columns}.
+ other: Duplikuj kolumny %{columns}.
+ invalid_indexes:
+ lines:
+ detail: Sprawdź, czy te dane są sformatowane poprawnie i zawierają prawidłowe rekordy.
+ message:
+ one: Znaleziono błąd w pliku importu. linia %{indexes}.
+ few: Znaleziono błąd w pliku importu. linie %{indexes}.
+ many: Znaleziono błąd w pliku importu. linie %{indexes}.
+ other: Znaleziono błędy w pliku importu w liniach %{indexes}.
+ records:
+ detail: Sprawdź, czy te rekordy są sformatowane poprawnie i zawierają prawidłowe rekordy.
+ message:
+ one: Znaleziono błąd w pliku importu dla rekordów o numerach porządkowych %{indexes}.
+ few: Znaleziono błąd w pliku importu dla rekordów o numerach porządkowych %{indexes}.
+ many: Znaleziono błąd w pliku importu dla rekordów o numerach porządkowych %{indexes}.
+ other: Znaleziono błędy w pliku importu dla rekordów o numerach porządkowych %{indexes}.
+ missing_headers:
+ detail: Proszę sprawdzić, czy plik zawiera wymagane kolumny.
+ message:
+ one: Brakująca kolumna %{columns}.
+ few: Brakujące kolumny %{columns}.
+ many: Brakujące kolumny %{columns}.
+ other: Brakujące kolumny %{columns}.
error: Podczas importowania wystąpił błąd
+ example_error: Nie można utworzyć przykładu dla podanego typu
new:
accepted_mime_types:
csv: csv
@@ -462,6 +507,8 @@ pl:
xlsx: xlsx
actions:
back: Wróć
+ download_example: Pobierz przykład
+ download_example_format: Przykład jako %{name}
file_legend: Zaimportuj plik, który zostanie przetworzony.
import: Importuj
notice: "Zaimportowano %{resource_name} %{number}"
@@ -564,7 +611,7 @@ pl:
fields:
created_at: Data utworzenia
email: E-mail
- last_sign_in_at: Ostatni dzień rejestracji
+ last_sign_in_at: Ostatnie logowanie
name: Imię
role: Rola
roles:
@@ -634,6 +681,7 @@ pl:
newsletters:
create:
error: Podczas tworzenia newslettera wystąpił błąd.
+ success: Newsletter został pomyślnie utworzony. Sprawdź go przed wysłaniem.
deliver:
error: Podczas dostarczania tego newslettera wystąpił błąd.
success: Newsletter został dostarczony pomyślnie.
@@ -716,10 +764,12 @@ pl:
title: Oficjalizuj użytkownika "%{name}"
show_email_modal:
close_modal: Zamknij okno
+ description: Jeśli chcesz skontaktować się bezpośrednio z uczestnikiem, możesz kliknąć przycisk Pokaż aby zobaczyć jego adres e-mail. Ta akcja zostanie zarejestrowana.
email_address: Adres e-mail
full_name: Imię i nazwisko
hidden: ukryty
show: Pokaż
+ title: Pokaż adres e-mail uczestnika
unblock:
error: Wystąpił błąd podczas odblokowywania użytkownika
success: Użytkownik został odblokowany
@@ -745,6 +795,7 @@ pl:
form:
colors:
colors_title: Kolory organizacji
+ colors_warning_html: Uwaga! Zmiana tych kolorów może ograniczyć czytelność. Możesz sprawdzić kontrast wybranych kolorów korzystając z WebAIM Contrast Checker albo innych podobnych narzędzi.
header_snippets_help: Użyj tego pola, aby dodać elementy do nagłówka kodu HTML. Najczęstszym zastosowaniem jest zintegrowanie usług innych firm, które wymagają dodatkowego kodu JavaScript lub CSS. Można również użyć go do dodawania dodatkowych meta tagów do HTML. Zauważ, że będzie to widoczne tylko na stronach publicznych, a nie w sekcji administracyjnej.
cta_button_path_help: 'Możesz nadpisać adres do jakiego kieruje przycisk CTA na stronie głównej. Należy wpisać tylko to, co ma znaleźć się na końcu po znaku „/”, a nie pełen adres. Można użyć liter, cyfr, myślników i ukośników. Musi zaczynać się od litery. Przycisk CTA zostanie wyświetlony na stronie głównej między tekstem powitalnym a opisem. Przykład: %{url}'
cta_button_text_help: Można nadpisać tekst przycisku CTA na stronie głównej dla każdego dostępnego języka organizacji. Jeśli to pole nie zostanie wypełnione, zostanie użyta wartość domyślna. Przycisk CTA zostanie wyświetlony na stronie głównej między tekstem powitalnym a opisem.
@@ -879,7 +930,7 @@ pl:
title: Edytuj stronę
update: Aktualizuj
form:
- none: Żadna
+ none: Bez tematu
slug_help: 'Wpisz tutaj tylko to, co ma znaleźć się na końcu po znaku „/”, a nie pełny adres URL. Można użyć liter, cyfr i myślników. Musi zaczynać się od litery. Przykład: %{url}'
index:
last_notable_change: Ostatnia istotna zmiana
@@ -956,6 +1007,10 @@ pl:
no_users_count_statistics_yet: Nie ma jeszcze statystyk dotyczących liczby użytkowników
participants: Użytkownicy
view_public_page: Zobacz stronę publiczną
+ forms:
+ errors:
+ impersonate_user:
+ reason: Aby zarządzać uczestnikiem niezarządzanym należy podać powód
metrics:
blocked_users:
object: zablokowani użytkownicy
@@ -990,9 +1045,11 @@ pl:
moderation:
fields:
created_at: Data utworzenia
+ deleted_resource: Usunięty zasób
hidden_at: Ukryto
participatory_space: Przestrzeń partycypacyjna
report_count: Liczba
+ reportable_id: ID
reportable_type: Typ
reported_content_url: URL zgłoszonej treści
reports: Zgłoszenia
diff --git a/decidim-admin/config/locales/pt-BR.yml b/decidim-admin/config/locales/pt-BR.yml
index 4560eb059960c..d17a28a27dacf 100644
--- a/decidim-admin/config/locales/pt-BR.yml
+++ b/decidim-admin/config/locales/pt-BR.yml
@@ -178,7 +178,6 @@ pt-BR:
error: Ocorreu um erro ao aceitar os termos de uso do administrador.
success: Ótimo! Você aceitou os termos de uso do administrador.
actions:
- accept: Concordo com os seguintes termos
refuse: Recusar os termos do admin
title: Concorde com os termos e condições de uso
required_review:
diff --git a/decidim-admin/config/locales/pt.yml b/decidim-admin/config/locales/pt.yml
index cd7c77128e7c0..bb7170174fa23 100644
--- a/decidim-admin/config/locales/pt.yml
+++ b/decidim-admin/config/locales/pt.yml
@@ -179,7 +179,6 @@ pt:
error: Ocorreu um erro ao aceitar os termos de utilização de administrador.
success: Excelente! Aceitou os termos de utilização de administrador.
actions:
- accept: Concordo com os seguintes termos
are_you_sure: Tem a certeza que quer rejeitar os termos de utilização de administrador?
refuse: Recusar os termos de administrador
title: Concordar com os termos e condições de utilização
diff --git a/decidim-admin/config/locales/ro-RO.yml b/decidim-admin/config/locales/ro-RO.yml
index 0949be55a1d2a..acccb31b9b33b 100644
--- a/decidim-admin/config/locales/ro-RO.yml
+++ b/decidim-admin/config/locales/ro-RO.yml
@@ -123,6 +123,10 @@ ro:
file: Fişier
errors:
models:
+ newsletter:
+ attributes:
+ base:
+ at_least_one_space: Selectează cel puțin un spațiu participativ
organization:
attributes:
official_img_footer:
@@ -180,7 +184,7 @@ ro:
error: A apărut o eroare la acceptarea termenilor de utilizare ai administratorului.
success: Super! Ai acceptat termenii de utilizare ai administratorului.
actions:
- accept: Sunt de acord cu următorii termeni
+ accept: Sunt de acord cu acești termeni și condiţii
are_you_sure: Sigur dorești să refuzi termenii de utilizare ai adiminstratorului?
refuse: Refuz termenii
title: Acceptă termenii și condițiile de utilizare
@@ -1039,6 +1043,7 @@ ro:
moderation:
fields:
created_at: Data creării
+ deleted_resource: Resursă ștersă
hidden_at: Ascuns la
participatory_space: Spațiu participativ
report_count: Număr
diff --git a/decidim-admin/config/locales/sv.yml b/decidim-admin/config/locales/sv.yml
index 313cb1bdf0cf8..74504efb3b08b 100644
--- a/decidim-admin/config/locales/sv.yml
+++ b/decidim-admin/config/locales/sv.yml
@@ -184,7 +184,6 @@ sv:
error: Ett fel inträffade när användarvillkoren för administratörer skulle godkännas.
success: Du har godkänt användarvillkoren för administratörer.
actions:
- accept: Jag godkänner villkoren
are_you_sure: Är du säker på att du vill avvisa administratörsvillkoren?
refuse: Avvisa villkoren för administratörer
title: Godkänn användarvillkoren
@@ -1042,6 +1041,7 @@ sv:
hidden_at: Dold
participatory_space: Deltagarutrymme
report_count: Antal
+ reportable_id: ID
reportable_type: Typ
reported_content_url: Rapporterad innehållsadress
reports: Rapporter
diff --git a/decidim-admin/config/locales/tr-TR.yml b/decidim-admin/config/locales/tr-TR.yml
index 2e8dbf5078e9d..f390458dcbd53 100644
--- a/decidim-admin/config/locales/tr-TR.yml
+++ b/decidim-admin/config/locales/tr-TR.yml
@@ -143,7 +143,6 @@ tr:
error: Yönetici kullanım şartlarını kabul ederken bir hata oluştu.
success: Harika! Yönetici kullanım şartlarını kabul ettiniz.
actions:
- accept: Aşağıdaki şartları kabul ediyorum
refuse: Yönetici şartlarını reddedin
title: Kullanım şartlarını ve koşullarını kabul edin
required_review:
diff --git a/decidim-admin/lib/decidim/admin/engine.rb b/decidim-admin/lib/decidim/admin/engine.rb
index b778fc12ba32d..2f3b8f6fe9c19 100644
--- a/decidim-admin/lib/decidim/admin/engine.rb
+++ b/decidim-admin/lib/decidim/admin/engine.rb
@@ -174,7 +174,10 @@ class Engine < ::Rails::Engine
decidim_admin.root_path,
icon_name: "dashboard",
position: 1,
- active: ["decidim/admin/dashboard" => :show]
+ active: [%w(
+ decidim/admin/dashboard
+ decidim/admin/metrics
+ ), []]
menu.add_item :moderations,
I18n.t("menu.moderation", scope: "decidim.admin"),
@@ -209,10 +212,15 @@ class Engine < ::Rails::Engine
decidim/admin/user_groups_csv_verifications
decidim/admin/officializations
decidim/admin/impersonatable_users
+ decidim/admin/conflicts
decidim/admin/moderated_users
decidim/admin/managed_users/impersonation_logs
decidim/admin/managed_users/promotions
decidim/admin/authorization_workflows
+ decidim/verifications/id_documents/admin/pending_authorizations
+ decidim/verifications/id_documents/admin/config
+ decidim/verifications/postal_letter/admin/pending_authorizations
+ decidim/verifications/csv_census/admin/census
), []],
if: allowed_to?(:read, :admin_user) || allowed_to?(:read, :managed_user)
@@ -239,6 +247,8 @@ class Engine < ::Rails::Engine
decidim/admin/scopes
decidim/admin/scope_types
decidim/admin/areas decidim/admin/area_types
+ decidim/admin/help_sections
+ decidim/admin/organization_external_domain_whitelist
),
[]
],
diff --git a/decidim-admin/lib/decidim/admin/test/manage_moderations_examples.rb b/decidim-admin/lib/decidim/admin/test/manage_moderations_examples.rb
index 20e4c4b6f17a9..d91128f9c19e5 100644
--- a/decidim-admin/lib/decidim/admin/test/manage_moderations_examples.rb
+++ b/decidim-admin/lib/decidim/admin/test/manage_moderations_examples.rb
@@ -110,6 +110,39 @@
expect(page).to have_no_selector("tr[data-id=\"#{moderation.id}\"]")
end
end
+
+ context "when the user changes language" do
+ around do |example|
+ previous_backend = I18n.backend
+ I18n.backend = I18n::Backend::Simple.new
+ example.run
+ I18n.backend = previous_backend
+ end
+
+ before do
+ I18n.backend.store_translations(
+ :ca,
+ activerecord: {
+ models: {
+ moderation.reportable.class.name.underscore.to_sym => {
+ one: "Objecte informable",
+ other: "Objectes informables"
+ }
+ }
+ }
+ )
+
+ within_language_menu do
+ click_link "Català"
+ end
+ end
+
+ it "renders the reportable types in the selected language" do
+ within "tr[data-id=\"#{moderation.id}\"]" do
+ expect(page).to have_content("Objecte informable")
+ end
+ end
+ end
end
context "when listing hidden resources" do
@@ -125,4 +158,43 @@
end
end
end
+
+ context "when listing comments for deleted resources" do
+ let(:comments) do
+ reportables.first(reportables.length - 1).map do |resource|
+ create(:comment, commentable: resource)
+ end
+ end
+ let!(:moderations) do
+ comments.map do |reportable|
+ space = reportable.is_a?(Decidim::Participable) ? reportable : reportable.participatory_space
+ moderation = create(:moderation, reportable: reportable, report_count: 1, participatory_space: space, reported_content: reportable.reported_searchable_content_text)
+ create(:report, moderation: moderation)
+
+ reportable.root_commentable.destroy!
+ reportable.reload
+
+ moderation
+ end
+ end
+
+ it "user can review them" do
+ moderations.each do |moderation|
+ within "tr[data-id=\"#{moderation.id}\"]" do
+ expect(page).to have_content "Deleted resource"
+ expect(page).to have_content "Spam"
+ end
+ end
+ end
+
+ it "user can hide them" do
+ moderation_id = moderations.first.id
+ within "tr[data-id=\"#{moderation_id}\"]" do
+ click_link "Hide"
+ end
+
+ expect(page).to have_admin_callout("Resource successfully hidden")
+ expect(page).not_to have_selector("tr[data-id=\"#{moderation_id}\"]")
+ end
+ end
end
diff --git a/decidim-admin/lib/decidim/admin/version.rb b/decidim-admin/lib/decidim/admin/version.rb
index cde9bdd7f23fc..7210b1ec5b77c 100644
--- a/decidim-admin/lib/decidim/admin/version.rb
+++ b/decidim-admin/lib/decidim/admin/version.rb
@@ -4,7 +4,7 @@ module Decidim
# This holds the decidim-admin version.
module Admin
def self.version
- "0.26.2"
+ "0.26.4"
end
end
end
diff --git a/decidim-admin/spec/controllers/organizations_contoller_spec.rb b/decidim-admin/spec/controllers/organizations_contoller_spec.rb
deleted file mode 100644
index 3e782cf9b8ba1..0000000000000
--- a/decidim-admin/spec/controllers/organizations_contoller_spec.rb
+++ /dev/null
@@ -1,115 +0,0 @@
-# frozen_string_literal: true
-
-require "spec_helper"
-
-module Decidim
- module Admin
- describe OrganizationController, type: :controller do
- routes { Decidim::Admin::Engine.routes }
-
- let(:organization) { create :organization }
- let(:current_user) { create(:user, :admin, :confirmed, organization: organization) }
-
- before do
- request.env["decidim.current_organization"] = organization
- sign_in current_user, scope: :user
- end
-
- describe "GET users and user groups in json format" do
- let!(:user) { create(:user, name: "Daisy Miller", nickname: "daisy_m", organization: organization, email: "d.mail@example.org") }
- let!(:other_user) { create(:user, name: "Daisy O'connor", nickname: "daisy_o", email: "d.mail.o@example.org") }
- let!(:user_group) do
- create(
- :user_group,
- :verified,
- name: "Daisy Organization",
- nickname: "daisy_org",
- email: "d.mail.org@example.org",
- users: [user],
- organization: organization
- )
- end
- let(:parsed_response) { JSON.parse(response.body).map(&:symbolize_keys) }
-
- context "when searching by name" do
- it "returns the id, name, email and nickname for filtered users and user groups" do
- get :user_entities, format: :json, params: { term: "daisy" }
- expect(parsed_response).to include({ value: user.id, label: "#{user.name} (@#{user.nickname}) #{user.email}" })
- expect(parsed_response).to include({ value: user_group.id, label: "#{user_group.name} (@#{user_group.nickname}) #{user_group.email}" })
- expect(parsed_response).not_to include({ value: other_user.id, label: "#{other_user.name} (@#{other_user.nickname}) #{other_user.email}" })
- end
- end
-
- context "when searching by nickname" do
- it "returns the id, name, email and nickname for filtered users and user groups" do
- get :user_entities, format: :json, params: { term: "@daisy" }
- expect(parsed_response).to include({ value: user.id, label: "#{user.name} (@#{user.nickname}) #{user.email}" })
- expect(parsed_response).to include({ value: user_group.id, label: "#{user_group.name} (@#{user_group.nickname}) #{user_group.email}" })
- expect(parsed_response).not_to include({ value: other_user.id, label: "#{other_user.name} (@#{other_user.nickname}) #{other_user.email}" })
- end
- end
-
- context "when searching by email" do
- it "returns the id, name, email and nickname for filtered users and user groups" do
- get :user_entities, format: :json, params: { term: "d.mail" }
- expect(parsed_response).to include({ value: user.id, label: "#{user.name} (@#{user.nickname}) #{user.email}" })
- expect(parsed_response).to include({ value: user_group.id, label: "#{user_group.name} (@#{user_group.nickname}) #{user_group.email}" })
- expect(parsed_response).not_to include({ value: other_user.id, label: "#{other_user.name} (@#{other_user.nickname}) #{other_user.email}" })
- end
- end
- end
-
- describe "GET users in json format" do
- let!(:user) { create(:user, name: "Daisy Miller", nickname: "daisy_m", organization: organization) }
- let!(:other_user) { create(:user, name: "Daisy O'connor", nickname: "daisy_o") }
- let!(:user_group) do
- create(
- :user_group,
- :verified,
- name: "Daisy Organization",
- nickname: "daysy_org",
- users: [user],
- organization: organization
- )
- end
-
- let(:parsed_response) { JSON.parse(response.body).map(&:symbolize_keys) }
-
- context "when no search term is provided" do
- it "returns an empty result set" do
- get :users, format: :json, params: {}
- expect(parsed_response).to eq([])
- end
- end
-
- context "when there are no results" do
- it "returns an empty json array" do
- get :users, format: :json, params: { term: "#0" }
- expect(parsed_response).to eq([])
- end
- end
-
- context "when searching by name" do
- it "returns the id, name, email and nickname for filtered users" do
- get :users, format: :json, params: { term: "daisy" }
- expect(parsed_response).to eq([{ value: user.id, label: "#{user.name} (@#{user.nickname}) #{user.email}" }])
- end
- end
-
- context "when searching by nickname" do
- it "returns the id, name, email and nickname for filtered users" do
- get :users, format: :json, params: { term: "@daisy" }
- expect(parsed_response).to eq([{ value: user.id, label: "#{user.name} (@#{user.nickname}) #{user.email}" }])
- end
- end
-
- context "when searching by email" do
- it "returns the id, name, email and nickname for filtered users" do
- get :users, format: :json, params: { term: user.email }
- expect(parsed_response).to eq([{ value: user.id, label: "#{user.name} (@#{user.nickname}) #{user.email}" }])
- end
- end
- end
- end
- end
-end
diff --git a/decidim-admin/spec/controllers/organizations_controller_spec.rb b/decidim-admin/spec/controllers/organizations_controller_spec.rb
new file mode 100644
index 0000000000000..a27c0a3b55d52
--- /dev/null
+++ b/decidim-admin/spec/controllers/organizations_controller_spec.rb
@@ -0,0 +1,181 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+module Decidim
+ module Admin
+ describe OrganizationController, type: :controller do
+ routes { Decidim::Admin::Engine.routes }
+
+ let(:organization) { create :organization }
+ let(:current_user) { create(:user, :admin, :confirmed, organization: organization) }
+
+ before do
+ request.env["decidim.current_organization"] = organization
+ sign_in current_user, scope: :user
+ end
+
+ describe "GET users and user groups in json format" do
+ let!(:user) { create(:user, name: "Daisy Miller", nickname: "daisy_m", organization: organization, email: "d.mail@example.org") }
+ let!(:blocked_user) { create(:user, :blocked, name: "Daisy Blocked", nickname: "daisy_b", organization: organization, email: "d.mail.b@example.org") }
+ let!(:managed_user) { create(:user, :managed, name: "Daisy Managed", nickname: "daisy_g", organization: organization, email: "d.mail.g@example.org") }
+ let!(:deleted_user) { create(:user, :deleted, name: "Daisy Deleted", nickname: "daisy_d", organization: organization, email: "d.mail.d@example.org") }
+ let!(:other_user) { create(:user, name: "Daisy O'connor", nickname: "daisy_o", email: "d.mail.o@example.org") }
+ let!(:user_group) do
+ create(
+ :user_group,
+ :verified,
+ name: "Daisy Organization",
+ nickname: "daisy_org",
+ email: "d.mail.org@example.org",
+ users: [user],
+ organization: organization
+ )
+ end
+ let(:parsed_response) { JSON.parse(response.body).map(&:symbolize_keys) }
+
+ context "when searching by name" do
+ it "returns the id, name and nickname for filtered users and user groups" do
+ get :user_entities, format: :json, params: { term: "daisy" }
+ expect(parsed_response).to include({ value: user.id, label: "#{user.name} (@#{user.nickname})" })
+ expect(parsed_response).to include({ value: user_group.id, label: "#{user_group.name} (@#{user_group.nickname})" })
+ expect(parsed_response).not_to include({ value: other_user.id, label: "#{other_user.name} (@#{other_user.nickname})" })
+ expect(parsed_response).not_to include({ value: blocked_user.id, label: "#{blocked_user.name} (@#{blocked_user.nickname})" })
+ expect(parsed_response).not_to include({ value: deleted_user.id, label: "#{deleted_user.name} (@#{deleted_user.nickname})" })
+ expect(parsed_response).not_to include({ value: managed_user.id, label: "#{managed_user.name} (@#{managed_user.nickname})" })
+ end
+ end
+
+ context "when searching by nickname" do
+ it "returns the id, name and nickname for filtered users and user groups" do
+ get :user_entities, format: :json, params: { term: "@daisy" }
+ expect(parsed_response).to include({ value: user.id, label: "#{user.name} (@#{user.nickname})" })
+ expect(parsed_response).to include({ value: user_group.id, label: "#{user_group.name} (@#{user_group.nickname})" })
+ expect(parsed_response).not_to include({ value: other_user.id, label: "#{other_user.name} (@#{other_user.nickname})" })
+ expect(parsed_response).not_to include({ value: blocked_user.id, label: "#{blocked_user.name} (@#{blocked_user.nickname})" })
+ expect(parsed_response).not_to include({ value: deleted_user.id, label: "#{deleted_user.name} (@#{deleted_user.nickname})" })
+ expect(parsed_response).not_to include({ value: managed_user.id, label: "#{managed_user.name} (@#{managed_user.nickname})" })
+ end
+ end
+
+ context "when searching by email" do
+ it "returns the id, name and nickname for filtered users and user groups" do
+ get :user_entities, format: :json, params: { term: "d.mail" }
+ expect(parsed_response).to include({ value: user.id, label: "#{user.name} (@#{user.nickname})" })
+ expect(parsed_response).to include({ value: user_group.id, label: "#{user_group.name} (@#{user_group.nickname})" })
+ expect(parsed_response).not_to include({ value: other_user.id, label: "#{other_user.name} (@#{other_user.nickname})" })
+ expect(parsed_response).not_to include({ value: blocked_user.id, label: "#{blocked_user.name} (@#{blocked_user.nickname})" })
+ expect(parsed_response).not_to include({ value: deleted_user.id, label: "#{deleted_user.name} (@#{deleted_user.nickname})" })
+ expect(parsed_response).not_to include({ value: managed_user.id, label: "#{managed_user.name} (@#{managed_user.nickname})" })
+ end
+ end
+
+ context "when user is blocked" do
+ let!(:user) { create(:user, :blocked, name: "Daisy Miller", nickname: "daisy_m", organization: organization) }
+
+ it "returns an empty json array" do
+ get :users, format: :json, params: { term: "daisy" }
+ expect(parsed_response).to eq([])
+ end
+ end
+
+ context "when user is managed" do
+ let!(:user) { create(:user, :managed, name: "Daisy Miller", nickname: "daisy_m", organization: organization) }
+
+ it "returns an empty json array" do
+ get :users, format: :json, params: { term: "daisy" }
+ expect(parsed_response).to eq([])
+ end
+ end
+
+ context "when user is deleted" do
+ let!(:user) { create(:user, :deleted, name: "Daisy Miller", nickname: "daisy_m", organization: organization) }
+
+ it "returns an empty json array" do
+ get :users, format: :json, params: { term: "daisy" }
+ expect(parsed_response).to eq([])
+ end
+ end
+ end
+
+ describe "GET users in json format" do
+ let!(:user) { create(:user, name: "Daisy Miller", nickname: "daisy_m", organization: organization) }
+ let!(:other_user) { create(:user, name: "Daisy O'connor", nickname: "daisy_o") }
+ let!(:user_group) do
+ create(
+ :user_group,
+ :verified,
+ name: "Daisy Organization",
+ nickname: "daysy_org",
+ users: [user],
+ organization: organization
+ )
+ end
+
+ let(:parsed_response) { JSON.parse(response.body).map(&:symbolize_keys) }
+
+ context "when no search term is provided" do
+ it "returns an empty result set" do
+ get :users, format: :json, params: {}
+ expect(parsed_response).to eq([])
+ end
+ end
+
+ context "when there are no results" do
+ it "returns an empty json array" do
+ get :users, format: :json, params: { term: "#0" }
+ expect(parsed_response).to eq([])
+ end
+ end
+
+ context "when searching by name" do
+ it "returns the id, name and nickname for filtered users" do
+ get :users, format: :json, params: { term: "daisy" }
+ expect(parsed_response).to eq([{ value: user.id, label: "#{user.name} (@#{user.nickname})" }])
+ end
+ end
+
+ context "when searching by nickname" do
+ it "returns the id, name and nickname for filtered users" do
+ get :users, format: :json, params: { term: "@daisy" }
+ expect(parsed_response).to eq([{ value: user.id, label: "#{user.name} (@#{user.nickname})" }])
+ end
+ end
+
+ context "when searching by email" do
+ it "returns the id, name and nickname for filtered users" do
+ get :users, format: :json, params: { term: user.email }
+ expect(parsed_response).to eq([{ value: user.id, label: "#{user.name} (@#{user.nickname})" }])
+ end
+ end
+
+ context "when user is blocked" do
+ let!(:user) { create(:user, :blocked, name: "Daisy Miller", nickname: "daisy_m", organization: organization) }
+
+ it "returns an empty json array" do
+ get :users, format: :json, params: { term: "daisy" }
+ expect(parsed_response).to eq([])
+ end
+ end
+
+ context "when user is managed" do
+ let!(:user) { create(:user, :managed, name: "Daisy Miller", nickname: "daisy_m", organization: organization) }
+
+ it "returns an empty json array" do
+ get :users, format: :json, params: { term: "daisy" }
+ expect(parsed_response).to eq([])
+ end
+ end
+
+ context "when user is deleted" do
+ let!(:user) { create(:user, :deleted, name: "Daisy Miller", nickname: "daisy_m", organization: organization) }
+
+ it "returns an empty json array" do
+ get :users, format: :json, params: { term: "daisy" }
+ expect(parsed_response).to eq([])
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/decidim-admin/spec/helpers/settings_helper_spec.rb b/decidim-admin/spec/helpers/settings_helper_spec.rb
index a218bb5fc0ba1..df1f51f89bbb7 100644
--- a/decidim-admin/spec/helpers/settings_helper_spec.rb
+++ b/decidim-admin/spec/helpers/settings_helper_spec.rb
@@ -161,6 +161,69 @@ def render_input
render_input
end
end
+
+ describe "help texts" do
+ let(:form) { Decidim::Admin::FormBuilder.new(:foo, double(name => value), template, {}) }
+ let(:template) { Class.new(ActionView::Base).new(ActionView::LookupContext.new(ActionController::Base.view_paths), {}, []) }
+ let(:type) { :boolean }
+ let(:name) { :guided }
+
+ it "renders the help text" do
+ expect(render_input).to include(%(Help text))
+ end
+
+ context "with HTML enriched help text" do
+ let(:name) { :guided_rich }
+
+ it "renders the HTML formatted help text" do
+ expect(render_input).to include(%(HTML help text))
+ end
+ end
+ end
+
+ describe "#text_for_setting" do
+ let(:name) { :guided }
+
+ context "with inexistent suffix" do
+ let(:suffix) { :inexistent }
+
+ it "doesn't render anything" do
+ expect(helper.send(:text_for_setting, name, suffix, i18n_scope)).to be_nil
+ end
+ end
+
+ context "with readonly" do
+ let(:suffix) { "readonly" }
+
+ it "renders the text" do
+ expect(helper.send(:text_for_setting, name, suffix, i18n_scope)).to eq("Disabled input")
+ end
+
+ context "with HTML enriched text" do
+ let(:name) { :guided_rich }
+
+ it "renders the HTML formatted text" do
+ expect(helper.send(:text_for_setting, name, suffix, i18n_scope)).to eq("HTML help text for disabled input")
+ end
+ end
+ end
+
+ context "with help" do
+ let(:suffix) { "help" }
+
+ it "renders the text" do
+ expect(helper.send(:text_for_setting, name, suffix, i18n_scope)).to eq("Help text")
+ end
+
+ context "with HTML enriched text" do
+ let(:name) { :guided_rich }
+
+ it "renders the HTML formatted text" do
+ expect(helper.send(:text_for_setting, name, suffix, i18n_scope)).to eq("HTML help text")
+ end
+ end
+ end
+ end
end
end
end
diff --git a/decidim-admin/spec/permissions/decidim/admin/permissions_spec.rb b/decidim-admin/spec/permissions/decidim/admin/permissions_spec.rb
index abeb9b50c8309..b28910e37bdfe 100644
--- a/decidim-admin/spec/permissions/decidim/admin/permissions_spec.rb
+++ b/decidim-admin/spec/permissions/decidim/admin/permissions_spec.rb
@@ -16,6 +16,23 @@
let(:action_name) { :foo }
let(:action_subject) { :bar }
+ shared_examples "needs to accept Terms of Use for" do |action_subject_name, action_name|
+ let(:action_subject) { action_subject_name }
+ let(:action_name) { action_name }
+
+ context "when admin has accepted Terms of Use" do
+ let(:user) { build :user, :admin, admin_terms_accepted_at: Time.current, organization: organization }
+
+ it { is_expected.to be true }
+ end
+
+ context "when admin hasn't accepted Terms of Use" do
+ let(:user) { build :user, :admin, admin_terms_accepted_at: nil, organization: organization }
+
+ it_behaves_like "permission is not set"
+ end
+ end
+
context "when scope is not admin" do
let(:action) do
{ scope: :public, action: :foo, subject: :bar }
@@ -88,6 +105,18 @@
end
end
+ describe "user statistics" do
+ let(:action_subject) { :users_statistics }
+
+ it_behaves_like "permission is not set"
+
+ context "when reading" do
+ let(:action_name) { :read }
+
+ it { is_expected.to be true }
+ end
+ end
+
describe "metrics" do
let(:action_subject) { :metrics }
@@ -142,6 +171,10 @@
end
end
+ describe "global moderation" do
+ it_behaves_like "needs to accept Terms of Use for", :global_moderation, :read
+ end
+
describe "share tokens" do
let(:action_subject) { :share_token }
@@ -195,7 +228,9 @@
context "when organization available authorizations are not empty" do
let(:authorizations) { [:foo] }
- it { is_expected.to eq true }
+ it_behaves_like "needs to accept Terms of Use for", :managed_user, :create
+
+ it { is_expected.to be true }
end
end
diff --git a/decidim-admin/spec/system/admin_manages_organization_spec.rb b/decidim-admin/spec/system/admin_manages_organization_spec.rb
index d07d2d5982495..fa6d22104b99b 100644
--- a/decidim-admin/spec/system/admin_manages_organization_spec.rb
+++ b/decidim-admin/spec/system/admin_manages_organization_spec.rb
@@ -3,6 +3,8 @@
require "spec_helper"
describe "Admin manages organization", type: :system do
+ include ActionView::Helpers::SanitizeHelper
+
let(:organization) { create(:organization) }
let(:user) { create(:user, :admin, :confirmed, organization: organization) }
@@ -36,6 +38,9 @@
context "when using the rich text editor" do
before do
visit decidim_admin.edit_organization_path
+
+ # Makes sure in the error screenshots the editor is visible
+ page.scroll_to(find("#organization-admin_terms_of_use_body-tabs-admin_terms_of_use_body-panel-0 .editor"))
end
context "when the admin terms of use content is empty" do
@@ -339,6 +344,107 @@
)["innerHTML"]).to eq(terms_content.to_s.gsub("\n", ""))
end
end
+
+ context "when pasting content with bold text" do
+ let(:organization) do
+ create(
+ :organization,
+ admin_terms_of_use_body: Decidim::Faker::Localized.localized { "" }
+ )
+ end
+
+ let(:clipboard_content_html) do
+ # The pasted content contains always all styles for the elements, so
+ # this is just to test that the styles don't interfere with the pasted
+ # content handling.
+ styles = {
+ p: {
+ "box-sizing" => "border-box",
+ "font-family" => "Helvetica, Arial, sans-serif",
+ "font-style" => "normal"
+ },
+ strong: {
+ "box-sizing" => "border-box",
+ "font-weight" => "600",
+ "line-height" => "inherit"
+ },
+ a: {
+ "box-sizing" => "border-box",
+ "background-color" => "transparent",
+ "line-height" => "inherit",
+ "color" => "rgb(0, 102, 204)",
+ "text-decoration" => "underline",
+ "cursor" => "pointer",
+ "font-weight" => "normal"
+ },
+ br: {
+ "box-sizing" => "border-box"
+ }
+ }.transform_values { |css| css.map { |k, v| "#{k}: #{v}" }.join("; ").concat(";") }
+
+ cnt = <<~HTML
+
+ HTML
+
+ cnt.gsub("\n", "")
+ end
+
+ it "parses the pasted content correctly with the strong element" do
+ # Focus the editor before sending the paste event
+ find('div[contenteditable="true"].ql-editor').native.send_keys "a", [:backspace]
+
+ page.execute_script(
+ <<~JS
+ var dt = new DataTransfer();
+ dt.setData("text/html", #{clipboard_content_html.to_json});
+ dt.setData("text/plain", #{clipboard_content_plain.to_json});
+
+ var element = document.querySelector("#organization-admin_terms_of_use_body-tabs-admin_terms_of_use_body-panel-0 div[contenteditable='true'].ql-editor");
+ element.dispatchEvent(new ClipboardEvent("paste", { clipboardData: dt }));
+ JS
+ )
+
+ expect(find(
+ "#organization-admin_terms_of_use_body-tabs-admin_terms_of_use_body-panel-0 .editor .ql-editor"
+ )["innerHTML"]).to eq(parsed_content)
+ end
+ end
+
+ context "when the admin terms of use content has only a video" do
+ let(:organization) { create(:organization, admin_terms_of_use_body: {}) }
+
+ it "saves the content correctly with the video" do
+ within ".editor" do
+ within ".editor .ql-toolbar" do
+ find("button.ql-video").click
+ end
+ within "div[data-mode='video'].ql-tooltip.ql-editing" do
+ find("input[data-video='Embed URL']").fill_in with: "https://www.youtube.com/watch?v=f6JMgJAQ2tc"
+ find("a.ql-action").click
+ end
+ end
+
+ click_button "Update"
+
+ organization.reload
+ expect(translated(organization.admin_terms_of_use_body)).to eq(
+ %()
+ )
+ end
+ end
end
end
@@ -355,27 +461,49 @@
expect(organization[:welcome_notification_subject]).to be_nil
expect(organization.send_welcome_notification).to be_truthy
end
+ end
- context "when customizing it" do
- it "shows the custom fields and stores them" do
- visit decidim_admin.edit_organization_path
- check "Send welcome notification"
- check "Customize welcome notification"
+ context "when customizing it" do
+ it "shows the custom fields and stores them" do
+ visit decidim_admin.edit_organization_path
+ check "Send welcome notification"
+ check "Customize welcome notification"
- fill_in_i18n :organization_welcome_notification_subject, "#organization-welcome_notification_subject-tabs",
- en: "Well hello!"
+ fill_in_i18n :organization_welcome_notification_subject, "#organization-welcome_notification_subject-tabs",
+ en: "Well hello!"
- fill_in_i18n_editor :organization_welcome_notification_body, "#organization-welcome_notification_body-tabs",
- en: "
")
+ end
+
+ it "allows re-sending the form in case there was an error on the form" do
+ visit decidim_admin.edit_organization_path
+ check "Send welcome notification"
+ check "Customize welcome notification"
+
+ fill_in_i18n :organization_welcome_notification_subject, "#organization-welcome_notification_subject-tabs",
+ en: ""
+
+ click_button "Update"
+ expect(page).to have_content("There was a problem updating this organization.")
+
+ fill_in_i18n :organization_welcome_notification_subject, "#organization-welcome_notification_subject-tabs",
+ en: "Well hello!"
+
+ click_button "Update"
+ expect(page).to have_content("updated successfully")
+
+ organization.reload
+ expect(organization.send_welcome_notification).to be_truthy
+ expect(organization[:welcome_notification_subject]).to include("en" => "Well hello!")
end
end
end
diff --git a/decidim-admin/spec/system/admin_tos_acceptance_spec.rb b/decidim-admin/spec/system/admin_tos_acceptance_spec.rb
new file mode 100644
index 0000000000000..e0760e7549a07
--- /dev/null
+++ b/decidim-admin/spec/system/admin_tos_acceptance_spec.rb
@@ -0,0 +1,71 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+describe "AdminTosAcceptance", type: :system do
+ let(:organization) { create(:organization) }
+ let(:user) { create(:user, :admin, :confirmed, admin_terms_accepted_at: nil, organization: organization) }
+
+ before do
+ switch_to_host(organization.host)
+ end
+
+ describe "when an admin" do
+ before do
+ login_as user, scope: :user
+ end
+
+ context "when they visit the dashbaord" do
+ before do
+ visit decidim_admin.root_path
+ end
+
+ it "has a message that they need to accept the admin TOS" do
+ expect(page).to have_content("Please take a moment to review Admin Terms of Use. Otherwise you won't be able to manage the platform")
+ end
+
+ it "has only the Dashboard menu item in the main navigation" do
+ within ".main-nav" do
+ expect(page).to have_text("Dashboard")
+ expect(page).to have_selector("li a", count: 1)
+ end
+ end
+ end
+
+ context "when they visit other admin pages" do
+ before do
+ visit decidim_admin.newsletters_path
+ end
+
+ it "says that you're not authorized" do
+ within ".callout.alert" do
+ expect(page).to have_text("You are not authorized to perform this action")
+ end
+ end
+ end
+
+ context "when they visit the TOS page" do
+ before do
+ visit decidim_admin.admin_terms_show_path
+ end
+
+ it "renders the TOS page" do
+ expect(page).to have_text("Agree to the terms and conditions of use")
+ end
+
+ it "allows accepting the terms" do
+ click_button "I agree with the terms"
+ expect(page).to have_text("Activity")
+ expect(page).to have_text("Metrics")
+
+ within ".main-nav" do
+ expect(page).to have_text("Dashboard")
+ expect(page).to have_text("Newsletters")
+ expect(page).to have_text("Participants")
+ expect(page).to have_text("Settings")
+ expect(page).to have_text("Admin activity log")
+ end
+ end
+ end
+ end
+end
diff --git a/decidim-admin/spec/system/space_admin_manages_global_moderations_spec.rb b/decidim-admin/spec/system/space_admin_manages_global_moderations_spec.rb
index 6e310b40c8754..ae649d11cf31b 100644
--- a/decidim-admin/spec/system/space_admin_manages_global_moderations_spec.rb
+++ b/decidim-admin/spec/system/space_admin_manages_global_moderations_spec.rb
@@ -24,6 +24,37 @@
login_as user, scope: :user
end
+ context "when the user didn't accepted the admin ToS" do
+ before do
+ user.update(admin_terms_accepted_at: nil)
+ visit decidim_admin.moderations_path
+ end
+
+ it "has a message that they need to accept the admin TOS" do
+ expect(page).to have_content("You are not authorized")
+ expect(page).to have_content("Please take a moment to review Admin Terms of Use. Otherwise you won't be able to manage the platform")
+ end
+
+ it "has only the Dashboard menu item in the main navigation" do
+ within ".main-nav" do
+ expect(page).to have_text("Dashboard")
+ expect(page).to have_selector("li a", count: 1)
+ end
+ end
+
+ context "when they visit other admin pages" do
+ before do
+ visit decidim_admin.newsletters_path
+ end
+
+ it "says that you're not authorized" do
+ within ".callout.alert" do
+ expect(page).to have_text("You are not authorized to perform this action")
+ end
+ end
+ end
+ end
+
context "when the user can visualize the components" do
let!(:reportable) { create(:dummy_resource, component: current_component, title: { "en" => "
Dummy Title
" }) }
let!(:moderation) { create(:moderation, reportable: reportable) }
diff --git a/decidim-admin/spec/system/space_moderator_manages_global_moderations_spec.rb b/decidim-admin/spec/system/space_moderator_manages_global_moderations_spec.rb
index 7dac637b728b3..d0f5d440af3a2 100644
--- a/decidim-admin/spec/system/space_moderator_manages_global_moderations_spec.rb
+++ b/decidim-admin/spec/system/space_moderator_manages_global_moderations_spec.rb
@@ -8,6 +8,7 @@
:process_moderator,
:confirmed,
organization: organization,
+ admin_terms_accepted_at: Time.current,
participatory_process: participatory_space
)
end
@@ -24,6 +25,28 @@
login_as user, scope: :user
end
+ context "when the user hasn't accepted the Terms of Use" do
+ before do
+ user.update(admin_terms_accepted_at: nil)
+ end
+
+ it "doesn't have the menu item in the main navigation" do
+ visit participatory_space_path
+
+ within ".main-nav" do
+ expect(page).not_to have_text("Global moderations")
+ end
+ end
+
+ it "can't access to the Global moderations page" do
+ visit decidim_admin.moderations_path
+
+ within ".callout.alert" do
+ expect(page).to have_text("You are not authorized to perform this action")
+ end
+ end
+ end
+
context "when the user can manage a space that has moderations" do
it_behaves_like "manage moderations" do
let(:moderations_link_text) { "Global moderations" }
diff --git a/decidim-api/lib/decidim/api/version.rb b/decidim-api/lib/decidim/api/version.rb
index 08e17ca595ed8..166afaf06f8bf 100644
--- a/decidim-api/lib/decidim/api/version.rb
+++ b/decidim-api/lib/decidim/api/version.rb
@@ -4,7 +4,7 @@ module Decidim
# This holds the decidim-api version.
module Api
def self.version
- "0.26.2"
+ "0.26.4"
end
end
end
diff --git a/decidim-assemblies/app/serializers/decidim/assemblies/assembly_importer.rb b/decidim-assemblies/app/serializers/decidim/assemblies/assembly_importer.rb
index 3da1600c53f80..9888e72a7fe1c 100644
--- a/decidim-assemblies/app/serializers/decidim/assemblies/assembly_importer.rb
+++ b/decidim-assemblies/app/serializers/decidim/assemblies/assembly_importer.rb
@@ -61,8 +61,9 @@ def import(attributes, _user, opts)
meta_scope: attributes["meta_scope"],
announcement: attributes["announcement"]
)
- @imported_assembly.remote_hero_image_url = attributes["remote_hero_image_url"] if remote_file_exists?(attributes["remote_hero_image_url"])
- @imported_assembly.remote_banner_image_url = attributes["remote_banner_image_url"] if remote_file_exists?(attributes["remote_banner_image_url"])
+ @imported_assembly.attached_uploader(:hero_image).remote_url = attributes["remote_hero_image_url"] if attributes["remote_hero_image_url"].present?
+ @imported_assembly.attached_uploader(:banner_image).remote_url = attributes["remote_banner_image_url"] if attributes["remote_banner_image_url"].present?
+
@imported_assembly.save!
@imported_assembly
end
diff --git a/decidim-assemblies/config/locales/cs.yml b/decidim-assemblies/config/locales/cs.yml
index 085f24da31182..22b8a62185956 100644
--- a/decidim-assemblies/config/locales/cs.yml
+++ b/decidim-assemblies/config/locales/cs.yml
@@ -66,7 +66,7 @@ cs:
user_id: Uživatel
assembly_user_role:
email: E-mail
- name: název
+ name: Název
role: Role
errors:
models:
@@ -136,7 +136,7 @@ cs:
success: Typ shromáždění byl úspěšně aktualizován.
assembly_copies:
new:
- copy: kopírovat
+ copy: Kopírovat
select: Vyberte, která data chcete duplikovat
title: Zduplikovat shromáždění
assembly_imports:
@@ -223,18 +223,18 @@ cs:
fields:
ceased_date: Datum ukončení
designation_date: Datum označení
- full_name: název
+ full_name: Název
position: Pozice
name: Člen
positions:
- other: jiný
+ other: Ostatní
president: Prezident
secretary: Tajemník
- vice_president: Víceprezident
+ vice_president: Místopředseda
assembly_user_role:
fields:
email: E-mail
- name: název
+ name: Název
role: Role
name: Administrátor shromáždění
roles:
@@ -275,10 +275,10 @@ cs:
duration: Doba trvání
duration_help: Pokud je doba trvání tohoto shromáždění omezená, zvolte konečné datum, jinak se objeví jako neurčitá.
filters: Filtry
- images: snímky
+ images: Obrázky
included_at_help: Vyberte datum, kdy bylo toto shromáždění přidáno do aplikace Decidim. Nemusí to být nutně stejné jako datum vytvoření.
metadata: Metadata
- other: jiný
+ other: Ostatní
select_a_created_by: Vybrat vytvořeno od
select_an_area: Vyberte oblast
select_an_assembly_type: Vyberte typ shromáždění
diff --git a/decidim-assemblies/config/locales/fr.yml b/decidim-assemblies/config/locales/fr.yml
index a3071f4218295..29a8040041dd0 100644
--- a/decidim-assemblies/config/locales/fr.yml
+++ b/decidim-assemblies/config/locales/fr.yml
@@ -4,7 +4,7 @@ fr:
assemblies_setting:
enable_organization_chart: Activer le schéma d'assemblée
assembly:
- area_id: Zone d'application
+ area_id: Périmètre d'assemblée
assembly_type: Type d'assemblée
assembly_type_other: Autre type d'assemblée
banner_image: Image d'en-tête
@@ -17,7 +17,7 @@ fr:
created_by: Créé par
created_by_other: Si "autres", précisez
creation_date: Date de création
- decidim_area_id: Zone d'application
+ decidim_area_id: Périmètre d'assemblée
decidim_assemblies_type_id: Type d'assemblée
decidim_scope_id: Périmètre d'application
description: Description
@@ -43,7 +43,7 @@ fr:
published_at: Publiée à
purpose_of_action: But de l'action
scope_id: Périmètre d'application
- scopes_enabled: Périmètres d'application activés
+ scopes_enabled: Secteurs activés
short_description: Résumé
show_statistics: Afficher les statistiques
slug: Identifiant
@@ -274,7 +274,7 @@ fr:
metadata: Métadonnées
other: Autre
select_a_created_by: Sélectionnez un créateur
- select_an_area: Sélectionnez une zone d'application
+ select_an_area: Sélectionnez un périmètre d'assemblée
select_an_assembly_type: Sélectionnez un type d'assemblée
select_parent_assembly: Sélectionnez l'assemblée parente
slug_help: 'Les identifiants d''URL sont utilisés pour générer les liens qui renvoient vers cette assemblée. N''accepte que des lettres, des chiffres et des tirets et doit commencer par une lettre. Exemple: %{url}'
@@ -364,7 +364,7 @@ fr:
member_of:
member_of: Membre de
show:
- area: Zone d'application
+ area: Périmètre d'assemblée
assembly_type: Type d'assemblée
children: Sous-assemblées
closing_date: Date de clôture
diff --git a/decidim-assemblies/config/locales/gn-PY.yml b/decidim-assemblies/config/locales/gn-PY.yml
new file mode 100644
index 0000000000000..bd442b0ad85de
--- /dev/null
+++ b/decidim-assemblies/config/locales/gn-PY.yml
@@ -0,0 +1 @@
+gn:
diff --git a/decidim-assemblies/config/locales/hu.yml b/decidim-assemblies/config/locales/hu.yml
index 7f29a1ffec158..fef28e86bacfc 100644
--- a/decidim-assemblies/config/locales/hu.yml
+++ b/decidim-assemblies/config/locales/hu.yml
@@ -1,6 +1,8 @@
hu:
activemodel:
attributes:
+ assemblies_setting:
+ enable_organization_chart: Szervezeti ábra engedélyezése
assembly:
area_id: Terület
assembly_type: Gyűlés típusa
@@ -50,6 +52,7 @@ hu:
target: Ki vesz részt
title: Cím
twitter: Twitter
+ weight: Pozíció sorrend
youtube: Youtube
assembly_member:
birthday: Születésnap
@@ -58,7 +61,9 @@ hu:
designation_date: Kijelölés dátuma
full_name: Teljes név
gender: Neme
+ non_user_avatar: Profilkép
position: Pozíció
+ user_id: Felhasználó vagy csoport
assembly_user_role:
email: Email
name: Név
@@ -177,6 +182,9 @@ hu:
update:
error: Hiba történt a gyűlés adminjának frissítése során.
success: Gyűlés adminjának frissítése sikeres.
+ filters:
+ decidim_assemblies_type_id_eq:
+ label: Gyűlés típusa
menu:
assemblies: Gyűlések
assemblies_settings: Beállítások
@@ -245,6 +253,7 @@ hu:
update: "%{user_name} frissítette a gyűlések beállításait"
assembly_type:
create: "%{user_name} létrehozta a(z) %{resource_name} gyűlés típust"
+ delete: "%{user_name} áthelyezte a(z) %{resource_name} gyűlés típust"
publish: "%{user_name} közzétette a(z) %{resource_name} gyűlés típust"
unpublish: "%{user_name} visszavonta a(z) %{resource_name} gyűlés típus közzétételét"
update: "%{user_name} frissítette a(z) %{resource_name} gyűlés típust"
@@ -256,6 +265,7 @@ hu:
admin:
assemblies:
form:
+ announcement_help: Az itt megadott szöveg a gyűlés információs oldalán fog megjelenni a felhasználók számára.
duration: Időtartam
duration_help: Ha a gyűlés időtartama korlátozott, válassz befejező dátumot. Ellenkező esetben határozatlan idejű lesz.
filters: Szűrők
@@ -285,10 +295,14 @@ hu:
assembly_imports:
form:
document_legend: Dokumentum hozzáadása
+ slug_help: 'Az URL slugok a gyűlések linkjeinek generáláshoz szükségesek. Csak betűket, számokat és kötőjeleket használhatsz. Betűvel kell kezdeni. Példa: %{url}'
assembly_members:
form:
existing_user: Meglévő résztvevő
+ explanation: 'Útmutató a képhez:'
+ image_guide: Olyan fekvő képek használata ajánlott, amelyek nem tartalmaznak szöveget.
non_user: Nem résztvevő
+ non_user_avatar_help: A tagként való szerepléshez hozzájárulást kell szerezni a személyektől.
select_a_position: Válassz pozíciót
select_user: Válasszon ki egy résztvevőt
user_type: Résztvevő típusa
@@ -302,6 +316,12 @@ hu:
content_blocks:
highlighted_assemblies:
max_results: A megjelenítendő elemek maximális száma
+ new_import:
+ accepted_types:
+ json: JSON
+ assemblies:
+ show:
+ title: Erről a gyűlésről
assembly_members:
index:
members: Tagok
@@ -333,7 +353,7 @@ hu:
index:
title: Gyűlések
last_activity:
- new_assembly: Új összeszerelés
+ new_assembly: Új gyűlés
pages:
home:
highlighted_assemblies:
@@ -369,12 +389,26 @@ hu:
related_participatory_processes: Kapcsolódó részvételi folyamatok
scope: Hatáskör
social_networks: Közösségi háló
+ social_networks_title: Látogasd meg a gyűlést itt
target: Ki vesz részt benne
assembly_members:
assembly_member:
designated_on: Kijelölt
index:
title: Tagok
+ events:
+ assemblies:
+ create_assembly_member:
+ email_intro: A(z) %{resource_name} gyűlés adminisztrátora hozzáadta tagként.
+ email_outro: Ön azért kapta ezt az értesítést, mert meghívták egy gyűlésbe. Látogasson el a gyűlés oldalára a részvételhez!
+ email_subject: Ön meghívást kapott, hogy a(z) %{resource_name} gyűlés tagja legyen!
+ notification_title: Ön regisztrált a(z) %{resource_name} gyűlés tagjaként. Látogasson el a gyűlés oldalára a részvételhez!
+ assembly:
+ role_assigned:
+ email_intro: 'Önt a(z) %{role} szerephez rendelték a következő gyűlésben: "%{resource_title}".'
+ email_outro: 'Ön azért kapta ezt az értesítést, mert a(z) "%{resource_title}" gyűlésben a következő szerepet kapta: %{role}.'
+ email_subject: 'Önt a(z) %{role} szerephez rendelték itt: "%{resource_title}".'
+ notification_title: 'A(z) %{role} szerephez rendelték a következő gyűlésben: %{resource_title}.'
help:
participatory_spaces:
assemblies:
@@ -397,6 +431,8 @@ hu:
participatory_processes:
show:
related_assemblies: Kapcsolódó gyűlések
+ statistics:
+ assemblies_count: Gyűlések
errors:
messages:
cannot_be_blank: nem lehet üres
diff --git a/decidim-assemblies/config/locales/is-IS.yml b/decidim-assemblies/config/locales/is-IS.yml
index c1e790f2b78a9..b722738cb8ca5 100644
--- a/decidim-assemblies/config/locales/is-IS.yml
+++ b/decidim-assemblies/config/locales/is-IS.yml
@@ -214,6 +214,8 @@ is-IS:
public: Opinber
index:
title: Þing
+ last_activity:
+ new_assembly: Nýtt þing
pages:
home:
highlighted_assemblies:
diff --git a/decidim-assemblies/config/locales/lo-LA.yml b/decidim-assemblies/config/locales/lo-LA.yml
new file mode 100644
index 0000000000000..27a02bfece429
--- /dev/null
+++ b/decidim-assemblies/config/locales/lo-LA.yml
@@ -0,0 +1 @@
+lo:
diff --git a/decidim-assemblies/config/locales/lt.yml b/decidim-assemblies/config/locales/lt.yml
index 6c5cb837ac8c1..c4381fce95fbb 100644
--- a/decidim-assemblies/config/locales/lt.yml
+++ b/decidim-assemblies/config/locales/lt.yml
@@ -1 +1,470 @@
lt:
+ activemodel:
+ attributes:
+ assemblies_setting:
+ enable_organization_chart: Įgalinti organizacijos modelį
+ assembly:
+ area_id: Aplinka
+ assembly_type: Asamblėjos tipas
+ assembly_type_other: Kitas asamblėjos tipas
+ banner_image: Turinio juostos paveikslėlis
+ closing_date: Pabaigos data
+ closing_date_reason: Pabaigos datos priežastis
+ composition: Sudėtis
+ copy_categories: Kopijuoti kategorijas
+ copy_components: Kopijuoti komponentus
+ copy_features: Kopijuoti požymius
+ created_by: Sukurta
+ created_by_other: Sukurta kito
+ creation_date: Sukūrimo data
+ decidim_area_id: Aplinka
+ decidim_assemblies_type_id: Asamblėjos tipas
+ decidim_scope_id: Apimtis
+ description: Aprašymas
+ developer_group: Rėmėjų grupė
+ domain: Domenas
+ duration: Trukmė
+ facebook: Facebook
+ github: GitHub
+ hashtag: Grotažymė
+ hero_image: Pradžios paveikslėlis
+ included_at: Įtraukta
+ instagram: Instagram
+ internal_organisation: Vidinė organizacija
+ is_transparent: Yra skaidri
+ local_area: Organizacijos aplinka
+ meta_scope: Srities metaduomenys
+ parent_id: Pagrindinė asamblėja
+ participatory_processes_ids: Susiję dalyvaujamieji procesai
+ participatory_scope: Kas nuspręsta
+ participatory_structure: Kaip nuspręsta
+ private_space: Privati erdvė
+ promoted: Paryškinta
+ published_at: Publikuota
+ purpose_of_action: Veiksmo tikslas
+ scope_id: Apimtis
+ scopes_enabled: Įgalintos apimtys
+ short_description: Trumpas aprašymas
+ show_statistics: Rodyti statistiką
+ slug: URL priedas
+ special_features: Specialiosios ypatybės
+ subtitle: Paantraštė
+ target: Kas dalyvauja
+ title: Pavadinimas
+ twitter: Twitter
+ weight: Vieta eilėje
+ youtube: YouTube
+ assembly_member:
+ birthday: Gimimo diena
+ birthplace: Gimimo vieta
+ ceased_date: Nutraukimo data
+ designation_date: Paskyrimo data
+ full_name: Vardas, pavardė
+ gender: Lytis
+ non_user_avatar: Avataras
+ position: Pozicija
+ user_id: Vartotojas arba grupė
+ assembly_user_role:
+ email: El. paštas
+ name: Vardas
+ role: Rolė
+ errors:
+ models:
+ assembly:
+ attributes:
+ document:
+ invalid_document_type: 'Netinkamas dokumento tipas. Priimtini formatai: %{valid_mime_types}'
+ activerecord:
+ models:
+ decidim/assembly:
+ one: Asamblėja
+ few: Asamblėjos
+ many: Asamblėjos
+ other: Asamblėjos
+ decidim/assembly_member:
+ one: Asamblėjos narys
+ few: Asamblėjos nariai
+ many: Asamblėjos nariai
+ other: Asamblėjos nariai
+ decidim/assembly_user_role:
+ one: Asamblėjos naudotojo vaidmuo
+ few: Asamblėjos naudotojo vaidmenys
+ many: Asamblėjos naudotojo vaidmenys
+ other: Asamblėjos naudotojo vaidmenys
+ decidim:
+ admin:
+ actions:
+ import_assembly: Importuoti
+ new_assembly: Nauja asamblėja
+ new_assembly_type: Naujas asamblėjos tipas
+ assemblies:
+ create:
+ error: Kuriant naują asamblėją iškilo problema.
+ success: Asamblėja sukurta.
+ edit:
+ update: Atnaujinti
+ index:
+ not_published: Nepublikuota
+ private: Privati
+ public: Vieša
+ published: Publikuota
+ new:
+ create: Sukurti
+ title: Nauja asamblėja
+ update:
+ error: Atnaujinant šią asamblėją iškilo problema.
+ success: Asamblėja atnaujinta.
+ assemblies_copies:
+ create:
+ error: Dubliuojant šią asamblėją iškilo problema.
+ success: Asamblėja dubliuota.
+ assemblies_settings:
+ update:
+ error: Atnaujinant nustatymus iškilo problema.
+ success: Nustatymai sėkmingai atnaujinti.
+ assemblies_types:
+ create:
+ error: Kuriant naujos asamblėjos tipą iškilo problema.
+ success: Asamblėjos tipas sukurtas.
+ destroy:
+ success: Asamblėjos tipas pašalintas.
+ new:
+ create: Sukurti
+ title: Naujas asamblėjos tipas
+ update:
+ error: Atnaujinant asamblėjos tipą iškilo problema.
+ success: Asamblėjos tipas atnaujintas.
+ assembly_copies:
+ new:
+ copy: Kopijuoti
+ select: Pasirinkite, kuriuos duomenis norėtumėte dubliuoti
+ title: Dublikuoti asamblėją
+ assembly_imports:
+ create:
+ error: Importuojant asamblėją iškilo problema.
+ success: Asamblėja importuota.
+ new:
+ import: Importuoti
+ select: Pasirinkite, kuriuos duomenis norėtumėte importuoti
+ title: Importuoti asamblėją
+ assembly_members:
+ create:
+ error: Įtraukiant naują šios asamblėjos narį iškilo problema.
+ success: Šios asamblėjos narys sukurtas sėkmingai.
+ destroy:
+ success: Šios asamblėjos narys pašalintas sėkmingai.
+ edit:
+ title: Atnaujinti asamblėjos narį.
+ update: Atnaujinti
+ index:
+ assembly_members_title: Asamblėjos nariai
+ new:
+ create: Sukurti
+ title: Naujas asamblėjos narys.
+ update:
+ error: Atnaujinant šios asamblėjos narį iškilo problema.
+ success: Šios asamblėjos narys atnaujintas sėkmingai.
+ assembly_publications:
+ create:
+ error: Skelbiant šią asamblėją iškilo problema.
+ success: Asamblėja sėkmingai publikuota.
+ destroy:
+ error: Depublikuojant asamblėją kilo problema.
+ success: Asamblėja sėkmingai depublikuota.
+ assembly_user_roles:
+ create:
+ error: Pridedant naują asamblėjos administratorijų kilo problema.
+ success: Administratorius sėkmingai pridėtas prie asamblėjos.
+ destroy:
+ success: Administratorius sėkmingai panaikintas iš šios asamblėjos.
+ edit:
+ title: Atnaujinti asamblėjos administratorių.
+ update: Atnaujinti
+ index:
+ assembly_admins_title: Asamblėjos administratoriai
+ new:
+ create: Sukurti
+ title: Naujas asamblėjos administratorius.
+ update:
+ error: Atnaujinant asamblėjos administratorių kilo problema.
+ success: Šios asamblėjos administratorius sėkmingai atnaujintas.
+ filters:
+ decidim_assemblies_type_id_eq:
+ label: Asamblėjos tipas
+ menu:
+ assemblies: Asamblėjos
+ assemblies_settings: Nustatymai
+ assemblies_submenu:
+ assembly_admins: Asamblėjos administratoriai
+ assembly_members: Nariai
+ attachment_collections: Aplankai
+ attachment_files: Dokumentai
+ attachments: Priedai
+ categories: Kategorijos
+ components: Komponentai
+ info: Informacija
+ moderations: Moderavimai
+ private_users: Privatūs naudotojai
+ assemblies_types: Asamblėjų tipai
+ models:
+ assemblies_types:
+ fields:
+ created_at: Sukurta
+ title: Pavadinimas
+ assembly:
+ fields:
+ created_at: Sukurta
+ private: Privatu
+ promoted: Paryškinta
+ published: Publikuota
+ title: Pavadinimas
+ name: Asamblėja
+ assembly_member:
+ fields:
+ ceased_date: Nutraukimo data
+ designation_date: Paskyrimo data
+ full_name: Vardas
+ position: Pareigos
+ name: Narys
+ positions:
+ other: Kita
+ president: Prezidentas
+ secretary: Sekretorius
+ vice_president: Viceprezidentas
+ assembly_user_role:
+ fields:
+ email: El. paštas
+ name: Vardas
+ role: Rolė
+ name: Asamblėjos administratorius
+ roles:
+ admin: Administratorius
+ collaborator: Bendraautorius
+ moderator: Moderatorius
+ valuator: Vertintojas
+ titles:
+ assemblies: Asamblėjos
+ assemblies_types: Asamblėjų tipai
+ admin_log:
+ assembly:
+ create: "%{user_name} sukūrė %{resource_name} asamblėją"
+ publish: "%{user_name} publikavo %{resource_name} asamblėją"
+ unpublish: "%{user_name} depublikavo %{resource_name} asamblėją"
+ update: "%{user_name} atnaujino %{resource_name} asamblėją"
+ assembly_member:
+ create: "%{user_name} sukūrė %{resource_name} naudotoją %{space_name} asamblėjoje"
+ delete: "%{user_name} pašalino %{resource_name} narį iš %{space_name} asamblėjos"
+ update: "%{user_name} atnaujino %{resource_name} narį %{space_name} asamblėjoje"
+ assembly_setting:
+ update: "%{user_name} atnaujino asamblėjos nustatymus"
+ assembly_type:
+ create: "%{user_name} sukūrė %{resource_name} asamblėjos tipą"
+ delete: "%{user_name} pašalino %{resource_name} asamblėjos tipą"
+ publish: "%{user_name} paskelbė %{resource_name} asamblėjos tipą"
+ unpublish: "%{user_name} panaikino %{resource_name} asamblėjos tipą"
+ update: "%{user_name} atnaujino %{resource_name} asamblėjos tipą"
+ assembly_user_role:
+ create: "%{user_name} pakvietė %{resource_name} į %{space_name} asamblėją"
+ delete: "%{user_name} pašalino dalyvį %{resource_name} iš %{space_name} asamblėjos"
+ update: "%{user_name} pakeitė %{resource_name} rolę %{space_name} asamblėjoje"
+ assemblies:
+ admin:
+ assemblies:
+ form:
+ announcement_help: Čia įrašytas tekstas naudotojui bus rodomas informacijos apie asamblėją apačioje.
+ duration: Trukmė
+ duration_help: Jei šios asamblėjos veiklos trukmė ribota, pasirinkite pabaigos datą. Priešingu atveju bus rodoma, kad ji neterminuota.
+ filters: Filtrai
+ images: Vaizdai
+ included_at_help: Pasirinkite datą, kada ši asamblėja buvo įtraukta į „Decidim“. Ši data nebūtinai turi sutapti su sukūrimo data.
+ metadata: Metaduomenys
+ other: Kita
+ select_a_created_by: Pasirinkti pagal kūrėją
+ select_an_area: Pasirinkti aplinką
+ select_an_assembly_type: Pasirinkti asamblėjos tipą
+ select_parent_assembly: Pasirinkti pagrindinę asamblėją
+ slug_help: 'Nuorodos priedėliai nukreipia į šią konkrečią asamblėją. Priedėliai sudaromi iš raidžių, skaičių, brukšnių ir turi prasidėti nuo raidės. Pavyzdys: %{url}'
+ social_handlers: Socialiniai
+ title: Bendroji informacija
+ visbility: Matomumas
+ assemblies_settings:
+ edit:
+ update: Atnaujinimas
+ form:
+ title: Asamblėjų nuostatos
+ assemblies_types:
+ form:
+ title: Pavadinimas
+ assembly_copies:
+ form:
+ slug_help: 'Nuorodos priedėliai nukreipia į šią konkrečią asamblėją. Priedėliai sudaromi iš raidžių, skaičių, brukšnių ir turi prasidėti nuo raidės. Pavyzdys: %{url}'
+ assembly_imports:
+ form:
+ document_legend: Pridėti dokumentą
+ slug_help: 'Nuorodos priedėliai nukreipia į šią konkrečią asamblėją. Priedėliai sudaromi iš raidžių, skaičių, brukšnių ir turi prasidėti nuo raidės. Pavyzdys: %{url}'
+ assembly_members:
+ form:
+ existing_user: Egzistuojantis dalyvis
+ explanation: 'Paveikslėliui skirtos gairės:'
+ image_guide: Pageidautina, kad tai būtų vertikalaus formato paveikslėlis be teksto.
+ non_user: Neturintis dalyvio statuso subjektas
+ non_user_avatar_help: Turite gauti naudotojų sutikimą prieš publikuodami juos kaip narius.
+ select_a_position: Pasirinkti poziciją
+ select_user: Pasirinkti dalyvį
+ user_type: Dalyvio tipas
+ index:
+ filter:
+ all: Visi
+ ceased: Nutraukta
+ not_ceased: Nenutraukta
+ filter_by: Filtruoti pagal
+ search: Ieškoti
+ content_blocks:
+ highlighted_assemblies:
+ max_results: Didžiausias rodomų elementų skaičius
+ new_import:
+ accepted_types:
+ json: JSON
+ assemblies:
+ show:
+ title: Apie šią asamblėją
+ assembly_members:
+ index:
+ members: Nariai
+ assembly_types:
+ commission: Komisija
+ consultative_advisory: Konsultacinė / Patariamoji
+ executive: Vykdomoji
+ government: Vyriausybe
+ others: Kita
+ participatory: Dalyvaujamoji
+ working_group: Darbo grupė
+ content_blocks:
+ highlighted_assemblies:
+ name: Paryškintos asamblėjos
+ created_by:
+ city_council: Miesto taryba
+ others: Kita
+ public: Vieša
+ filter:
+ all: Visi tipai
+ commission: Komisija
+ consultative_advisory: Konsultacinė / Patariamoji
+ executive: Vykdomoji
+ government: Vyriausybė
+ help: 'Rodyti:'
+ others: Kita
+ participatory: Dalyvaujamoji
+ working_group: Darbo grupė
+ index:
+ title: Asamblėjos
+ last_activity:
+ new_assembly: Nauja asamblėja
+ pages:
+ home:
+ highlighted_assemblies:
+ active_assemblies: Aktyvios asamblėjos
+ assemblies_button_title: Nuoroda į puslapį „Asamblėjos“, kuriame pateikiamos visos asamblėjos
+ see_all_assemblies: Žiūrėti visas asamblėjas
+ user_profile:
+ member_of:
+ member_of: Narys
+ show:
+ area: Aplinka
+ assembly_type: Asamblėjos tipas
+ children: Asamblėjos
+ closing_date: Pabaigos data
+ composition: Sudėtis
+ created_by: Sukurta
+ creation_date: Sukūrimo data
+ developer_group: Rėmėjų grupė
+ duration: Trukmė
+ included_at: Įtraukta į
+ indefinite_duration: Neribota
+ internal_organisation: Vidinė organizacija
+ is_transparent:
+ 'false': neskaidru
+ 'true': skaidru
+ local_area: Organizacijos aplinka
+ participatory_scope: Kas nuspręsta
+ participatory_structure: Kaip nuspręsta
+ private_space: Tai yra uždara asamblėja
+ purpose_of_action: Veiksmo tikslas
+ read_less: Suskleisti
+ read_more: Išskleisti
+ related_participatory_processes: Susiję dalyvaujamieji procesai
+ scope: Apimtis
+ social_networks: Socialiniai tinklai
+ social_networks_title: Aplankyti asamblėją
+ target: Kas dalyvauja
+ assembly_members:
+ assembly_member:
+ designated_on: Paskirtas
+ index:
+ title: Nariai
+ events:
+ assemblies:
+ create_assembly_member:
+ email_intro: %{resource_name} asamblėjos administratorius įtraukė jus kaip vieną iš jos narių.
+ email_outro: Šį pranešimą gavote dėl to, kad esate pakviestas į asamblėją. Norėdami prisidėti, apsilankykite asamblėjos puslapyje !
+ email_subject: Esate pakviestas tapti %{resource_name} asamblėjos nariu!
+ notification_title: Jūs registravotės kaip Asamblėjos %{resource_name} narys. Peržiūrėkite asamblėjos puslapį, kad prisidėti!
+ assembly:
+ role_assigned:
+ email_intro: Jūs paskirtas asamblėjos „%{resource_title}“ %{role}.
+ email_outro: Šį pranešimą gavote dėl to, kad esate „%{resource_title}“ asamblėjos %{role}.
+ email_subject: Jūs paskirtas „%{resource_title}“ %{role}.
+ notification_title: Jūs paskirtas %{resource_title} asamblėjos %{role}.
+ help:
+ participatory_spaces:
+ assemblies:
+ contextual: "
Asamblėja yra grupė organizacijos narių, kurie periodiškai susitinka, kad priimtų sprendimus dėl konkrečios organizacijos srities arba veiklos.
Asamblėjos rengia posėdžius, kai kurie iš jų yra uždari, o kai kurie – vieši. Jeigu jie vieši, juose galima dalyvauti (pavyzdžiui, dalyvauti, įtraukti klausimus į darbotvarkę arba komentuoti šios asamblėjos pasiūlymus ir priimamus sprendimus).
Pavyzdžiui: generalinė asamblėja (ji susitinka kartą per metus, kad balsuodama nustatytų organizacijos pagrindines veiklos kryptis ir jos vykdomąsias institucijas), patariamoji taryba lygybės klausimu (ji susitinka kas du mėnesius, kad pateiktų pasiūlymų, kaip pagerinti lyčių lygybės situaciją organizacijoje), vertinimo komisija (ji susitinka kiekvieną mėnesį ir stebi procesus) arba garantijų institucija (kuri renka informaciją apie incidentus, piktnaudžiavimą arba pasiūlymus, kaip patobulinti sprendimų priėmimo procedūras).
\n"
+ page: "
Asamblėja yra grupė organizacijos narių, kurie periodiškai susitinka, kad priimtų sprendimus dėl konkrečios organizacijos srities arba veiklos.
Asamblėjos rengia posėdžius, kai kurie iš jų yra uždari, o kai kurie – vieši. Jeigu jie vieši, juose galima dalyvauti (pavyzdžiui, dalyvauti, įtraukti klausimus į darbotvarkę arba komentuoti šios asamblėjos pasiūlymus ir priimamus sprendimus).
Pavyzdžiui: generalinė asamblėja (ji susitinka kartą per metus, kad balsuodama nustatytų organizacijos pagrindines veiklos kryptis ir jos vykdomąsias institucijas), patariamoji taryba lygybės klausimu (ji susitinka kas du mėnesius, kad pateiktų pasiūlymų, kaip pagerinti lyčių lygybės situaciją organizacijoje), vertinimo komisija (ji susitinka kiekvieną mėnesį ir stebi procesus) arba garantijų institucija (kuri renka informaciją apie incidentus, piktnaudžiavimą arba pasiūlymus, kaip patobulinti sprendimų priėmimo procedūras).
\n"
+ title: Kas yra asamblėjos?
+ log:
+ value_types:
+ assembly_presenter:
+ not_found: 'Asamblėja duomenų bazėje nerasta (ID: %{id})'
+ assembly_type_presenter:
+ not_found: 'Asamblėjos tipas duomenų bazėje nerastas (ID: %{id})'
+ menu:
+ assemblies: Asamblėjos
+ metrics:
+ assemblies:
+ description: Sukurtų asamblėjų skaičius
+ object: asamblėjos
+ title: Asamblėjos
+ participatory_processes:
+ show:
+ related_assemblies: Susijusios asamblėjos
+ statistics:
+ assemblies_count: Asamblėjos
+ errors:
+ messages:
+ cannot_be_blank: negali būti tuščia
+ layouts:
+ decidim:
+ assemblies:
+ assembly:
+ more_info: Daugiau informacijos
+ take_part: Dalyvaukite
+ index:
+ children: 'Asamblėjos: '
+ organizational_chart: Organizacinė schema
+ promoted_assemblies: Paryškintos asamblėjos
+ reset_chart: Atkurti
+ order_by_assemblies:
+ assemblies:
+ one: "%{count} asamblėja"
+ few: "%{count} asamblėjos"
+ many: "%{count} asamblėjos"
+ other: "%{count} asamblėjos"
+ promoted_assembly:
+ more_info: Daugiau informacijos
+ take_part: Dalyvaukite
+ assembly_navigation:
+ assembly_member_menu_item: Nariai
+ assembly_menu_item: Asamblėja
+ assembly_widgets:
+ show:
+ take_part: Dalyvaukite
diff --git a/decidim-assemblies/config/locales/nl.yml b/decidim-assemblies/config/locales/nl.yml
index 1d4eb9def9eb0..f6d4dc02be292 100644
--- a/decidim-assemblies/config/locales/nl.yml
+++ b/decidim-assemblies/config/locales/nl.yml
@@ -118,16 +118,16 @@ nl:
success: Instellingen succesvol bijgewerkt.
assemblies_types:
create:
- error: Er is een fout opgetreden bij het maken van een nieuw assembly-type.
- success: Assemblage type is succesvol gecreëerd.
+ error: Er is een fout opgetreden bij het maken van een nieuw groepstype.
+ success: Groepstype is succesvol gecreëerd.
destroy:
success: Groep succesvol verwijderd.
new:
create: creëren
title: Nieuw groepstype
update:
- error: Er is een fout opgetreden bij het bijwerken van dit assembly-type.
- success: Assemblage type is succesvol bijgewerkt.
+ error: Er is een fout opgetreden bij het bijwerken van dit groepstype.
+ success: Groepstype is succesvol bijgewerkt.
assembly_copies:
new:
copy: Kopiëren
@@ -181,7 +181,7 @@ nl:
title: Nieuwe groepsadmin.
update:
error: Er is een fout opgetreden bij het bijwerken van een admin voor deze groep.
- success: Beheerder is succesvol bijgewerkt voor deze vergadering.
+ success: Admin is succesvol bijgewerkt voor deze groep.
filters:
decidim_assemblies_type_id_eq:
label: Groepstype
@@ -250,7 +250,7 @@ nl:
delete: "%{user_name} verwijderde het %{resource_name} lid uit de %{space_name} groep"
update: "%{user_name} heeft het %{resource_name} lid in de %{space_name} groep bijgewerkt"
assembly_setting:
- update: "%{user_name} heeft de instellingen van de Buurderijen bijgewerkt"
+ update: "%{user_name} heeft de instellingen van de groepen bijgewerkt"
assembly_type:
create: "%{user_name} heeft de groep %{resource_name} bijgewerkt"
delete: "%{user_name} heeft het groepstype %{resource_name} bijgewerkt"
@@ -283,9 +283,9 @@ nl:
visbility: Zichtbaarheid
assemblies_settings:
edit:
- update: Vernieuwen
+ update: Bijwerken
form:
- title: Instellingen voor assemblies
+ title: Instellingen voor groepen
assemblies_types:
form:
title: Titel
@@ -294,7 +294,7 @@ nl:
slug_help: 'URL-paden worden gebruikt om de URL''s te genereren die naar deze bijeenkomst verwijzen. Enkel letters, cijfers en streepjes worden toegestaan en deze moet beginnen met een letter. Voorbeeld: %{url}'
assembly_imports:
form:
- document_legend: Een document toevoegen
+ document_legend: Document toevoegen
slug_help: 'URL-slugs worden gebruikt om de URL''s te genereren die naar deze groep verwijzen. Accepteert alleen letters, cijfers en streepjes en moet beginnen met een letter. Voorbeeld: %{url}'
assembly_members:
form:
@@ -319,6 +319,9 @@ nl:
new_import:
accepted_types:
json: JSON
+ assemblies:
+ show:
+ title: Over deze groep
assembly_members:
index:
members: Leden
@@ -355,7 +358,7 @@ nl:
home:
highlighted_assemblies:
active_assemblies: Huidige events
- assemblies_button_title: Link naar de pagina van de Buurderijen die alle Buurderijen laat zien
+ assemblies_button_title: Link naar de groepspagina die alle groepen laat zien
see_all_assemblies: Bekijk alle events
user_profile:
member_of:
@@ -377,7 +380,7 @@ nl:
'false': ondoorzichtig
'true': Transparant
local_area: Organisatiegebied
- participatory_scope: Wat is besloten
+ participatory_scope: Wat wordt besloten
participatory_structure: Hoe wordt er besloten
private_space: Dit is een privé event
purpose_of_action: Doelstelling
@@ -386,6 +389,7 @@ nl:
related_participatory_processes: Verwante inspraakprocessen
scope: Scope
social_networks: Sociale netwerken
+ social_networks_title: Bezoek groep op
target: Wie doet mee
assembly_members:
assembly_member:
@@ -396,19 +400,20 @@ nl:
assemblies:
create_assembly_member:
email_intro: Een beheerder van de %{resource_name} groep heeft je toegevoegd als een van haar leden.
- email_subject: Je bent uitgenodigd om lid te worden van de %{resource_name} Buurderij!
- notification_title: Je bent geregistreerd als lid van de Buurderij %{resource_name}. Bekijk de pagina om bij te dragen!
+ email_outro: Je hebt dit bericht ontvangen omdat je bent uitgenodigd voor een groep. Bekijk de pagina van de groep om bij te dragen!
+ email_subject: Je bent uitgenodigd om lid te worden van de groep %{resource_name}
+ notification_title: Je bent geregistreerd als lid van de groep %{resource_name}. Bekijk de pagina om bij te dragen!
assembly:
role_assigned:
email_intro: Je bent toegewezen als %{role} voor de groep "%{resource_title}".
- email_outro: Je hebt deze melding ontvangen omdat je %{role} van de "%{resource_title}" bijeenkomst bent.
- email_subject: U bent toegewezen als %{role} voor "%{resource_title}".
+ email_outro: Je hebt deze melding ontvangen omdat je %{role} van de groep "%{resource_title}" bent.
+ email_subject: Je bent toegewezen als %{role} voor "%{resource_title}".
notification_title: Je bent toegewezen als %{role} voor de groep %{resource_title}.
help:
participatory_spaces:
assemblies:
contextual: "
Een groep is een groep leden van een organisatie die periodiek bijeenkomen om beslissingen te nemen over een specifiek gebied of een bepaald bereik van de organisatie.
Groepen houden vergaderingen, sommige zijn privé en sommige zijn open. Als ze open zijn, is het mogelijk om eraan deel te nemen (bijvoorbeeld: aanwezig zijn als de capaciteit het toelaat, punten toevoegen aan de agenda of commentaar geven op de voorstellen en beslissingen van dit orgel).
Voorbeelden: een algemene groep (die eenmaal per jaar bijeenkomt om de hoofdlijnen van de organisatie te bepalen, evenals haar uitvoerende organen bij stemming), een gelijkheidsadviesraad (die om de twee maanden bijeenkomt om voorstellen te doen over het verbeteren van de genderrelaties in de organisatie) zijn een evaluatiecommissie (die elke maand bijeenkomt om een proces te volgen) of een garantieorgaan (dat incidenten, misbruiken of voorstellen verzamelt om de besluitvormingsprocedures te verbeteren) allemaal voorbeelden van groepen.
\n"
- page: "
Een assemblee is een groep leden van een organisatie die periodiek bijeenkomen om beslissingen te nemen over een specifiek gebied of een bepaald bereik van de organisatie.
Assemblees houden vergaderingen, sommige zijn privé en sommige zijn open. Als ze open zijn, is het mogelijk om eraan deel te nemen (bijvoorbeeld: aanwezig zijn als de capaciteit het toelaat, punten toevoegen aan de agenda of commentaar geven op de voorstellen en beslissingen van dit orgel).
Voorbeelden: een algemene assemblee (die eenmaal per jaar bijeenkomt om de hoofdlijnen van de organisatie te bepalen, evenals haar uitvoerende organen bij stemming), een gelijkheidsadviesraad (die om de twee maanden bijeenkomt om voorstellen te doen over het verbeteren van de genderrelaties in de organisatie), een evaluatiecommissie (die elke maand bijeenkomt om een proces te volgen) of een garantieorgaan (dat incidenten, misbruiken of voorstellen verzamelt om de besluitvormingsprocedures te verbeteren) zijn allemaal voorbeelden van assemblees.
\n"
+ page: "
Een groep is samengesteld uit de leden van een organisatie die periodiek bijeenkomen om beslissingen te nemen over een specifiek domein of een bepaald thema.
Groepen houden vergaderingen, sommige zijn privé en sommige zijn open. Als ze open zijn, is het mogelijk om eraan deel te nemen (bijvoorbeeld: aanwezig zijn als de capaciteit het toelaat, punten toevoegen aan de agenda of commentaar geven op de voorstellen en beslissingen van dit orgel).
Voorbeelden: een algemene vergadering (die eenmaal per jaar bijeenkomt om de hoofdlijnen van de organisatie te bepalen, evenals haar uitvoerende organen bij stemming), een gelijkheidsadviesraad (die om de twee maanden bijeenkomt om voorstellen te doen over het verbeteren van de genderrelaties in de organisatie), een evaluatiecommissie (die elke maand bijeenkomt om een proces te volgen) of een garantieorgaan (dat incidenten, misbruiken of voorstellen verzamelt om de besluitvormingsprocedures te verbeteren) zijn allemaal voorbeelden van groepen.
\n"
title: Wat zijn groepen?
log:
value_types:
@@ -425,7 +430,7 @@ nl:
title: Groepen
participatory_processes:
show:
- related_assemblies: Verwante assemblies
+ related_assemblies: Verwante groepen
statistics:
assemblies_count: Groepen
errors:
diff --git a/decidim-assemblies/config/locales/oc-FR.yml b/decidim-assemblies/config/locales/oc-FR.yml
new file mode 100644
index 0000000000000..325b348894124
--- /dev/null
+++ b/decidim-assemblies/config/locales/oc-FR.yml
@@ -0,0 +1 @@
+oc:
diff --git a/decidim-assemblies/config/locales/pl.yml b/decidim-assemblies/config/locales/pl.yml
index fa31aae742b34..3dcf49ec9e8d1 100644
--- a/decidim-assemblies/config/locales/pl.yml
+++ b/decidim-assemblies/config/locales/pl.yml
@@ -61,6 +61,7 @@ pl:
designation_date: Data wyboru
full_name: Pełne imię i nazwisko
gender: Płeć
+ non_user_avatar: Awatar
position: Pozycja
user_id: Użytkownik
assembly_user_role:
diff --git a/decidim-assemblies/config/locales/ro-RO.yml b/decidim-assemblies/config/locales/ro-RO.yml
index b34f83bc7a696..292a3627a8917 100644
--- a/decidim-assemblies/config/locales/ro-RO.yml
+++ b/decidim-assemblies/config/locales/ro-RO.yml
@@ -322,6 +322,9 @@ ro:
new_import:
accepted_types:
json: JSON
+ assemblies:
+ show:
+ title: Despre această adunare
assembly_members:
index:
members: Membri
@@ -389,6 +392,7 @@ ro:
related_participatory_processes: Procese participative asociate
scope: Domeniu de interes
social_networks: Rețele sociale
+ social_networks_title: Vizitează adunarea pe
target: Cine participă
assembly_members:
assembly_member:
diff --git a/decidim-assemblies/config/locales/ru.yml b/decidim-assemblies/config/locales/ru.yml
index 6b3de93dff450..49998a1cf24ce 100644
--- a/decidim-assemblies/config/locales/ru.yml
+++ b/decidim-assemblies/config/locales/ru.yml
@@ -269,6 +269,8 @@ ru:
public: Граждане
index:
title: Собрания
+ last_activity:
+ new_assembly: Добавить собрание
pages:
home:
highlighted_assemblies:
diff --git a/decidim-assemblies/config/locales/sk.yml b/decidim-assemblies/config/locales/sk.yml
index 92c8e1ba5ca56..beef21bcc966a 100644
--- a/decidim-assemblies/config/locales/sk.yml
+++ b/decidim-assemblies/config/locales/sk.yml
@@ -136,6 +136,8 @@ sk:
assemblies_types:
form:
title: Názov
+ last_activity:
+ new_assembly: Nové zhromaždenie
pages:
home:
highlighted_assemblies:
diff --git a/decidim-assemblies/config/locales/sl.yml b/decidim-assemblies/config/locales/sl.yml
index 9054af69254e2..68adb9b536dc9 100644
--- a/decidim-assemblies/config/locales/sl.yml
+++ b/decidim-assemblies/config/locales/sl.yml
@@ -210,6 +210,8 @@ sl:
commission: Provizija
index:
title: Združbe
+ last_activity:
+ new_assembly: Nova združba
pages:
home:
highlighted_assemblies:
diff --git a/decidim-assemblies/config/locales/uk.yml b/decidim-assemblies/config/locales/uk.yml
index 8f0cb96ee0199..af861445c3c2c 100644
--- a/decidim-assemblies/config/locales/uk.yml
+++ b/decidim-assemblies/config/locales/uk.yml
@@ -269,6 +269,8 @@ uk:
public: Громадяни
index:
title: Збори
+ last_activity:
+ new_assembly: Додати збори
pages:
home:
highlighted_assemblies:
diff --git a/decidim-assemblies/lib/decidim/assemblies/admin_engine.rb b/decidim-assemblies/lib/decidim/assemblies/admin_engine.rb
index 03e3bad0ad8a7..df93295e46c0e 100644
--- a/decidim-assemblies/lib/decidim/assemblies/admin_engine.rb
+++ b/decidim-assemblies/lib/decidim/assemblies/admin_engine.rb
@@ -100,7 +100,9 @@ class AdminEngine < ::Rails::Engine
decidim_admin_assemblies.assemblies_path,
icon_name: "dial",
position: 2.2,
- active: :inclusive,
+ active: is_active_link?(decidim_admin_assemblies.assemblies_path) ||
+ is_active_link?(decidim_admin_assemblies.assemblies_types_path) ||
+ is_active_link?(decidim_admin_assemblies.edit_assemblies_settings_path),
if: allowed_to?(:enter, :space_area, space_name: :assemblies)
end
end
diff --git a/decidim-assemblies/lib/decidim/assemblies/version.rb b/decidim-assemblies/lib/decidim/assemblies/version.rb
index d158d20eb4599..d8e1bc97ed4f2 100644
--- a/decidim-assemblies/lib/decidim/assemblies/version.rb
+++ b/decidim-assemblies/lib/decidim/assemblies/version.rb
@@ -4,7 +4,7 @@ module Decidim
# This holds the decidim-assemblies version.
module Assemblies
def self.version
- "0.26.2"
+ "0.26.4"
end
end
end
diff --git a/decidim-assemblies/spec/commands/decidim/assemblies/admin/import_assembly_spec.rb b/decidim-assemblies/spec/commands/decidim/assemblies/admin/import_assembly_spec.rb
index a3e3772900fb6..3463942d6dc5e 100644
--- a/decidim-assemblies/spec/commands/decidim/assemblies/admin/import_assembly_spec.rb
+++ b/decidim-assemblies/spec/commands/decidim/assemblies/admin/import_assembly_spec.rb
@@ -4,6 +4,8 @@
module Decidim::Assemblies::Admin
describe ImportAssembly do
+ include Decidim::ComponentTestHelpers
+
subject { described_class.new(form) }
let(:organization) { create :organization }
@@ -38,7 +40,28 @@ module Decidim::Assemblies::Admin
let(:import_attachments) { false }
let(:import_categories) { false }
+ def stub_calls_to_external_files
+ stub_get_request_with_format(
+ "http://localhost:3000/uploads/decidim/assembly/hero_image/1/city.jpeg",
+ "image/jpeg"
+ )
+ stub_get_request_with_format(
+ "http://localhost:3000/uploads/decidim/assembly/banner_image/1/city2.jpeg",
+ "image/jpeg"
+ )
+ stub_get_request_with_format(
+ "http://localhost:3000/uploads/decidim/attachment/file/31/Exampledocument.pdf",
+ "application/pdf"
+ )
+ stub_get_request_with_format(
+ "http://localhost:3000/uploads/decidim/attachment/file/32/city.jpeg",
+ "image/jpeg"
+ )
+ end
+
shared_examples "import assembly succeeds" do
+ before { stub_calls_to_external_files }
+
it "broadcasts ok and create the assembly" do
expect { subject.call }.to(
broadcast(:ok) &&
@@ -80,6 +103,8 @@ module Decidim::Assemblies::Admin
let(:import_categories) { true }
it "imports an assembly and the categories" do
+ stub_calls_to_external_files
+
expect { subject.call }.to change { Decidim::Category.count }.by(8)
expect(Decidim::Category.distinct.select(:decidim_participatory_space_id).count).to eq 1
@@ -98,6 +123,8 @@ module Decidim::Assemblies::Admin
context "when attachment collections exists" do
it "imports a assembly and the collections" do
+ stub_calls_to_external_files
+
expect { subject.call }.to change { Decidim::AttachmentCollection.count }.by(1)
imported_assembly_collection = Decidim::AttachmentCollection.first
expect(imported_assembly_collection.name).to eq("ca" => "deleniti", "en" => "laboriosam", "es" => "quia")
diff --git a/decidim-assemblies/spec/system/admin/admin_imports_assembly_spec.rb b/decidim-assemblies/spec/system/admin/admin_imports_assembly_spec.rb
index 6989c5a35ef5c..af31d427790d0 100644
--- a/decidim-assemblies/spec/system/admin/admin_imports_assembly_spec.rb
+++ b/decidim-assemblies/spec/system/admin/admin_imports_assembly_spec.rb
@@ -11,8 +11,25 @@
visit decidim_admin_assemblies.assemblies_path
end
- context "with context" do
- before "Imports the assembly with the basic fields" do
+ context "when importing the assembly with basic fields" do
+ before do
+ stub_get_request_with_format(
+ "http://localhost:3000/uploads/decidim/assembly/hero_image/1/city.jpeg",
+ "image/jpeg"
+ )
+ stub_get_request_with_format(
+ "http://localhost:3000/uploads/decidim/assembly/banner_image/1/city2.jpeg",
+ "image/jpeg"
+ )
+ stub_get_request_with_format(
+ "http://localhost:3000/uploads/decidim/attachment/file/31/Exampledocument.pdf",
+ "application/pdf"
+ )
+ stub_get_request_with_format(
+ "http://localhost:3000/uploads/decidim/attachment/file/32/city.jpeg",
+ "image/jpeg"
+ )
+
click_link "Import", match: :first
within ".import_assembly" do
diff --git a/decidim-blogs/config/locales/gn-PY.yml b/decidim-blogs/config/locales/gn-PY.yml
new file mode 100644
index 0000000000000..bd442b0ad85de
--- /dev/null
+++ b/decidim-blogs/config/locales/gn-PY.yml
@@ -0,0 +1 @@
+gn:
diff --git a/decidim-blogs/config/locales/hu.yml b/decidim-blogs/config/locales/hu.yml
index 713ad7eb3f8ba..ced3c553f7eab 100644
--- a/decidim-blogs/config/locales/hu.yml
+++ b/decidim-blogs/config/locales/hu.yml
@@ -15,6 +15,7 @@ hu:
edit: Szerkesztés
new: Új bejegyzés
title: Műveletek
+ user_group_id: Bejegyzés létrehozása
admin:
models:
components:
@@ -29,6 +30,7 @@ hu:
success: Bejegyzés törlése sikeres
edit:
save: Frissítés
+ title: Bejegyzés szerkesztése
index:
title: Bejegyzések
new:
@@ -57,11 +59,16 @@ hu:
read_more: Bővebben
components:
blogs:
+ actions:
+ create: Létrehozás
+ destroy: Törlés
+ update: Frissítés
name: Blog
settings:
global:
announcement: Közlemény
comments_enabled: Megjegyzések engedélyezve
+ comments_max_length: Kommentek maximális hossza (Hagyjon 0 -t az alapértékhez)
step:
announcement: Közlemény
comments_blocked: Megjegyzések letiltva
@@ -74,3 +81,5 @@ hu:
email_outro: 'Ezt az értesítést azért kaptad, mert ezt követed: "%{participatory_space_title}". Leiratkozás az előző link segítségével.'
email_subject: 'Új bejegyzés ehhez: %{participatory_space_title}'
notification_title: 'A(z) %{resource_title} bejegyzés közzétéve itt: %{participatory_space_title}'
+ statistics:
+ posts_count: Bejegyzések
diff --git a/decidim-blogs/config/locales/lo-LA.yml b/decidim-blogs/config/locales/lo-LA.yml
new file mode 100644
index 0000000000000..27a02bfece429
--- /dev/null
+++ b/decidim-blogs/config/locales/lo-LA.yml
@@ -0,0 +1 @@
+lo:
diff --git a/decidim-blogs/config/locales/lt.yml b/decidim-blogs/config/locales/lt.yml
index 6c5cb837ac8c1..cb5afcbc04b6c 100644
--- a/decidim-blogs/config/locales/lt.yml
+++ b/decidim-blogs/config/locales/lt.yml
@@ -1 +1,87 @@
lt:
+ activemodel:
+ models:
+ decidim/blogs/create_post_event: Naujas tinklaraščio įrašas
+ activerecord:
+ models:
+ decidim/blogs/post:
+ one: Publikacija
+ few: Publikacijos
+ many: Publikacijos
+ other: Publikacijos
+ decidim:
+ blogs:
+ actions:
+ confirm_destroy: Ar tikrai norite ištrinti šį įrašą?
+ destroy: Ištrinti
+ edit: Redaguoti
+ new: Naujas įrašas
+ title: Veiksmai
+ user_group_id: Sukurti įrašą kaip
+ admin:
+ models:
+ components:
+ body: Pagrindinė dalis
+ post:
+ name: Publikacija
+ posts:
+ create:
+ invalid: Kuriant šį įrašą iškilo problema
+ success: Įrašas sukurtas sėkmingai
+ destroy:
+ success: Įrašas pašalintas
+ edit:
+ save: Atnaujinimas
+ title: Redaguoti publikaciją
+ index:
+ title: Publikacijos
+ new:
+ create: Sukurti
+ title: Sukurti publikaciją
+ update:
+ invalid: Išsaugant šį įrašą iškilo problema.
+ success: Įrašas išsaugotas
+ last_activity:
+ new_post_at_html: " Naujas įrašas %{link}"
+ models:
+ post:
+ fields:
+ author: Autorė(-ius)
+ body: Pagrindinė dalis
+ created_at: Sukurta
+ title: pavadinimas
+ posts:
+ show:
+ back: Grįžti į sąrašą
+ comments: Komentarai
+ view: Peržiūrėti
+ sidebar_blog:
+ comments: komentarai
+ most_commented_posts: Labiausiai komentuojamos publikacijos
+ read_more: Skaityti daugiau
+ components:
+ blogs:
+ actions:
+ create: Sukurti
+ destroy: Ištrinti
+ update: Atnaujinti
+ name: Tinklaraštis
+ settings:
+ global:
+ announcement: Pranešimas
+ comments_enabled: Komentarai įjungti
+ comments_max_length: Maksimalus komentaro ilgis (įrašyti 0 įprastam ilgiui)
+ step:
+ announcement: Pranešimas
+ comments_blocked: Komentarai užblokuoti
+ endorsements_blocked: Pritarimai užblokuoti
+ endorsements_enabled: Pritarimai aktyvuoti
+ events:
+ blogs:
+ post_created:
+ email_intro: Publikacija%{resource_title} buvo publikuota %{participatory_space_title} kurią sekate.
+ email_outro: Gavote šį pranešimą nes sekate %{participatory_space_title}. Galite nebesekti dėka praėjusios nuorodos.
+ email_subject: Nauja publikacija paskelbta %{participatory_space_title}
+ notification_title: Publikacija %{resource_title} buvo publikuota %{participatory_space_title}
+ statistics:
+ posts_count: Publikacijos
diff --git a/decidim-blogs/config/locales/nl.yml b/decidim-blogs/config/locales/nl.yml
index fc0263db4a6d4..df2c7e6006617 100644
--- a/decidim-blogs/config/locales/nl.yml
+++ b/decidim-blogs/config/locales/nl.yml
@@ -6,14 +6,14 @@ nl:
models:
decidim/blogs/post:
one: Post
- other: berichten
+ other: Posts
decidim:
blogs:
actions:
confirm_destroy: Weet je zeker dat je dit bericht wilt verwijderen?
destroy: Verwijder
edit: Bewerk
- new: Nieuw bericht
+ new: Nieuwe blogpost
title: acties
user_group_id: Bericht aanmaken als
admin:
@@ -37,8 +37,8 @@ nl:
create: creëren
title: Maak bericht
update:
- invalid: Er zijn fouten opgetreden bij het opslaan van het bericht.
- success: Bericht succesvol opgeslagen
+ invalid: Er zijn fouten opgetreden bij het opslaan van deze blogpost.
+ success: Post succesvol opgeslagen
last_activity:
new_post_at_html: "Nieuw bericht op %{link}"
models:
diff --git a/decidim-blogs/config/locales/oc-FR.yml b/decidim-blogs/config/locales/oc-FR.yml
new file mode 100644
index 0000000000000..325b348894124
--- /dev/null
+++ b/decidim-blogs/config/locales/oc-FR.yml
@@ -0,0 +1 @@
+oc:
diff --git a/decidim-blogs/lib/decidim/blogs/version.rb b/decidim-blogs/lib/decidim/blogs/version.rb
index 3fbedf6fb6494..1593e669e8efa 100644
--- a/decidim-blogs/lib/decidim/blogs/version.rb
+++ b/decidim-blogs/lib/decidim/blogs/version.rb
@@ -4,7 +4,7 @@ module Decidim
# This holds the decidim-pages version.
module Blogs
def self.version
- "0.26.2"
+ "0.26.4"
end
end
end
diff --git a/decidim-blogs/spec/events/decidim/blogs/create_post_event_spec.rb b/decidim-blogs/spec/events/decidim/blogs/create_post_event_spec.rb
index 940cb1de9c7ee..e4ab01ab7b199 100644
--- a/decidim-blogs/spec/events/decidim/blogs/create_post_event_spec.rb
+++ b/decidim-blogs/spec/events/decidim/blogs/create_post_event_spec.rb
@@ -1,7 +1,6 @@
# frozen_string_literal: true
require "spec_helper"
-require "decidim/core/test/shared_examples/simple_event"
describe Decidim::Blogs::CreatePostEvent do
let(:resource) { create :post }
diff --git a/decidim-blogs/spec/events/decidim/resource_endorsed_event_spec.rb b/decidim-blogs/spec/events/decidim/resource_endorsed_event_spec.rb
new file mode 100644
index 0000000000000..2d978f92779ab
--- /dev/null
+++ b/decidim-blogs/spec/events/decidim/resource_endorsed_event_spec.rb
@@ -0,0 +1,11 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+describe Decidim::ResourceEndorsedEvent do
+ let(:resource) { create :post, title: { en: "My blog post" } }
+ let(:resource_type) { "Post" }
+ let(:resource_text) { resource.body }
+
+ it_behaves_like "resource endorsed event"
+end
diff --git a/decidim-budgets/app/commands/decidim/budgets/admin/import_proposals_to_budgets.rb b/decidim-budgets/app/commands/decidim/budgets/admin/import_proposals_to_budgets.rb
index c31057163a7c2..97addf67f1c75 100644
--- a/decidim-budgets/app/commands/decidim/budgets/admin/import_proposals_to_budgets.rb
+++ b/decidim-budgets/app/commands/decidim/budgets/admin/import_proposals_to_budgets.rb
@@ -81,7 +81,10 @@ def origin_component
end
def proposal_already_copied?(original_proposal)
- original_proposal.linked_resources(:projects, "included_proposals").any? do |project|
+ # Note: we are including also projects from unpublished components
+ # because otherwise duplicates could be created until the component is
+ # published.
+ original_proposal.linked_resources(:projects, "included_proposals", component_published: false).any? do |project|
project.budget == form.budget
end
end
diff --git a/decidim-budgets/app/controllers/decidim/budgets/projects_controller.rb b/decidim-budgets/app/controllers/decidim/budgets/projects_controller.rb
index df750638e5f93..7a6ed8283c8f4 100644
--- a/decidim-budgets/app/controllers/decidim/budgets/projects_controller.rb
+++ b/decidim-budgets/app/controllers/decidim/budgets/projects_controller.rb
@@ -28,8 +28,8 @@ def budget
def projects
return @projects if @projects
- @projects = search.results.page(params[:page]).per(current_component.settings.projects_per_page)
- @projects = reorder(@projects)
+ @projects = reorder(search.results)
+ @projects = @projects.page(params[:page]).per(current_component.settings.projects_per_page)
end
def project
diff --git a/decidim-budgets/config/locales/ca.yml b/decidim-budgets/config/locales/ca.yml
index 4fe90b2bead3d..a26eeafbba708 100644
--- a/decidim-budgets/config/locales/ca.yml
+++ b/decidim-budgets/config/locales/ca.yml
@@ -174,13 +174,13 @@ ca:
title: Confirmar vot
budget_excess:
budget_excess:
- description: Aquest projecte sobrepassa el pressupost màxim i no es pot afegir. Si ho desitges, pots eliminar un projecte ja seleccionat per afegir aquest o donar suport d'acord amb les teves preferències.
+ description: Aquest projecte sobrepassa el pressupost màxim i no es pot afegir. Si ho desitges, pots eliminar un projecte ja seleccionat per afegir aquest o votar d'acord amb les teves preferències.
title: Pressupost excedit
close: Tancar
- description: Aquest projecte sobrepassa el pressupost màxim i no es pot afegir. Si ho desitges, pots eliminar un projecte ja seleccionat per afegir aquest o donar suport d'acord amb les teves preferències.
+ description: Aquest projecte sobrepassa el pressupost màxim i no es pot afegir. Si ho desitges, pots eliminar un projecte ja seleccionat per afegir aquest o votar d'acord amb les teves preferències.
ok: D'acord
projects_excess:
- description: Aquest projecte sobrepassa el pressupost màxim i no es pot afegir. Si ho desitges, pots eliminar un projecte ja seleccionat per afegir aquest o donar suport d'acord amb les teves preferències.
+ description: Aquest projecte sobrepassa el pressupost màxim i no es pot afegir. Si ho desitges, pots eliminar un projecte ja seleccionat per afegir aquest o votar d'acord amb les teves preferències.
title: Màxim de projectes excedit
budget_summary:
are_you_sure: Segur que vols cancel·lar el teu vot?
diff --git a/decidim-budgets/config/locales/de.yml b/decidim-budgets/config/locales/de.yml
index 7e59c07648400..0f1919840ad4b 100644
--- a/decidim-budgets/config/locales/de.yml
+++ b/decidim-budgets/config/locales/de.yml
@@ -13,6 +13,7 @@ de:
decidim_scope_id: Umfang
description: Beschreibung
proposal_ids: Ähnliche Vorschläge
+ proposals: Vorschläge
selected: Zur Implementierung ausgewählt
title: Titel
activerecord:
@@ -101,6 +102,7 @@ de:
success: "%{number} Vorschläge wurden erfolgreich in Projekte importiert"
new:
create: Importieren Sie Vorschläge in Projekte
+ import_all_accepted_proposals: Alle akzeptierten Vorschläge importieren
no_components: Es gibt keine weiteren Vorschlagskomponenten in diesem partizipativen Raum, um die Vorschläge in Projekte zu importieren.
select_component: Bitte wählen Sie eine Komponente aus
title: Vorschläge importieren
diff --git a/decidim-budgets/config/locales/fr.yml b/decidim-budgets/config/locales/fr.yml
index 56e496cd83d9d..be8b002261008 100644
--- a/decidim-budgets/config/locales/fr.yml
+++ b/decidim-budgets/config/locales/fr.yml
@@ -17,7 +17,7 @@ fr:
selected: Sélectionné pour l'implémentation
title: Titre
proposals_import:
- scope_id: Périmètre d'application
+ scope_id: Secteur
activerecord:
models:
decidim/budgets/project:
diff --git a/decidim-budgets/config/locales/gn-PY.yml b/decidim-budgets/config/locales/gn-PY.yml
new file mode 100644
index 0000000000000..bd442b0ad85de
--- /dev/null
+++ b/decidim-budgets/config/locales/gn-PY.yml
@@ -0,0 +1 @@
+gn:
diff --git a/decidim-budgets/config/locales/lo-LA.yml b/decidim-budgets/config/locales/lo-LA.yml
new file mode 100644
index 0000000000000..27a02bfece429
--- /dev/null
+++ b/decidim-budgets/config/locales/lo-LA.yml
@@ -0,0 +1 @@
+lo:
diff --git a/decidim-budgets/config/locales/lt.yml b/decidim-budgets/config/locales/lt.yml
index 6c5cb837ac8c1..a23c5562d3f70 100644
--- a/decidim-budgets/config/locales/lt.yml
+++ b/decidim-budgets/config/locales/lt.yml
@@ -1 +1,339 @@
lt:
+ activemodel:
+ attributes:
+ budget:
+ decidim_scope_id: Apimtis
+ description: Aprašymas
+ title: Pavadinimas
+ total_budget: Visas biudžetas
+ weight: Vieta eilėje
+ project:
+ budget_amount: Biudžeto dydis
+ decidim_category_id: Kategorija
+ decidim_scope_id: Apimtis
+ description: Aprašymas
+ proposal_ids: Susiję pasiūlymai
+ proposals: Pasiūlymai
+ selected: Pasirinkti įgyvendinimui
+ title: Pavadinimas
+ proposals_import:
+ scope_id: Apimtis
+ activerecord:
+ models:
+ decidim/budgets/project:
+ one: Projektas
+ few: Projektai
+ many: Projektai
+ other: Projektai
+ decidim:
+ admin:
+ filters:
+ projects:
+ category_id_eq:
+ label: Kategorija
+ scope_id_eq:
+ label: Apimtis
+ selected_at_null:
+ label: Pasirinktas
+ values:
+ 'false': Pasirinkta įgyvendinimui
+ 'true': Nepasirinkta įgyvendinimui
+ budgets:
+ actions:
+ attachment_collections: Aplankai
+ attachments: Priedai
+ confirm_destroy: Ar tikrai norite ištrinti šį projektą?
+ destroy: Ištrinti
+ edit: Redaguoti
+ edit_projects: Valdyti projektus
+ import: Importuoti pasiūlymus į projektus
+ new: Naujas %{name}
+ preview: Peržiūra
+ title: Veiksmai
+ admin:
+ budgets:
+ create:
+ invalid: Kuriant šį biudžetą iškilo problema
+ success: Biudžetas sukurtas sėkmingai
+ destroy:
+ invalid: Ištrinant šį biudžetą iškilo problema
+ success: Biudžetas sėkmingai ištrintas
+ edit:
+ title: Koreguoti biudžetą
+ update: Atnaujinti biudžetą
+ index:
+ finished_orders: Baigti balsavimai
+ pending_orders: Balsai laukiantys patvirtinimo
+ title: Biudžetai
+ users_with_finished_orders: Naudotojai užbaigę balsavimą
+ users_with_pending_orders: Naudotojai, kurių balsai laukia patvirtinimo
+ new:
+ create: Sukurti biudžetą
+ title: Naujas biudžetas
+ update:
+ invalid: Atnaujinant šį biudžetą iškilo problema
+ success: Biudžetas atnaujintas sėkmingai
+ exports:
+ projects: Projektai
+ models:
+ budget:
+ name: Biudžetas
+ project:
+ name: Projektas
+ projects:
+ create:
+ invalid: Kuriant šį projektą iškilo problema
+ success: Projektas sukurtas sėkmingai
+ destroy:
+ success: Projektas ištrintas sėkmingai
+ edit:
+ title: Redaguoti projektą
+ update: Atnaujinti
+ index:
+ finished_orders: Baigti balsavimai
+ pending_orders: Balsai laukiantys patvirtinimo
+ selected: Pasirinkta
+ title: Projektai
+ new:
+ create: Sukurti
+ title: Naujas projektas
+ update:
+ invalid: Atnaujinant šį projektą iškilo problema
+ success: Projektas atnaujintas
+ proposals_imports:
+ create:
+ invalid: Importuojant pasiūlymus į projektus kilo problema
+ success: "%{number} pasiūlymai sėkmingai įkelti į projektus"
+ new:
+ create: Importuoti pasiūlymus į projektus
+ default_budget: Numatytasis biudžetas
+ import_all_accepted_proposals: Importuoti visus priimtus projektus
+ no_components: Nėra kitų pasiūlymų komponentų šioje dalyvaujamojoje erdvėje, kuriuos būtų galima importuoti į projektus.
+ origin_component_id: Originalusis komponentas
+ select_component: Pasirinkite komponentą
+ title: Importuoti pasiūlymus
+ admin_log:
+ budget:
+ create: "%{user_name} sukūrė %{resource_name} biudžetą %{space_name} erdvėje"
+ delete: "%{user_name} ištrynė %{resource_name} biudžetą %{space_name} erdvėje"
+ update: "%{user_name} atnaujino %{resource_name} biudžetą %{space_name} erdvėje"
+ project:
+ create: "%{user_name} sukūrė %{resource_name} projektą %{space_name} erdvėje"
+ delete: "%{user_name} ištrynė %{resource_name} projektą %{space_name} erdvėje"
+ update: "%{user_name} atnaujino %{resource_name} projektą %{space_name} erdvėje"
+ budget:
+ view: Peržiūrėti visus biudžeto projektus
+ budget_information_modal:
+ back_to: Atgal į %{component_name}
+ close_modal: Uždaryti modalinį langą
+ continue: Tęsti
+ more_information: Daugiau informacijos
+ budget_list_item:
+ voting_finished: Balsavote šiame biudžete
+ voting_started: Pradėjote balsuoti šiame biudžete
+ budgets_list:
+ cancel_order:
+ more_than_one: ištrinkite balsą %{name} ir pradėkite iš naujo
+ only_one: ištrinti balsą ir pradėti iš naujo.
+ finished_message: Jūs baigėte balsuoti. Dėkojame už dalyvavimą!
+ highlighted_cta: Balsuoti dėl %{name}
+ if_change_opinion: Jeigu persigalvojote, galite
+ my_budgets: Mano biudžetai
+ progress: Baigti balsavimą
+ show: Peržiūrėti projektus
+ vote: Balsuoti
+ voted_on: Jūs balsavote dėl %{links}
+ limit_announcement:
+ cant_vote: Negalite balsuoti šito biudžeto. Pabandykite kitą biudžetą.
+ limit_reached: Turite aktyvių balsų %{links}. Tam, kad balsuoti šiame biudžete turite ištrinti balsus ir pradėti iš naujo.
+ models:
+ budget:
+ fields:
+ name: Pavadinimas
+ projects_count: Projektų skaičius
+ total_budget: Visas biudžetas
+ project:
+ fields:
+ category: Kategorija
+ id: ID
+ title: Pavadinimas
+ order_summary_mailer:
+ order_summary:
+ selected_projects: 'Jūsų pasirinkti projektai:'
+ subject: Jūs balsavote dalyvaujamojo proceso erdvėje %{space_name}
+ voted_on_space: Jūs balsavote dėl dalyvaujamojo proceso erdvės %{space_name} biudžeto %{budget_name}.
+ voted_on_space_with_scope: Jūs balsavote %{budget_name} biudžete %{space_name} dalyvaujamojoje erdvėje dėl %{scope_name}(%{scope_type}).
+ projects:
+ budget_confirm:
+ are_you_sure: Jeigu persigalvosite, galėsite balsuoti iš naujo.
+ cancel: Atšaukti
+ confirm: Patvirtinti
+ description: Šiuos projektus pasirinkote įtraukti į biudžetą.
+ title: Patvirtinti balsavimą
+ budget_excess:
+ budget_excess:
+ description: Šio projekto biudžetas viršija didžiausią nustatytą ribą ir projekto negalima pridėti. Jei norite, galite pašalinti projektą, kurį jau pasirinkote pridėti, arba balsuoti, atsižvelgami į tai kam teikiate pirmenybę.
+ title: Didžiausia nustatyta biudžeto riba viršyta
+ close: Uždaryti
+ description: Šio projekto kaina viršija didžiausią nustatytą biudžeto ribą ir projekto negalima pridėti. Jei norite, galite pašalinti projektą, kurį jau pasirinkote pridėti, arba balsuotii atsižvelgdmai į tai kam teikiate pirmenybę.
+ ok: OK
+ projects_excess:
+ description: Šio projekto biudžetas viršija didžiausią nustatytą projektų kiekio ribą ir projekto negalima pridėti. Jei norite, galite pašalinti projektą, kurį jau pasirinkote pridėti, arba balsuoti atsižvelgdami į tai kam teikiate pirmenybę.
+ title: Didžiausio nustatyto projektų skaičiaus riba viršyta
+ budget_summary:
+ are_you_sure: Ar tikrai norite atšauti savo balsą?
+ assigned: 'Priskirta:'
+ cancel_order: pašalinti balsą ir pradėti iš naujo
+ checked_out:
+ description: Jūs jau balsavote už biudžetą. Jeigu persigalvojote, galite %{cancel_link}.
+ title: Balsavimas dėl biudžeto baigtas
+ minimum_projects_rule:
+ description: Kokiems projektams, jūsų nuomone, turėtume skirti biudžetą? Pasirinkite ne mažiau kaip %{minimum_number} projektus, kuriuos norite paremti ir atitinkamai išreiškite savo prioritetus.
+ instruction: "
Pasirinkite bent %{minimum_number} projektus ir balsuokite pagal savo prioritetus tam, kad numatyti biudžeto išlaidas.
"
+ projects_rule:
+ description: Kokie projektai Jūsų manymu turėtų gauti finansavimą? Pasirinkite tarp %{minimum_number} ir %{maximum_number} projektų kurių norėtumėt ir skirkite balsuos pagal Jūsų prioritetus.
+ instruction: "
Pasirinkite tarp %{minimum_number} ir %{maximum_number} projektų ir balsuokite pagal savo prioritetus tam, kad nustatyti kam skirti biudžetą.
"
+ projects_rule_maximum_only:
+ description: Kokiems projektams, jūsų nuomone, turėtume skirti biudžetą? Pasirinkite ne mažiau kaip %{maximum_number} projektus, kuriuos norite paremti ir atitinkamai išreiškite savo prioritetus.
+ instruction: "
Pasirinkite iki %{maximum_number} projektų ir balsuokite pagal savo prioritetus tam, kad numatyti biudžeto išlaidas.
"
+ rules:
+ title: Biudžeto taisyklės
+ title: Jūs sprendžiate dėl biudžeto
+ total_budget: Visas biudžetas
+ total_projects: Viso balsų
+ vote_threshold_percent_rule:
+ description: Kokiems projektams, jūsų nuomone, turėtume skirti biudžetą? Projektams, kuriuos norite paremti, skirkite ne mažiau kaip %{minimum_budget} ir, norėdami nustatyti biudžetą, balsuokite pagal tai kam teikiate pirmenybę.
+ instruction: "
Pasirinkite bent %{minimum_budget} projektus ir balsuokite pagal savo prioritetus tam, kad numatyti biudžeto išlaidas.
"
end
+
+ # Prevents underscores to be replaced with tags in comments, such as
+ # https://github.com/org/module_with_underscores or within words such as
+ # "Look for comment_maximum_length in the code". The `no_intra_emphasis`
+ # option for Redcarpet does not apparently work for this renderer.
+ #
+ # Related issues:
+ # https://github.com/vmg/redcarpet/issues/402
+ # https://github.com/vmg/redcarpet/issues/427
+ def emphasis(text)
+ "_#{text}_"
+ end
end
end
end
diff --git a/decidim-comments/lib/decidim/comments/version.rb b/decidim-comments/lib/decidim/comments/version.rb
index fc1ad2db55ab1..ba303a2e08ccd 100644
--- a/decidim-comments/lib/decidim/comments/version.rb
+++ b/decidim-comments/lib/decidim/comments/version.rb
@@ -4,7 +4,7 @@ module Decidim
# This holds the decidim-comments version.
module Comments
def self.version
- "0.26.2"
+ "0.26.4"
end
end
end
diff --git a/decidim-comments/spec/commands/update_comment_spec.rb b/decidim-comments/spec/commands/update_comment_spec.rb
new file mode 100644
index 0000000000000..3cf1aa9d90f7b
--- /dev/null
+++ b/decidim-comments/spec/commands/update_comment_spec.rb
@@ -0,0 +1,101 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+module Decidim
+ module Comments
+ describe UpdateComment do
+ let(:organization) { create(:organization) }
+ let(:participatory_process) { create(:participatory_process, organization: organization) }
+ let(:component) { create(:component, participatory_space: participatory_process) }
+ let(:author) { create(:user, organization: organization) }
+ let(:dummy_resource) { create :dummy_resource, component: component }
+ let(:commentable) { dummy_resource }
+ let(:comment) { create :comment, author: author, commentable: commentable }
+ let(:body) { "This is a reasonable comment" }
+ let(:form_params) do
+ {
+ "comment" => {
+ "body" => body,
+ "commentable" => commentable
+ }
+ }
+ end
+ let(:form) do
+ Decidim::Comments::CommentForm.from_params(
+ form_params
+ ).with_context(
+ current_organization: organization
+ )
+ end
+ let(:current_user) { author }
+ let(:command) { described_class.new(comment, current_user, form) }
+
+ describe "call" do
+ describe "when the form is not valid" do
+ before do
+ allow(form).to receive(:invalid?).and_return(true)
+ end
+
+ it "broadcasts invalid" do
+ expect { command.call }.to broadcast(:invalid)
+ end
+
+ it "doesn't update the comment" do
+ expect { command.call }.not_to change(comment, :body)
+ end
+ end
+
+ describe "when the comment is not authored by the user" do
+ before do
+ allow(comment).to receive(:authored_by?).and_return(false)
+ end
+
+ it "broadcasts invalid" do
+ expect { command.call }.to broadcast(:invalid)
+ end
+
+ it "doesn't update the comment" do
+ expect { command.call }.not_to change(comment, :body)
+ end
+ end
+
+ describe "when the form is valid" do
+ it "broadcasts ok" do
+ expect { command.call }.to broadcast(:ok)
+ end
+
+ it "updates the comment" do
+ command.call
+ comment.reload
+ expect(comment.body).to be_kind_of(Hash)
+ expect(comment.body["en"]).to eq body
+ end
+
+ it "does not notify the followers" do
+ expect(Decidim::EventsManager).not_to receive(:publish)
+
+ command.call
+ end
+
+ it "traces the action", versioning: true do
+ expect(Decidim.traceability)
+ .to receive(:update!)
+ .with(
+ Decidim::Comments::Comment,
+ author,
+ { body: { en: "This is a reasonable comment" } },
+ { edit: true, visibility: "public-only" }
+ )
+ .and_call_original
+
+ expect { command.call }.to change(Decidim::ActionLog, :count)
+ action_log = Decidim::ActionLog.last
+ expect(action_log.version).to be_present
+ expect(action_log.version.event).to eq "update"
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/decidim-comments/spec/lib/decidim/comments/markdown_spec.rb b/decidim-comments/spec/lib/decidim/comments/markdown_spec.rb
new file mode 100644
index 0000000000000..b13c2eeb0cc82
--- /dev/null
+++ b/decidim-comments/spec/lib/decidim/comments/markdown_spec.rb
@@ -0,0 +1,33 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+module Decidim
+ module Comments
+ describe Markdown do
+ subject { markdown }
+
+ let(:markdown) { Decidim::Comments::Markdown.new }
+
+ describe "#render" do
+ subject { markdown.render(text) }
+
+ context "with underscores" do
+ let(:text) { "Look for comment_maximum_length in the code." }
+
+ it "does not replace the underscores" do
+ expect(subject).to eq("
#{text}
")
+ end
+ end
+
+ context "with underscore links" do
+ let(:text) { "Check out https://decidim.org/democracy_for_everyone for more information." }
+
+ it "does not replace the underscores" do
+ expect(subject).to eq(%(
#{text}
))
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/decidim-comments/spec/models/comment_spec.rb b/decidim-comments/spec/models/comment_spec.rb
index 1db06653d16b5..ab600e6206a03 100644
--- a/decidim-comments/spec/models/comment_spec.rb
+++ b/decidim-comments/spec/models/comment_spec.rb
@@ -132,6 +132,34 @@ module Comments
end
end
+ describe "#reported_content_url" do
+ subject { comment.reported_content_url }
+
+ let(:url_format) { "http://%{host}/processes/%{slug}/f/%{component_id}/dummy_resources/%{resource_id}#comment_%{comment_id}" }
+
+ it "returns the resource URL" do
+ expect(subject).to eq(
+ format(
+ url_format,
+ host: commentable.organization.host,
+ slug: commentable.participatory_space.slug,
+ component_id: commentable.component.id,
+ resource_id: commentable.id,
+ comment_id: comment.id
+ )
+ )
+ end
+
+ context "when the root commentable has been deleted" do
+ before do
+ comment.root_commentable.destroy!
+ comment.reload
+ end
+
+ it { is_expected.to be_nil }
+ end
+ end
+
describe "#users_to_notify_on_comment_created" do
let(:user) { create :user, organization: comment.organization }
diff --git a/decidim-conferences/app/commands/decidim/conferences/admin/invite_user_to_join_conference.rb b/decidim-conferences/app/commands/decidim/conferences/admin/invite_user_to_join_conference.rb
index 1fa229792bcd6..26d47d8cfdaf0 100644
--- a/decidim-conferences/app/commands/decidim/conferences/admin/invite_user_to_join_conference.rb
+++ b/decidim-conferences/app/commands/decidim/conferences/admin/invite_user_to_join_conference.rb
@@ -100,7 +100,7 @@ def user
def invite_user_to_sign_up
user.skip_reconfirmation!
- user.invite!(invited_by, invitation_instructions: "join_conference", conference: conference)
+ user.invite!(invited_by, invitation_instructions: "join_conference", conference: conference, registration_type: form.registration_type)
end
end
end
diff --git a/decidim-conferences/app/commands/decidim/conferences/join_conference.rb b/decidim-conferences/app/commands/decidim/conferences/join_conference.rb
index a74603b9506ec..36fec0c1062a9 100644
--- a/decidim-conferences/app/commands/decidim/conferences/join_conference.rb
+++ b/decidim-conferences/app/commands/decidim/conferences/join_conference.rb
@@ -20,6 +20,9 @@ def initialize(conference, registration_type, user)
#
# Broadcasts :ok if successful, :invalid otherwise.
def call
+ return broadcast(:invalid) unless can_join_conference?
+ return broadcast(:ok) if already_joined_conference?
+
conference.with_lock do
return broadcast(:invalid) unless can_join_conference?
@@ -58,6 +61,10 @@ def can_join_conference?
conference.registrations_enabled? && conference.has_available_slots?
end
+ def already_joined_conference?
+ conference.conference_registrations.where(user: user).any?
+ end
+
def send_email_pending_validation
Decidim::Conferences::ConferenceRegistrationMailer.pending_validation(user, conference, @registration_type).deliver_later
end
diff --git a/decidim-conferences/app/controllers/decidim/conferences/conference_program_controller.rb b/decidim-conferences/app/controllers/decidim/conferences/conference_program_controller.rb
index 02d0b6a1e7bf3..088b6b3818e0c 100644
--- a/decidim-conferences/app/controllers/decidim/conferences/conference_program_controller.rb
+++ b/decidim-conferences/app/controllers/decidim/conferences/conference_program_controller.rb
@@ -26,7 +26,7 @@ def meeting_component
end
def meetings
- return unless meeting_component.published? || !meeting_component.presence
+ return unless meeting_component&.published? || !meeting_component.presence
@meetings ||= Decidim::Meetings::Meeting.where(component: meeting_component).visible_meeting_for(current_user).order(:start_time)
end
diff --git a/decidim-conferences/app/controllers/decidim/conferences/conference_registrations_controller.rb b/decidim-conferences/app/controllers/decidim/conferences/conference_registrations_controller.rb
index bef723e877efa..f4cbb493209ae 100644
--- a/decidim-conferences/app/controllers/decidim/conferences/conference_registrations_controller.rb
+++ b/decidim-conferences/app/controllers/decidim/conferences/conference_registrations_controller.rb
@@ -4,6 +4,8 @@ module Decidim
module Conferences
# Exposes the registration resource so users can join and leave conferences.
class ConferenceRegistrationsController < Decidim::Conferences::ApplicationController
+ before_action :ensure_signed_in
+
def create
enforce_permission_to :join, :conference, conference: conference
@@ -54,6 +56,20 @@ def decline_invitation
private
+ def ensure_signed_in
+ return if user_signed_in?
+
+ case action_name
+ when "create"
+ flash[:alert] = t("conference_registrations.create.unauthorized", scope: "decidim.conferences")
+ when "decline_invitation"
+ flash[:alert] = t("conference_registrations.decline_invitation.unauthorized", scope: "decidim.conferences")
+ else
+ raise Decidim::ActionForbidden
+ end
+ redirect_to(user_has_no_permission_referer || user_has_no_permission_path)
+ end
+
def conference
@conference ||= Conference.find_by(slug: params[:conference_slug])
end
@@ -65,6 +81,7 @@ def registration_type
def redirect_after_path
referer = request.headers["Referer"]
return redirect_to(conference_path(conference)) if referer =~ /invitation_token/
+ return redirect_to(conference_path(conference)) if referer =~ %r{users/sign_in}
redirect_back fallback_location: conference_path(conference)
end
diff --git a/decidim-conferences/app/permissions/decidim/conferences/permissions.rb b/decidim-conferences/app/permissions/decidim/conferences/permissions.rb
index d00b6cbbf82fa..c1eab3c4c7b48 100644
--- a/decidim-conferences/app/permissions/decidim/conferences/permissions.rb
+++ b/decidim-conferences/app/permissions/decidim/conferences/permissions.rb
@@ -77,6 +77,7 @@ def can_leave_conference?
end
def can_decline_invitation?
+ return unless user
return unless conference.presence
return unless conference.registrations_enabled? &&
conference.conference_invites.exists?(user: user) &&
diff --git a/decidim-conferences/app/queries/decidim/conferences/organization_published_conferences.rb b/decidim-conferences/app/queries/decidim/conferences/organization_published_conferences.rb
index 99de42d302d1b..8436ef584a736 100644
--- a/decidim-conferences/app/queries/decidim/conferences/organization_published_conferences.rb
+++ b/decidim-conferences/app/queries/decidim/conferences/organization_published_conferences.rb
@@ -14,7 +14,7 @@ def query
OrganizationConferences.new(@organization),
VisibleConferences.new(@user),
PublishedConferences.new
- ).query
+ ).query.order(start_date: :desc)
end
end
end
diff --git a/decidim-conferences/app/views/decidim/conferences/admin/invite_join_conference_mailer/invite.html.erb b/decidim-conferences/app/views/decidim/conferences/admin/invite_join_conference_mailer/invite.html.erb
index 34fd0a15e1eb2..25dccb02ac011 100644
--- a/decidim-conferences/app/views/decidim/conferences/admin/invite_join_conference_mailer/invite.html.erb
+++ b/decidim-conferences/app/views/decidim/conferences/admin/invite_join_conference_mailer/invite.html.erb
@@ -1,12 +1,12 @@
diff --git a/decidim-conferences/app/views/devise/mailer/join_conference.text.erb b/decidim-conferences/app/views/devise/mailer/join_conference.text.erb
index 16145da08600c..7de23b44a2957 100644
--- a/decidim-conferences/app/views/devise/mailer/join_conference.text.erb
+++ b/decidim-conferences/app/views/devise/mailer/join_conference.text.erb
@@ -1,8 +1,8 @@
<%= t("devise.mailer.invitation_instructions.hello", email: @resource.name) %>
-<%= t("decidim.conferences.admin.invite_join_conference_mailer.invite.invited_you_to_join_a_conference", invited_by: @resource.invited_by.name, application: @resource.organization.name) %>
+<%= t("decidim.conferences.admin.invite_join_conference_mailer.invite.invited_existing_user_to_join_a_conference", invited_by: @resource.invited_by.name, application: @resource.organization.name) %>
-<%= link_to t("devise.mailer.invitation_instructions.accept"), accept_invitation_url(@resource, invitation_token: @token, invite_redirect: Decidim::EngineRouter.main_proxy(@opts[:conference]).conference_conference_registration_path(conference_slug: @opts[:conference]), host: @resource.organization.host) %>
+<%= link_to t("devise.mailer.invitation_instructions.accept"), accept_invitation_url(@resource, invitation_token: @token, invite_redirect: Decidim::EngineRouter.main_proxy(@opts[:conference]).conference_registration_type_conference_registration_path(conference_slug: @opts[:conference], registration_type_id: @opts[:registration_type]), host: @resource.organization.host) %>
<% if @resource.invitation_due_at %>
<%= t("devise.mailer.invitation_instructions.accept_until", due_date: l(@resource.invitation_due_at, format: :long)) %>
diff --git a/decidim-conferences/config/locales/ar.yml b/decidim-conferences/config/locales/ar.yml
index 9b8ed3e15a251..fb62844cca4b6 100644
--- a/decidim-conferences/config/locales/ar.yml
+++ b/decidim-conferences/config/locales/ar.yml
@@ -393,7 +393,7 @@ ar:
invite_join_conference_mailer:
invite:
decline: رفض الدعوة "%{conference_title}"
- invited_you_to_join_a_conference: "%{invited_by} للانضمام إلى مؤتمر في %{application}. يمكنك رفضه أو قبوله من خلال الروابط أدناه."
+ invited_existing_user_to_join_a_conference: "%{invited_by} للانضمام إلى مؤتمر في %{application}. يمكنك رفضه أو قبوله من خلال الروابط أدناه."
registration: التسجيل لـ "%{conference_title}"
partners:
index:
diff --git a/decidim-conferences/config/locales/ca.yml b/decidim-conferences/config/locales/ca.yml
index 12ec56a8bd42e..806c5d0913ad7 100644
--- a/decidim-conferences/config/locales/ca.yml
+++ b/decidim-conferences/config/locales/ca.yml
@@ -37,13 +37,13 @@ ca:
date: Data
link: Enllaç
title: Títol
- weight: Pes
+ weight: Ordre de posició
conference_partner:
link: Enllaç
logo: Logo
name: Nom
partner_type: Tipus de col·laboració
- weight: Pes
+ weight: Ordre de posició
conference_registration_invite:
email: Correu electrònic
name: Nom
@@ -53,7 +53,7 @@ ca:
description: Descripció
price: Cost
title: Títol
- weight: Pes
+ weight: Odre de posició
conference_speaker:
affiliation: Afiliació
avatar: Imatge de perfil
@@ -379,7 +379,8 @@ ca:
invite_join_conference_mailer:
invite:
decline: Rebutjar la invitació a '%{conference_title}'
- invited_you_to_join_a_conference: "%{invited_by} t'ha convidat a unir-te a una conferència a l'%{application}. Pots rebutjar o acceptar a través dels enllaços a continuació."
+ invited_existing_user_to_join_a_conference: "%{invited_by} t'ha convidat a unir-te a una conferència a l'%{application}. Pots rebutjar o acceptar a través dels enllaços a continuació."
+ invited_user_to_join_a_conference: "%{invited_by} t'ha convidat a unir-te a una conferència a %{application}. Pots acceptar-la a través del següent enllaç."
registration: Inscripció a '%{conference_title}'
partners:
index:
@@ -430,9 +431,11 @@ ca:
create:
invalid: S'ha produït un error en inscriure't a aquesta jornada.
success: T'has inscrit a la jornada correctament.
+ unauthorized: Cal que iniciïs la teva sessió abans d'inscriure't a la conferència.
decline_invitation:
invalid: S'ha produït un error en rebutjar la invitació.
success: Has rebutjat la invitació correctament.
+ unauthorized: Cal que iniciïs la teva sessió abans de rebutjar la invitació.
destroy:
invalid: S'ha produït un error en abandonar aquesta jornada.
success: Has abandonat la jornada correctament.
diff --git a/decidim-conferences/config/locales/cs.yml b/decidim-conferences/config/locales/cs.yml
index 83c203d81a017..297338eb732fe 100644
--- a/decidim-conferences/config/locales/cs.yml
+++ b/decidim-conferences/config/locales/cs.yml
@@ -66,7 +66,7 @@ cs:
user_id: Uživatel
conference_user_role:
email: E-mail
- name: název
+ name: Název
role: Role
errors:
models:
@@ -99,7 +99,7 @@ cs:
send_diplomas: Odeslání certifikátů o účasti
conference_copies:
new:
- copy: kopírovat
+ copy: Kopírovat
select: Vyberte, která data chcete duplikovat
title: Duplikovat konferenci
conference_publications:
@@ -222,7 +222,7 @@ cs:
conference_user_role:
fields:
email: E-mail
- name: název
+ name: Název
role: Role
name: Administrátor konference
roles:
@@ -232,7 +232,7 @@ cs:
valuator: Hodnotitel
media_link:
fields:
- date: datum
+ date: Datum
link: Odkaz
title: Název
name: Odkaz na média
@@ -240,7 +240,7 @@ cs:
fields:
link: Odkaz
logo: Logo
- name: název
+ name: Název
partner_type: Typ
name: Partner
types:
@@ -387,7 +387,8 @@ cs:
invite_join_conference_mailer:
invite:
decline: Odmítnout pozvánku '%{conference_title}'
- invited_you_to_join_a_conference: "%{invited_by} vás zve na konferenci na %{application}. Můžete jej odmítnout nebo přijmout prostřednictvím níže uvedených odkazů."
+ invited_existing_user_to_join_a_conference: "%{invited_by} vás zve na konferenci na %{application}. Můžete jej odmítnout nebo přijmout prostřednictvím níže uvedených odkazů."
+ invited_user_to_join_a_conference: "%{invited_by} vás pozval, abyste se připojili ke konferenci v %{application}. Můžete ji přijmout prostřednictvím níže uvedeného odkazu."
registration: Registrace pro "%{conference_title}"
partners:
index:
@@ -409,7 +410,7 @@ cs:
success: Konferenční certifikáty o návštěvě byly zaslány správně
conference:
registration_confirm:
- cancel: zrušení
+ cancel: Zrušit
confirm: Potvrdit
show:
free: Volný, uvolnit
@@ -438,9 +439,11 @@ cs:
create:
invalid: Do této konference došlo k problému.
success: Do konference jste se úspěšně připojili.
+ unauthorized: Před registrací na konferenci se musíte přihlásit.
decline_invitation:
invalid: Došlo k potížím s odmítnutím pozvánky.
success: Odmítli jste pozvánku úspěšně.
+ unauthorized: Před odmítnutím pozvání se musíte přihlásit.
destroy:
invalid: Při této konferenci došlo k problému.
success: Konference jste úspěšně opustili.
@@ -488,7 +491,7 @@ cs:
conference_invite:
fields:
email: E-mail
- name: název
+ name: Název
registration_type: Typ registrace
sent_at: Odeslané
status: Postavení
@@ -499,12 +502,12 @@ cs:
conference_registration:
fields:
email: E-mail
- name: název
+ name: Název
registration_type: Typ registrace
state: Stav
states:
confirmed: Potvrzeno
- pending: čekající
+ pending: Čekající
pages:
home:
highlighted_conferences:
diff --git a/decidim-conferences/config/locales/de.yml b/decidim-conferences/config/locales/de.yml
index c4bf5d6dc0c6f..ffb0c4604272f 100644
--- a/decidim-conferences/config/locales/de.yml
+++ b/decidim-conferences/config/locales/de.yml
@@ -379,7 +379,7 @@ de:
invite_join_conference_mailer:
invite:
decline: Einladung '%{conference_title}' ablehnen
- invited_you_to_join_a_conference: "%{invited_by} hat Sie eingeladen, an einer Konferenz um %{application}teilzunehmen. Sie können dies über die unten stehenden Links ablehnen oder akzeptieren."
+ invited_existing_user_to_join_a_conference: "%{invited_by} hat Sie eingeladen, an einer Konferenz um %{application}teilzunehmen. Sie können dies über die unten stehenden Links ablehnen oder akzeptieren."
registration: Registrierung für '%{conference_title}'
partners:
index:
diff --git a/decidim-conferences/config/locales/el.yml b/decidim-conferences/config/locales/el.yml
index 65e11e8b7e46b..001d6ee1af2e8 100644
--- a/decidim-conferences/config/locales/el.yml
+++ b/decidim-conferences/config/locales/el.yml
@@ -376,7 +376,7 @@ el:
invite_join_conference_mailer:
invite:
decline: Απόρριψη πρόσκλησης «%{conference_title}»
- invited_you_to_join_a_conference: "Ο χρήστης %{invited_by} σάς προσκάλεσε να συμμετάσχετε σε μια διάσκεψη στην εφαρμογή %{application}. Μπορείτε να την απορρίψετε ή να την αποδεχτείτε μέσω των παρακάτω συνδέσμων."
+ invited_existing_user_to_join_a_conference: "Ο χρήστης %{invited_by} σάς προσκάλεσε να συμμετάσχετε σε μια διάσκεψη στην εφαρμογή %{application}. Μπορείτε να την απορρίψετε ή να την αποδεχτείτε μέσω των παρακάτω συνδέσμων."
registration: Εγγραφή για τη διάσκεψη «%{conference_title}»
partners:
index:
diff --git a/decidim-conferences/config/locales/en.yml b/decidim-conferences/config/locales/en.yml
index 68abbb9bb0662..885986e903b29 100644
--- a/decidim-conferences/config/locales/en.yml
+++ b/decidim-conferences/config/locales/en.yml
@@ -380,7 +380,8 @@ en:
invite_join_conference_mailer:
invite:
decline: Decline invitation '%{conference_title}'
- invited_you_to_join_a_conference: "%{invited_by} has invited you to join a conference at %{application}. You can decline or accept it through the links below."
+ invited_existing_user_to_join_a_conference: "%{invited_by} has invited you to join a conference at %{application}. You can decline or accept it through the links below."
+ invited_user_to_join_a_conference: "%{invited_by} has invited you to join a conference at %{application}. You can accept it through the link below."
registration: Registration for '%{conference_title}'
partners:
index:
@@ -431,9 +432,11 @@ en:
create:
invalid: There was a problem joining this conference.
success: You have successfully joined the conference.
+ unauthorized: You need to sign in before registering to the conference.
decline_invitation:
invalid: There was a problem declining the invitation.
success: You have successfully declined the invitation.
+ unauthorized: You need to sign in before declining the invitation.
destroy:
invalid: There was a problem leaving this conference.
success: You have successfully left the conference.
diff --git a/decidim-conferences/config/locales/es-MX.yml b/decidim-conferences/config/locales/es-MX.yml
index 97d3ed1b72295..6df45734005fa 100644
--- a/decidim-conferences/config/locales/es-MX.yml
+++ b/decidim-conferences/config/locales/es-MX.yml
@@ -379,7 +379,8 @@ es-MX:
invite_join_conference_mailer:
invite:
decline: Rechazar invitación a '%{conference_title}'
- invited_you_to_join_a_conference: "%{invited_by} te ha invitado a unirte a una conferencia en %{application}. Puedes declinarla o aceptarla a través de los siguientes enlaces."
+ invited_existing_user_to_join_a_conference: "%{invited_by} te ha invitado a unirte a una conferencia en %{application}. Puedes declinarla o aceptarla a través de los siguientes enlaces."
+ invited_user_to_join_a_conference: "%{invited_by} te ha invitado a unirte a un encuentro en %{application}. Puedes aceptarla a través del siguiente enlace."
registration: Inscripción para '%{conference_title}'
partners:
index:
@@ -430,9 +431,11 @@ es-MX:
create:
invalid: Ha habido un problema al unirse a esta conferencia.
success: Te has unido a la conferencia con éxito.
+ unauthorized: Necesitas iniciar tu sesión antes de registrarse en la conferencia.
decline_invitation:
invalid: Ha habido un problema al rechazar la invitación.
success: Has rechazado la invitación con éxito.
+ unauthorized: Necesitas iniciar tu sesión antes de rechazar la invitación.
destroy:
invalid: Ha habido un problema al abandonar esta conferencia.
success: Has abandonado la conferencia con éxito.
diff --git a/decidim-conferences/config/locales/es-PY.yml b/decidim-conferences/config/locales/es-PY.yml
index 81b15db1d1103..5c865da0c76da 100644
--- a/decidim-conferences/config/locales/es-PY.yml
+++ b/decidim-conferences/config/locales/es-PY.yml
@@ -379,7 +379,8 @@ es-PY:
invite_join_conference_mailer:
invite:
decline: Rechazar invitación '%{conference_title}'
- invited_you_to_join_a_conference: "%{invited_by} ha invitado a unirse a una conferencia en %{application}. Puede rechazarlo o aceptarlo a través de los enlaces a continuación."
+ invited_existing_user_to_join_a_conference: "%{invited_by} ha invitado a unirse a una conferencia en %{application}. Puede rechazarlo o aceptarlo a través de los enlaces a continuación."
+ invited_user_to_join_a_conference: "%{invited_by} te ha invitado a unirte a un encuentro en %{application}. Puedes aceptarla a través del siguiente enlace."
registration: Registro para '%{conference_title}'
partners:
index:
@@ -430,9 +431,11 @@ es-PY:
create:
invalid: Ha habido un problema al unirse a esta conferencia.
success: Te has unido a la conferencia con éxito.
+ unauthorized: Necesitas iniciar tu sesión antes de registrarse en la conferencia.
decline_invitation:
invalid: Ha habido un problema al rechazar la invitación.
success: Has rechazado la invitación con éxito.
+ unauthorized: Necesitas iniciar tu sesión antes de rechazar la invitación.
destroy:
invalid: Ha habido un problema al abandonar esta conferencia.
success: Usted ha abandonado la conferencia con éxito.
diff --git a/decidim-conferences/config/locales/es.yml b/decidim-conferences/config/locales/es.yml
index afa55809776d5..9f23aceed06c5 100644
--- a/decidim-conferences/config/locales/es.yml
+++ b/decidim-conferences/config/locales/es.yml
@@ -37,13 +37,13 @@ es:
date: Fecha
link: Enlace
title: Título
- weight: Peso
+ weight: Orden de posición
conference_partner:
link: Enlace
logo: Logo
name: Nombre
partner_type: Tipo de colaboración
- weight: Peso
+ weight: Orden de posición
conference_registration_invite:
email: Correo electrónico
name: Nombre
@@ -53,7 +53,7 @@ es:
description: Descripción
price: Coste
title: Título
- weight: Peso
+ weight: Orden de posición
conference_speaker:
affiliation: Afiliación
avatar: Avatar
@@ -379,7 +379,8 @@ es:
invite_join_conference_mailer:
invite:
decline: Rechazar invitación a '%{conference_title}'
- invited_you_to_join_a_conference: "%{invited_by} te ha invitado a unirte a una conferencia en %{application}. Puedes declinar o aceptar a través de los siguientes enlaces."
+ invited_existing_user_to_join_a_conference: "%{invited_by} te ha invitado a unirte a una conferencia en %{application}. Puedes declinar o aceptar a través de los siguientes enlaces."
+ invited_user_to_join_a_conference: "%{invited_by} te ha invitado a unirte a un encuentro en %{application}. Puedes aceptarla a través del siguiente enlace."
registration: Inscripción para '%{conference_title}'
partners:
index:
@@ -430,9 +431,11 @@ es:
create:
invalid: Se ha producido un error al inscribirte a esta jornada.
success: Te has inscrito a la jornada correctamente.
+ unauthorized: Necesitas iniciar tu sesión antes de registrarse en la conferencia.
decline_invitation:
invalid: Se ha producido un error al declinar la invitación.
success: Has declinado la invitación correctamente.
+ unauthorized: Necesitas iniciar tu sesión antes de rechazar la invitación.
destroy:
invalid: Se ha producido un error al abandonar esta jornada.
success: Has abandonado la jornada correctamente.
diff --git a/decidim-conferences/config/locales/eu.yml b/decidim-conferences/config/locales/eu.yml
index 4e7fd46e3d211..5ce80112be3c4 100644
--- a/decidim-conferences/config/locales/eu.yml
+++ b/decidim-conferences/config/locales/eu.yml
@@ -377,7 +377,7 @@ eu:
invite_join_conference_mailer:
invite:
decline: Baztertu gonbidapena '%{conference_title}'
- invited_you_to_join_a_conference: "%{invited_by} gonbidatu zaitu hitzaldi batean %{application}. Beheko esteken bidez baztertu edo onartu dezakezu."
+ invited_existing_user_to_join_a_conference: "%{invited_by} gonbidatu zaitu hitzaldi batean %{application}. Beheko esteken bidez baztertu edo onartu dezakezu."
registration: '''%{conference_title}'' izen-ematea'
partners:
index:
diff --git a/decidim-conferences/config/locales/fi-plain.yml b/decidim-conferences/config/locales/fi-plain.yml
index 75d51a88e5bd4..332d09134aef4 100644
--- a/decidim-conferences/config/locales/fi-plain.yml
+++ b/decidim-conferences/config/locales/fi-plain.yml
@@ -379,7 +379,8 @@ fi-pl:
invite_join_conference_mailer:
invite:
decline: Hylkää kutsu "%{conference_title}"
- invited_you_to_join_a_conference: "%{invited_by} on kutsunut sinut konferenssiin palvelussa %{application}. Voit hylätä tai hyväksyä kutsun alla olevien linkkien avulla."
+ invited_existing_user_to_join_a_conference: "%{invited_by} on kutsunut sinut konferenssiin palvelussa %{application}. Voit hylätä tai hyväksyä kutsun alla olevien linkkien avulla."
+ invited_user_to_join_a_conference: "%{invited_by} on kutsunut sinut osallistumaan konferenssiin palvelussa %{application}. Voit hyväksyä kutsun alla esitetyn linkin kautta."
registration: Ilmoittautuminen konferenssiin "%{conference_title}"
partners:
index:
@@ -430,9 +431,11 @@ fi-pl:
create:
invalid: Konferenssiin ilmoittautumisessa tapahtui virhe.
success: Olet ilmoittautunut konferenssiin onnistuneesti.
+ unauthorized: Sinun täytyy kirjautua sisään hyväksyäksesi konferenssikutsun.
decline_invitation:
invalid: Kutsun hyläämisessä esiintyi ongelma.
success: Olet hylännyt kutsun onnistuneesti.
+ unauthorized: Sinun täytyy kirjautua sisään hylätäksesi konferenssikutsun.
destroy:
invalid: Konferenssista poistumisessa on tapahtunut virhe.
success: Olet poistunut konferenssista onnistuneeksi.
diff --git a/decidim-conferences/config/locales/fi.yml b/decidim-conferences/config/locales/fi.yml
index a5eef4b73682a..56265fa8a29b8 100644
--- a/decidim-conferences/config/locales/fi.yml
+++ b/decidim-conferences/config/locales/fi.yml
@@ -379,7 +379,8 @@ fi:
invite_join_conference_mailer:
invite:
decline: Hylkää kutsu "%{conference_title}"
- invited_you_to_join_a_conference: "%{invited_by} on kutsunut sinut konferenssiin palvelussa %{application}. Voit hylätä tai hyväksyä kutsun alla olevien linkkien avulla."
+ invited_existing_user_to_join_a_conference: "%{invited_by} on kutsunut sinut konferenssiin palvelussa %{application}. Voit hylätä tai hyväksyä kutsun alla olevien linkkien avulla."
+ invited_user_to_join_a_conference: "%{invited_by} on kutsunut sinut osallistumaan konferenssiin palvelussa %{application}. Voit hyväksyä kutsun alla esitetyn linkin kautta."
registration: Ilmoittautuminen konferenssiin "%{conference_title}"
partners:
index:
@@ -430,9 +431,11 @@ fi:
create:
invalid: Konferenssiin ilmoittautuminen epäonnistui.
success: Ilmoittautuminen konferenssiin onnistui.
+ unauthorized: Sinun täytyy kirjautua sisään hyväksyäksesi konferenssikutsun.
decline_invitation:
invalid: Kutsun hylkääminen epäonnistui.
success: Kutsun hylkääminen onnistui.
+ unauthorized: Sinun täytyy kirjautua sisään hylätäksesi konferenssikutsun.
destroy:
invalid: Konferenssista poistuminen epäonnistui.
success: Konferenssista poistuminen onnistui.
diff --git a/decidim-conferences/config/locales/fr-CA.yml b/decidim-conferences/config/locales/fr-CA.yml
index d406baf6e5288..5c155c9ca614c 100644
--- a/decidim-conferences/config/locales/fr-CA.yml
+++ b/decidim-conferences/config/locales/fr-CA.yml
@@ -379,7 +379,8 @@ fr-CA:
invite_join_conference_mailer:
invite:
decline: Refuser l'invitation '%{conference_title}'
- invited_you_to_join_a_conference: "%{invited_by} a invité à participer à une conférence à %{application}. Vous pouvez refuser ou l'accepter via les liens ci-dessous."
+ invited_existing_user_to_join_a_conference: "%{invited_by} a invité à participer à une conférence à %{application}. Vous pouvez refuser ou l'accepter via les liens ci-dessous."
+ invited_user_to_join_a_conference: "%{invited_by} vous a invité à participer à une conférence à %{application}. Vous pouvez accepter en utilisant le lien ci-dessous."
registration: Inscription pour '%{conference_title}'
partners:
index:
@@ -430,9 +431,11 @@ fr-CA:
create:
invalid: Il y a eu un problème pour rejoindre cette conférence.
success: Vous avez rejoint la conférence avec succès.
+ unauthorized: Vous devez vous connecter avant de vous inscrire à la conférence.
decline_invitation:
invalid: Il y a eu un problème pour refuser l'invitation.
success: Vous avez refusé l'invitation avec succès.
+ unauthorized: Vous devez vous connecter avant de refuser l'invitation.
destroy:
invalid: Il y a eu un problème pour quitter cette conférence.
success: Vous avez quitté la conférence avec succès.
diff --git a/decidim-conferences/config/locales/fr.yml b/decidim-conferences/config/locales/fr.yml
index 190c7728e3e1d..79f42a8cd6f10 100644
--- a/decidim-conferences/config/locales/fr.yml
+++ b/decidim-conferences/config/locales/fr.yml
@@ -23,7 +23,7 @@ fr:
registration_terms: Conditions d’inscription
registrations_enabled: Inscriptions ouvertes
scope_id: Périmètre
- scopes_enabled: Périmètres d'application activés
+ scopes_enabled: Secteurs activés
short_description: Brève description
show_statistics: Montrer les statistiques
sign_date: Date de signature
@@ -379,7 +379,8 @@ fr:
invite_join_conference_mailer:
invite:
decline: Refuser l'invitation '%{conference_title}'
- invited_you_to_join_a_conference: "%{invited_by} a invité à participer à une conférence à %{application}. Vous pouvez refuser ou l'accepter via les liens ci-dessous."
+ invited_existing_user_to_join_a_conference: "%{invited_by} a invité à participer à une conférence à %{application}. Vous pouvez refuser ou l'accepter via les liens ci-dessous."
+ invited_user_to_join_a_conference: "%{invited_by} vous a invité à participer à une conférence à %{application}. Vous pouvez accepter en utilisant le lien ci-dessous."
registration: Inscription pour '%{conference_title}'
partners:
index:
@@ -430,9 +431,11 @@ fr:
create:
invalid: Il y a eu un problème pour rejoindre cette conférence.
success: Vous avez rejoint la conférence avec succès.
+ unauthorized: Vous devez vous connecter avant de vous inscrire à la conférence.
decline_invitation:
invalid: Il y a eu un problème pour refuser l'invitation.
success: Vous avez refusé l'invitation avec succès.
+ unauthorized: Vous devez vous connecter avant de refuser l'invitation.
destroy:
invalid: Il y a eu un problème pour quitter cette conférence.
success: Vous avez quitté la conférence avec succès.
diff --git a/decidim-conferences/config/locales/gl.yml b/decidim-conferences/config/locales/gl.yml
index 9f476c578084a..e485ba469844d 100644
--- a/decidim-conferences/config/locales/gl.yml
+++ b/decidim-conferences/config/locales/gl.yml
@@ -373,7 +373,7 @@ gl:
invite_join_conference_mailer:
invite:
decline: Declina a invitación '%{conference_title}'
- invited_you_to_join_a_conference: "%{invited_by} convidoute a unirse a unha conferencia en %{application}. Podes rexeitalo ou aceptalo a través das ligazóns a continuación."
+ invited_existing_user_to_join_a_conference: "%{invited_by} convidoute a unirse a unha conferencia en %{application}. Podes rexeitalo ou aceptalo a través das ligazóns a continuación."
registration: Rexistro para '%{conference_title}'
partners:
index:
diff --git a/decidim-conferences/config/locales/gn-PY.yml b/decidim-conferences/config/locales/gn-PY.yml
new file mode 100644
index 0000000000000..bd442b0ad85de
--- /dev/null
+++ b/decidim-conferences/config/locales/gn-PY.yml
@@ -0,0 +1 @@
+gn:
diff --git a/decidim-conferences/config/locales/hu.yml b/decidim-conferences/config/locales/hu.yml
index aec54bb6d8ed0..e46c70bede5c7 100644
--- a/decidim-conferences/config/locales/hu.yml
+++ b/decidim-conferences/config/locales/hu.yml
@@ -340,7 +340,7 @@ hu:
invite_join_conference_mailer:
invite:
decline: A "%{conference_title}" meghívása
- invited_you_to_join_a_conference: "%{invited_by} meghívta Önt, hogy csatlakozzon egy konferenciához %{application}kor. Az alábbi linkeken keresztül visszautasíthatja vagy elfogadhatja."
+ invited_existing_user_to_join_a_conference: "%{invited_by} meghívta Önt, hogy csatlakozzon egy konferenciához %{application}kor. Az alábbi linkeken keresztül visszautasíthatja vagy elfogadhatja."
registration: Regisztráció a '%{conference_title}' -ra
partners:
index:
diff --git a/decidim-conferences/config/locales/id-ID.yml b/decidim-conferences/config/locales/id-ID.yml
index 6eb299301be16..47c582bb1e199 100644
--- a/decidim-conferences/config/locales/id-ID.yml
+++ b/decidim-conferences/config/locales/id-ID.yml
@@ -335,7 +335,7 @@ id:
invite_join_conference_mailer:
invite:
decline: Tolak undangan '%{conference_title}'
- invited_you_to_join_a_conference: "%{invited_by} telah mengundang Anda untuk bergabung dalam konferensi di %{application}. Anda dapat menolak atau menerimanya melalui tautan di bawah ini."
+ invited_existing_user_to_join_a_conference: "%{invited_by} telah mengundang Anda untuk bergabung dalam konferensi di %{application}. Anda dapat menolak atau menerimanya melalui tautan di bawah ini."
registration: Registrasi untuk '%{conference_title}'
partners:
index:
diff --git a/decidim-conferences/config/locales/it.yml b/decidim-conferences/config/locales/it.yml
index 33f8791c39f5e..3b704bfd3faf6 100644
--- a/decidim-conferences/config/locales/it.yml
+++ b/decidim-conferences/config/locales/it.yml
@@ -377,7 +377,7 @@ it:
invite_join_conference_mailer:
invite:
decline: Rifiuta l'invito '%{conference_title}'
- invited_you_to_join_a_conference: "%{invited_by} ti ha invitato a partecipare alla conferenza %{application}. Puoi rifiutare o accettare tramite i link sottostanti."
+ invited_existing_user_to_join_a_conference: "%{invited_by} ti ha invitato a partecipare alla conferenza %{application}. Puoi rifiutare o accettare tramite i link sottostanti."
registration: Registrazione a '%{conference_title}'
partners:
index:
diff --git a/decidim-conferences/config/locales/ja.yml b/decidim-conferences/config/locales/ja.yml
index 6f857eb9faf11..3455385ba8d57 100644
--- a/decidim-conferences/config/locales/ja.yml
+++ b/decidim-conferences/config/locales/ja.yml
@@ -375,7 +375,8 @@ ja:
invite_join_conference_mailer:
invite:
decline: 招待を拒否する '%{conference_title}'
- invited_you_to_join_a_conference: "%{invited_by} が %{application}であなたをカンファレンスに招待しました。以下のリンクから拒否または承認できます。"
+ invited_existing_user_to_join_a_conference: "%{invited_by} が %{application}であなたをカンファレンスに招待しました。以下のリンクから拒否または承認できます。"
+ invited_user_to_join_a_conference: "%{invited_by} があなたを %{application} のカンファレンスに招待しました。以下のリンクから受付ができます。"
registration: '''%{conference_title} '' の登録'
partners:
index:
@@ -426,9 +427,11 @@ ja:
create:
invalid: このカンファレンスに参加するのに問題がありました。
success: カンファレンスに参加しました。
+ unauthorized: カンファレンスに登録する前にサインインする必要があります。
decline_invitation:
invalid: 招待を辞退するのに問題があった。
success: 招待を拒否しました。
+ unauthorized: 招待を辞退する前にサインインする必要があります。
destroy:
invalid: このカンファレンスから退会するのに問題がありました。
success: カンファレンスから退会しました。
diff --git a/decidim-conferences/config/locales/lb.yml b/decidim-conferences/config/locales/lb.yml
index ceb7b72d140d6..70fa29e996562 100644
--- a/decidim-conferences/config/locales/lb.yml
+++ b/decidim-conferences/config/locales/lb.yml
@@ -297,7 +297,7 @@ lb:
invite_join_conference_mailer:
invite:
decline: Einladung '%{conference_title}' ablehnen
- invited_you_to_join_a_conference: "%{invited_by} hat Sie eingeladen, an einer Konferenz um %{application}teilzunehmen. Sie können dies über die unten stehenden Links ablehnen oder akzeptieren."
+ invited_existing_user_to_join_a_conference: "%{invited_by} hat Sie eingeladen, an einer Konferenz um %{application}teilzunehmen. Sie können dies über die unten stehenden Links ablehnen oder akzeptieren."
registration: Registrierung für '%{conference_title}'
partners:
index:
diff --git a/decidim-conferences/config/locales/lo-LA.yml b/decidim-conferences/config/locales/lo-LA.yml
new file mode 100644
index 0000000000000..27a02bfece429
--- /dev/null
+++ b/decidim-conferences/config/locales/lo-LA.yml
@@ -0,0 +1 @@
+lo:
diff --git a/decidim-conferences/config/locales/lt.yml b/decidim-conferences/config/locales/lt.yml
index 6c5cb837ac8c1..8751e7a1a98b8 100644
--- a/decidim-conferences/config/locales/lt.yml
+++ b/decidim-conferences/config/locales/lt.yml
@@ -1 +1,624 @@
lt:
+ activemodel:
+ attributes:
+ conference:
+ assemblies_ids: Susijusios Asamblėjos
+ available_slots: Laisvos vietos
+ banner_image: Reklamjuostės paveikslėlis
+ consultations_ids: Susijusios Konsultacijos
+ copy_categories: Kopijuoti kategorijas
+ copy_components: Kopijuoti komponentus
+ copy_features: Kopijuoti požymius
+ decidim_scope_id: Apimtis
+ description: Aprašymas
+ end_date: Pabaigos data
+ hashtag: Grotažymė
+ hero_image: Pradžios paveikslėlis
+ location: Vieta
+ main_logo: Pagrindinis logotipas
+ objectives: Tikslai
+ participatory_processes_ids: Susiję dalyvaujamieji procesai
+ promoted: Paryškinta
+ published_at: Publikuota
+ registration_terms: Registracijos sąlygos
+ registrations_enabled: Registracijos įjungtos
+ scope_id: Apimtis
+ scopes_enabled: Sritys įjungtos
+ short_description: Trumpas aprašymas
+ show_statistics: Rodyti statistiką
+ sign_date: Pasirašymo data
+ signature: Parašas
+ signature_name: parašo pavadinimas
+ slogan: Šūkis
+ slug: URL priedas
+ start_date: Pradžios data
+ title: Pavadinimas
+ conference_media_link:
+ date: Data
+ link: Nuoroda
+ title: Pavadinimas
+ weight: Svoris
+ conference_partner:
+ link: Nuoroda
+ logo: Logotipas
+ name: Vardas
+ partner_type: Partnerio tipas
+ weight: Svoris
+ conference_registration_invite:
+ email: El. paštas
+ name: Vardas
+ registration_type_id: Registracijos tipas
+ user_id: Naudotojas
+ conference_registration_type:
+ description: Aprašymas
+ price: Kaina
+ title: Pavadinimas
+ weight: Svoris
+ conference_speaker:
+ affiliation: Organizacija
+ avatar: Avataras
+ conference_meeting_ids: Susiję susitikimai
+ full_name: Vardas, pavardė
+ personal_url: Asmeninis URL
+ position: Pozicija
+ short_bio: Trumpas gyvenimo aprašymas
+ twitter_handle: Twitter tvarkyklė
+ user_id: Naudotojas
+ conference_user_role:
+ email: El. paštas
+ name: Vardas
+ role: Rolė
+ errors:
+ models:
+ conference_registration_invite:
+ attributes:
+ email:
+ already_invited: Šio el. laiško adresatas jau buvo pakviestas
+ activerecord:
+ models:
+ decidim/conference:
+ one: Konferencija
+ few: Konferencijos
+ many: Konferencijos
+ other: Konferencijos
+ decidim/conference_speaker:
+ one: Konferencijos kalbėtoja(-s)
+ few: Konferencijos kalbėtojai(-os)
+ many: Konferencijos kalbėtojai(-os)
+ other: Konferencijos kalbėtojai(-os)
+ decidim/conference_user_role:
+ one: Konferencijos naudotojo rolė
+ few: Konferencijos naudotojų rolė
+ many: Konferencijos naudotojų rolė
+ other: Konferencijos naudotojų rolė
+ decidim:
+ admin:
+ actions:
+ confirm: Patvirtinti
+ new_conference: Nauja Konferencija
+ send_diplomas: Siųsti dalyvavimo konferencijoje pažymėjimus
+ conference_copies:
+ new:
+ copy: Kopijuoti
+ select: Pasirinkite, kuriuos duomenis norėtumėte dubliuoti
+ title: Dubliuoti konferenciją
+ conference_publications:
+ create:
+ error: Publikuojant šią konferenciją iškilo problema.
+ success: Konferencija paskelbta.
+ destroy:
+ error: Naikinant šios konferencijos skelbimą iškilo problema.
+ success: Konferencijos skelbimas panaikintas.
+ conference_registration:
+ confirm:
+ error: Patvirtinant registraciją į šią konferenciją iškilo problema.
+ success: Registracija į konferenciją patvirtinta.
+ conference_speakers:
+ create:
+ error: Įtraukiant šios konferencijos pranešėją iškilo problema.
+ success: Konferencijos pranešėjas sukurtas.
+ destroy:
+ success: Konferencijos pranešėjas pašalintas.
+ edit:
+ title: Atnaujinti konferencijos pranešėją.
+ update: Atnaujinti
+ index:
+ conference_speakers_title: Konferencijos pranešėjai
+ new:
+ create: Sukurti
+ title: Naujas konferencijos pranešėjas.
+ update:
+ error: Atnaujinant šį konferencijos pranešėją iškilo problema.
+ success: Konferencijos pranešėjas atnaujintas.
+ conference_user_roles:
+ create:
+ error: Pridedant administratorių prie konferencijos kilo problema.
+ success: Konferencijos administratorius įtrauktas.
+ destroy:
+ success: Konferencijos administratorius pašalintas.
+ edit:
+ title: Atnaujinti konferencijos administratorių.
+ update: Atnaujinti
+ index:
+ conference_admins_title: konferencijos administratoriai
+ new:
+ create: Sukurti
+ title: Naujas konferencijos administratorius.
+ update:
+ error: Atnaujinant šios konferencijos administratorių iškilo problema.
+ success: Konferencijos administratorius atnaujintas.
+ conferences:
+ create:
+ error: Kuriant šią konferenciją iškilo problema.
+ success: Konferencija sukurta.
+ edit:
+ update: Atnaujinti
+ exports:
+ registrations: Registracijos
+ form:
+ title: Bendroji informacija
+ index:
+ not_published: Nepublikuota
+ published: Publikuota
+ new:
+ create: Sukurti
+ title: Konferencija
+ update:
+ error: Atnaujinant šią konferenciją iškilo problema.
+ success: Konferencija atnaujinta.
+ conferences_copies:
+ create:
+ error: Dubliuojant šią konferenciją iškilo problema.
+ success: Konferencija dubliuota.
+ media_links:
+ create:
+ error: Kuriant naują multimedijos nuorodą iškilo problema.
+ success: Multimedijos nuoroda sukurta.
+ destroy:
+ success: Multimedijos nuoroda pašalinta.
+ edit:
+ title: Atnaujinti multimedijos nuorodą.
+ update: Atnaujinti
+ index:
+ media_links_title: Multimedijos Nuorodos
+ new:
+ create: Sukurti
+ title: Multimedijos Nuoroda
+ update:
+ error: Atnaujinant šią multimedijos nuorodą iškilo problema.
+ success: Multimedijos Nuoroda atnaujinta.
+ menu:
+ conferences: Konferencijos
+ conferences_submenu:
+ attachment_collections: Aplankai
+ attachment_files: Dokumentai
+ attachments: Priedai
+ categories: Kategorijos
+ components: Komponentai
+ conference_admins: Konferencijos administratoriai
+ conference_invites: Pakvietimai
+ conference_speakers: Pranešėjai
+ diploma: Dalyvavimo konferencijoje pažymėjimas
+ info: Informacija
+ media_links: Multimedijos Nuorodos
+ moderations: Moderavimai
+ partners: Partneriai
+ registration_types: Registracijos tipai
+ registrations: Registracijos
+ user_registrations: Naudotojų registracijos
+ models:
+ conference:
+ fields:
+ created_at: Sukurta
+ promoted: Paryškinta
+ published: Publikuota
+ title: Pavadinimas
+ conference_speaker:
+ fields:
+ affiliation: Organizacija
+ full_name: Vardas, pavardė
+ position: Pareigos
+ name: Konferencijos pranešėja(-s)
+ conference_user_role:
+ fields:
+ email: El. paštas
+ name: Vardas
+ role: Rolė
+ name: Konferencijos administratorius
+ roles:
+ admin: Administratorius
+ collaborator: Bendraautorius
+ moderator: Moderatorius
+ valuator: Vertintojas
+ media_link:
+ fields:
+ date: Data
+ link: Nuoroda
+ title: Pavadinimas
+ name: Multimedijos Nuoroda
+ partner:
+ fields:
+ link: Nuoroda
+ logo: Logotipas
+ name: Vardas
+ partner_type: Tipas
+ name: Partneris
+ types:
+ collaborator: Bendraautorius
+ main_promotor: Pagrindinis rėmėjas
+ registration_type:
+ fields:
+ conference_meetings: Konferencijos susirinkimai
+ price: Kaina
+ registrations_count: Registracijų skaičius
+ title: Pavadinimas
+ weight: Vieta eilėje
+ name: Registracijos tipas
+ partners:
+ create:
+ error: Įtraukiant šios konferencijos partnerį iškilo problema.
+ success: Konferencijos partneris įtrauktas.
+ destroy:
+ success: Konferencijos partneris pašalintas.
+ edit:
+ title: Atnaujinti partnerį.
+ update: Atnaujinti
+ new:
+ create: Sukurti
+ title: Naujas partneris
+ update:
+ error: Atnaujinant šios konferencijos partnerį iškilo problema.
+ success: Konferencijos partneris atnaujintas.
+ registration_type_publications:
+ create:
+ error: Skelbiant šį registracijos tipą iškilo problema.
+ success: Registracijos tipas paskelbtas.
+ destroy:
+ error: Išimant šį registracijos tipą iškilo problema.
+ success: Registracijos tipas sėkmingai išimtas.
+ registration_types:
+ create:
+ error: Pridedant šį registracijos tipą konferencijai kilo problema.
+ success: Konferencijos registracijos tipas pridėtas.
+ destroy:
+ success: Konferencijos registracijos tipas pašalintas.
+ edit:
+ title: Atnaujinti registracijos tipą.
+ update: Atnaujinti
+ new:
+ create: Sukurti
+ title: Naujas registracijos tipas
+ update:
+ error: Atnaujinant šios konferencijos registracijos tipą iškilo problema.
+ success: Konferencijos registracijos tipas atnaujintas.
+ titles:
+ conferences: Konferencijos
+ admin_log:
+ conference:
+ create: "%{user_name} sukūrė %{resource_name} konferenciją"
+ publish: "%{user_name} publikavo %{resource_name} konferenciją"
+ send_conference_diplomas: "%{user_name} išsiuntė dalyvavimo konferencijoje pažymėjimus %{resource_name} konferencijos dalyviams"
+ unpublish: "%{user_name} panaikino %{resource_name} konferencijos skelbimą"
+ update: "%{user_name} atnaujino %{resource_name} konferenciją"
+ update_diploma: "%{user_name} atnaujino %{resource_name} konferencijos dalyvavimo konferencijoje pažymėjimų konfigūraciją"
+ conference_speaker:
+ create: "%{user_name} sukūrė %{space_name} konferencijos %{resource_name} pranešėją"
+ delete: "%{user_name} pašalino %{space_name} konferencijos %{resource_name} pranešėją"
+ update: "%{user_name} atnaujino %{space_name} konferencijos %{resource_name} pranešėją"
+ conference_user_role:
+ create: "%{user_name} pakvietė %{resource_name} į %{space_name} konferenciją"
+ delete: "%{user_name} pašalino administratorių %{resource_name} iš %{space_name} konferencijos"
+ update: "%{user_name} pakeitė %{resource_name} vaidmenį %{space_name} konferencijoje"
+ conferences:
+ conference_registration:
+ confirm: "%{user_name} patvirtino registraciją į %{resource_name} konferenciją"
+ partner:
+ create: "%{user_name} sukūrė partnerį %{resource_name} %{space_name} konferencijoje"
+ delete: "%{user_name} pašalino partnerį %{resource_name} iš %{space_name} konferencijos"
+ update: "%{user_name} atnaujino partnerį %{resource_name} %{space_name} konferencijoje"
+ registration_type:
+ create: "%{user_name} sukūrė %{resource_name} registracijos tipą %{space_name} konferencijoje"
+ publish: "%{user_name} sukūrė %{resource_name} registracijos tipą %{space_name} konferencijoje"
+ unpublish: "%{user_name} išėmė %{resource_name} registracijos tipą iš %{space_name} konferencijos"
+ update: "%{user_name} atnaujino %{resource_name} registracijos tipą %{space_name} konferencijoje"
+ media_link:
+ create: "%{user_name} sukūrė %{resource_name} nuorodą %{space_name} konferencijoje"
+ delete: "%{user_name} pašalino %{resource_name} nuorodą iš %{space_name} konferencijos"
+ update: "%{user_name} atnaujino %{resource_name} nuorodą %{space_name} konferencijoje"
+ conference_program:
+ index:
+ title: Programa
+ conference_speakers:
+ index:
+ title: Pranešėjai
+ conferences:
+ admin:
+ conference_copies:
+ form:
+ slug_help: 'URL priedėliai naudojami nuorodų į konferenciją sukūrimui. Juose gali būti raidės, skaičiai ir brukšneliai, tačiau privalo prasidėti nuo raidės. Pavyzdys: %{url}'
+ conference_invites:
+ create:
+ error: Kviečiant dalyvį dalyvauti šioje konferencijoje iškilo problema.
+ success: Dalyvis pakviestas dalyvauti konferencijoje.
+ form:
+ attendee_type: Dalyvio tipas
+ existing_user: Esamas dalyvis
+ invite_explanation: Dalyvis bus pakviestas dalyvauti ne tik konferencijoje, bet ir organizacijoje.
+ non_user: Nesamas dalyvis
+ select_user: Pasirinkti dalyvį
+ index:
+ filter:
+ accepted: Priimtas
+ all: Visi
+ rejected: Atmestas
+ sent: Išsiųstas
+ filter_by: Filtruoti pagal
+ invite_attendee: Kviesti dalyvį
+ invites: Pakvietimai
+ search: Ieškoti
+ new:
+ explanation: Dalyvis bus pakviestas dalyvauti konferencijoje. Jei e. laiškas nebus užregistruotas, taip pat bus kvietimas dalyvauti organizacijoje.
+ invite: Pakviesti
+ new_invite: Kviesti dalyvį
+ conference_registrations:
+ index:
+ registrations: Registracijos
+ conference_speakers:
+ form:
+ existing_user: Esamas dalyvis
+ non_user: Ne dalyvis
+ select_user: Pasirinkti dalyvį
+ user_type: Dalyvio tipas
+ index:
+ search: Ieškoti
+ conferences:
+ form:
+ available_slots_help: Jei nėra ribojimų įrašykite 0.
+ registrations_count:
+ one: Yra viena registracija.
+ few: Yra %{count} registracijų.
+ many: Yra %{count} registracijų.
+ other: Yra %{count} registracijų.
+ slug_help: 'URL priedėliai naudojami nuorodų į konferenciją sukūrimui. Juose gali būti raidės, skaičiai ir brukšneliai, tačiau privalo prasidėti nuo raidės. Pavyzdys: %{url}'
+ diplomas:
+ edit:
+ save: Išsaugoti
+ title: Dalyvavimo pažymėjimas
+ invite_join_conference_mailer:
+ invite:
+ decline: Atmesti kvietimą į „%{conference_title}“
+ invited_existing_user_to_join_a_conference: "%{invited_by} jus pakvietė dalyvauti konferencijoje %{application}. Kvietimą galite atmesti arba priimti spustelėję toliau pateikiamas nuorodas."
+ registration: Registracija į „%{conference_title}“
+ partners:
+ index:
+ title: Partneriai
+ registration_types:
+ form:
+ select_conference_meetings: Pasirinkti konferencijos susirinkimus
+ index:
+ title: Registracijos tipai
+ send_conference_diploma_mailer:
+ diploma:
+ diploma_html: Rasite konferencijos %{title} dalyvavimo pažymėjimą laiško prieduose.
+ diploma_user:
+ attendance_verified_by: Dalyvavimas patvirtintas
+ certificate_of_attendance: Dalyvavimo pažymėjimas
+ certificate_of_attendance_description: Patvirtiname, kad %{user} dalyvavo %{title} konferencijoje vykusioje %{location} nuo %{start} iki %{end}
+ send_diploma:
+ error: Siunčiant dalyvavimo pažymėjimus iškilo problema.
+ success: Dalyvavimo konferencijoje pažymėjimai išsiųsti
+ conference:
+ registration_confirm:
+ cancel: Atšaukti
+ confirm: Patvirtinti
+ show:
+ free: Nemokama
+ going: Dalyvauja
+ no_slots_available: Nebėra vietų
+ registration: Registracija
+ conference_program:
+ program_meeting:
+ content: Turinys
+ location: Vieta
+ speakers: Kalbėtojai
+ streaming: Transliuoti
+ show:
+ day: Diena
+ program: Programa
+ conference_registration_mailer:
+ confirmation:
+ confirmed_html: Jūsų registracija %{title} patvirtinta.
+ details_1: 'Registravotės į konferenciją %{registration_type} būdu. Konferencija kainuoja %{price} ir galite dalyvauti šiuose renginiuose:'
+ details_2: Rasite konferencijos detales priede.
+ pending_validation:
+ confirmation_pending: Netrukus gausite elektroninį laišką su patvirtinimu
+ details: 'Jūsų registracijos tipas – %{registration_type}, kaina – %{price} ir galite dalyvauti šiuose renginiuose:'
+ pending_html: Jūsų registracija į konferenciją %{title} dar nepatvirtinta.
+ conference_registrations:
+ create:
+ invalid: Jungiantis prie šios konferencijos iškilo problema.
+ success: Jūs prisijungėte prie konferencijos.
+ decline_invitation:
+ invalid: Atmetant kvietimą iškilo problema.
+ success: Jūs atmetėte kvietimą.
+ destroy:
+ invalid: Paliekant šią konferenciją iškilo problema.
+ success: Jūs sėkmingai palikote konferenciją.
+ conference_speaker:
+ go_to_twitter: Eiti į Twitter
+ more_info: daugiau informacijos
+ personal_website: Asmeninė interneto svetainė
+ show:
+ more_info: daugiau informacijos
+ speaking_at: Kalba
+ conference_speaker_cell:
+ personal_url:
+ personal_website: Asmeninė interneto svetainė
+ twitter_handle:
+ go_to_twitter: Eiti į Twitter
+ conference_speakers:
+ index:
+ speakers: Pranešėjai
+ conferences:
+ partners:
+ collaborators: Partneriai
+ main_promotors: Organizatoriai
+ show:
+ login_as: Jūs prisijungėte kaip %{name} <%{email}>
+ make_conference_registration: 'Užsiregistruokite konferencijoje:'
+ register: Registruotis
+ content_blocks:
+ highlighted_conferences:
+ name: Paryškintos konferencijos
+ index:
+ title: Konferencijos
+ mailer:
+ conference_registration_mailer:
+ confirmation:
+ subject: Jūsų registracija į konferenciją buvo patvirtinta
+ pending_validation:
+ subject: Jūsų registracija į konferenciją dar nepatvirtinta
+ invite_join_conference_mailer:
+ invite:
+ subject: Kvietimas dalyvauti konferencijoje
+ send_conference_diploma_mailer:
+ diploma:
+ subject: Jūsų dalyvavimo konferencijoje pažymėjimas išsiųstas
+ models:
+ conference_invite:
+ fields:
+ email: El. paštas
+ name: Vardas
+ registration_type: Registracijos tipas
+ sent_at: Išsiųsta
+ status: Būsena
+ status:
+ accepted: Priimta (%{at})
+ rejected: Atmesta (%{at})
+ sent: Išsiųsta
+ conference_registration:
+ fields:
+ email: El. paštas
+ name: Vardas
+ registration_type: Registracijos tipas
+ state: Būsena
+ states:
+ confirmed: Patvirtinta
+ pending: Laukiama
+ pages:
+ home:
+ highlighted_conferences:
+ active_conferences: Aktyvios konferencijos
+ conferences_button_title: Nuoroda į puslapį „Konferencijos“, kuriame pateikiamos visos konferencijos
+ see_all_conferences: Žiūrėti visas konferencijas
+ photo:
+ image:
+ attributes:
+ alt: Nuotrauka multimedijos formatu
+ show:
+ close_modal: Uždaryti modalinį langą
+ photo: Paveikslėlis
+ photos_list:
+ show:
+ related_photos: Paveikslėliai
+ registration_types:
+ index:
+ choose_an_option: 'Pasirinkite registracijos būdą:'
+ login_as: Jūs prisijungėte kaip %{name} <%{email}>
+ no_registrations: Nėra registracijų
+ register: Registruotis
+ title: Registracijos tipai
+ shared:
+ conference_user_login:
+ already_account: Ar jau turite paskyrą „Decidim“ puslapyje?
+ new_user: Naujas naudotojas?
+ sign_in: Prisijunkite, kad galėtumėte užsiregistruoti į konferenciją
+ sign_up: Susikurkite paskyrą „Decidim“ puslapyje, kad galėtumėte užsiregistruoti į konferenciją
+ show:
+ details: Išsamiau
+ introduction: Įžanga
+ objectives: Tikslai
+ related_assemblies: Susijusios asamblėjos
+ related_consultations: Susijusios Konsultacijos
+ related_participatory_processes: Susiję dalyvaujamieji procesai
+ events:
+ conferences:
+ conference_registration_confirmed:
+ notification_title: Jūsų registracija į konferenciją %{resource_title} buvo patvirtinta.
+ conference_registration_validation_pending:
+ notification_title: Jūsų registracija į konferenciją %{resource_title} dar nepatvirtinta.
+ conference_registrations_over_percentage:
+ email_intro: Užimta daugiau nei %{percentage}% konferencijos „%{resource_title}“ laiko tarpsnių.
+ email_outro: Šį pranešimą gavote dėl to, kad esate konferencijos dalyvaujamojo proceso erdvės administratorius.
+ email_subject: Užimta daugiau nei %{percentage}% konferencijos „%{resource_title}“ laiko tarpsnių
+ notification_title: Užimta daugiau nei %{percentage}% konferencijos %{resource_title} laiko tarpsnių.
+ conference_updated:
+ email_intro: '„%{resource_title}“ konferencija buvo atnaujinta. Naująją versiją galite perskaityti jos puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad sekate „%{resource_title}“ konferenciją. Jūs galite jos nebesekti spustelėdami ankstesnę nuorodą.
+ email_subject: '„%{resource_title}“ konferencija buvo atnaujinta'
+ notification_title: %{resource_title} konferencija buvo atnaujinta.
+ registrations_enabled:
+ email_intro: 'Registracija į „%{resource_title}“ konferenciją įjungta. Galite užsiregistruoti jos tinklalapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad sekate „%{resource_title}“ konferenciją. Jūs galite jos nebesekti spustelėdami ankstesnę nuorodą.
+ email_subject: Registracija į „%{resource_title}“ konferenciją įjungta.
+ notification_title: Registracija į %{resource_title} konferenciją įjungta.
+ role_assigned:
+ email_intro: Jūs paskirtas „%{resource_title}“ konferencijos %{role}.
+ email_outro: Šį pranešimą gavote dėl to, kad esate „%{resource_title}“ konferencijos %{role}.
+ email_subject: Jūs paskirtas „%{resource_title}“ %{role}.
+ notification_title: Jūs paskirtas %{resource_title} konferencijos %{role}.
+ upcoming_conference:
+ email_intro: '„%{resource_title}“ konferencija įvyks po dviejų dienų. Aprašymą galite perskaityti jos puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad sekate „%{resource_title}“ konferenciją. Jūs galite jos nebesekti spustelėdami ankstesnę nuorodą.
+ email_subject: '„%{resource_title}“ konferencija artėja!'
+ notification_title: %{resource_title} konferencija įvyks po dviejų dienų.
+ help:
+ participatory_spaces:
+ conferences:
+ contextual: "
Konferencija yra susitikimų, surengtų pagal programą, rinkinys, į kurį pakviečiama daug kalbėtojų. Konferencijoms, kaip ir kitiems dideliems susirinkimams ar socialiniams renginiams, būdingi ypatumai yra registracijos, renginį remiančių ar kitaip padedančių organizacijų sąrašas ir kt.
Pavyzdžiui, konferencija gali būti svarbus įvykis organizacijai ir jos nariams, vykti kaip dalyvaujamojo proceso dalis arba tai gali būti renginys po konsultacijos.
\n"
+ page: "
Konferencija yra susitikimų, surengtų pagal programą, rinkinys, į kurį pakviečiama daug kalbėtojų. Konferencijoms, kaip ir kitiems dideliems susirinkimams ar socialiniams renginiams, būdingi ypatumai yra registracijos, renginį remiančių ar kitaip padedančių organizacijų sąrašas ir kt.
Pavyzdžiui, konferencija gali būti svarbus įvykis organizacijai ir jos nariams, vykti kaip dalyvaujamojo proceso dalis arba tai gali būti renginys po konsultacijos.
\n"
+ title: Kas yra konferencijos?
+ log:
+ value_types:
+ conference_presenter:
+ not_found: 'Konferencija duomenų bazėje nerasta (ID: %{id})'
+ media:
+ index:
+ description: Nuorodos apie šią konferenciją
+ title: Multimedija ir Nuorodos
+ menu:
+ conferences: Konferencijos
+ statistics:
+ conferences_count: Konferencijos
+ devise:
+ mailer:
+ join_conference:
+ subject: Kvietimas dalyvauti konferencijoje
+ layouts:
+ decidim:
+ conference_hero:
+ register: Registruotis
+ conference_widgets:
+ show:
+ take_part: Dalyvaukite
+ conferences:
+ conference:
+ more_info: Daugiau informacijos
+ take_part: Dalyvaukite
+ index:
+ promoted_conferences: Paryškintos konferencijos
+ order_by_conferences:
+ conferences:
+ one: "%{count} konferencija"
+ few: "%{count} konferencijos"
+ many: "%{count} konferencijos"
+ other: "%{count} konferencijos"
+ promoted_conference:
+ more_info: Daugiau informacijos
+ take_part: Dalyvaukite
+ conferences_nav:
+ conference_menu_item: Informacija
+ conference_partners_menu_item: Partneriai
+ conference_speaker_menu_item: Pranešėjai
+ media: Medija
+ venues: Vietos
diff --git a/decidim-conferences/config/locales/lv.yml b/decidim-conferences/config/locales/lv.yml
index 769528aa7d41f..416affbe7c526 100644
--- a/decidim-conferences/config/locales/lv.yml
+++ b/decidim-conferences/config/locales/lv.yml
@@ -344,7 +344,7 @@ lv:
invite_join_conference_mailer:
invite:
decline: Noraidīt ielūgumu '%{conference_title}'
- invited_you_to_join_a_conference: "%{invited_by} jūs aicina piedalīties konferencē %{application}. Jūs varat pieņemt vai noraidīt ielūgumu, izmantojot vienu no turpmāk esošajām saitēm."
+ invited_existing_user_to_join_a_conference: "%{invited_by} jūs aicina piedalīties konferencē %{application}. Jūs varat pieņemt vai noraidīt ielūgumu, izmantojot vienu no turpmāk esošajām saitēm."
registration: Reģistrācija dalībai '%{conference_title}'
partners:
index:
diff --git a/decidim-conferences/config/locales/nl.yml b/decidim-conferences/config/locales/nl.yml
index 19b590f16d808..d236e6b43eb19 100644
--- a/decidim-conferences/config/locales/nl.yml
+++ b/decidim-conferences/config/locales/nl.yml
@@ -377,7 +377,7 @@ nl:
invite_join_conference_mailer:
invite:
decline: Uitnodiging '%{conference_title}' weigeren
- invited_you_to_join_a_conference: "%{invited_by} heeft je uitgenodigd om deel te nemen aan een conferentie op %{application}. U kunt het weigeren of accepteren via de onderstaande links."
+ invited_existing_user_to_join_a_conference: "%{invited_by} heeft je uitgenodigd om deel te nemen aan een conferentie op %{application}. U kunt het weigeren of accepteren via de onderstaande links."
registration: Registratie voor '%{conference_title}'
partners:
index:
diff --git a/decidim-conferences/config/locales/no.yml b/decidim-conferences/config/locales/no.yml
index 9f3dea09fc52f..339f331b197f5 100644
--- a/decidim-conferences/config/locales/no.yml
+++ b/decidim-conferences/config/locales/no.yml
@@ -377,7 +377,7 @@
invite_join_conference_mailer:
invite:
decline: Avvis invitasjon '%{conference_title}'
- invited_you_to_join_a_conference: "%{invited_by} har invitert deg til å delta et foredrag på %{application}. Du kan avvise eller godta gjennom lenkene nedenfor."
+ invited_existing_user_to_join_a_conference: "%{invited_by} har invitert deg til å delta et foredrag på %{application}. Du kan avvise eller godta gjennom lenkene nedenfor."
registration: Påmelding til '%{conference_title}'
partners:
index:
diff --git a/decidim-conferences/config/locales/oc-FR.yml b/decidim-conferences/config/locales/oc-FR.yml
new file mode 100644
index 0000000000000..325b348894124
--- /dev/null
+++ b/decidim-conferences/config/locales/oc-FR.yml
@@ -0,0 +1 @@
+oc:
diff --git a/decidim-conferences/config/locales/pl.yml b/decidim-conferences/config/locales/pl.yml
index 690be049f7dce..216ab31a19054 100644
--- a/decidim-conferences/config/locales/pl.yml
+++ b/decidim-conferences/config/locales/pl.yml
@@ -383,7 +383,7 @@ pl:
invite_join_conference_mailer:
invite:
decline: Odrzuć zaproszenie "%{conference_title}"
- invited_you_to_join_a_conference: "%{invited_by} zaprosił(a) Cię do udziału w konferencji %{application}. Możesz odrzucić lub zaakceptować zaproszenie korzystając z poniższych linków."
+ invited_existing_user_to_join_a_conference: "%{invited_by} zaprosił(a) Cię do udziału w konferencji %{application}. Możesz odrzucić lub zaakceptować zaproszenie korzystając z poniższych linków."
registration: Rejestracja na "%{conference_title}"
partners:
index:
diff --git a/decidim-conferences/config/locales/pt-BR.yml b/decidim-conferences/config/locales/pt-BR.yml
index a96c57c3ca0e6..b781f6e872358 100644
--- a/decidim-conferences/config/locales/pt-BR.yml
+++ b/decidim-conferences/config/locales/pt-BR.yml
@@ -377,7 +377,7 @@ pt-BR:
invite_join_conference_mailer:
invite:
decline: Recusar convite '%{conference_title}'
- invited_you_to_join_a_conference: "%{invited_by} convidou você para participar de uma conferência em %{application}. Você pode recusar ou aceitá-lo através dos links abaixo."
+ invited_existing_user_to_join_a_conference: "%{invited_by} convidou você para participar de uma conferência em %{application}. Você pode recusar ou aceitá-lo através dos links abaixo."
registration: Registro para '%{conference_title}'
partners:
index:
diff --git a/decidim-conferences/config/locales/pt.yml b/decidim-conferences/config/locales/pt.yml
index 7740775cae01d..c06deda2ab8b1 100644
--- a/decidim-conferences/config/locales/pt.yml
+++ b/decidim-conferences/config/locales/pt.yml
@@ -377,7 +377,7 @@ pt:
invite_join_conference_mailer:
invite:
decline: Recusar convite '%{conference_title}'
- invited_you_to_join_a_conference: "%{invited_by} convido-o para participar numa conferência em %{application}. Pode recusá-lo ou aceitá-lo através dos links abaixo."
+ invited_existing_user_to_join_a_conference: "%{invited_by} convido-o para participar numa conferência em %{application}. Pode recusá-lo ou aceitá-lo através dos links abaixo."
registration: Registo para '%{conference_title}'
partners:
index:
diff --git a/decidim-conferences/config/locales/ro-RO.yml b/decidim-conferences/config/locales/ro-RO.yml
index 7630f2ff757bf..8e44c3a1287ba 100644
--- a/decidim-conferences/config/locales/ro-RO.yml
+++ b/decidim-conferences/config/locales/ro-RO.yml
@@ -381,7 +381,7 @@ ro:
invite_join_conference_mailer:
invite:
decline: Refuzați invitația '%{conference_title}'
- invited_you_to_join_a_conference: "%{invited_by} te-a invitat să participi la o conferință la %{application}. Puteți să o refuzați sau să o acceptați prin intermediul linkurilor de mai jos."
+ invited_existing_user_to_join_a_conference: "%{invited_by} te-a invitat să participi la o conferință la %{application}. Puteți să o refuzați sau să o acceptați prin intermediul linkurilor de mai jos."
registration: Înregistrare pentru '%{conference_title}'
partners:
index:
diff --git a/decidim-conferences/config/locales/sk.yml b/decidim-conferences/config/locales/sk.yml
index a490a1e131858..608a7427c9990 100644
--- a/decidim-conferences/config/locales/sk.yml
+++ b/decidim-conferences/config/locales/sk.yml
@@ -348,7 +348,7 @@ sk:
invite_join_conference_mailer:
invite:
decline: Odmietnuť pozvánku na "%{conference_title}"
- invited_you_to_join_a_conference: "%{invited_by} Vás pozval na účasť na konferencii na %{application}. Účasť môžete potvrdiť alebo odmietnuť kliknutím na odkaz nižšie."
+ invited_existing_user_to_join_a_conference: "%{invited_by} Vás pozval na účasť na konferencii na %{application}. Účasť môžete potvrdiť alebo odmietnuť kliknutím na odkaz nižšie."
registration: Registrácia na konferenciu "%{conference_title}"
partners:
index:
diff --git a/decidim-conferences/config/locales/sv.yml b/decidim-conferences/config/locales/sv.yml
index 962e0f9a01916..4d35586498484 100644
--- a/decidim-conferences/config/locales/sv.yml
+++ b/decidim-conferences/config/locales/sv.yml
@@ -377,7 +377,7 @@ sv:
invite_join_conference_mailer:
invite:
decline: Avböj inbjudan till '%{conference_title}'
- invited_you_to_join_a_conference: "%{invited_by} har bjudit in dig till en konferens på %{application}. Du kan avböja eller godkänna den via länkarna nedan."
+ invited_existing_user_to_join_a_conference: "%{invited_by} har bjudit in dig till en konferens på %{application}. Du kan avböja eller godkänna den via länkarna nedan."
registration: Registrering till '%{conference_title}'
partners:
index:
diff --git a/decidim-conferences/config/locales/tr-TR.yml b/decidim-conferences/config/locales/tr-TR.yml
index 2550dcd912269..831a385fad612 100644
--- a/decidim-conferences/config/locales/tr-TR.yml
+++ b/decidim-conferences/config/locales/tr-TR.yml
@@ -340,7 +340,7 @@ tr:
invite_join_conference_mailer:
invite:
decline: '''%{conference_title}'' davetiyesini reddet'
- invited_you_to_join_a_conference: "%{invited_by} sizi %{application}bir konferansa katılmaya davet etti. Aşağıdaki bağlantılardan reddedebilir veya kabul edebilirsiniz."
+ invited_existing_user_to_join_a_conference: "%{invited_by} sizi %{application}bir konferansa katılmaya davet etti. Aşağıdaki bağlantılardan reddedebilir veya kabul edebilirsiniz."
registration: '''%{conference_title}'' için kayıt'
partners:
index:
diff --git a/decidim-conferences/config/locales/zh-CN.yml b/decidim-conferences/config/locales/zh-CN.yml
index deb22f5dff45e..50c0311b9d13b 100644
--- a/decidim-conferences/config/locales/zh-CN.yml
+++ b/decidim-conferences/config/locales/zh-CN.yml
@@ -336,7 +336,7 @@ zh-CN:
invite_join_conference_mailer:
invite:
decline: 拒绝邀请 '%{conference_title}'
- invited_you_to_join_a_conference: "%{invited_by} 邀请您在 %{application}加入会议。您可以拒绝或接受以下链接。"
+ invited_existing_user_to_join_a_conference: "%{invited_by} 邀请您在 %{application}加入会议。您可以拒绝或接受以下链接。"
registration: 注册%{conference_title}'
partners:
index:
diff --git a/decidim-conferences/lib/decidim/conferences/version.rb b/decidim-conferences/lib/decidim/conferences/version.rb
index 872566b7d4fa4..14c59ee66df4f 100644
--- a/decidim-conferences/lib/decidim/conferences/version.rb
+++ b/decidim-conferences/lib/decidim/conferences/version.rb
@@ -4,7 +4,7 @@ module Decidim
# This holds the decidim-conferences version.
module Conferences
def self.version
- "0.26.2"
+ "0.26.4"
end
end
end
diff --git a/decidim-conferences/spec/commands/admin/invite_user_to_join_conference_spec.rb b/decidim-conferences/spec/commands/admin/invite_user_to_join_conference_spec.rb
new file mode 100644
index 0000000000000..35805f29c2475
--- /dev/null
+++ b/decidim-conferences/spec/commands/admin/invite_user_to_join_conference_spec.rb
@@ -0,0 +1,63 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+module Decidim::Conferences::Admin
+ describe InviteUserToJoinConference do
+ let(:command) { described_class.new(form, conference, invited_by) }
+
+ let(:conference) { create :conference }
+ let(:invited_by) { create :user, :admin, :confirmed, organization: conference.organization }
+ let(:invited_user) { create :user, :confirmed, organization: conference.organization }
+ let(:form) do
+ double(
+ invalid?: invalid,
+ existing_user: true,
+ current_organization: conference.organization,
+ user: invited_user,
+ registration_type: registration_type
+ )
+ end
+ let(:invalid) { false }
+ let(:registration_type) { create(:registration_type, conference: conference) }
+
+ describe "call" do
+ it "broadcasts ok" do
+ expect { command.call }.to broadcast(:ok)
+ end
+
+ it "sends the invitation to the existing user" do
+ perform_enqueued_jobs { command.call }
+
+ email = last_email
+ expect(email.to).to eq([invited_user.email])
+ expect(email.subject).to eq("Invitation to join a conference")
+ end
+
+ describe "when the user is a new user" do
+ let(:form) do
+ double(
+ invalid?: invalid,
+ existing_user: false,
+ current_organization: conference.organization,
+ email: "jdoe@example.org",
+ name: "John Doe",
+ registration_type: registration_type
+ )
+ end
+
+ it "broadcasts ok" do
+ expect { command.call }.to broadcast(:ok)
+ end
+
+ it "sends the invitation to the user" do
+ perform_enqueued_jobs { command.call }
+
+ email = last_email
+ expect(email.to).to eq(["jdoe@example.org"])
+ expect(email.subject).to eq("Invitation to join a conference")
+ end
+ end
+ end
+ end
+end
diff --git a/decidim-conferences/spec/commands/join_conference_spec.rb b/decidim-conferences/spec/commands/join_conference_spec.rb
index 773f13c49ab53..4675ea48ee53c 100644
--- a/decidim-conferences/spec/commands/join_conference_spec.rb
+++ b/decidim-conferences/spec/commands/join_conference_spec.rb
@@ -158,5 +158,13 @@ module Decidim::Conferences
expect { subject.call }.to broadcast(:invalid)
end
end
+
+ context "when the user has already joined the conference" do
+ let!(:registration) { create(:conference_registration, conference: conference, user: user) }
+
+ it "broadcasts ok" do
+ expect { subject.call }.to broadcast(:ok)
+ end
+ end
end
end
diff --git a/decidim-conferences/spec/controllers/admin/conferences_controller_spec.rb b/decidim-conferences/spec/controllers/admin/conferences_controller_spec.rb
index e65ef18bcca97..57e2c10b382ff 100644
--- a/decidim-conferences/spec/controllers/admin/conferences_controller_spec.rb
+++ b/decidim-conferences/spec/controllers/admin/conferences_controller_spec.rb
@@ -42,7 +42,8 @@ module Conferences
expect(Decidim::Conferences::Admin::ConferenceForm).to receive(:from_params).with(hash_including(id: conference.id.to_s)).and_call_original
patch :update, params: { slug: conference.id, conference: conference_params }
- expect(response).to be_successful
+ expect(response).to have_http_status(:found)
+ expect(response).to redirect_to edit_conference_path(conference)
end
end
end
diff --git a/decidim-conferences/spec/controllers/conference_program_controller_spec.rb b/decidim-conferences/spec/controllers/conference_program_controller_spec.rb
index 4c92d606bd668..c7af7fae5046f 100644
--- a/decidim-conferences/spec/controllers/conference_program_controller_spec.rb
+++ b/decidim-conferences/spec/controllers/conference_program_controller_spec.rb
@@ -27,12 +27,19 @@ module Conferences
describe "GET show" do
context "when conference has no meetings" do
- it "redirects to 404" do
+ it "returns 404" do
expect { get :show, params: { conference_slug: conference.slug, id: component.id } }
.to raise_error(ActionController::RoutingError)
end
end
+ context "when conference has an invalid component id" do
+ it "returns 404" do
+ expect { get :show, params: { conference_slug: conference.slug, id: 999 } }
+ .to raise_error(ActionController::RoutingError)
+ end
+ end
+
context "when conference has meetings" do
let!(:meetings) do
create_list(
diff --git a/decidim-conferences/spec/queries/organization_published_conferences_spec.rb b/decidim-conferences/spec/queries/organization_published_conferences_spec.rb
index 9034b12c08a03..9c98c68671c72 100644
--- a/decidim-conferences/spec/queries/organization_published_conferences_spec.rb
+++ b/decidim-conferences/spec/queries/organization_published_conferences_spec.rb
@@ -9,7 +9,9 @@ module Decidim::Conferences
let!(:organization) { create(:organization) }
let!(:published_conferences) do
- create_list(:conference, 3, :published, organization: organization)
+ create(:conference, :published, organization: organization, start_date: 1.year.ago, end_date: 1.year.ago + 3.days)
+ create(:conference, :published, organization: organization, start_date: 30.days.ago, end_date: 30.days.ago + 7.days)
+ create(:conference, :published, organization: organization, start_date: 7.days.from_now, end_date: 7.days.from_now + 4.days)
end
let!(:unpublished_conferences) do
@@ -32,6 +34,10 @@ module Decidim::Conferences
it "excludes other organization's published conferences" do
expect(subject).not_to include(*foreign_conferences)
end
+
+ it "order conferences by start date" do
+ expect(subject.to_a.first.start_date).to eq 7.days.from_now.to_date
+ end
end
end
end
diff --git a/decidim-conferences/spec/system/conference_registrations_spec.rb b/decidim-conferences/spec/system/conference_registrations_spec.rb
index 8863d5313322d..104f0a45d3022 100644
--- a/decidim-conferences/spec/system/conference_registrations_spec.rb
+++ b/decidim-conferences/spec/system/conference_registrations_spec.rb
@@ -34,6 +34,10 @@ def visit_conference_registration_types
visit decidim_conferences.conference_registration_types_path(conference)
end
+ def visit_conference_registration_type
+ visit decidim_conferences.conference_registration_type_conference_registration_path(conference_slug: conference, registration_type_id: registration_type)
+ end
+
before do
switch_to_host(organization.host)
@@ -136,4 +140,22 @@ def visit_conference_registration_types
end
end
end
+
+ context "and the user has been invited to the conference" do
+ let!(:invite) { create(:conference_invite, user: user, registration_type: registration_type) }
+
+ it "requires the user to sign in" do
+ visit_conference_registration_type
+ expect(page).to have_current_path("/users/sign_in")
+ end
+
+ context "when the user is signed in" do
+ before { login_as user, scope: :user }
+
+ it "accepts the invitation successfully" do
+ visit_conference_registration_type
+ expect(page).to have_content("successfully")
+ end
+ end
+ end
end
diff --git a/decidim-consultations/config/locales/cs.yml b/decidim-consultations/config/locales/cs.yml
index 0da42582f4c0c..f63b8ad09cdec 100644
--- a/decidim-consultations/config/locales/cs.yml
+++ b/decidim-consultations/config/locales/cs.yml
@@ -329,7 +329,7 @@ cs:
show:
badge_name:
finished: Dokončeno
- open: otevřeno
+ open: Otevřeno
open_votes: Hlasování zahájeno
published_results: Publikované výsledky
footer_button_text:
diff --git a/decidim-consultations/config/locales/fr-CA.yml b/decidim-consultations/config/locales/fr-CA.yml
index 78ef1305af476..8641824fbc8c6 100644
--- a/decidim-consultations/config/locales/fr-CA.yml
+++ b/decidim-consultations/config/locales/fr-CA.yml
@@ -265,7 +265,7 @@ fr-CA:
index:
title: Votations
last_activity:
- new_consultation: Nouvelle consultation
+ new_consultation: Nouvelle votation
new_question_at_html: "Nouvelle question à %{link}"
pages:
home:
diff --git a/decidim-consultations/config/locales/fr.yml b/decidim-consultations/config/locales/fr.yml
index 33176d241a730..df7245a935413 100644
--- a/decidim-consultations/config/locales/fr.yml
+++ b/decidim-consultations/config/locales/fr.yml
@@ -29,7 +29,7 @@ fr:
promoter_group: Organisateur
question_context: Contexte
reference: Référence
- scope: Périmètre d'application
+ scope: Secteur
slug: Identifiant
subtitle: Sous-titre
vote: Système de vote externe
@@ -265,7 +265,7 @@ fr:
index:
title: Votations
last_activity:
- new_consultation: Nouvelle consultation
+ new_consultation: Nouvelle votation
new_question_at_html: "Nouvelle question à %{link}"
pages:
home:
diff --git a/decidim-consultations/config/locales/gn-PY.yml b/decidim-consultations/config/locales/gn-PY.yml
new file mode 100644
index 0000000000000..bd442b0ad85de
--- /dev/null
+++ b/decidim-consultations/config/locales/gn-PY.yml
@@ -0,0 +1 @@
+gn:
diff --git a/decidim-consultations/config/locales/hu.yml b/decidim-consultations/config/locales/hu.yml
index b94cb0c841389..f15c1acbe89b1 100644
--- a/decidim-consultations/config/locales/hu.yml
+++ b/decidim-consultations/config/locales/hu.yml
@@ -238,6 +238,8 @@ hu:
label: 'Konzultációk rendezése:'
random: Véletlenszerű
recent: Legutóbbi
+ show:
+ dates: Dátumok
content_blocks:
highlighted_consultations:
name: Kiemelt konzultációk
@@ -318,6 +320,8 @@ hu:
help:
participatory_spaces:
consultations:
+ contextual: "
A konzultációk egy olyan funkció, amely lehetővé teszi, hogy világos kérdést tegyél fel, felhívást tegyél közzé a konzultációban való részvételre, vitát generálj egy kérdésben mindazoknak, akik egy szervezetet alkotnak. Amikor a konzultáció megnyílik, lehetőség van szavazni és közzétenni a szavazatok eredményeit.
Példák: A konzultációk szinte bármely olyan területre vonatkozhatnak, amelyek egy szervezetet érintenek. Néhány példa: megváltoztatja a szervezet nevét vagy logóját, amely számos alternatívát kínál. Igennel vagy nemmel dönteni arról, hogy a szervezet egy megállapodást aláírjon vagy sem, egy nagyobb szervezet részévé váljon, egy új stratégiai terv érvényesítése vagy elutasítása kérdésében állást foglaljon, vagy egy munkacsoport munkájának eredményét elfogadja, vagy adott esetben meghatározni, hogy az adott pozícióknak legfeljebb 1, 2 vagy 3 mandátumnak kell-e maradnia.
\n"
+ page: "
A konzultációk egy olyan terület, amely lehetővé teszi, hogy világos kérdést tegyél fel, felhívást tegyél közzé a konzultációban való részvételre, vitát generálj egy kérdésben egy szervezet tagjai számára. Amikor a konzultáció időpontja megérkezik, lehetőség van szavazni és közzétenni a szavazatok eredményeit.
Példák: A konzultációk szinte bármely olyan területre vonatkozhatnak, amelyek egy szervezetet érintenek. Néhány példa: megváltoztatja a szervezet nevét vagy logóját, amely számos alternatívát kínál. Igennel vagy nemmel dönteni arról, hogy a szervezet egy megállapodást aláírjon vagy sem, egy nagyobb szervezet részévé váljon, egy új stratégiai terv érvényesítése vagy elutasítása kérdésében állást foglaljon, vagy egy munkacsoport munkájának eredményét elfogadja, vagy adott esetben meghatározni, hogy az adott pozícióknak legfeljebb 1, 2 vagy 3 mandátumnak kell-e maradnia.
\n"
title: Mi a konzultáció?
menu:
consultations: Konzultációk
@@ -342,17 +346,23 @@ hu:
verification_required: Ellenőrizd fiókod a szavazáshoz
vote: Szavazás
vote_modal:
+ close_modal: Ablak bezárás
contextual_help: Válassz az opciók közül.
title: 'Konzultáció: kérdés-szavazás'
vote_modal_confirm:
change: Módosítás
+ close_modal: Ablak bezárás
confirm: Megerősítés
contextual_help: Erősítsd meg a kiválasztott opciót.
title: 'Konzultáció: erősítsd meg a szavazatot'
resources:
consultations:
actions:
+ comment: Megjegyzés
vote: Szavazás
+ statistics:
+ consultations_count: Konzultációk
+ votes_count: Szavazások
layouts:
decidim:
consultation_voting_data:
diff --git a/decidim-consultations/config/locales/lb.yml b/decidim-consultations/config/locales/lb.yml
index b32b8d460a288..80cab3f63e455 100644
--- a/decidim-consultations/config/locales/lb.yml
+++ b/decidim-consultations/config/locales/lb.yml
@@ -183,6 +183,8 @@ lb:
filter: Filter
filter_by: Filtern nach
unfold: Entfalten
+ last_activity:
+ new_consultation: Neue Konsultation
pages:
home:
highlighted_consultations:
diff --git a/decidim-consultations/config/locales/lo-LA.yml b/decidim-consultations/config/locales/lo-LA.yml
new file mode 100644
index 0000000000000..27a02bfece429
--- /dev/null
+++ b/decidim-consultations/config/locales/lo-LA.yml
@@ -0,0 +1 @@
+lo:
diff --git a/decidim-consultations/config/locales/lt.yml b/decidim-consultations/config/locales/lt.yml
index 6c5cb837ac8c1..30e1dce42e86c 100644
--- a/decidim-consultations/config/locales/lt.yml
+++ b/decidim-consultations/config/locales/lt.yml
@@ -1 +1,395 @@
lt:
+ activemodel:
+ attributes:
+ consultation:
+ banner_image: Turinio juostos paveikslėlis
+ decidim_highlighted_scope_id: Paryškinta sritis
+ description: Aprašymas
+ end_voting_date: Balsavimas baigiasi
+ introductory_image: Įvadinis paveikslėlis
+ introductory_video_url: Įvadinio vaizdo įrašo URL
+ questions: Klausimai
+ slug: URL priedas
+ start_voting_date: Balsavimas prasideda
+ subtitle: Paantraštė
+ title: Pavadinimas
+ question:
+ banner_image: Reklamjuostės paveikslėlis
+ decidim_scope_id: Savivaldybės aplinka
+ hashtag: Grotažymė
+ hero_image: Pradžios paveikslėlis
+ i_frame_url: Išorės balsavimo sistemos URL
+ instructions: Papildomos balsavimo instrukcijos
+ max_votes: Didžiausias balsų skaičius
+ min_votes: Mažiausias balsų skaičius
+ origin_scope: Apimtis
+ origin_title: Kilmė
+ origin_url: Kilmės URL
+ participatory_scope: Dalyvaujamoji sritis
+ promoter_group: Rėmėjų grupė
+ question_context: Kontekstas
+ reference: Nuoroda
+ scope: Savivaldybės sritis
+ slug: URL priedas
+ subtitle: Paantraštė
+ vote: Išorės balsavimo sistema
+ what_is_decided: Kas nuspręsta
+ response:
+ decidim_consultations_response_group_id: Grupė
+ errors:
+ models:
+ question:
+ attributes:
+ max_votes:
+ lower_than_min: Didžiausias balsų skaičius turėtų būti didesnis už mažiausią balsų skaičių arba jam lygus.
+ vote:
+ decidim_consultations_response_id:
+ not_found: Atsakymo nerasta.
+ activerecord:
+ errors:
+ models:
+ decidim/consultations/vote:
+ attributes:
+ question:
+ invalid_num_votes: Negaliojantis balsų skaičius
+ models:
+ decidim/consultation:
+ one: Konsultacija
+ few: Konsultacijos (-ų)
+ many: Konsultacijos (-ų)
+ other: Konsultacijos (-ų)
+ decidim/consultations/question:
+ one: Klausimas
+ few: Klausimai (-ų)
+ many: Klausimai (-ų)
+ other: Klausimai (-ų)
+ decidim/consultations/response:
+ one: Atsakymas
+ few: Atsakymai (-ų)
+ many: Atsakymai (-ų)
+ other: Atsakymai (-ų)
+ decidim/consultations/vote:
+ one: Balsas
+ few: Balsai (-ų)
+ many: Balsai (-ų)
+ other: Balsai (-ų)
+ decidim:
+ admin:
+ actions:
+ back_to_responses: Grįžti į atsakymus
+ new_consultation: Nauja konsultacija
+ new_question: Naujas klausimas
+ new_response: Naujas atsakymas
+ new_response_group: Nauja grupė
+ publish_results: Skelbti rezultatus
+ response_groups: Tvarkyti atsakymų grupes
+ unpublish_results: Panaikinti rezultatų skelbimą
+ consultation_publications:
+ create:
+ error: Skelbiant šią konsultaciją iškilo problema.
+ success: Konsultacija paskelbta.
+ destroy:
+ error: Depublikuojant šią konsultaciją kilo problema.
+ success: Konsultacija sėkmingai depublikuota.
+ consultation_results_publications:
+ create:
+ error: Publikuojant šios konsultacijos rezultatus kilo problema.
+ success: Konsultacijos rezultatai sėmingai paskelbti.
+ destroy:
+ error: Depublikuojant konsultacjos rezultatus kilo problema.
+ success: Konsultacijos rezultatų skelbimas panaikintas.
+ consultations:
+ create:
+ error: Kuriant naują konsultaciją iškilo problema.
+ success: Konsultacija sukurta.
+ deprecation_warning: Konsultacijų modulis greitu metu bus išimtas. Šiuo metu dirbame prie kitos, kriptografiškai saugios versijos pavadinimu Balsavimai.
+ edit:
+ update: Atnaujinti
+ form:
+ slug_help: 'URL priedėliai naudojami nuorodų į konferenciją sukūrimui. Juose gali būti raidės, skaičiai ir brukšneliai, tačiau privalo prasidėti nuo raidės. Pavyzdys: %{url}'
+ title: Bendra informacija
+ index:
+ not_published: Nepublikuota
+ published: Publikuota
+ new:
+ create: Sukurti
+ title: Nauja konsultacija
+ results:
+ not_visible: Rezultatai bus paskelbti pasibaigus konsultacijai
+ participants: "%{count} dalyviai (-ų)"
+ total_votes: 'Iš viso: %{count} balsai (-ų)'
+ update:
+ error: Atnaujinant šią konsultaciją iškilo problema.
+ success: Konsultacija atnaujinta.
+ menu:
+ consultations: Konsultacijos
+ consultations_submenu:
+ info: Informacija
+ questions: Klausimai
+ results: Rezultatai
+ questions_submenu:
+ attachments: Priedai
+ categories: Kategorijos
+ components: Komponentai
+ configuration: Konfigūracija
+ consultation: Konsultacija
+ info: Informacija
+ responses: Atsakymai
+ models:
+ consultation:
+ fields:
+ created_at: Sukurta
+ published: Publikuota
+ title: Pavadinimas
+ name:
+ one: Konsultacija
+ few: Konsultacijos
+ many: Konsultacijos
+ other: Konsultacijos
+ question:
+ fields:
+ created_at: Sukurta
+ published: Publikuota
+ title: Pavadinimas
+ name:
+ one: Klausimas
+ few: Klausimai
+ many: Klausimai
+ other: Klausimai
+ response:
+ fields:
+ created_at: Sukurta
+ response_group: Grupė
+ title: Pavadinimas
+ name:
+ one: Atsakymas
+ few: Atsakymai (-ų)
+ many: Atsakymai (-ų)
+ other: Atsakymai (-ų)
+ question_configuration:
+ disable_external_voting: Dėl išplėstinės konfigūracijos išjunkite išorės balsavimą
+ form:
+ help: Sudarykite klausimus su keliais pasirenkamais atsakymais, padidindami didžiausią atsakymų, kuriuos dalyvis gali pasirinkti, skaičių. Numatytoji didžiausia vertė yra 1, o tai reiškia, kad galima pasirinkti tik vieną atsakymą.
+ title: Papildomi nustatymai
+ question_publications:
+ create:
+ error: Skelbiant šį klausimą iškilo problema.
+ success: Klausimas paskelbtas.
+ destroy:
+ error: Naikinant šio klausimo skelbimą iškilo problema.
+ success: Klausimo skelbimas panaikintas.
+ questions:
+ create:
+ error: Kuriant naują klausimą iškilo problema.
+ success: Klausimas sukurtas.
+ destroy:
+ success: Klausimas pašalintas.
+ edit:
+ update: Atnaujinti
+ form:
+ title: Bendra informacija
+ index:
+ not_published: Nepaskelbta
+ published: Publikuota
+ new:
+ create: Sukurti
+ title: Naujas klausimas
+ update:
+ error: Atnaujinant šį klausimą iškilo problema.
+ success: Klausimas atnaujintas.
+ response_groups:
+ create:
+ error: Kuriant naują atsakymų grupę iškilo problema.
+ success: Atsakymų grupė sukurta.
+ destroy:
+ error: Šalinant šią atsakymų grupę iškilo problema. Patikrinkite, ar su ja nesusietas nė vienas atsakymas.
+ success: Atsakymų grupė pašalinta.
+ edit:
+ update: Atnaujinti
+ form:
+ title: Bendra informacija
+ help: Naudokitės grupėmis, kad galėtumėte rinkiniuose susiteminti klausimus su keliais pasirenkamais atsakymais.
+ new:
+ create: Sukurti
+ title: Nauja atsakymų grupė
+ update:
+ error: Atnaujinant šį atsakymą iškilo problema.
+ success: Atsakymas atnaujintas.
+ responses:
+ create:
+ error: Kuriant naują atsakymą iškilo problema.
+ success: Atsakymas sukurtas.
+ destroy:
+ error: Šalinant šį atsakymą iškilo problema.
+ success: Atsakymas pašalintas.
+ edit:
+ update: Atnaujinti
+ form:
+ title: Bendra informacija
+ new:
+ create: Sukurti
+ title: Naujas atsakymas
+ update:
+ error: Atnaujinant šį atsakymą iškilo problema.
+ success: Atsakymas atnaujintas.
+ titles:
+ consultations: Konsultacijos
+ questions: Klausimai
+ response_groups: Atsakymų grupės
+ responses: Atsakymai
+ results: Rezultatai
+ consultations:
+ admin:
+ content_blocks:
+ highlighted_consultations:
+ max_results: Didžiausias rodomų elementų skaičius
+ consultation:
+ start_voting_date: Balsavimas prasideda
+ view_results: Peržiūrėti rezultatus
+ consultation_card:
+ view_results: Peržiūrėti rezultatus
+ consultations:
+ orders:
+ label: 'Konsultacijas rūšiuoti pagal:'
+ random: Atsitiktinis
+ recent: Naujausia
+ show:
+ dates: Datos
+ content_blocks:
+ highlighted_consultations:
+ name: Paryškintos konsultacijos
+ count:
+ title:
+ one: "%{count} konsultacija"
+ few: "%{count} konsultacijos"
+ many: "%{count} konsultacijos"
+ other: "%{count} konsultacijos"
+ filters:
+ active: Aktyvios
+ all: Visi
+ finished: Užbaigta
+ search: Ieškoti
+ state: Būsena
+ upcoming: Artėjančios
+ filters_small_view:
+ close_modal: Uždaryti langą
+ filter: Filtruoti
+ filter_by: Filtruoti pagal
+ unfold: Išskleisti
+ highlighted_questions:
+ title: '%{scope_name} pateikti klausimai'
+ index:
+ title: Konsultacijos
+ last_activity:
+ new_consultation: Nauja konsultacija
+ new_question_at_html: "Naujas klausimas %{link}"
+ pages:
+ home:
+ highlighted_consultations:
+ active_consultations: Aktyvios konsultacijos
+ see_all_consultations: Žiūrėti visas konsultacijas
+ voting_ends_in:
+ one: Balsavimas baigiasi rytoj
+ few: Balsavimas baigiasi už %{count} dienų
+ many: Balsavimas baigiasi už %{count} dienų
+ other: Balsavimas baigiasi už %{count} dienų
+ voting_ends_today: Balsavimas baigiasi šiandien
+ question:
+ take_part: Dalyvaukite
+ view_results: Peržiūrėti rezultatus
+ votes_out_of:
+ one: balsavimas iš
+ few: balsavimai iš
+ many: balsavimai iš
+ other: balsavimai iš
+ question_multiple_votes:
+ results_rules:
+ minimum_votes_per_user:
+ description: Dalyviai įvairiems variantams galėjo paskirstyti ne mažiau kaip %{votes} balsų.
+ title: Į šį klausimą galimi keli atsakymai
+ total_participants: Iš viso %{count} žmonės dalyvavo balsavime.
+ vote_limit:
+ description: Dalyviai gali pasirinkti ne daugiau kaip %{limit} variantų.
+ voting_rules:
+ minimum_votes_per_user:
+ description: Įvairiems variantams turite paskirstyti ne mažiau kaip %{votes} balsų.
+ title: 'Balsams taikomos šios taisyklės:'
+ vote_limit:
+ description: Galite pasirinkti ne daugiau kaip %{limit} variantų.
+ left: Liko
+ votes: Balsai
+ question_votes:
+ create:
+ error: Balsuojant dėl klausimo iškilo problema
+ success: Galite tai keisti iki konsultacijos pabaigos. Įskaitytas bus tik paskutinis balsas.
+ title_error: Balsavimo klaida!
+ title_success: Balsas įskaitytas
+ regular_questions:
+ title: Šios konsultacijos klausimai
+ show:
+ badge_name:
+ finished: Užbaigta
+ open: Atidaryta
+ open_votes: Atviri balsai
+ published_results: Rezultatai publikuoti
+ footer_button_text:
+ debate: Debatas
+ view: Peržiūrėti
+ view_results: Peržiūrėti rezultatus
+ vote: Balsuoti
+ unspecified: Nepatikslinta
+ help:
+ participatory_spaces:
+ consultations:
+ contextual: "
Konsultacijos yra erdvė, kurioje galite užduoti aiškų klausimą visiems organizacijos žmonėms, pakviesti dalyvauti konsultacijoje, pradėti ir valdyti diskusiją už arba prieš atsakymų variantus. Atėjus konsultacijos pradžios datai, galite balsuoti ir paskelbti balsavimo rezultatus.
Pavyzdžiai: Konsultacijos gali vykti dėl beveik visų aspektų, turinčių poveikio organizacijai: galima balsuoti dėl pavadinimo ar logotipo, nuspręsti, ar tapti didesnės organizacijos dalimi, patvirtinti arba atmesti naują strateginį planą arba darbo grupės rezultatus, ir t. t.
\n"
+ page: "
Konsultacijos yra erdvė, kurioje galite užduoti aiškų klausimą visiems organizacijos žmonėms, pakviesti dalyvauti konsultacijoje, pradėti ir valdyti diskusiją už arba prieš atsakymų variantus. Atėjus konsultacijos pradžios datai, galite balsuoti ir paskelbti balsavimo rezultatus.
Pavyzdžiai: Konsultacijos gali vykti dėl beveik visų aspektų, turinčių poveikio organizacijai: galima balsuoti dėl pavadinimo ar logotipo, nuspręsti, ar tapti didesnės organizacijos dalimi, patvirtinti arba atmesti naują strateginį planą arba darbo grupės rezultatus, ir t. t.
\n"
+ title: Kas yra konsultacijos?
+ menu:
+ consultations: Konsultacijos
+ questions:
+ next_button: Kitas klausimas
+ previous_button: Praeitas klausimas
+ results:
+ title: Rezultatai
+ show:
+ read_more: Skaityti toliau
+ statistics:
+ assistants_count_title: Padėjėjai
+ comments_count_title: Komentarai
+ meetings_count_title: Susirinkimai
+ supports_count_title: Balsai
+ technical_info:
+ technical_data: Techniniai duomenys
+ vote_button:
+ already_voted: Jau balsuota
+ already_voted_hover: Atšaukti balsą
+ starting_from: Prasideda nuo %{date}
+ verification_required: Norėdami balsuoti turite patvirtinti savo tapatybę
+ vote: Balsuoti
+ vote_modal:
+ close_modal: Uždaryti modalinį langą
+ contextual_help: Pasirinkite variantą.
+ title: 'Konsultacija: balsavimas dėl klausimo'
+ vote_modal_confirm:
+ change: Keisti
+ close_modal: Uždaryti modalinį langą
+ confirm: Patvirtinti
+ contextual_help: Patvirtinkite pasirinktą variantą.
+ title: 'Konsultacija: patvirtinti balsą'
+ resources:
+ consultations:
+ actions:
+ comment: Komentuoti
+ vote: Balsuoti
+ statistics:
+ consultations_count: Konsultacijos
+ votes_count: Balsai
+ layouts:
+ decidim:
+ consultation_voting_data:
+ start_voting_date: Balsavimas prasideda
+ question_components:
+ question_menu_item: Klausimas
+ question_header:
+ back_to_consultation: Žiūrėti visas konsultacijas
+ back_to_question: Atgal į klausimą
diff --git a/decidim-consultations/config/locales/nl.yml b/decidim-consultations/config/locales/nl.yml
index dc4ad7f409031..802ea6593b570 100644
--- a/decidim-consultations/config/locales/nl.yml
+++ b/decidim-consultations/config/locales/nl.yml
@@ -265,7 +265,7 @@ nl:
index:
title: Burgerinspraaken
last_activity:
- new_consultation: Nieuw overleg
+ new_consultation: Nieuwe raadpleging
new_question_at_html: "Nieuwe vraag op %{link}"
pages:
home:
diff --git a/decidim-consultations/config/locales/oc-FR.yml b/decidim-consultations/config/locales/oc-FR.yml
new file mode 100644
index 0000000000000..325b348894124
--- /dev/null
+++ b/decidim-consultations/config/locales/oc-FR.yml
@@ -0,0 +1 @@
+oc:
diff --git a/decidim-consultations/config/locales/ru.yml b/decidim-consultations/config/locales/ru.yml
index 9dd2122b07989..9e6e72aed96d2 100644
--- a/decidim-consultations/config/locales/ru.yml
+++ b/decidim-consultations/config/locales/ru.yml
@@ -214,6 +214,8 @@ ru:
title: Вопросы из %{scope_name}
index:
title: Консультации
+ last_activity:
+ new_consultation: Добавить консультацию
pages:
home:
highlighted_consultations:
diff --git a/decidim-consultations/config/locales/uk.yml b/decidim-consultations/config/locales/uk.yml
index c231d3368012f..987d5419bece5 100644
--- a/decidim-consultations/config/locales/uk.yml
+++ b/decidim-consultations/config/locales/uk.yml
@@ -214,6 +214,8 @@ uk:
title: Питання з %{scope_name}
index:
title: Консультації
+ last_activity:
+ new_consultation: Додати консультацію
pages:
home:
highlighted_consultations:
diff --git a/decidim-consultations/lib/decidim/consultations/version.rb b/decidim-consultations/lib/decidim/consultations/version.rb
index 0d89007c6d99b..dfd8b2e51209f 100644
--- a/decidim-consultations/lib/decidim/consultations/version.rb
+++ b/decidim-consultations/lib/decidim/consultations/version.rb
@@ -3,7 +3,7 @@
module Decidim
module Consultations
def self.version
- "0.26.2"
+ "0.26.4"
end
end
end
diff --git a/decidim-core/app/cells/decidim/amendable/announcement_cell.rb b/decidim-core/app/cells/decidim/amendable/announcement_cell.rb
index 29b86da7e989b..788e679916731 100644
--- a/decidim-core/app/cells/decidim/amendable/announcement_cell.rb
+++ b/decidim-core/app/cells/decidim/amendable/announcement_cell.rb
@@ -39,7 +39,7 @@ def message(state, type, link = nil, date = nil)
end
def proposal_link(resource = model.amendable, text = nil)
- text ||= %(#{present(model.amendable).title})
+ text ||= %(#{decidim_sanitize(present(model.amendable).title, strip_tags: true)})
link_to resource_locator(resource).path do
text
end
diff --git a/decidim-core/app/cells/decidim/card_m_cell.rb b/decidim-core/app/cells/decidim/card_m_cell.rb
index 52f58ba756d9f..423c3bb3fb4ce 100644
--- a/decidim-core/app/cells/decidim/card_m_cell.rb
+++ b/decidim-core/app/cells/decidim/card_m_cell.rb
@@ -57,7 +57,7 @@ def label
end
def title
- translated_attribute model.title
+ decidim_html_escape(translated_attribute(model.title))
end
def description
diff --git a/decidim-core/app/cells/decidim/content_blocks/stats_cell.rb b/decidim-core/app/cells/decidim/content_blocks/stats_cell.rb
index c3d4398c00e04..06e4ea54d097d 100644
--- a/decidim-core/app/cells/decidim/content_blocks/stats_cell.rb
+++ b/decidim-core/app/cells/decidim/content_blocks/stats_cell.rb
@@ -16,6 +16,7 @@ def stats
def cache_hash
hash = []
hash.push(I18n.locale)
+ hash.push(current_organization.cache_key)
hash.join(Decidim.cache_key_separator)
end
end
diff --git a/decidim-core/app/controllers/concerns/decidim/resource_versions_concern.rb b/decidim-core/app/controllers/concerns/decidim/resource_versions_concern.rb
index 317a126e15009..9a03a8f36d57c 100644
--- a/decidim-core/app/controllers/concerns/decidim/resource_versions_concern.rb
+++ b/decidim-core/app/controllers/concerns/decidim/resource_versions_concern.rb
@@ -10,6 +10,10 @@ module ResourceVersionsConcern
helper Decidim::TraceabilityHelper
helper_method :current_version, :versioned_resource
+ def show
+ raise ActionController::RoutingError, "Not found" unless current_version
+ end
+
private
# Overwrite this method in your controller to define how to find the
diff --git a/decidim-core/app/controllers/decidim/devise/invitations_controller.rb b/decidim-core/app/controllers/decidim/devise/invitations_controller.rb
index bced7f0926a20..7eea498ff6acc 100644
--- a/decidim-core/app/controllers/decidim/devise/invitations_controller.rb
+++ b/decidim-core/app/controllers/decidim/devise/invitations_controller.rb
@@ -19,7 +19,7 @@ def authenticate_inviter!
# invitation. Using the param `invite_redirect` we can redirect the user
# to a custom path after it has accepted the invitation.
def after_accept_path_for(resource)
- params[:invite_redirect] || after_sign_in_path_for(resource)
+ invite_redirect_path || after_sign_in_path_for(resource)
end
# When a managed user accepts the invitation is promoted to non-managed user.
@@ -30,7 +30,6 @@ def accept_resource
resource.update!(newsletter_notifications_at: Time.current) if update_resource_params[:newsletter_notifications]
resource.update!(managed: false) if resource.managed?
resource.update!(accepted_tos_version: resource.organization.tos_version)
- Decidim::Gamification.increment_score(resource.invited_by, :invitations) if resource.invited_by
end
resource
@@ -38,6 +37,14 @@ def accept_resource
protected
+ def invite_redirect_path
+ path = params[:invite_redirect]
+ return unless path
+ return unless path.starts_with?(%r{^/[a-z0-9]+})
+
+ path
+ end
+
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:accept_invitation, keys: [:nickname, :tos_agreement, :newsletter_notifications])
end
diff --git a/decidim-core/app/controllers/decidim/devise/registrations_controller.rb b/decidim-core/app/controllers/decidim/devise/registrations_controller.rb
index eb6186b0df6d2..4ebb3e982624a 100644
--- a/decidim-core/app/controllers/decidim/devise/registrations_controller.rb
+++ b/decidim-core/app/controllers/decidim/devise/registrations_controller.rb
@@ -37,7 +37,7 @@ def create
end
on(:invalid) do
- flash.now[:alert] = @form.errors[:base].join(", ") if @form.errors[:base].any?
+ flash.now[:alert] = @form.errors.full_messages.join(", ") if @form.errors.full_messages.any?
render :new
end
end
@@ -58,6 +58,10 @@ def build_resource(hash = nil)
super(hash)
resource.organization = current_organization
end
+
+ def devise_mapping
+ ::Devise.mappings[:user]
+ end
end
end
end
diff --git a/decidim-core/app/events/decidim/resource_endorsed_event.rb b/decidim-core/app/events/decidim/resource_endorsed_event.rb
index 898aa7c5228b4..0263703402e1b 100644
--- a/decidim-core/app/events/decidim/resource_endorsed_event.rb
+++ b/decidim-core/app/events/decidim/resource_endorsed_event.rb
@@ -15,7 +15,8 @@ def endorser_path
end
def resource_text
- resource.body
+ return resource.body if resource.respond_to? :body
+ return resource.description if resource.respond_to? :description
end
def resource_type
diff --git a/decidim-core/app/forms/decidim/account_form.rb b/decidim-core/app/forms/decidim/account_form.rb
index 18a1ada16f927..4388b2c7e3801 100644
--- a/decidim-core/app/forms/decidim/account_form.rb
+++ b/decidim-core/app/forms/decidim/account_form.rb
@@ -19,9 +19,9 @@ class AccountForm < Form
attribute :personal_url
attribute :about
- validates :name, presence: true
- validates :email, presence: true, 'valid_email_2/email': { disposable: true }
- validates :nickname, presence: true, format: Decidim::User::REGEXP_NICKNAME
+ validates :name, presence: true, format: { with: Decidim::User::REGEXP_NAME }
+ validates :email, presence: true, "valid_email_2/email": { disposable: true }
+ validates :nickname, presence: true, format: { with: Decidim::User::REGEXP_NICKNAME }
validates :nickname, length: { maximum: Decidim::User.nickname_max_length, allow_blank: true }
validates :password, confirmation: true
diff --git a/decidim-core/app/forms/decidim/amendable/form.rb b/decidim-core/app/forms/decidim/amendable/form.rb
index 331ce670ae1f8..b819e1428b9a6 100644
--- a/decidim-core/app/forms/decidim/amendable/form.rb
+++ b/decidim-core/app/forms/decidim/amendable/form.rb
@@ -66,7 +66,8 @@ def compare_amendable_form_errors(amendable_form_errors)
errors = amendable_form_errors.details[key] - @original_form.errors.details[key]
errors.map do |hash|
- @amendable_form.errors.add(key, hash[:error]) unless @amendable_form.errors.details[key].include? error: hash[:error]
+ error = hash.delete(:error)
+ @amendable_form.errors.add(key, error, **hash) unless @amendable_form.errors.details[key].include?(error: error)
end
end
end
diff --git a/decidim-core/app/forms/decidim/registration_form.rb b/decidim-core/app/forms/decidim/registration_form.rb
index e79a2ee429364..8daeb3cc2e48d 100644
--- a/decidim-core/app/forms/decidim/registration_form.rb
+++ b/decidim-core/app/forms/decidim/registration_form.rb
@@ -14,9 +14,9 @@ class RegistrationForm < Form
attribute :tos_agreement, Boolean
attribute :current_locale, String
- validates :name, presence: true
- validates :nickname, presence: true, format: /\A[\w\-]+\z/, length: { maximum: Decidim::User.nickname_max_length }
- validates :email, presence: true, 'valid_email_2/email': { disposable: true }
+ validates :name, presence: true, format: { with: Decidim::User::REGEXP_NAME }
+ validates :nickname, presence: true, format: { with: Decidim::User::REGEXP_NICKNAME }, length: { maximum: Decidim::User.nickname_max_length }
+ validates :email, presence: true, "valid_email_2/email": { disposable: true }
validates :password, confirmation: true
validates :password, password: { name: :name, email: :email, username: :nickname }
validates :password_confirmation, presence: true
diff --git a/decidim-core/app/helpers/decidim/filters_helper.rb b/decidim-core/app/helpers/decidim/filters_helper.rb
index ac180a826a89f..9166252c02f63 100644
--- a/decidim-core/app/helpers/decidim/filters_helper.rb
+++ b/decidim-core/app/helpers/decidim/filters_helper.rb
@@ -24,7 +24,11 @@ def filter_form_for(filter, url = url_for, html_options = {})
remote: true,
html: { id: nil }.merge(html_options)
) do |form|
- yield form
+ # Cannot use `concat()` here because it's not available in cells
+ inner = []
+ inner << hidden_field_tag("per_page", params[:per_page], id: nil) if params[:per_page]
+ inner << capture { yield form }
+ inner.join.html_safe
end
end
end
diff --git a/decidim-core/app/mailers/decidim/notification_mailer.rb b/decidim-core/app/mailers/decidim/notification_mailer.rb
index 3d627cbbbef44..b60c061820e1f 100644
--- a/decidim-core/app/mailers/decidim/notification_mailer.rb
+++ b/decidim-core/app/mailers/decidim/notification_mailer.rb
@@ -5,6 +5,7 @@ module Decidim
# a events are received.
class NotificationMailer < Decidim::ApplicationMailer
helper Decidim::ResourceHelper
+ helper Decidim::SanitizeHelper
def event_received(event, event_class_name, resource, user, user_role, extra) # rubocop:disable Metrics/ParameterLists
with_user(user) do
diff --git a/decidim-core/app/models/decidim/action_log.rb b/decidim-core/app/models/decidim/action_log.rb
index 3c5d81dc9dc8f..2515e6e212a33 100644
--- a/decidim-core/app/models/decidim/action_log.rb
+++ b/decidim-core/app/models/decidim/action_log.rb
@@ -130,16 +130,16 @@ def self.lazy_relation(id_method, klass_name, cache)
end
# Whether this activity or log is visible for a given user (can also be nil)
- #
- # Returns a True/False.
def visible_for?(user)
- return false if resource_lazy.blank?
- return false if participatory_space_lazy.blank?
- return false if resource_lazy.respond_to?(:deleted?) && resource_lazy.deleted?
- return false if resource_lazy.respond_to?(:hidden?) && resource_lazy.hidden?
- return false if resource_lazy.respond_to?(:can_participate?) && !resource_lazy.can_participate?(user)
-
- true
+ resource_lazy.present? &&
+ participatory_space_lazy.present? &&
+ !resource_lazy.try(:deleted?) &&
+ !resource_lazy.try(:hidden?) &&
+ (!resource_lazy.respond_to?(:can_participate?) || resource_lazy.try(:can_participate?, user))
+ rescue NameError => e
+ Rails.logger.warn "Failed resource for #{self.class.name}(id=#{id}): #{e.message}"
+
+ false
end
end
end
diff --git a/decidim-core/app/models/decidim/user_base_entity.rb b/decidim-core/app/models/decidim/user_base_entity.rb
index 3a18a99b5ac4f..f6ae9e7575419 100644
--- a/decidim-core/app/models/decidim/user_base_entity.rb
+++ b/decidim-core/app/models/decidim/user_base_entity.rb
@@ -30,6 +30,7 @@ class UserBaseEntity < ApplicationRecord
scope :blocked, -> { where(blocked: true) }
scope :not_blocked, -> { where(blocked: false) }
+ scope :available, -> { where(deleted_at: nil, blocked: false, managed: false) }
# Public: Returns a collection with all the public entities this user is following.
#
diff --git a/decidim-core/app/packs/images/decidim/gamification/badges/decidim_gamification_badges_invitations.svg b/decidim-core/app/packs/images/decidim/gamification/badges/decidim_gamification_badges_invitations.svg
deleted file mode 100644
index 6344d27714a70..0000000000000
--- a/decidim-core/app/packs/images/decidim/gamification/badges/decidim_gamification_badges_invitations.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/decidim-core/app/packs/src/decidim/editor.js b/decidim-core/app/packs/src/decidim/editor.js
index f833cd5eb71a9..63352d0d46a84 100644
--- a/decidim-core/app/packs/src/decidim/editor.js
+++ b/decidim-core/app/packs/src/decidim/editor.js
@@ -1,6 +1,7 @@
/* eslint-disable require-jsdoc */
import lineBreakButtonHandler from "src/decidim/editor/linebreak_module"
+import "src/decidim/editor/clipboard_override"
import "src/decidim/vendor/image-resize.min"
import "src/decidim/vendor/image-upload.min"
@@ -10,6 +11,7 @@ export default function createQuillEditor(container) {
const toolbar = $(container).data("toolbar");
const disabled = $(container).data("disabled");
+ const allowedEmptyContentSelector = "iframe";
let quillToolbar = [
["bold", "italic", "underline", "linebreak"],
[{ list: "ordered" }, { list: "bullet" }],
@@ -93,10 +95,15 @@ export default function createQuillEditor(container) {
});
container.dispatchEvent(event);
- if (text === "\n" || text === "\n\n") {
+ if ((text === "\n" || text === "\n\n") && quill.root.querySelectorAll(allowedEmptyContentSelector).length === 0) {
$input.val("");
} else {
- $input.val(quill.root.innerHTML);
+ const emptyParagraph = "
";
+ const cleanHTML = quill.root.innerHTML.replace(
+ new RegExp(`^${emptyParagraph}|${emptyParagraph}$`, "g"),
+ ""
+ );
+ $input.val(cleanHTML);
}
});
// After editor is ready, linebreak_module deletes two extraneous new lines
diff --git a/decidim-core/app/packs/src/decidim/editor/clipboard_override.js b/decidim-core/app/packs/src/decidim/editor/clipboard_override.js
new file mode 100644
index 0000000000000..d8baf0bfee0d8
--- /dev/null
+++ b/decidim-core/app/packs/src/decidim/editor/clipboard_override.js
@@ -0,0 +1,143 @@
+/* eslint max-lines: ["error", 350] */
+
+/**
+ * Quill clipboard utilities
+ *
+ * Copyright (c) 2017, Slab
+ * Copyright (c) 2014, Jason Chen
+ * Copyright (c) 2013, salesforce.com
+ * BSD 3-Clause "New" or "Revised" License
+ *
+ * Extends the original version from https://github.com/quilljs/quill
+ * Relevant parts converted from TypeScript to JavaScript
+ */
+
+import CodeBlock from "quill/formats/code";
+import { matchNewline, matchBreak, deltaEndsWith, traverse } from "src/decidim/editor/clipboard_utilities";
+
+const Delta = Quill.import("delta");
+const Clipboard = Quill.import("modules/clipboard");
+
+/**
+ * Pasting bold text is broken in Quill as described at:
+ * https://github.com/quilljs/quill/issues/306
+ *
+ * The reason is that the `` nodes are not recognized as bold types.
+ * This override fixes the issue by introducing parts of the newer Quill code
+ * at GitHub and defining the `` tags as bold tags.
+ */
+export default class ClipboardOverride extends Clipboard {
+ constructor(quill, options) {
+ super(quill, options);
+ this.overrideMatcher("b", "b, strong");
+ this.overrideMatcher("br", "br", matchBreak);
+
+ // Change the matchNewLine matchers to the newer version
+ this.matchers[1][1] = matchNewline;
+ this.matchers[3][1] = matchNewline;
+
+ // Remove `matchSpacing` as that is also removed in the newer versions.
+ this.removeMatcher(Node.ELEMENT_NODE, "matchSpacing");
+ }
+
+ overrideMatcher(originalSelector, newSelector, newMatcher = null) {
+ const idx = this.matchers.findIndex((item) => item[0] === originalSelector);
+ if (idx >= 0) {
+ this.matchers[idx][0] = newSelector;
+ if (newMatcher) {
+ this.matchers[idx][1] = newMatcher;
+ }
+ }
+ }
+
+ removeMatcher(selector, matcherName) {
+ const idx = this.matchers.findIndex((item) => item[0] === selector && item[1].name === matcherName);
+ if (idx >= 0) {
+ this.matchers.splice(idx, 1);
+ }
+ }
+
+ onPaste(ev) {
+ if (ev.defaultPrevented || !this.quill.isEnabled()) {
+ return;
+ }
+ ev.preventDefault();
+ const range = this.quill.getSelection(true);
+ if (range === null) {
+ return;
+ }
+ const html = ev.clipboardData.getData("text/html");
+ const text = ev.clipboardData.getData("text/plain");
+ const files = Array.from(ev.clipboardData.files || []);
+ if (!html && files.length > 0) {
+ this.quill.uploader.upload(range, files);
+ return;
+ }
+ if (html && files.length > 0) {
+ const doc = new DOMParser().parseFromString(html, "text/html");
+ if (
+ doc.body.childElementCount === 1 &&
+ doc.body.firstElementChild.tagName === "IMG"
+ ) {
+ this.quill.uploader.upload(range, files);
+ return;
+ }
+ }
+ this.onPasteRange(range, { html, text });
+ }
+
+ onPasteRange(range, { text, html }) {
+ const formats = this.quill.getFormat(range.index);
+ const pastedDelta = this.convertPaste({ text, html }, formats);
+ // debug.log('onPaste", pastedDelta, { text, html });
+ const delta = new Delta().retain(range.index).delete(range.length).concat(pastedDelta);
+ this.quill.updateContents(delta, Quill.sources.USER);
+ // range.length contributes to delta.length()
+ this.quill.setSelection(
+ delta.length() - range.length,
+ Quill.sources.SILENT,
+ );
+ this.quill.scrollIntoView();
+ }
+
+ convertPaste({ html, text }, formats = {}) {
+ if (formats[CodeBlock.blotName]) {
+ return new Delta().insert(text, {
+ [CodeBlock.blotName]: formats[CodeBlock.blotName]
+ });
+ }
+ if (!html) {
+ return new Delta().insert(text || "");
+ }
+ const delta = this.convertPasteHTML(html);
+ // Remove trailing newline
+ if (
+ deltaEndsWith(delta, "\n") &&
+ (delta.ops[delta.ops.length - 1].attributes === null || formats.table)
+ ) {
+ return delta.compose(new Delta().retain(delta.length() - 1).delete(1));
+ }
+ return delta;
+ }
+
+ convertPasteHTML(html) {
+ const doc = new DOMParser().parseFromString(html, "text/html");
+ const container = doc.body;
+ const nodeMatches = new WeakMap();
+ const [elementMatchers, textMatchers] = this.prepareMatching(
+ container,
+ nodeMatches
+ );
+ return traverse(
+ this.quill.scroll,
+ container,
+ elementMatchers,
+ textMatchers,
+ nodeMatches
+ );
+ }
+}
+
+// Disable warning messages from overwritting modules
+Quill.debug("error");
+Quill.register({"modules/clipboard": ClipboardOverride}, true);
diff --git a/decidim-core/app/packs/src/decidim/editor/clipboard_utilities.js b/decidim-core/app/packs/src/decidim/editor/clipboard_utilities.js
new file mode 100644
index 0000000000000..34eeba8621d35
--- /dev/null
+++ b/decidim-core/app/packs/src/decidim/editor/clipboard_utilities.js
@@ -0,0 +1,119 @@
+import { BlockEmbed } from "quill/blots/block";
+
+const Delta = Quill.import("delta");
+const Parchment = Quill.import("parchment");
+
+// Newer version used only for the pasting, not compatible with the version of
+// Quill in use.
+const traverse = (scroll, node, elementMatchers, textMatchers, nodeMatches) => { // eslint-disable-line max-params
+ // Post-order
+ if (node.nodeType === node.TEXT_NODE) {
+ return textMatchers.reduce((delta, matcher) => {
+ return matcher(node, delta, scroll);
+ }, new Delta());
+ }
+ if (node.nodeType === node.ELEMENT_NODE) {
+ return Array.from(node.childNodes || []).reduce((delta, childNode) => {
+ let childrenDelta = traverse(
+ scroll,
+ childNode,
+ elementMatchers,
+ textMatchers,
+ nodeMatches,
+ );
+ if (childNode.nodeType === node.ELEMENT_NODE) {
+ childrenDelta = elementMatchers.reduce((reducedDelta, matcher) => {
+ return matcher(childNode, reducedDelta, scroll);
+ }, childrenDelta);
+ childrenDelta = (nodeMatches.get(childNode) || []).reduce(
+ (reducedDelta, matcher) => {
+ return matcher(childNode, reducedDelta, scroll);
+ },
+ childrenDelta,
+ );
+ }
+ return delta.concat(childrenDelta);
+ }, new Delta());
+ }
+ return new Delta();
+}
+
+const deltaEndsWith = (delta, text) => {
+ let endText = "";
+ for (let idx = delta.ops.length - 1; idx >= 0 && endText.length < text.length; idx -= 1) {
+ const op = delta.ops[idx];
+ if (typeof op.insert !== "string") {
+ break;
+ }
+ endText = op.insert + endText;
+ }
+ return endText.slice(-1 * text.length) === text;
+}
+
+const isLine = (node) => {
+ if (node.childNodes.length === 0) {
+ // Exclude embed blocks
+ return false;
+ }
+ return [
+ "address", "article", "blockquote", "canvas", "dd", "div", "dl", "dt",
+ "fieldset", "figcaption", "figure", "footer", "form", "h1", "h2", "h3",
+ "h4", "h5", "h6", "header", "iframe", "li", "main", "nav", "ol", "output",
+ "p", "pre", "section", "table", "td", "tr", "ul", "video"
+ ].includes(node.tagName.toLowerCase());
+}
+
+const matchNewLineScroll = (nextSibling, delta, scroll) => {
+ if (!scroll) {
+ return null;
+ }
+
+ const match = Parchment.query(nextSibling)
+ if (match && match.prototype instanceof BlockEmbed) {
+ return delta.insert("\n");
+ }
+ return null;
+}
+
+const matchNewline = (node, delta, scroll) => {
+ if (!deltaEndsWith(delta, "\n")) {
+ // When scroll is defined, it was initiated from the paste event. Otherwise
+ // it is a normal Quill initiated traversal which handles adding the line
+ // breaks already.
+ if (scroll && node.nodeType === node.ELEMENT_NODE && node.tagName === "BR") {
+ return delta.insert({"break": ""});
+ }
+ if (isLine(node)) {
+ return delta.insert("\n");
+ }
+ if (delta.length() > 0 && node.nextSibling) {
+ let { nextSibling } = node;
+ while (nextSibling !== null) {
+ if (isLine(nextSibling)) {
+ return delta.insert("\n");
+ }
+ const scrollMatch = matchNewLineScroll(nextSibling, delta, scroll);
+ if (scrollMatch) {
+ return scrollMatch;
+ }
+ nextSibling = nextSibling.firstChild;
+ }
+ }
+ }
+ return delta;
+}
+
+const matchBreak = (node, delta) => {
+ if (!deltaEndsWith(delta, "\n")) {
+ delta.insert({"break": ""});
+ }
+ return delta;
+}
+
+export {
+ traverse,
+ deltaEndsWith,
+ isLine,
+ matchNewline,
+ matchBreak
+}
diff --git a/decidim-core/app/packs/src/decidim/editor/linebreak_module.js b/decidim-core/app/packs/src/decidim/editor/linebreak_module.js
index 368976fb75698..c1a0da9a96f60 100644
--- a/decidim-core/app/packs/src/decidim/editor/linebreak_module.js
+++ b/decidim-core/app/packs/src/decidim/editor/linebreak_module.js
@@ -129,7 +129,6 @@ class ScrollOvderride extends Scroll {
Quill.register("blots/scroll", ScrollOvderride, true);
Parchment.register(ScrollOvderride);
-
export default function lineBreakButtonHandler(quill) {
let range = quill.selection.getRange()[0];
let currentLeaf = quill.getLeaf(range.index)[0];
@@ -167,13 +166,6 @@ Quill.register("modules/linebreak", (quill) => {
}
});
- quill.clipboard.addMatcher("BR", (node) => {
- if (node?.parentNode?.tagName === "A") {
- return new Delta().insert("\n");
- }
- return new Delta().insert({"break": ""});
- });
-
addEnterBindings(quill);
backspaceBindingsRangeAny(quill);
backspaceBindings(quill);
diff --git a/decidim-core/app/packs/stylesheets/decidim/modules/_forms.scss b/decidim-core/app/packs/stylesheets/decidim/modules/_forms.scss
index 2d62dff902c04..503caca0bdb6e 100644
--- a/decidim-core/app/packs/stylesheets/decidim/modules/_forms.scss
+++ b/decidim-core/app/packs/stylesheets/decidim/modules/_forms.scss
@@ -77,6 +77,11 @@ label > [type="radio"]{
margin-right: 1rem;
flex-shrink: 0;
}
+
+ &,
+ &.tiny{
+ height: auto;
+ }
}
.switch{
diff --git a/decidim-core/app/permissions/decidim/permissions.rb b/decidim-core/app/permissions/decidim/permissions.rb
index 73ab21062e8fb..9fe2d9896068f 100644
--- a/decidim-core/app/permissions/decidim/permissions.rb
+++ b/decidim-core/app/permissions/decidim/permissions.rb
@@ -116,9 +116,11 @@ def amend_action?
end
def apply_endorsement_permissions
- return disallow! if !current_settings.endorsements_enabled || current_settings.endorsements_blocked
+ is_allowed = current_settings.endorsements_enabled &&
+ !current_settings.endorsements_blocked &&
+ authorized?(:endorse, resource: context.fetch(:resource, nil))
- allow!
+ toggle_allow(is_allowed)
end
def notification_action?
diff --git a/decidim-core/app/presenters/decidim/home_stats_presenter.rb b/decidim-core/app/presenters/decidim/home_stats_presenter.rb
index 1aa3beae1795a..41e0abc983952 100644
--- a/decidim-core/app/presenters/decidim/home_stats_presenter.rb
+++ b/decidim-core/app/presenters/decidim/home_stats_presenter.rb
@@ -40,12 +40,19 @@ def global_stats(conditions)
end
def component_stats(conditions)
+ stats = {}
Decidim.component_manifests.flat_map do |component|
- component.stats.except([:supports_count])
- .filter(conditions)
- .with_context(published_components)
- .map { |name, data| [name, data] }
+ component
+ .stats.except([:supports_count])
+ .filter(conditions)
+ .with_context(published_components)
+ .each do |name, data|
+ stats[name] ||= 0
+ stats[name] += data
+ end
end
+
+ stats.to_a
end
def published_components
diff --git a/decidim-core/app/presenters/decidim/stats_presenter.rb b/decidim-core/app/presenters/decidim/stats_presenter.rb
index 6184887720c3f..edc5e4ec36150 100644
--- a/decidim-core/app/presenters/decidim/stats_presenter.rb
+++ b/decidim-core/app/presenters/decidim/stats_presenter.rb
@@ -15,18 +15,17 @@ def comments_stats(name)
end
def statistics(grouped_stats)
- statistics = []
+ statistics = {}
+
grouped_stats.each do |_manifest_name, stats|
- stats.each_with_index.each do |stat, _index|
- stat.each_with_index.map do |_item, subindex|
- next unless (subindex % 3).zero?
- next if stat[subindex + 2].zero?
+ stats.each do |_space_manifest, component_manifest, count|
+ next if count.zero?
- statistics << { stat_title: stat[subindex + 1], stat_number: stat[subindex + 2] }
- end
+ statistics[component_manifest] ||= 0
+ statistics[component_manifest] += count
end
end
- statistics
+ statistics.map { |key, number| { stat_title: key, stat_number: number } }
end
end
end
diff --git a/decidim-core/app/presenters/decidim/user_presenter.rb b/decidim-core/app/presenters/decidim/user_presenter.rb
index cf4ed24318445..f7304eb6726dc 100644
--- a/decidim-core/app/presenters/decidim/user_presenter.rb
+++ b/decidim-core/app/presenters/decidim/user_presenter.rb
@@ -5,7 +5,6 @@ module Decidim
# Decorator for users
#
class UserPresenter < SimpleDelegator
- include Rails.application.routes.mounted_helpers
include ActionView::Helpers::UrlHelper
include Decidim::TranslatableAttributes
@@ -13,6 +12,8 @@ class UserPresenter < SimpleDelegator
# nickname presented in a twitter-like style
#
def nickname
+ return "" if __getobj__.blocked?
+
"@#{__getobj__.nickname}"
end
@@ -25,7 +26,7 @@ def badge
def profile_url
return "" if respond_to?(:deleted?) && deleted?
- decidim.profile_url(__getobj__.nickname, host: __getobj__.organization.host)
+ decidim.profile_url(__getobj__.nickname)
end
def avatar
@@ -33,13 +34,14 @@ def avatar
end
def avatar_url(variant = nil)
- return avatar.default_url unless avatar.attached?
+ return default_avatar_url if __getobj__.blocked?
+ return default_avatar_url unless avatar.attached?
avatar.path(variant: variant)
end
def default_avatar_url
- attached_uploader.default_url
+ avatar.default_url
end
def profile_path
@@ -74,5 +76,11 @@ def can_follow?
def has_tooltip?
true
end
+
+ private
+
+ def decidim
+ @decidim ||= Decidim::EngineRouter.new("decidim", { host: __getobj__.organization.host })
+ end
end
end
diff --git a/decidim-core/app/services/decidim/activity_search.rb b/decidim-core/app/services/decidim/activity_search.rb
index 37674f637f88c..0c6e0dd39a3e2 100644
--- a/decidim-core/app/services/decidim/activity_search.rb
+++ b/decidim-core/app/services/decidim/activity_search.rb
@@ -149,6 +149,7 @@ def filter_hidden(query)
LEFT JOIN decidim_participatory_space_private_users AS #{manifest.name}_private_users
ON #{manifest.name}_private_users.privatable_to_type = '#{manifest.model_class_name}'
AND #{table}.id = #{manifest.name}_private_users.privatable_to_id
+ AND #{table}.private_space = 't'
SQL
).to_s
).where(
diff --git a/decidim-core/app/validators/etiquette_validator.rb b/decidim-core/app/validators/etiquette_validator.rb
index 1d3bcd7bbded9..adfa45fc3dde1 100644
--- a/decidim-core/app/validators/etiquette_validator.rb
+++ b/decidim-core/app/validators/etiquette_validator.rb
@@ -3,12 +3,16 @@
# This validator takes care of ensuring the validated content is
# respectful, doesn't use caps, and overall is meaningful.
class EtiquetteValidator < ActiveModel::EachValidator
+ include ActionView::Helpers::SanitizeHelper
+
def validate_each(record, attribute, value)
return if value.blank?
- validate_caps(record, attribute, value)
- validate_marks(record, attribute, value)
- validate_caps_first(record, attribute, value)
+ text_value = strip_tags(value)
+
+ validate_caps(record, attribute, text_value)
+ validate_marks(record, attribute, text_value)
+ validate_caps_first(record, attribute, text_value)
end
private
diff --git a/decidim-core/app/views/decidim/data_portability/show.html.erb b/decidim-core/app/views/decidim/data_portability/show.html.erb
index 55c1163208c6f..bd5a55f7c908a 100644
--- a/decidim-core/app/views/decidim/data_portability/show.html.erb
+++ b/decidim-core/app/views/decidim/data_portability/show.html.erb
@@ -1,7 +1,7 @@
<% add_decidim_page_title(t("my_data", scope: "layouts.decidim.user_profile")) %>
<% content_for(:subtitle) { t("my_data", scope: "layouts.decidim.user_profile") } %>
-
+<% end %>
diff --git a/decidim-core/config/locales/ar.yml b/decidim-core/config/locales/ar.yml
index 06ff4781bb2f3..bb44dc068d634 100644
--- a/decidim-core/config/locales/ar.yml
+++ b/decidim-core/config/locales/ar.yml
@@ -633,18 +633,6 @@ ar:
how: كيف يمكنك كسب ذلك
page_description: الشارات عبارة عن اعتراف بإجراءات المشارك والتقدم في المنصة. عند البدء في الاكتشاف والمشاركة والتفاعل في المنصة ، ستربح شارات مختلفة. فيما يلي قائمة بالشارات وبعض الطرق التي يمكنك من خلالها كسبها.
title: شارات
- invitations:
- conditions:
- - استخدم رابط "دعوة الأصدقاء" في صفحة المستخدم الخاصة بك لدعوة أصدقائك
- - تخصيص ، إذا كنت تريد ، الرسالة التي ترسلها
- - ستصل إلى أعلى مستوى عن طريق إرسال الدعوات وتسجيلها.
- description: تُمنح هذه الشارة عند قيامك بدعوة بعض الأشخاص وقضاء بعض الوقت للتسجيل في %{organization_name} وتصبح مشاركًا. شكرًا لك على تعريف شخص %{organization_name} للآخرين والمساعدة في توسيع نطاق المجتمع!
- description_another: قام هذا المشارك بدعوة %{score} شخصًا.
- description_own: لقد قمت بدعوة %{score} شخصًا.
- name: دعوات
- next_level_in: دعوة %{score} أشخاص آخرين للوصول إلى المستوى التالي!
- unearned_another: هذا المشارك لم يدع أي شخص حتى الآن
- unearned_own: لم تقم بدعوة أي شخص حتى الآن.
description: الشارات عبارة عن اعتراف بإجراءات المشارك والتقدم في المنصة. عند البدء في الاكتشاف والمشاركة والتفاعل في المنصة ، ستربح شارات مختلفة.
level: المستوى %{level}
reached_top: لقد وصلت إلى المستوى الأعلى لهذه الشارة.
@@ -804,12 +792,10 @@ ar:
title: المحادثات
reply:
send: إرسال
- title: رد
show:
title: المحادثة مع %{usernames}
start:
send: إرسال
- title: بدء محادثة
metrics:
followers:
description: عدد المشاركين الذين يتبعون مساحة المشاركة هذه
@@ -1200,15 +1186,6 @@ ar:
updated_not_active: كلمة السر الخاصة بك تم تغييرها بنجاح.
registrations:
destroyed: تم إلغاء حسابك بنجاح. نحن نأمل ان نراك قريبا مره اخرى.
- edit:
- are_you_sure: هل أنت واثق؟
- cancel_my_account: الغاء حسابي
- currently_waiting_confirmation_for_email: 'حاليا في انتظار تأكيد ل: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: اتركه فارغا إذا كنت لا تريد تغييره
- title: تحرير %{resource}
- unhappy: تعيس؟
- update: تحديث
- we_need_your_current_password_to_confirm_your_changes: نحتاج كلمة المرور الحالية لتأكيد تغييراتك
new:
sign_up: انشئ حسابًا
signed_up: أهلا بك! لقد اشتركت بنجاح
@@ -1263,7 +1240,6 @@ ar:
not_locked: لم يكن مغلقا
too_many_marks: يستخدم الكثير من علامات الترقيم المتتالية (مثل! و؟)
too_much_caps: يستخدم عددًا كبيرًا جدًا من الأحرف الكبيرة (أكثر من 25٪ من النص)
- too_short: قصير جدًا (أقل من 15 حرفًا)
forms:
required: مطلوب
invisible_captcha:
diff --git a/decidim-core/config/locales/bg.yml b/decidim-core/config/locales/bg.yml
index 6f03dc3510083..5b9d86e9fa297 100644
--- a/decidim-core/config/locales/bg.yml
+++ b/decidim-core/config/locales/bg.yml
@@ -648,18 +648,6 @@ bg:
how: Как може да я заслужите
page_description: Значките са признания за действия на участниците и напредък в платформата. Когато започнете да откривате, участвате и взаимодействате в платформата, ще заслужите различни значки. Ето списъка със значки и някои начини, по които можете да ги заслужите.
title: Значки
- invitations:
- conditions:
- - Използвайте връзката "покани приятели" на своята страница, за да поканите приятелите си
- - Персонализирайте, ако жеаете, съобщението, което изпращате
- - Ще се повишите нивото си, като изпращате покани и те бъдат регистрирани.
- description: Тази значка се предоставя, когато поканите някои хора и те отделят малко време да се регистрират в %{organization_name} и станат участници. Благодарим ви, че разказвате за %{organization_name} и така помогнете за разширяването на общността!
- description_another: Този участник покани %{score} човека.
- description_own: Вие поканихте %{score} човека.
- name: Покани
- next_level_in: Поканете още %{score} за да достигнете следващо ниво!
- unearned_another: Този участник все още не е поканил никой.
- unearned_own: Не сте поканил(а) никого все ще.
description: Значките са признания за действия на участниците и напредък в платформата. Когато започнете да откривате, участвате и взаимодействате в платформата, ще спечелите различни значки.
level: Ниво %{level}
reached_top: Достигнахте максималното ниво на значката.
@@ -851,7 +839,7 @@ bg:
title: Разговор с %{usernames}
start:
send: Изпрати
- title: Започнете разговор
+ title: Започни разговор
metrics:
followers:
description: Брой участници, които следват това пространство
@@ -1291,15 +1279,6 @@ bg:
updated_not_active: Паролата Ви беше променена успешно.
registrations:
destroyed: Вашият акаунт беше успешно отказан. Надяваме се скоро да се видим отново.
- edit:
- are_you_sure: Сигурни ли сте?
- cancel_my_account: Откажи профила ми
- currently_waiting_confirmation_for_email: 'В момента се чака потвърждение за: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: оставете празно, ако не желаете промяна
- title: Редактирай %{resource}
- unhappy: Недоволни?
- update: Обновяване
- we_need_your_current_password_to_confirm_your_changes: имаме нужда от текущата Ви парола, за да потвърдим Вашите промени
new:
sign_up: Регистрация
signed_up: Добре дошли! Регистрирахте се успешно.
@@ -1354,7 +1333,6 @@ bg:
other: 'При обработката на заявката Ви имаше няколко грешки:'
too_many_marks: използва твърде много последователни препинателни знаци (напр. ! и ?)
too_much_caps: използва твърде много главни букви (над 25% от текста)
- too_short: е твърде къс (под 15 знака)
forms:
required: Задължително
invisible_captcha:
diff --git a/decidim-core/config/locales/ca.yml b/decidim-core/config/locales/ca.yml
index e3d5d66894499..879d92c0dbbb9 100644
--- a/decidim-core/config/locales/ca.yml
+++ b/decidim-core/config/locales/ca.yml
@@ -29,6 +29,7 @@ ca:
password_confirmation: Confirma la teva contrasenya
personal_url: URL personal
remove_avatar: Elimina la imatge de perfil
+ tos_agreement: Acord de termes i condicions d'ús
models:
decidim/attachment_created_event: Arxiu adjunt
decidim/component_published_event: Component actiu
@@ -788,18 +789,6 @@ ca:
how: Com pots aconseguir-la
page_description: Les insígnies són reconeixements de les accions de les participants i del progrés en la plataforma. A mesura que comencis a descobrir, participar i interactuar amb la plataforma, n'obtindràs de diferents tipus. Aquí tens la llista d'insígnies i algunes formes d'aconseguir-les.
title: Insígnies
- invitations:
- conditions:
- - Utilitza l'enllaç "convidar amigues" a la teva pàgina d'usuària per convidar a les teves amistats
- - Personalitza, si vols, el missatge que estàs enviant
- - Pujaràs per mitjà de l'enviament d'invitacions i de registrar-les.
- description: Aquesta insígna s'aconsegueix quan has convidat a algunes persones a la plataforma %{organization_name}, i s'hi han registrat com a participants. Gràcies per donar a conèixer %{organization_name} a d'altres i ajudar a ampliar la comunitat!
- description_another: Aquesta participant ha convidat a %{score} persones.
- description_own: Has convidat %{score} persones.
- name: Invitacions
- next_level_in: Convida a %{score} persones més per arribar al següent nivell!
- unearned_another: Aquesta participant encara no ha convidat ningú.
- unearned_own: Encara no has convidat a ningú.
description: Les insígnies són reconeixements de les accions de les participants i del progrés en la plataforma. A mesura que comencis a descobrir, participar i interactuar amb la plataforma, n'obtindràs de diferents tipus.
level: Nivell %{level}
reached_top: Has arribat al màxim nivell d'aquesta insígnia.
@@ -1009,7 +998,7 @@ ca:
reply:
placeholder: La teva resposta...
send: Enviar
- title: Respon
+ title: Respondre
show:
back: Tornar a totes les converses
chat_with: Conversa amb
@@ -1018,7 +1007,7 @@ ca:
title: Conversa amb %{usernames}
start:
send: Enviar
- title: Comença una conversa
+ title: Iniciar una conversa
update:
error: El missatge no ha estat enviat degut a un error
metrics:
@@ -1544,15 +1533,6 @@ ca:
updated_not_active: La teva contrasenya s'ha modificat correctament.
registrations:
destroyed: El teu compte s'ha cancel·lat correctament. Esperem tornar-te a veure aviat.
- edit:
- are_you_sure: Estàs segura?
- cancel_my_account: Cancel·lar el meu compte
- currently_waiting_confirmation_for_email: 'Estem esperant la confirmació per a: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: Deixa-ho en blanc si no vols canviar-lo
- title: Edita %{resource}
- unhappy: Infeliç?
- update: Actualitzar
- we_need_your_current_password_to_confirm_your_changes: Necessitem la teva contrasenya actual per confirmar els canvis
new:
sign_up: Registra't
signed_up: Benvinguda! Has iniciat la sessió amb èxit.
@@ -1607,7 +1587,7 @@ ca:
other: 'S''han produït múltiples errors en processar la vostra sol·licitud:'
too_many_marks: Estàs fent servir massa signes de puntuació consecutius (p. ex. i?)
too_much_caps: Estàs utilitzant massa lletres majúscules (més del 25% del text)
- too_short: És massa curt (menys de 15 caràcters)
+ too_short: És massa curt (menys %{count} caràcters)
forms:
correct_errors: Hi ha errors al formulari, si us plau corregeix-los per continuar.
length_validator:
@@ -1681,7 +1661,7 @@ ca:
see_more: Veure més
locale:
name: Català
- name_with_error: Anglès (error!)
+ name_with_error: Català (error!)
password_validator:
blacklisted: a la llista negra
domain_included_in_password: és massa semblant a aquest nom de domini
diff --git a/decidim-core/config/locales/cs.yml b/decidim-core/config/locales/cs.yml
index 15bacf6e0b0b8..659295f2bf566 100644
--- a/decidim-core/config/locales/cs.yml
+++ b/decidim-core/config/locales/cs.yml
@@ -27,8 +27,9 @@ cs:
nickname: Přezdívka
password: Heslo
password_confirmation: Potvrzení hesla
- personal_url: Osobní adresa URL
+ personal_url: Osobní URL
remove_avatar: Odstranit avatara
+ tos_agreement: Smluvní podmínky užití
models:
decidim/attachment_created_event: Příloha
decidim/component_published_event: Aktivní součást
@@ -523,7 +524,7 @@ cs:
newsletter: Chci dostávat příležitostný zpravodaj s relevantními informacemi
newsletter_title: Povolení kontaktu
nickname_help: Váš alias v %{organization}. Může obsahovat pouze písmena, číslice, '-' a '_'.
- password_help: "%{minimun_characters} minimum znaků, nesmí být příliš běžné (např. 123456) a musí být jiné než vaše přezdívka a váš e-mail."
+ password_help: "%{minimun_characters} je minimum znaků, nesmí být příliš běžné (např. 123456) a musí být jiné než vaše přezdívka a váš e-mail."
sign_in: Přihlásit se
sign_up: Zaregistrovat se
sign_up_as:
@@ -750,7 +751,7 @@ cs:
click_button: 'Klikněte na následující odkaz pro stažení vašich dat. Soubor bude k dispozici do %{date}. Budete potřebovat 7-Zip (pro Windows), Keka (pro MacOS) nebo PeaZip (pro Linux) pro jeho otevření. Heslo: %{password}'
download: Stažení
export:
- ready: V příloze naleznete exportovanou exportovanou verzi.
+ ready: V příloze naleznete zazipovanou verzi vašeho exportu.
subject: Váš export "%{name}" je připraven
filters:
linked_classes:
@@ -827,18 +828,6 @@ cs:
how: Jak ho můžete získat
page_description: Odznaky jsou uznání akcí účastníků a pokrok v platformě. Jakmile začnete objevovat, účastnit se a spolupracovat v platformě, získáte různé odznaky. Zde je seznam odznaků a některé způsoby, jak si je můžete vydělat.
title: Odznaky
- invitations:
- conditions:
- - Pomocí odkazu "pozvat přátele" na své uživatelské stránce můžete pozvat své přátele
- - Přizpůsobte, pokud chcete, zprávu, kterou posíláte
- - Posíláním pozvánek a jejich registrací se dostáváte výš.
- description: Tento odznak je udělen, když jste pozvali některé lidi a tráví čas, aby se zaregistrovali v %{organization_name} a stali se účastníky. Děkujeme za %{organization_name} je známo, že ostatní a pomáhá rozšířit komunitu!
- description_another: Tento uživatel pozval %{score} uživatelů.
- description_own: Pozvali jste %{score} uživatelů.
- name: Pozvánky
- next_level_in: Pozvat %{score} dalších uživatelů, abyste se dostali na další úroveň!
- unearned_another: Tento uživatel zatím nepozval žádného uživatele.
- unearned_own: Dosud jste nepozvali žádné uživatele.
description: Odznaky jsou uznání akcí účastníků a pokrok v platformě. Jakmile začnete objevovat, účastnit se a spolupracovat v platformě, získáte různé odznaky.
level: Úroveň %{level}
reached_top: Dosáhli jste nejvyšší úrovně tohoto odznaku.
@@ -969,7 +958,7 @@ cs:
scope_type_presenter:
not_found: 'Typ oboru nebyl nalezen v databázi (ID: %{id})'
managed_users:
- expired_session: Aktuální platnost sesouhlasení již vypršela.
+ expired_session: Aktuální relace správy účastníka vypršela.
map:
dynamic:
screen_reader_explanation: Následující prvek je mapa, která prezentuje položky na této stránce jako mapové body. Prvek lze použít s čtečkou obrazovky, ale může být těžko srozumitelný.
@@ -1048,7 +1037,7 @@ cs:
reply:
placeholder: Vaše odpověď...
send: Poslat
- title: Odpověď
+ title: Odpovědět
show:
back: Zpět ke všem konverzacím
chat_with: Konverzace s
@@ -1057,7 +1046,7 @@ cs:
title: Konverzace s číslem %{usernames}
start:
send: Poslat
- title: Spusťte konverzaci
+ title: Zahájit konverzaci
update:
error: Zpráva nebyla odeslána z důvodu chyby
metrics:
@@ -1110,7 +1099,7 @@ cs:
unathorized: Je nám líto, tento odkaz již není k dispozici
update:
error: Došlo k chybě
- success: Nastavení Newsletteru bylo úspěšně aktualizováno
+ success: Nastavení Zpravodaje bylo úspěšně aktualizováno
newsletters_opt_in_mailer:
notify:
body_1: Zpracování osobních údajů a jejich ochrana jsou pro nás všechny stále důležitější. S novým obecným nařízením o ochraně osobních údajů (GDPR) ze dne 25. května 2018 mají jednotlivci lepší kontrolu nad svými osobními údaji. Z tohoto důvodu potřebujeme vaše "OK" pro pokračování v zasílání relevantních informací o aktivitách %{organization_name}.
@@ -1236,7 +1225,7 @@ cs:
info: Odznaky jsou získávány prováděním konkrétní činnosti v platformě.
title: Odznaky
user:
- confirmation_instructions_sent: Byly odeslány pokyny pro potvrzení e-mailu
+ confirmation_instructions_sent: Pokyny pro potvrzení e-mailu byly odeslány
create_user_group: Vytvořit skupinu
edit_profile: Editovat profil
edit_user_group: Upravit profil skupiny
@@ -1246,7 +1235,7 @@ cs:
leave_user_group: Opustit skupinu
manage_user_group_admins: Správa administrátorů
manage_user_group_users: Správa členů
- resend_email_confirmation_instructions: Opakujte e-mailové pokyny k potvrzení
+ resend_email_confirmation_instructions: Znovu odeslat pokyny pro potvrzení e-mailu
reported_mailer:
hide:
hello: Zdravím %{name},
@@ -1276,7 +1265,7 @@ cs:
scopes:
global: Globální oblast působnosti
picker:
- cancel: zrušení
+ cancel: Zrušit
change: Změnit vybraný rozsah
choose: Vybrat
currently_selected: Aktuálně vybraný rozsah
@@ -1586,15 +1575,6 @@ cs:
updated_not_active: Vaše heslo bylo úspěšně změněno.
registrations:
destroyed: Sbohem! Váš účet byl úspěšně zrušen. Doufáme, že vás brzy uvidíme.
- edit:
- are_you_sure: Jste si jisti?
- cancel_my_account: Zrušit můj účet
- currently_waiting_confirmation_for_email: 'Aktuálně čeká potvrzení o: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: ponechte prázdné, pokud nechcete změnit
- title: Upravit %{resource}
- unhappy: Nešťastný?
- update: Aktualizace
- we_need_your_current_password_to_confirm_your_changes: pro potvrzení změn potřebujeme vaše aktuální heslo
new:
sign_up: Přihlásit se
signed_up: Vítejte! Úspěšně jste se zaregistrovali.
@@ -1653,7 +1633,7 @@ cs:
other: 'Při zpracování vašeho požadavku došlo k nějakým chybám:'
too_many_marks: používá příliš mnoho po sobě jdoucích interpunkčních znamének (např.! a?)
too_much_caps: používá příliš mnoho velkých písmen (více než 25% textu)
- too_short: je příliš krátká (pod 15 znaků)
+ too_short: je příliš krátká (pod %{count} znaků)
forms:
correct_errors: Na formuláři jsou chyby, opravte je a pokračujte.
length_validator:
@@ -1729,7 +1709,7 @@ cs:
see_more: Vidět víc
locale:
name: Čeština
- name_with_error: Čeština
+ name_with_error: Čeština (chyba!)
password_validator:
blacklisted: je na černé listině
domain_included_in_password: je příliš podobné tomuto názvu domény
diff --git a/decidim-core/config/locales/de.yml b/decidim-core/config/locales/de.yml
index 976bd82ed1e51..5b4a65f935705 100644
--- a/decidim-core/config/locales/de.yml
+++ b/decidim-core/config/locales/de.yml
@@ -40,8 +40,12 @@ de:
decidim/join_request_rejected_event: Beitrittsanfrage abgelehnt
decidim/profile_updated_event: Profil aktualisiert
decidim/promote_to_admin: Zum Gruppenadministrator hochgestuft
+ decidim/promoted_to_admin_event: Zum Gruppenadministrator hochgestuft
decidim/removed_from_group: Aus der Gruppe entfernt
decidim/resource_endorsed_event: Ressource befürwortet
+ decidim/resource_hidden_event: Ressource versteckt
+ decidim/user_group_created_event: Benutzergruppe erstellt
+ decidim/welcome_notification_event: Willkommensnachricht
activerecord:
attributes:
decidim/user:
@@ -80,7 +84,28 @@ de:
decidim_with_month_name_short: "%d. %b"
datetime:
distance_in_words:
+ about_x_hours:
+ one: etwa eine Stunde
+ other: etwa %{count} Stunden
+ about_x_months:
+ one: etwa ein Monat
+ other: etwa %{count} Monate
half_a_minute: eine halbe Minute
+ less_than_x_minutes:
+ one: weniger als eine Minute
+ other: weingier als %{count} Minuten
+ less_than_x_seconds:
+ one: gerade eben
+ other: weniger als %{count} Sekunden
+ x_days:
+ one: Vor 1 Tag
+ other: "Vor %{count} Tagen"
+ x_hours:
+ one: Vor 1 Stunde
+ other: "Vor %{count} Stunden"
+ x_minutes:
+ one: Vor 1 Minute
+ other: "Vor %{count} Minuten"
x_seconds:
one: vor 1 Sekunde
other: "Vor %{count} Sekunden"
@@ -88,6 +113,7 @@ de:
decidim:
accessibility:
external_link: Externer Link
+ front_page_link: Zur Startseite gehen
logo: "Offizielles Logo von %{organization}"
skip_button: Zu Hauptinhalten überspringen
account:
@@ -267,6 +293,8 @@ de:
download: Datei herunterladen
documents:
related_documents: Zugehörige Dokumente
+ geocoding:
+ geocoded_address: Adresse
photos:
related_photos: Zugehörige Bilder
author:
@@ -463,7 +491,7 @@ de:
newsletter: Gelegentlich einen Newsletter mit relevanten Informationen erhalten
newsletter_title: Kontakterlaubnis
nickname_help: Ihr Pseudonym in %{organization}. Kann nur Buchstaben, Zahlen, '-' und '_' enthalten.
- password_help: "Mindestens %{minimun_characters} Zeichen, nicht zu gewöhnlich (z.B. 123456) und darf nicht Ihr Benutzername oder Ihre E-Mail-Adresse sein."
+ password_help: "Mindestens %{minimun_characters} Zeichen, nicht zu gewöhnlich (z. B. 123456) und darf nicht Ihr Benutzername oder Ihre E-Mail-Adresse sein."
sign_in: Anmelden
sign_up: Registrieren
sign_up_as:
@@ -512,6 +540,11 @@ de:
this_application_will_not_be_able_to: 'Diese Anwendung kann nicht:'
update_profile: Profil aktualisieren
wants_to_use_your_account_html: "%{application_name} möchte Ihr Konto verwenden"
+ editor_images:
+ create:
+ error: Fehler beim Hochladen des Bildes
+ success: Bild erfolgreich hochgeladen
+ drag_and_drop_help: Sie können Bilder per Drag & Drop hinzufügen oder per Copy & Paste.
endorsable:
endorsements: Empfehlungen
endorsements_count: Anzahl Befürworter
@@ -707,6 +740,7 @@ de:
no_followers: Noch keine Follower.
following:
no_followings: Folgt noch niemandem oder irgendetwas.
+ non_public_followings: Einige der gefolgten Ressourcen sind nicht öffentlich.
follows:
create:
button: Folgen
@@ -755,18 +789,6 @@ de:
how: Wie kannst du es verdienen?
page_description: Badges sind Anerkennungen für Aktionen der Teilnehmer und Fortschritt in der Plattform. Wenn Sie auf der Plattform entdecken, teilnehmen und interagieren, verdienen Sie verschiedene Abzeichen. Hier ist die Liste der Abzeichen und einige Möglichkeiten, wie Sie sie verdienen können.
title: Abzeichen
- invitations:
- conditions:
- - Verwenden Sie den Link "Freunde einladen" auf Ihrer Nutzerseite, um Ihre Freunde einzuladen
- - Passen Sie, wenn Sie möchten, die gesendete Nachricht an
- - Sie werden auf den neuesten Stand gebracht, indem Sie Einladungen senden und sie registrieren lassen.
- description: Dieses Abzeichen wird gewährt, wenn Sie einige Personen eingeladen haben und sie sich ein wenig Zeit genommen haben, um sich in %{organization_name} zu registrieren und Teilnehmer zu werden. Vielen Dank für die Herstellung von %{organization_name} anderen bekannt und helfen , die Gemeinschaft zu erweitern!
- description_another: Diese*r Benutzer*in hat %{score} Benutzer*innen eingeladen.
- description_own: Sie haben %{score} Benutzer*innen eingeladen.
- name: Einladungen
- next_level_in: Laden Sie %{score} weitere Benutzer*innen ein, um das nächste Level zu erreichen!
- unearned_another: Diese*r Benutzer*in hat noch niemanden eingeladen.
- unearned_own: Sie haben noch keine Benutzer*innen eingeladen.
description: Badges sind Anerkennungen für Aktionen der Teilnehmer und Fortschritt in der Plattform. Wenn Sie auf der Plattform entdecken, teilnehmen und interagieren, verdienen Sie verschiedene Abzeichen.
level: Level %{level}
reached_top: Du hast die höchste Stufe für dieses Abzeichen erreicht.
@@ -868,6 +890,15 @@ de:
index:
last_activity: Letzte Aktivität
resource_type: Art
+ links:
+ invalid_url: Ungültige URL
+ warning:
+ body_1: Sie sind dabei einen externen Link zu besuchen und wir möchten, dass Sie hinsichtlich der Inhalte auf der externen Seite vorsichtig sind.
+ body_2: Bitte überprüfen Sie den Link und stellen Sie sicher, dass es sich um eine vertrauenswürdige Seite handelt, bevor Sie fortfahren.
+ cancel: Abbrechen
+ close_modal: Dialog schließen
+ proceed: Fortfahren
+ title: Externen Link öffnen
log:
base_presenter:
create: "%{user_name} hat %{resource_name} erstellt"
@@ -963,6 +994,7 @@ de:
next: Weiter
no_conversations: Du hast noch keine Unterhaltungen
title: Nachrichten
+ to: An
reply:
placeholder: Ihre Antwort...
send: Senden
@@ -970,11 +1002,12 @@ de:
show:
back: Zurück zu allen Unterhaltungen
chat_with: Unterhaltung mit
+ deleted_accounts: Sie können keine Unterhaltung mit gelöschten Konten führen.
not_allowed: Dieser Teilnehmer akzeptiert keine direkten Nachrichten.
title: Gespräch mit %{usernames}
start:
send: Senden
- title: Ein Gespräch beginnen
+ title: Eine Unterhaltung beginnen
update:
error: Nachricht wurde aufgrund eines Fehlers nicht gesendet
metrics:
@@ -1037,8 +1070,14 @@ de:
greetings: Grüße, %{organization_name} %{organization_url}
hello: Hallo,
subject: Möchten Sie weiterhin relevante Informationen über %{organization_name} erhalten?
+ notification_mailer:
+ event_received:
+ original_text: 'Originaltext:'
+ translated_text: 'Automatisch übersetzter Text:'
notifications:
no_notifications: Noch keine Benachrichtigungen
+ show:
+ missing_event: Hoppla, diese Benachrichtigung gehört zu einem Artikel, der nicht mehr verfügbar ist. Du kannst sie verwerfen.
notifications_settings:
show:
administrators: Administratoren
@@ -1269,6 +1308,8 @@ de:
filters:
areas: Bereiche
select_an_area: Wählen Sie einen Bereich aus
+ public_participation:
+ public_participation: Meine Teilnahme öffentlich anzeigen
reference:
reference: 'Referenz: %{reference}'
represent_user_group:
@@ -1332,6 +1373,7 @@ de:
title_reply: Antworten
show:
back: Alle Unterhaltungen anzeigen
+ deleted_accounts: Sie können keine Unterhaltung mit gelöschten Konten führen.
not_allowed: Dieser Benutzer akzeptiert keine Direktnachrichten mehr.
title: Unterhaltung mit %{usernames}
update:
@@ -1490,15 +1532,6 @@ de:
updated_not_active: Ihr Passwort wurde erfolgreich geändert.
registrations:
destroyed: Tschüss! Ihr Konto wurde erfolgreich storniert. Wir hoffen, Sie bald wieder zu sehen.
- edit:
- are_you_sure: Bist du sicher?
- cancel_my_account: Brechen Sie mein Konto ab
- currently_waiting_confirmation_for_email: 'Momentan wartende Bestätigung für: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: lassen Sie das Feld leer, wenn Sie es nicht ändern möchten
- title: Bearbeite %{resource}
- unhappy: Unzufrieden?
- update: Aktualisieren
- we_need_your_current_password_to_confirm_your_changes: Wir benötigen Ihr aktuelles Passwort, um Ihre Änderungen zu bestätigen
new:
sign_up: Registrieren
signed_up: Herzlich willkommen! Sie haben sich erfolgreich angemeldet.
@@ -1553,9 +1586,12 @@ de:
other: 'Bei der Bearbeitung Ihrer Anfrage sind mehrere Fehler aufgetreten:'
too_many_marks: benutzt zu viele aufeinanderfolgende Satzzeichen (zB! und?)
too_much_caps: verwendet zu viele Großbuchstaben (über 25% des Textes)
- too_short: ist zu kurz (unter 15 Zeichen)
forms:
correct_errors: Es gibt Fehler auf dem Formular, bitte korrigieren Sie sie, um fortzufahren.
+ length_validator:
+ minimum:
+ one: Mindestens %{count} Zeichen
+ other: Mindestens %{count} Zeichen
required: Erforderlich
required_explanation: "* Pflichtfelder sind mit einem Stern gekennzeichnet"
invisible_captcha:
@@ -1623,13 +1659,14 @@ de:
see_more: Mehr sehen
locale:
name: Deutsch
- name_with_error: Englisch (Fehler!)
+ name_with_error: Deutsch (Fehler!)
password_validator:
blacklisted: ist gesperrt
domain_included_in_password: ist diesem Domainnamen zu ähnlich
email_included_in_password: ist Ihrer E-Mail zu ähnlich
fallback: ist ungültig
name_included_in_password: ist Ihrem Namen zu ähnlich
+ nickname_included_in_password: ist Ihrem Nicknamen zu ähnlich
not_enough_unique_characters: hat nicht genug eindeutige Zeichen
password_not_allowed: ist nicht erlaubt
password_too_common: ist zu allgemein
@@ -1664,6 +1701,8 @@ de:
day_of_week: "%a"
day_of_week_long: "%a %e."
day_of_year: "%d.%m.%y"
+ ddmm: "%d.%m"
+ ddmmyyyy: "%d.%m.%Y"
decidim_day_of_year: "%d. %B %Y"
decidim_short: "%d.%m.%Y %H:%M"
default: "%a, %d. %b %Y %H:%M:%S %z"
diff --git a/decidim-core/config/locales/el.yml b/decidim-core/config/locales/el.yml
index 474dc9891e9bd..ff2bfb43d80e2 100644
--- a/decidim-core/config/locales/el.yml
+++ b/decidim-core/config/locales/el.yml
@@ -678,18 +678,6 @@ el:
how: Πώς μπορείτε να το κερδίσετε
page_description: Τα εμβλήματα αποτελούν αναγνώριση ενεργειών των συμμετεχόντων και της προόδου στην πλατφόρμα. Καθώς αρχίζετε να ανακαλύπτετε, να συμμετέχετε και να αλληλεπιδράτε στην πλατφόρμα, θα κερδίσετε διάφορα εμβλήματα. Ακολουθεί η λίστα εμβλημάτων και ορισμένοι τρόποι με τους οποίους μπορείτε να τα κερδίσετε.
title: Εμβλήματα
- invitations:
- conditions:
- - Χρησιμοποιήστε τον σύνδεσμο «πρόσκληση φίλων» στη σελίδα χρήστη σας για να προσκαλέσετε τους φίλους σας
- - Προσαρμόστε, εάν θέλετε, το μήνυμα που στέλνετε
- - Θα αναβαθμιστείτε στο επόμενο επίπεδο με την αποστολή προσκλήσεων και την εγγραφή τους.
- description: Αυτό το έμβλημα χορηγείται όταν έχετε προσκαλέσει κάποια άτομα και έχουν αφιερώσει λίγο χρόνο για να εγγραφούν στον οργανισμό %{organization_name} και να συμμετάσχουν. Σας ευχαριστούμε που γνωστοποιείτε τον οργανισμό %{organization_name} σε άλλους και συμβάλετε στην επέκταση της κοινότητας!
- description_another: Αυτός ο συμμετέχων έχει προσκαλέσει %{score} άτομα.
- description_own: Έχετε προσκαλέσει %{score} άτομα.
- name: Προσκλήσεις
- next_level_in: Προσκαλέστε %{score} ακόμη άτομα για να φτάσετε στο επόμενο επίπεδο!
- unearned_another: Αυτός ο συμμετέχων δεν έχει προσκαλέσει ακόμη κανέναν.
- unearned_own: Δεν έχετε προσκαλέσει κανέναν ακόμη.
description: Τα εμβλήματα αποτελούν αναγνώριση ενεργειών των συμμετεχόντων και της προόδου στην πλατφόρμα. Καθώς αρχίζετε να ανακαλύπτετε, να συμμετέχετε και να αλληλεπιδράτε στην πλατφόρμα, θα κερδίσετε διάφορα εμβλήματα.
level: Επίπεδο %{level}
reached_top: Φτάσατε στο ανώτατο επίπεδο για αυτό το έμβλημα.
@@ -1350,15 +1338,6 @@ el:
updated_not_active: Ο κωδικός πρόσβασής σας άλλαξε με επιτυχία.
registrations:
destroyed: Ο λογαριασμός σας ακυρώθηκε με επιτυχία. Ελπίζουμε να σας ξαναδούμε σύντομα.
- edit:
- are_you_sure: Είστε βέβαιοι;
- cancel_my_account: Ακύρωση του λογαριασμού μου
- currently_waiting_confirmation_for_email: 'Αυτήν τη στιγμή αναμένεται επιβεβαίωση για τη διεύθυνση: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: αφήστε το κενό εάν δεν θέλετε να το αλλάξετε
- title: Επεξεργασία του στοιχείου %{resource}
- unhappy: Δεν είστε ικανοποιημένοι;
- update: Ενημέρωση
- we_need_your_current_password_to_confirm_your_changes: χρειαζόμαστε τον τρέχοντα κωδικό πρόσβασής σας για να επιβεβαιώσουμε τις αλλαγές σας
new:
sign_up: Εγγραφή
signed_up: Καλώς ορίσατε! Έχετε εγγραφεί με επιτυχία.
@@ -1413,7 +1392,6 @@ el:
other: 'Παρουσιάστηκαν πολλά σφάλματα κατά την επεξεργασία του αιτήματός σας:'
too_many_marks: χρησιμοποιεί πάρα πολλά διαδοχικά σημεία στίξης (π.χ. ! και ;)
too_much_caps: χρησιμοποιεί πάρα πολλά κεφαλαία γράμματα (πάνω από το 25% του κειμένου)
- too_short: είναι πολύ μικρό (κάτω από 15 χαρακτήρες)
forms:
correct_errors: Υπάρχουν λάθη στη φόρμα, παρακαλούμε διορθώστε τα για να συνεχίσετε.
required: Υποχρεωτικό πεδίο
diff --git a/decidim-core/config/locales/en.yml b/decidim-core/config/locales/en.yml
index f4592a53e9ef9..01d8ebac7ccc9 100644
--- a/decidim-core/config/locales/en.yml
+++ b/decidim-core/config/locales/en.yml
@@ -30,6 +30,7 @@ en:
password_confirmation: Confirm your password
personal_url: Personal URL
remove_avatar: Remove avatar
+ tos_agreement: Terms and conditions of use agreement
models:
decidim/attachment_created_event: Attachment
decidim/component_published_event: Active component
@@ -798,18 +799,6 @@ en:
how: How can you earn it
page_description: Badges are recognitions to participant actions and progress in the platform. As you start discovering, participating and interacting in the platform, you will earn different badges. Here is the list of badges and some ways you can earn them.
title: Badges
- invitations:
- conditions:
- - Use the “invite friends” link on your user page to invite your friends
- - Customize, if you want, the message you are sending
- - You’ll level up by sending invitations and getting them registered.
- description: This badge is granted when you’ve invited some people and they have spend a little time to register in %{organization_name} and become participants. Thank you for making %{organization_name} known to others and helping to expand the community!
- description_another: This participant has invited %{score} people.
- description_own: You have invited %{score} people.
- name: Invitations
- next_level_in: Invite %{score} more people to reach the next level!
- unearned_another: This participant has not yet invited anyone.
- unearned_own: You haven't invited anyone yet.
description: Badges are recognitions to participant actions and progress in the platform. As you start discovering, participating and interacting in the platform, you will earn different badges.
level: Level %{level}
reached_top: You've reached the top level for this badge.
@@ -1555,15 +1544,6 @@ en:
updated_not_active: Your password has been successfully changed.
registrations:
destroyed: Your account has been successfully cancelled. We hope to see you again soon.
- edit:
- are_you_sure: Are you sure?
- cancel_my_account: Cancel my account
- currently_waiting_confirmation_for_email: 'Currently waiting confirmation for: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: leave blank if you don't want to change it
- title: Edit %{resource}
- unhappy: Unhappy?
- update: Update
- we_need_your_current_password_to_confirm_your_changes: we need your current password to confirm your changes
new:
sign_up: Sign up
signed_up: Welcome! You have signed up successfully.
@@ -1618,7 +1598,7 @@ en:
other: 'There were multiple errors when processing your request:'
too_many_marks: is using too many consecutive punctuation marks (e.g. ! and ?)
too_much_caps: is using too many capital letters (over 25% of the text)
- too_short: is too short (under 15 characters)
+ too_short: is too short (under %{count} characters)
forms:
correct_errors: There are errors on the form, please correct them to continue.
length_validator:
diff --git a/decidim-core/config/locales/es-MX.yml b/decidim-core/config/locales/es-MX.yml
index e5b0b91d76cf2..1cf9108970dd6 100644
--- a/decidim-core/config/locales/es-MX.yml
+++ b/decidim-core/config/locales/es-MX.yml
@@ -29,6 +29,7 @@ es-MX:
password_confirmation: Confirma tu contraseña
personal_url: URL personal
remove_avatar: Eliminar imagen de perfil
+ tos_agreement: Acuerdo de términos y condiciones de uso
models:
decidim/attachment_created_event: Archivo adjunto
decidim/component_published_event: Componente activo
@@ -44,7 +45,7 @@ es-MX:
decidim/removed_from_group: Eliminado del grupo
decidim/resource_endorsed_event: Adhesión a recurso realizada
decidim/resource_hidden_event: Recurso oculto
- decidim/user_group_created_event: Grupo de usuarios creado
+ decidim/user_group_created_event: Grupo creado
decidim/welcome_notification_event: Mensaje de bienvenida
activerecord:
attributes:
@@ -791,18 +792,6 @@ es-MX:
how: Como puedes conseguirlo
page_description: Los distintivos son reconocimientos a las acciones de los participantes y al progreso en la plataforma. A medida que comiences a descubrir, participar e interactuar en la plataforma, conseguirlo diferentes distintivo. Aquí está la lista de distintivos y algunas formas en que puedes conseguirlas.
title: Distintivos
- invitations:
- conditions:
- - Usa el enlace "invitar amigos" en tu página de usuario para invitar a tus amistades
- - Personaliza, si quieres, el mensaje que estás enviando.
- - Supera este nivel enviando invitaciones y registrándolas.
- description: Este distintivo se consigue cuando has invitado a algunas personas y han pasado un poco de tiempo para registrarse en %{organization_name} y se converten en participantes. ¡Gracias por dar a conocer %{organization_name} a otros y ayudar a ampliar la comunidad!
- description_another: Este usuario ha invitado a %{score} usuarios.
- description_own: Has invitado a %{score} usuarios.
- name: Invitaciones
- next_level_in: '¡Invita %{score} usuarios más a alcanzar el siguiente nivel!'
- unearned_another: Este usuario aún no ha invitado a ningún usuario.
- unearned_own: No has invitado aún a ningún usuario.
description: Las insignias son reconocimientos de las acciones de los participantes y el progreso en la plataforma. A medida que comienzas a descubrir, participar e interactuar en la plataforma, ganarás diferentes insignias.
level: Nivel %{level}
reached_top: Has alcanzado el nivel superior para esta insignia.
@@ -1012,7 +1001,7 @@ es-MX:
reply:
placeholder: Tu respuesta...
send: Enviar
- title: Respuesta
+ title: Responder
show:
back: Volver a todas las conversaciones
chat_with: Conversación con
@@ -1548,15 +1537,6 @@ es-MX:
updated_not_active: Tu contraseña ha sido cambiada con éxito.
registrations:
destroyed: '¡Adiós! Tu cuenta ha sido cancelada exitosamente. Esperamos volverte a ver pronto.'
- edit:
- are_you_sure: '¿Estás seguro?'
- cancel_my_account: Cancelar mi cuenta
- currently_waiting_confirmation_for_email: 'Esperando de confirmación para: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: Déjalo en blanco si no quieres cambiarlo
- title: Editar %{resource}
- unhappy: '¿Infeliz?'
- update: Actualizar
- we_need_your_current_password_to_confirm_your_changes: Necesitamos tu contraseña actual para confirmar sus cambios
new:
sign_up: Regístrate
signed_up: '¡Bienvenido/a! Te has registrado con éxito.'
@@ -1611,7 +1591,7 @@ es-MX:
other: 'Hubo varios errores al procesar tu solicitud:'
too_many_marks: Estás usando demasiados signos de puntuación consecutivos (por ejemplo,! y?)
too_much_caps: Está usando demasiadas letras mayúsculas (más del 25% del texto)
- too_short: Es demasiado corto (menos de 15 caracteres)
+ too_short: Es demasiado corto (menos %{count} caracteres)
forms:
correct_errors: Hay errores en el formulario, por favor corrígelos para continuar.
length_validator:
@@ -1685,7 +1665,7 @@ es-MX:
see_more: Ver más
locale:
name: Español
- name_with_error: Inglés (¡error!)
+ name_with_error: Español (¡error!)
password_validator:
blacklisted: en la lista negra
domain_included_in_password: Es muy similar a este nombre de dominio
diff --git a/decidim-core/config/locales/es-PY.yml b/decidim-core/config/locales/es-PY.yml
index 5dcad9a3b75d5..b1dc7f2774270 100644
--- a/decidim-core/config/locales/es-PY.yml
+++ b/decidim-core/config/locales/es-PY.yml
@@ -29,6 +29,7 @@ es-PY:
password_confirmation: Confirma tu contraseña
personal_url: URL personal
remove_avatar: Eliminar imagen de perfil
+ tos_agreement: Acuerdo de términos y condiciones de uso
models:
decidim/attachment_created_event: Archivo adjunto
decidim/component_published_event: Componente activo
@@ -44,7 +45,7 @@ es-PY:
decidim/removed_from_group: Eliminado del grupo
decidim/resource_endorsed_event: Adhesión a recurso realizada
decidim/resource_hidden_event: Recurso oculto
- decidim/user_group_created_event: Grupo de usuarios creado
+ decidim/user_group_created_event: Grupo creado
decidim/welcome_notification_event: Mensaje de bienvenida
activerecord:
attributes:
@@ -791,18 +792,6 @@ es-PY:
how: Como puedes conseguirlo
page_description: Los distintivos son reconocimientos a las acciones de los participantes y al progreso en la plataforma. A medida que comiences a descubrir, participar e interactuar en la plataforma, conseguirlo diferentes distintivo. Aquí está la lista de distintivos y algunas formas en que puedes conseguirlas.
title: Distintivos
- invitations:
- conditions:
- - Usa el enlace "invitar amigos" en tu página de usuario para invitar a tus amistades
- - Personaliza, si quieres, el mensaje que estás enviando.
- - Supera este nivel enviando invitaciones y registrándolas.
- description: Este distintivo se consigue cuando has invitado a algunas personas y han pasado un poco de tiempo para registrarse en %{organization_name} y se converten en participantes. ¡Gracias por dar a conocer %{organization_name} a otros y ayudar a ampliar la comunidad!
- description_another: Este usuario ha invitado a %{score} usuarios.
- description_own: Has invitado a %{score} usuarios.
- name: Invitaciones
- next_level_in: '¡Invita %{score} usuarios más a alcanzar el siguiente nivel!'
- unearned_another: Este usuario aún no ha invitado a ningún usuario.
- unearned_own: No has invitado aún a ningún usuario.
description: Las insignias son reconocimientos de las acciones de los participantes y el progreso en la plataforma. A medida que comienzas a descubrir, participar e interactuar en la plataforma, ganarás diferentes insignias.
level: Nivel %{level}
reached_top: Has alcanzado el nivel superior para esta insignia.
@@ -1012,7 +1001,7 @@ es-PY:
reply:
placeholder: Tu respuesta...
send: Enviar
- title: Respuesta
+ title: Responder
show:
back: Volver a todas las conversaciones
chat_with: Conversación con
@@ -1548,15 +1537,6 @@ es-PY:
updated_not_active: Tu contraseña ha sido cambiada exitosamente.
registrations:
destroyed: '¡Adiós! Su cuenta ha sido cancelada exitosamente. Esperamos volver a verte pronto.'
- edit:
- are_you_sure: '¿Estás seguro?'
- cancel_my_account: Cancelar mi cuenta
- currently_waiting_confirmation_for_email: 'En espera de confirmación para: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: déjelo en blanco si no quiere cambiarlo
- title: Editar %{resource}
- unhappy: '¿Infeliz?'
- update: Actualizar
- we_need_your_current_password_to_confirm_your_changes: necesitamos su contraseña actual para confirmar sus cambios
new:
sign_up: Regístrate
signed_up: '¡Bienvenido! Usted se ha registrado exitosamente.'
@@ -1611,7 +1591,7 @@ es-PY:
other: 'Hubo varios errores al procesar tu solicitud:'
too_many_marks: está usando demasiados signos de puntuación consecutivos (por ejemplo,! y?)
too_much_caps: está usando demasiadas letras mayúsculas (más del 25% del texto)
- too_short: es demasiado corto (menos de 15 caracteres)
+ too_short: Es demasiado corto (menos %{count} caracteres)
forms:
correct_errors: Hay errores en el formulario, por favor corrígelos para continuar.
length_validator:
@@ -1685,7 +1665,7 @@ es-PY:
see_more: Ver más
locale:
name: Castellano
- name_with_error: Inglés (¡error!)
+ name_with_error: Castellano (¡error!)
password_validator:
blacklisted: en la lista negra
domain_included_in_password: Es muy similar a este nombre de dominio
diff --git a/decidim-core/config/locales/es.yml b/decidim-core/config/locales/es.yml
index e7f9e5440ba4c..8b5da46cbe7b5 100644
--- a/decidim-core/config/locales/es.yml
+++ b/decidim-core/config/locales/es.yml
@@ -29,6 +29,7 @@ es:
password_confirmation: Confirma tu contraseña
personal_url: URL personal
remove_avatar: Eliminar imagen de perfil
+ tos_agreement: Acuerdo de términos y condiciones de uso
models:
decidim/attachment_created_event: Archivo adjunto
decidim/component_published_event: Componente activo
@@ -44,7 +45,7 @@ es:
decidim/removed_from_group: Eliminada del grupo
decidim/resource_endorsed_event: Adhesión a recurso realizada
decidim/resource_hidden_event: Recurso oculto
- decidim/user_group_created_event: Grupo de usuarios creado
+ decidim/user_group_created_event: Grupo creado
decidim/welcome_notification_event: Mensaje de bienvenida
activerecord:
attributes:
@@ -569,12 +570,12 @@ es:
email_intro: 'Se ha aceptado una enmienda para %{amendable_title}. Puedes verla desde esta página:'
email_outro: Has recibido esta notificación porque eres una autora de %{amendable_title}.
email_subject: Enmienda aceptada para %{amendable_title} de %{emendation_author_nickname}
- notification_title: El enmienda creado por %{emendation_author_nickname} ha sido aceptado para %{amendable_title}.
+ notification_title: La enmienda creada por %{emendation_author_nickname} ha sido aceptada para %{amendable_title}.
follower:
email_intro: 'Se ha aceptado una enmienda para %{amendable_title}. Puedes verla desde esta página:'
email_outro: Has recibido esta notificación porque estás siguiendo a %{amendable_title}. Puedes dejar de recibir notificaciones siguiendo el enlace anterior.
email_subject: Enmienda aceptada para %{amendable_title} de %{emendation_author_nickname}
- notification_title: El enmienda creado por %{emendation_author_nickname} ha sido aceptado para %{amendable_title}.
+ notification_title: La enmienda creada por %{emendation_author_nickname} ha sido aceptada para %{amendable_title}.
amendment_created:
affected_user:
email_intro: 'Se ha creado una nueva enmienda para %{amendable_title}. Puedes verla desde esta página:'
@@ -602,12 +603,12 @@ es:
email_intro: 'Una enmienda ha sido rechazada por %{amendable_title}. Puedes verla desde esta página:'
email_outro: Has recibido esta notificación porque eres autora de %{amendable_title}.
email_subject: Enmienda rechazada por %{amendable_title} de %{emendation_author_nickname}
- notification_title: El enmienda creado por %{emendation_author_nickname} ha sido rechazada por %{amendable_title}.
+ notification_title: La enmienda creada por %{emendation_author_nickname} ha sido rechazada por %{amendable_title}.
follower:
email_intro: 'Una enmienda ha sido rechazada por %{amendable_title}. Puedes verla desde esta página:'
email_outro: Has recibido esta notificación porque estás siguiendo a %{amendable_title}. Puedes dejar de recibir notificaciones siguiendo el enlace anterior.
email_subject: Una enmienda rechazada por %{amendable_title} de %{emendation_author_nickname}
- notification_title: El enmienda creado por %{emendation_author_nickname} ha sido rechazada por %{amendable_title}.
+ notification_title: La enmienda creada por %{emendation_author_nickname} ha sido rechazada por %{amendable_title}.
attachments:
attachment_created:
email_intro: 'Se ha añadido un nuevo documento a %{resource_title}. Puedes verlo desde esta página:'
@@ -788,18 +789,6 @@ es:
how: Como puedes conseguirla
page_description: Las insignias son reconocimientos a las acciones de las participantes y al progreso en la plataforma. A medida que comiences a descubrir, participar e interactuar en la plataforma, conseguirás diferentes insignias. Aquí está la lista de insignias y algunas formas en que puedes conseguirlas.
title: Insignias
- invitations:
- conditions:
- - Usa el enlace "invitar amigas" en tu página de usuaria para invitar a tus amistades
- - Personaliza, si quieres, el mensaje que estás enviando
- - Subirás de nivel enviando invitaciones y consiguiendo nuevas participantes.
- description: Esta insignia se consigue cuando has invitado a algunas personas a la plataforma %{organization_name}, y se han registrado como participantes. ¡Gracias por dar a conocer %{organization_name} a otras y ayudar a ampliar la comunidad!
- description_another: Esta participante ha invitado a %{score} personas.
- description_own: Has invitado a %{score} personas.
- name: Invitaciones
- next_level_in: '¡Invita a %{score} personas más para alcanzar el siguiente nivel!'
- unearned_another: Esta participante aún no ha invitado a nadie.
- unearned_own: Aún no has invitado a nadie.
description: Las insignias son reconocimientos de las acciones de las participantes y el progreso en la plataforma. A medida que comienzas a descubrir, participar e interactuar en la plataforma, ganarás diferentes insignias.
level: Nivel %{level}
reached_top: Has alcanzado el nivel superior para esta insignia.
@@ -1009,7 +998,7 @@ es:
reply:
placeholder: Tu respuesta...
send: Enviar
- title: Respuesta
+ title: Responder
show:
back: Volver a todas las conversaciones
chat_with: Conversación con
@@ -1018,7 +1007,7 @@ es:
title: Conversación con %{usernames}
start:
send: Enviar
- title: Inicia una conversación
+ title: Iniciar una conversación
update:
error: El mensaje no fue enviado debido a un error
metrics:
@@ -1544,15 +1533,6 @@ es:
updated_not_active: Tu contraseña se ha modificado correctamente.
registrations:
destroyed: Tu cuenta se ha cancelado correctamente. Esperamos volver a verte pronto.
- edit:
- are_you_sure: '¿Estás segura?'
- cancel_my_account: Cancelar mi cuenta
- currently_waiting_confirmation_for_email: 'Estamos esperando la confirmación para: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: Déjalo en blanco si no quieres cambiarlo
- title: Editar %{resource}
- unhappy: '¿Infeliz?'
- update: Actualizar
- we_need_your_current_password_to_confirm_your_changes: Necesitamos tu contraseña actual para confirmar sus cambios
new:
sign_up: Regístrate
signed_up: '¡Bienvenida! Te has registrado con éxito.'
@@ -1607,7 +1587,7 @@ es:
other: 'Hubo varios errores al procesar tu solicitud:'
too_many_marks: Estás usando demasiados signos de puntuación consecutivos (por ejemplo,! y?)
too_much_caps: Está usando demasiadas letras mayúsculas (más del 25% del texto)
- too_short: Es demasiado corto (menos de 15 caracteres)
+ too_short: Es demasiado corto (menos %{count} caracteres)
forms:
correct_errors: Hay errores en el formulario, por favor corrígelos para continuar.
length_validator:
@@ -1681,7 +1661,7 @@ es:
see_more: Ver más
locale:
name: Castellano
- name_with_error: Inglés (¡error!)
+ name_with_error: Castellano (¡error!)
password_validator:
blacklisted: en la lista negra
domain_included_in_password: es demasiado similar a este nombre de dominio
diff --git a/decidim-core/config/locales/eu.yml b/decidim-core/config/locales/eu.yml
index b6b97b2476a53..c929953bc14c7 100644
--- a/decidim-core/config/locales/eu.yml
+++ b/decidim-core/config/locales/eu.yml
@@ -744,18 +744,6 @@ eu:
how: Nola irabaz dezakezu?
page_description: Badiak partaideen ekintzak eta plataforma aurrerapenean aitortzen dira. Plataforman ezagutzeko, parte hartu eta elkarreraginean hasten zarenean, txapak irabazten dituzu. Hona hemen txapak eta irabazi ditzakezun modu batzuk.
title: Badges
- invitations:
- conditions:
- - Erabili "gonbidatu lagunak" esteka erabiltzaile-orrian zure lagunak gonbidatzeko
- - Pertsonalizatu, nahi baduzu, bidaltzen ari zaren mezua
- - Gonbidapenak bidaltzea eta inskribatzea lortuko duzu.
- description: Idazmahaia ematen zaie pertsona batzuk gonbidatu dituzunean eta denbora pixka bat pasatu dute %{organization_name} erregistratu eta parte-hartzaile bihurtu. Eskerrik asko egiteko %{organization_name} besteei ezaguna eta komunitatea zabaltzeko laguntzen!
- description_another: Erabiltzaile honek %{score} erabiltzaile gonbidatu ditu.
- description_own: '%{score} erabiltzaile gonbidatu dituzu.'
- name: Gonbidapenak
- next_level_in: Gonbidatu %{score} erabiltzaile gehiago hurrengo mailara iristeko!
- unearned_another: Erabiltzaile honek ez du oraindik gonbidatu erabiltzaileak.
- unearned_own: Erabiltzaile ez da gonbidatu oraindik.
description: Badiak partaideen ekintzak eta plataforma aurrerapenean aitortzen dira. Plataforman ezagutzeko, parte hartu eta elkarreraginean hasten zarenean, txapak irabazten dituzu.
level: '%{level}maila'
reached_top: Idatzi honen goialdean iritsi zara.
@@ -953,8 +941,8 @@ eu:
ok: Ados
index:
ago: orain dela
- close: Itxi leihoa
- from: Nondik
+ close: Itxi modal
+ from: Nork
groups: Nire taldeak
last_message: Azken mezua
new_conversation: Elkarrizketa berria
@@ -972,7 +960,7 @@ eu:
title: Elkarrizketa honekin %{usernames}
start:
send: Bidali
- title: Hasi elkarrizketa bat
+ title: Hasi elkarrizketa
update:
error: Mezua ez da bidali akats batengatik
metrics:
@@ -1489,15 +1477,6 @@ eu:
updated_not_active: Pasahitza ondo aldatu da.
registrations:
destroyed: Agur! Zure kontua behar bezala bertan behera utzi da. Laster ikusiko dugu berriro.
- edit:
- are_you_sure: Ziur zaude?
- cancel_my_account: Utzi nire kontua
- currently_waiting_confirmation_for_email: 'Une honetan espero da baieztapena: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: utzi hutsik egin nahi ez baduzu
- title: Editatu %{resource}
- unhappy: Konforme?
- update: eguneratzearen
- we_need_your_current_password_to_confirm_your_changes: Zure pasahitza behar dugu zure aldaketak berresteko
new:
sign_up: Izena eman
signed_up: Ongi etorri! Eginda sinatu duzu.
@@ -1552,7 +1531,7 @@ eu:
other: 'Errore batzuk egon dira zure eskaera prozesatzean:'
too_many_marks: puntuazio markako jarraipen gehiegi erabiltzen ari da (adib. eta?)
too_much_caps: maiuskulaz gehiegi erabiltzen ditu (testuaren% 25 baino gehiago)
- too_short: laburra da (15 karaktere baino gutxiago)
+ too_short: laburregia da (gutxienez %{count} karaktere behar dira)
forms:
correct_errors: Akatsak daude galdetegian, mesedez, zuzendu jarraitu ahal izateko.
required: Nahitaezkoa da
@@ -1622,7 +1601,7 @@ eu:
see_more: Ikusi gehiago
locale:
name: Euskera
- name_with_error: Ingelesa (akatsa!)
+ name_with_error: Euskera (akatsa!)
password_validator:
domain_included_in_password: domeinu izen honen antzekoa da
email_included_in_password: zure posta elektronikoaren antzekoa da
diff --git a/decidim-core/config/locales/fi-plain.yml b/decidim-core/config/locales/fi-plain.yml
index bf4c2f55512fa..8c8f907f2d136 100644
--- a/decidim-core/config/locales/fi-plain.yml
+++ b/decidim-core/config/locales/fi-plain.yml
@@ -29,6 +29,7 @@ fi-pl:
password_confirmation: Vahvista salasanasi
personal_url: Henkilökohtainen URL-osoite
remove_avatar: Poista profiilikuva
+ tos_agreement: Käyttöehdot
models:
decidim/attachment_created_event: Liite
decidim/component_published_event: Aktiivinen komponentti
@@ -790,18 +791,6 @@ fi-pl:
how: Kuinka voit ansaita tämän
page_description: Kunniamerkit ovat tunnistuksia osallistumisesta tällä alustalla. Kun aloitat tutustumaan alustaan osallistumalla ja vuorovaikuttamalla, ansaitset erilaisia kunniamerkkejä. Tässä on luettelo kunniamerkeistä ja tapoja, joilla voit ansaita niitä.
title: Kunniamerkit
- invitations:
- conditions:
- - Käytä profiilisivullasi olevaa "kutsua ystäviä" -linkkiä kutsuaksesi ystäviäsi palveluun
- - Muokkaa lähetettävää viestiä halutessasi
- - Pääset seuraavalle tasolle lähettämällä kutsuja ja saadessasi kyseiset ihmiset rekisteröitymään palveluun.
- description: Tämä kunniamerkki myönnetään, kun olet kutsunut ihmisiä %{organization_name} -palveluun ja nämä ihmiset rekisteröityvät palvelun käyttäjiksi. Kiitos, että autat tekemään %{organization_name} -palvelusta tunnetumpaa ja laajentamaan yhteisöä!
- description_another: Tämä käyttäjä on kutsunut %{score} käyttäjää.
- description_own: Olet kutsunut %{score} käyttäjää.
- name: Kutsut
- next_level_in: Kutsu %{score} käyttäjää lisää päästäksesi seuraavalle tasolle!
- unearned_another: Tämä käyttäjä ei ole vielä kutsunut yhtään käyttäjää.
- unearned_own: Et ole vielä kutsunut yhtään käyttäjää.
description: Kunniamerkit ovat tunnistuksia osallistumisestasi ja toimistasi tällä alustalla. Ansaitset niitä aloittamalla tutustumaan, osallistumaan ja vuorovaikuttamaan tällä alustalla.
level: Taso %{level}
reached_top: Olet saavuttanut tämän kunniamerkin korkeimman tason.
@@ -1547,15 +1536,6 @@ fi-pl:
updated_not_active: Salasanasi on vaihdettu onnistuneesti.
registrations:
destroyed: Hei hei! Tilisi on poistettu onnistuneesti. Toivomme näkevämme sinut pian uudelleen.
- edit:
- are_you_sure: Oletko varma?
- cancel_my_account: Poista tilini
- currently_waiting_confirmation_for_email: 'Odottaa varmistusta sähköpostista: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: jätä tyhjäksi, jos et halua muuttaa
- title: Muokkaa %{resource}
- unhappy: Oletko tyytymätön?
- update: Päivitä
- we_need_your_current_password_to_confirm_your_changes: tarvitsemme nykyisen salasanasi vahvistaaksemme muutokset
new:
sign_up: Rekisteröidy
signed_up: Tervetuloa! Olet kirjautunut sisään onnistuneesti.
@@ -1610,7 +1590,7 @@ fi-pl:
other: 'Virheitä käsiteltäessä pyyntöä:'
too_many_marks: liian monta välimerkkiä peräkkäin (esim. ! ja ?)
too_much_caps: liian monta isoa kirjainta (yli 25% tekstistä)
- too_short: liian lyhyt (alle 15 merkkiä)
+ too_short: liian lyhyt (alle %{count} merkkiä)
forms:
correct_errors: Lomakkeella on virheitä, korjaa ne jatkaaksesi.
length_validator:
diff --git a/decidim-core/config/locales/fi.yml b/decidim-core/config/locales/fi.yml
index 470efa6ff3cff..b46d05ecdf5ae 100644
--- a/decidim-core/config/locales/fi.yml
+++ b/decidim-core/config/locales/fi.yml
@@ -29,6 +29,7 @@ fi:
password_confirmation: Vahvista salasanasi
personal_url: Henkilökohtainen URL-osoite
remove_avatar: Poista profiilikuva
+ tos_agreement: Käyttöehdot
models:
decidim/attachment_created_event: Liite
decidim/component_published_event: Aktiivinen komponentti
@@ -790,18 +791,6 @@ fi:
how: Kuinka voit ansaita tämän
page_description: Kunniamerkit ovat tunnistuksia osallistumisesta tällä alustalla. Kun aloitat tutustumaan alustaan osallistumalla ja vuorovaikuttamalla, ansaitset erilaisia kunniamerkkejä. Tässä on luettelo kunniamerkeistä ja tapoja, joilla voit ansaita niitä.
title: Kunniamerkit
- invitations:
- conditions:
- - Käytä profiilisivullasi olevaa "kutsua ystäviä" -linkkiä kutsuaksesi ystäviäsi palveluun
- - Muokkaa lähetettävää viestiä halutessasi
- - Pääset seuraavalle tasolle lähettämällä kutsuja ja saadessasi kyseiset ihmiset rekisteröitymään palveluun.
- description: Tämä kunniamerkki myönnetään, kun olet kutsunut ihmisiä %{organization_name} -palveluun ja nämä ihmiset rekisteröityvät palvelun käyttäjiksi. Kiitos, että autat tekemään %{organization_name} -palvelusta tunnetumpaa ja laajentamaan yhteisöä!
- description_another: Tämä käyttäjä on kutsunut %{score} henkilöä alustalle.
- description_own: Olet kutsunut %{score} henkilöä alustalle.
- name: Kutsut
- next_level_in: Kutsu %{score} henkilöä lisää päästäksesi seuraavalle tasolle!
- unearned_another: Tämä käyttäjä ei ole vielä kutsunut yhtään henkilöä.
- unearned_own: Et ole vielä kutsunut yhtään henkilöä.
description: Kunniamerkit ovat tunnistuksia osallistumisestasi ja toimistasi tällä alustalla. Ansaitset niitä aloittamalla tutustumaan, osallistumaan ja vuorovaikuttamaan tällä alustalla.
level: Taso %{level}
reached_top: Olet saavuttanut tämän kunniamerkin korkeimman tason.
@@ -1547,15 +1536,6 @@ fi:
updated_not_active: Salasanasi vaihtaminen onnistui.
registrations:
destroyed: Tilisi poistaminen onnistui. Toivomme näkevämme sinut pian uudelleen.
- edit:
- are_you_sure: Oletko varma?
- cancel_my_account: Poista tilini
- currently_waiting_confirmation_for_email: 'Odottaa varmistusta sähköpostista: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: jätä tyhjäksi, jos et halua muuttaa
- title: Muokkaa %{resource}
- unhappy: Oletko tyytymätön?
- update: Päivitä
- we_need_your_current_password_to_confirm_your_changes: tarvitsemme nykyisen salasanasi vahvistaaksemme muutokset
new:
sign_up: Rekisteröidy
signed_up: Tervetuloa! Sisäänkirjautuminen onnistui.
@@ -1610,7 +1590,7 @@ fi:
other: 'Virheitä käsiteltäessä pyyntöä:'
too_many_marks: liian monta välimerkkiä peräkkäin (esim. ! ja ?)
too_much_caps: liian monta isoa kirjainta (yli 25% tekstistä)
- too_short: liian lyhyt (alle 15 merkkiä)
+ too_short: liian lyhyt (alle %{count} merkkiä)
forms:
correct_errors: Lomakkeella on virheitä, korjaa ne jatkaaksesi.
length_validator:
diff --git a/decidim-core/config/locales/fr-CA.yml b/decidim-core/config/locales/fr-CA.yml
index e2b9c91919443..b60850b426a7f 100644
--- a/decidim-core/config/locales/fr-CA.yml
+++ b/decidim-core/config/locales/fr-CA.yml
@@ -29,6 +29,7 @@ fr-CA:
password_confirmation: Confirmez votre mot de passe
personal_url: Site internet personnel
remove_avatar: Supprimer l'avatar
+ tos_agreement: Conditions générales d'utilisation
models:
decidim/attachment_created_event: Document lié
decidim/component_published_event: Fonctionnalité active
@@ -786,18 +787,6 @@ fr-CA:
how: Comment l'obtenir
page_description: Les badges sont une reconnaissance des actions des participants et des progrès de la plate-forme. Lorsque vous commencerez à découvrir, à participer et à interagir avec la plateforme, vous obtiendrez différents badges. Voici la liste des badges et des moyens de les gagner.
title: Insignes
- invitations:
- conditions:
- - Utilisez le lien "inviter des amis" sur votre page utilisateur pour inviter vos amis.
- - Personnalisez, si vous le souhaitez, le message que vous envoyez
- - Vous augmenterez votre niveau en envoyant des invitations et en les faisant enregistrer.
- description: Ce badge est attribué lorsque vous avez invité des personnes qui ont passé un peu de temps à s’inscrire à %{organization_name} et devenir des participants. Merci de faire connaître %{organization_name} aux autres et d’aider à élargir la communauté!
- description_another: Cet utilisateur a invité %{score} utilisateurs.
- description_own: Vous avez invité %{score} utilisateurs.
- name: Invitations
- next_level_in: Invitez %{score} utilisateurs supplémentaires à atteindre le niveau suivant !
- unearned_another: Cet utilisateur n'a encore invité aucun utilisateur.
- unearned_own: Vous n'avez encore invité aucun utilisateur.
description: Les badges sont une reconnaissance des actions des participants et des progrès dans la plateforme. Au fur et à mesure que vous commencez à découvrir, à participer et à interagir sur la plateforme, vous gagnez différents badges.
level: Niveau %{level}
reached_top: Vous avez atteint le plus haut niveau pour ce badge.
@@ -1016,7 +1005,7 @@ fr-CA:
title: Conversation avec %{usernames}
start:
send: Envoyer
- title: Commencer une conversation
+ title: Démarrer une conversation
update:
error: 'Erreur : votre message n''a pas pu être envoyé'
metrics:
@@ -1543,15 +1532,6 @@ fr-CA:
updated_not_active: Votre mot de passe a été changé avec succès.
registrations:
destroyed: Au revoir! Votre compte a été annulé avec succès. Nous espérons te revoir bientôt.
- edit:
- are_you_sure: Êtes-vous sûr?
- cancel_my_account: Supprimer mon compte
- currently_waiting_confirmation_for_email: 'En attente de confirmation pour: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: laisser vide si vous ne voulez pas le changer
- title: Modifier %{resource}
- unhappy: Pas satisfait ?
- update: Mettre à jour
- we_need_your_current_password_to_confirm_your_changes: nous avons besoin de votre mot de passe actuel pour confirmer vos modifications
new:
sign_up: S'inscrire
signed_up: Bienvenue! Vous vous êtes inscrit avec succès.
@@ -1606,7 +1586,7 @@ fr-CA:
other: 'Plusieurs erreurs sont survenues pendant le traitement de votre requête.'
too_many_marks: utilise trop de signes de ponctuation consécutifs (par exemple! et?)
too_much_caps: utilise trop de lettres majuscules (plus de 25% du texte)
- too_short: est trop court (moins de 15 caractères)
+ too_short: est trop court (le minimum est de %{count} caractères)
forms:
correct_errors: Il y a des erreurs dans le formulaire, veuillez les corriger pour continuer.
length_validator:
@@ -1680,7 +1660,7 @@ fr-CA:
see_more: Voir plus
locale:
name: Français
- name_with_error: Anglais (erreur !)
+ name_with_error: Français (erreur !)
password_validator:
blacklisted: sur liste noire
domain_included_in_password: est trop similaire au nom de domaine de cette plateforme
diff --git a/decidim-core/config/locales/fr.yml b/decidim-core/config/locales/fr.yml
index 90348ce84d084..ae4c0d52635f2 100644
--- a/decidim-core/config/locales/fr.yml
+++ b/decidim-core/config/locales/fr.yml
@@ -29,6 +29,7 @@ fr:
password_confirmation: Confirmez votre mot de passe
personal_url: Site internet personnel
remove_avatar: Supprimer l'avatar
+ tos_agreement: Conditions générales d'utilisation
models:
decidim/attachment_created_event: Document lié
decidim/component_published_event: Fonctionnalité active
@@ -145,9 +146,9 @@ fr:
cancel: Annuler
admin_log:
area:
- create: "%{user_name} a créé la zone d'application %{resource_name}"
- delete: "%{user_name} a supprimé la zone d'application %{resource_name}"
- update: "%{user_name} a mis à jour la zone d'application %{resource_name}"
+ create: "%{user_name} a créé le périmètre d'assemblée %{resource_name}"
+ delete: "%{user_name} a supprimé le périmètre d'assemblée %{resource_name}"
+ update: "%{user_name} a mis à jour le périmètre d'assemblée %{resource_name}"
component:
create: "%{user_name} a ajouté la fonctionnalité %{resource_name} à l'espace %{space_name}"
delete: "%{user_name} a supprimé la fonctionnalité %{resource_name} de l'espace %{space_name}"
@@ -786,18 +787,6 @@ fr:
how: Comment l'obtenir
page_description: Les badges sont une reconnaissance des actions des participants et des progrès de la plate-forme. Lorsque vous commencerez à découvrir, à participer et à interagir avec la plateforme, vous obtiendrez différents badges. Voici la liste des badges et des moyens de les gagner.
title: Insignes
- invitations:
- conditions:
- - Utilisez le lien "inviter des amis" sur votre page utilisateur pour inviter vos amis.
- - Personnalisez, si vous le souhaitez, le message que vous envoyez
- - Vous augmenterez votre niveau en envoyant des invitations et en les faisant enregistrer.
- description: Ce badge est attribué lorsque vous avez invité des personnes qui ont passé un peu de temps à s’inscrire à %{organization_name} et devenir des participants. Merci de faire connaître %{organization_name} aux autres et d’aider à élargir la communauté!
- description_another: Cet utilisateur a invité %{score} utilisateurs.
- description_own: Vous avez invité %{score} utilisateurs.
- name: Invitations
- next_level_in: Invitez %{score} utilisateurs supplémentaires à atteindre le niveau suivant !
- unearned_another: Cet utilisateur n'a encore invité aucun utilisateur.
- unearned_own: Vous n'avez encore invité aucun utilisateur.
description: Les badges sont une reconnaissance des actions des participants et des progrès dans la plateforme. Au fur et à mesure que vous commencez à découvrir, à participer et à interagir sur la plateforme, vous gagnez différents badges.
level: Niveau %{level}
reached_top: Vous avez atteint le plus haut niveau pour ce badge.
@@ -1016,7 +1005,7 @@ fr:
title: Conversation avec %{usernames}
start:
send: Envoyer
- title: Commencer une conversation
+ title: Démarrer une conversation
update:
error: 'Erreur : votre message n''a pas pu être envoyé'
metrics:
@@ -1241,7 +1230,7 @@ fr:
currently_selected: Secteur actuellement sélectionné
title: Sélectionnez %{field}
prompt: Sélectionnez un périmètre d'application
- scopes: Périmètre d'application
+ scopes: Secteurs
scopes_picker_input:
select_scope: 'Sélectionnez un secteur (actuellement: %{current})'
search:
@@ -1317,8 +1306,8 @@ fr:
sign_up: Créer un compte
participatory_space_filters:
filters:
- areas: Zones d'application
- select_an_area: Sélectionnez une zone d'application
+ areas: Périmètres d'assemblée
+ select_an_area: Sélectionnez un périmètre d'assemblée
public_participation:
public_participation: Afficher ma présence publiquement
reference:
@@ -1543,15 +1532,6 @@ fr:
updated_not_active: Votre mot de passe a été changé avec succès.
registrations:
destroyed: Au revoir! Votre compte a été annulé avec succès. Nous espérons te revoir bientôt.
- edit:
- are_you_sure: Êtes-vous sûr?
- cancel_my_account: Supprimer mon compte
- currently_waiting_confirmation_for_email: 'En attente de confirmation pour: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: laisser vide si vous ne voulez pas le changer
- title: Modifier %{resource}
- unhappy: Pas satisfait ?
- update: Mettre à jour
- we_need_your_current_password_to_confirm_your_changes: nous avons besoin de votre mot de passe actuel pour confirmer vos modifications
new:
sign_up: Créer un compte
signed_up: Bienvenue! Votre compte a été créé avec succès.
@@ -1592,7 +1572,7 @@ fr:
already_confirmed: était déjà confirmé, s'il vous plaît essayez de vous connecter
confirmation_period_expired: doit être confirmé dans les %{period}, s'il vous plaît demander un nouveau
content_type_allowlist_error: le type de fichier n'est pas valide
- cycle_detected: un périmètre d'application ne peut pas être du même niveau que ses descendants
+ cycle_detected: un périmètre d'assemblée parent ne peut pas être du même niveau que ses descendants
expired: a expiré, s'il vous plaît demander un nouveau
file_size_is_less_than_or_equal_to: la taille du fichier doit être inférieure ou égale à %{count}
invalid_time_zone: n'est pas un fuseau horaire valide
@@ -1606,7 +1586,7 @@ fr:
other: 'Plusieurs erreurs sont survenues pendant le traitement de votre requête.'
too_many_marks: utilise trop de signes de ponctuation consécutifs (par exemple! et?)
too_much_caps: utilise trop de lettres majuscules (plus de 25% du texte)
- too_short: est trop court (moins de 15 caractères)
+ too_short: est trop court (le minimum est de %{count} caractères)
forms:
correct_errors: Il y a des erreurs dans le formulaire, veuillez les corriger pour continuer.
length_validator:
@@ -1680,7 +1660,7 @@ fr:
see_more: Voir plus
locale:
name: Français
- name_with_error: Anglais (erreur !)
+ name_with_error: Français (erreur !)
password_validator:
blacklisted: sur liste noire
domain_included_in_password: est trop similaire au nom de domaine de cette plateforme
diff --git a/decidim-core/config/locales/ga-IE.yml b/decidim-core/config/locales/ga-IE.yml
index 2659f09b5a168..fa90cdfd9ce84 100644
--- a/decidim-core/config/locales/ga-IE.yml
+++ b/decidim-core/config/locales/ga-IE.yml
@@ -152,8 +152,6 @@ ga:
badges:
index:
title: Suaitheantais
- invitations:
- name: Cuirí
group_invites:
accept_invitation: Glac
index:
@@ -187,7 +185,7 @@ ga:
next: I ndiaidh
reply:
send: Seol
- title: Freagra
+ title: Freagair
start:
send: Seol
newsletter_templates:
@@ -323,8 +321,6 @@ ga:
edit:
submit_button: Sábháil
registrations:
- edit:
- update: Nuashonraigh
new:
sign_up: Cláraigh
sessions:
diff --git a/decidim-core/config/locales/gl.yml b/decidim-core/config/locales/gl.yml
index 06b2f1ab74a3b..80bc70923d57c 100644
--- a/decidim-core/config/locales/gl.yml
+++ b/decidim-core/config/locales/gl.yml
@@ -597,18 +597,6 @@ gl:
how: Como podes gañalo
page_description: As insignias son recoñecementos ás accións participantes e ao progreso na plataforma. Ao comezar a descubrir, participar e interactuar na plataforma, gañará distintas insignias. Aquí está a lista de emblemas e algunhas formas de gaña-los.
title: Insignias
- invitations:
- conditions:
- - Utiliza a ligazón "invitar amigos" na túa páxina de usuario para invitar aos teus amigos
- - Personaliza, se queres, a mensaxe que estás enviando
- - Subirás ao enviar invitacións e obtelos rexistrados.
- description: Este distintivo concedeuse cando convidou a algunhas persoas e pasaron un pouco de tempo para inscribirse en %{organization_name} e converterse en participantes. Grazas por facer %{organization_name} a coñecer aos outros e axudando a ampliar a comunidade!
- description_another: Este usuario invitou a %{score} usuarios.
- description_own: Invitaches %{score} usuarios.
- name: Invitacións
- next_level_in: Invita %{score} usuarios máis para chegar ao seguinte nivel!
- unearned_another: Este usuario aínda non invitou ningún usuario.
- unearned_own: Aínda non invitaches usuarios.
description: As insignias son recoñecementos ás accións participantes e ao progreso na plataforma. Ao comezar a descubrir, participar e interactuar na plataforma, gañará distintas insignias.
level: Nivel %{level}
reached_top: Alcanzou o nivel superior desta placa.
@@ -767,13 +755,11 @@ gl:
to: Para
reply:
send: Enviar
- title: Responder
show:
deleted_accounts: Non podes manter unha conversa con contas eliminadas.
title: Conversa con %{usernames}
start:
send: Enviar
- title: Comezar unha conversa
metrics:
followers:
description: Número de usuarios que seguen este espazo de participación
@@ -1154,15 +1140,6 @@ gl:
updated_not_active: O seu contrasinal modificouse con éxito.
registrations:
destroyed: Adeus! Cancelouse correctamente a túa conta. Esperamos volver a ver de novo.
- edit:
- are_you_sure: Estás seguro?
- cancel_my_account: Cancelar a miña conta
- currently_waiting_confirmation_for_email: 'Actualmente está a espera de confirmación para: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: Deixar en branco se non o quere cambiar
- title: Editar %{resource}
- unhappy: Infeliz
- update: Actualización
- we_need_your_current_password_to_confirm_your_changes: necesitamos o seu contrasinal actual para confirmar os seus cambios
new:
sign_up: Rexistrarse
signed_up: Benvido! Rexistráches con éxito.
@@ -1212,7 +1189,6 @@ gl:
not_locked: Non estaba bloqueado
too_many_marks: está a usar demasiadas marcas de puntuación consecutivas (por exemplo, e?)
too_much_caps: está a usar letras maiúsculas (máis do 25% do texto)
- too_short: é demasiado curto (menos de 15 caracteres)
forms:
length_validator:
minimum:
diff --git a/decidim-core/config/locales/gn-PY.yml b/decidim-core/config/locales/gn-PY.yml
new file mode 100644
index 0000000000000..bd442b0ad85de
--- /dev/null
+++ b/decidim-core/config/locales/gn-PY.yml
@@ -0,0 +1 @@
+gn:
diff --git a/decidim-core/config/locales/hu.yml b/decidim-core/config/locales/hu.yml
index 6d9e59011a35b..021139824efe5 100644
--- a/decidim-core/config/locales/hu.yml
+++ b/decidim-core/config/locales/hu.yml
@@ -35,12 +35,16 @@ hu:
decidim/demoted_membership: Már nem egy csoport admin
decidim/gamification/badge_earned_event: Jelvény megszerezve
decidim/gamification/level_up_event: Szintet léptél
+ decidim/invited_to_group_event: Meghívva a csoportba
decidim/join_request_accepted_event: Csatlakozási kérelem elfogadva
decidim/join_request_rejected_event: Csatlakozási kérelem elutasítva
decidim/profile_updated_event: Profil frissítve
decidim/promote_to_admin: A csoport adminisztrátora
+ decidim/promoted_to_admin_event: Csoportadminisztrátorrá jelölve
decidim/removed_from_group: Eltávolítva a csoportból
decidim/resource_endorsed_event: Erőforrás jóváhagyva
+ decidim/resource_hidden_event: Rejtett erőforrás
+ decidim/user_group_created_event: Felhasználói csoport létrehozva
decidim/welcome_notification_event: Üdvözlő üzenet
activerecord:
attributes:
@@ -80,7 +84,28 @@ hu:
decidim_with_month_name_short: "%d %b"
datetime:
distance_in_words:
+ about_x_hours:
+ one: kb. 1 óra
+ other: kb %{count} óra
+ about_x_months:
+ one: kb. 1 hónapja
+ other: kb %{count} hónapja
half_a_minute: fél perce
+ less_than_x_minutes:
+ one: kevesebb, mint 1 perce.
+ other: levesebb mint %{count} perce.
+ less_than_x_seconds:
+ one: épp most
+ other: levesebb mint %{count} másodperce.
+ x_days:
+ one: 1 napja
+ other: "%{count} napja"
+ x_hours:
+ one: 1 órája
+ other: "%{count} órája"
+ x_minutes:
+ one: 1 perce
+ other: "%{count} perccel ezelőtt"
x_seconds:
one: 1 másodperce
other: "%{count} másodperce"
@@ -128,6 +153,8 @@ hu:
delete: "%{user_name} eltávolította a(z) %{resource_name} elemet innen: %{space_name}"
publish: "%{user_name} közzétette a(z) %{resource_name} elemet itt: %{space_name}"
unpublish: "%{user_name} visszavonta a(z) %{resource_name} elem közzétetelét innen: %{space_name}"
+ impersonation_log:
+ manage: "%{user_name} kezelte a %{resource_name} erőforrást ebből az okból %{reason}"
moderation:
hide: "%{user_name} elrejtette a(z) %{resource_type} típusú erőforrást itt: %{space_name}"
unreport: "%{user_name} visszavonta a(z) %{resource_type} típusú erőforrás bejelentését itt: %{space_name}"
@@ -144,6 +171,7 @@ hu:
update: "%{user_name} frissítette a szervezet beállításait"
participatory_space_private_user:
create: "%{user_name} meghívott %{resource_name} privát felhasználónak"
+ create_via_csv: "%{user_name} meghívta %{resource_name} önt, hogy privát résztvevő legyen"
delete: "%{user_name} eltávolította a felhasználót %{resource_name} privát felhasználóként"
scope:
create: "%{user_name} létrehozta a(z) %{resource_name} hatáskört"
@@ -157,17 +185,25 @@ hu:
delete: "%{user_name} törölte a(z) %{resource_name} statikus oldalt"
update: "%{user_name} frissítette a(z) %{resource_name} statikus oldalt"
user:
+ block: "%{user_name} blokkolt felhasználó itt %{resource_name}"
invite: "%{user_name} meghívta %{resource_name} felhasználót (szerep: %{role})"
officialize: "%{user_name} hivatalossá tette %{resource_name} felhasználót"
+ promote: "%{user_name} előléptetve %{resource_name}"
remove_from_admin: "%{user_name} eltávolította %{resource_name} felhasználót, %{role} szereppel"
show_email: "%{user_name} lekérdezte a(z) %{resource_name} résztvevő e-mailjét"
+ transfer: "%{user_name} átmozgatta a résztvevőt %{resource_name}"
+ unblock: "%{user_name} megszűntette a felhasználó blokkolását %{resource_name}"
unofficialize: "%{user_name} visszavonta %{resource_name} hivatalosságát"
user_group:
reject: "%{user_name} elutasította a(z) %{resource_name} felhasználói csoport ellenőrzését"
verify: "%{user_name} ellenőrizte a(z) %{resource_name} felhasználói csoportot"
verify_via_csv: "%{user_name} az %{resource_name} felhasználói csoportot CSV-fájlon keresztül ellenőrizte"
+ user_moderation:
+ unreport: "%{user_name} visszavonta a %{resource_type} - %{unreported_user_name}"
admin_terms_of_use:
default_body: "
ADMIN FELHASZNÁLÓI FELTÉTELEK
Bízunk benne, hogy a szokásos előadást megkaptad a helyi rendszergazdától. Ez rendszerint e három dologra bontható le:
Tiszteld mások magánéletét.
Gondolkodj, mielőtt kattintasz.
A nagy hatalommal, nagy felelősségvállalás is jár!
"
+ alert:
+ dismiss: Értesítés elvetése
amendments:
accepted:
error: A módosítás elfogadása közben hiba történt.
@@ -287,6 +323,8 @@ hu:
name: Példa feljogosításra
dummy_authorization_workflow:
name: Dummy feljogosítási folyamat
+ errors:
+ duplicate_authorization: A résztvevő már hitelesítve lett ugyanezzal az adattal. Egy adminisztrátor felveszi a kapcsolatot a részletek pontosítása okán.
expired_at: 'Lejárat: %{timestamp}'
expires_at: 'Lejárat: %{timestamp}'
foo_authorization:
@@ -295,6 +333,7 @@ hu:
foo: Foo
name: Foo jogosítvány
granted_at: Megadva %{timestamp}
+ renew: Hitelesítés megújítása
sms:
explanation: Küldd el mobiltelefonszámodat, hogy ellenőrizhessük személyazonosságod.
name: Kód SMS-ben
@@ -315,6 +354,8 @@ hu:
authorize: 'Engedélyezés ezzel: "%{authorization}"'
explanation: 'A művelet végrehajtásához innen kell engedélyt kapnod: "%{authorization}".'
title: Engedély szükséges
+ ok:
+ title: Az oldal látogatása alatt hitelesítésre került a fiókja. Az oldal újratöltése szükséges a művelet végrehajtásához
pending:
explanation: 'A művelet végrehajtásához engedélyt kell kapnod innen: "%{authorization}", de az engedélyezés még folyamatban van'
resume: Ellenőrizd a(z) "%{authorization}" engedélyezés folyamatát
@@ -329,9 +370,15 @@ hu:
explanation_html: Annak érdekében, hogy ezt a műveletet elvégezhesse, engedélyeznie kell, mielőtt ezt elvégezné, meg kell erősítenie az e-mail címét %{email}.
request_confirmation_instructions: Kérjen megerősítési utasítást
title: Erősítsd meg az e-mail címed
+ show:
+ close_modal: Felugró ablak bezárása
block_user_mailer:
notify:
+ body_1: A fiókod zárolva van.
+ body_2: 'Indok: %{justification}'
+ greetings: Üdvözöli a %{organization_name} %{organization_url}
hello: Helló,
+ subject: A fiókja blokklásra került - kezdeményező %{organization_name}
collapsible_list:
hidden_elements_count:
one: és még %{count}
@@ -340,6 +387,7 @@ hu:
see_more: "(tovább)"
components:
component_order_selector:
+ no_content: Nem találtunk a feltételeknek megfelelő tartalmat
order:
all_types: Minden típus
collaborative_draft: Közös vázlat
@@ -379,8 +427,12 @@ hu:
dummy_step_translatable_text: Hamis Lépés Fordítható Szöveg
contact: Kapcsolat
content_blocks:
+ cta:
+ name: Kép, szöveg és cselekvésre hívó gomb
cta_settings_form:
background_image: Háttérkép
+ button_text: Cselekvésre felhívás szövege
+ button_url: Cselekvésre felhívó URL
description: Leírás
footer_sub_hero:
name: Lábléc sub hero banner
@@ -429,6 +481,7 @@ hu:
email_already_exists: Egy másik fiók ugyanezt az email címet használja
new:
complete_profile: Profil kiegészítése
+ nickname_help: A beceneved itt %{organization} csak betűket, számokat '-' és '_' jeleket tartalmazhat.
sign_up: Töltsd ki a hiányzó adatokat
subtitle: A regisztráció befejezéséhez töltsd ki a következő űrlapot
username_help: Bejegyzésekben megjelenő nyilvános megnevezés. Az anonimitás megőrzése érdekében bármilyen név lehet.
@@ -437,6 +490,7 @@ hu:
already_have_an_account?: Már van egy fiókod?
newsletter: Hírlevél fogadása a legfontosabb információkkal
newsletter_title: Kapcsolatfelvételi engedély
+ nickname_help: A beceneved itt %{organization} csak betűket, számokat '-' és '_' jeleket tartalmazhat.
password_help: "%{minimun_characters} karakter a minimum, nem lehet túl gyakori (pl. 123456), és különböznie kell a becenevétől és az e-mail címétől."
sign_in: Belépés
sign_up: Regisztráció
@@ -453,6 +507,8 @@ hu:
register: Hozz létre egy fiókot
sign_in_disabled: Külső fiókkal is hozzáférhetsz
sign_up_disabled: A bejelentkezés le van tiltva, a meglévő felhasználói fiókoddal hozzáférhetsz
+ user:
+ timed_out: Túl sokáig volt inaktív, ezért automatikusan kijelentkezett a szolgáltatásból. Ha továbbra is használni szeretné a szolgáltatást, jelentkezzen be újra.
shared:
newsletter_modal:
buttons:
@@ -487,8 +543,10 @@ hu:
create:
error: Hiba történt a kép feltöltése közben
success: Kép sikeresen feltöltve
+ drag_and_drop_help: Képek hozzáadása húzással és ejtéssel vagy beillesztéssel.
endorsable:
endorsements: Jóváhagyások
+ endorsements_count: Támogatások száma
endorsement_buttons_cell:
already_endorsed: Jóváhagyva
endorse: Jóváhagy
@@ -701,18 +759,6 @@ hu:
how: Így lehet megszerezni
page_description: A jelvények megmutatják, milyen tevékenységeket végzünk a platformon. Amint a résztvevők elkezdik felfedezni mi minden módon tudnak részt venni a platformon, úgy különböző jelvényekhez juthatnak hozzá. Itt van a jelvények listája, és néhány mód, amellyel megszerezhetők.
title: Jelvények
- invitations:
- conditions:
- - Használja a "meghívni barátok" linket a felhasználói oldalon, hogy meghívja barátait
- - Testreszabása, ha szeretné, az elküldött üzenetet
- - A hívások meghívása és regisztrálása érdekében szintre emelkedik.
- description: Ezt a jelvényt akkor kapja meg, ha meghívott valakit, és az illető rövid idő alatt regisztrál a %{organization_name} terébe. Köszönjük, hogy a %{organization_name} -t megismerteti másokkal, és segít bővíteni a közösséget!
- description_another: Felhasználó meghívott %{score} felhasználókat.
- description_own: '%{score} embert hívott meg.'
- name: Meghívók
- next_level_in: Hívjon meg %{score} felhasználót a következő szint eléréséhez!
- unearned_another: Ez a felhasználó még nem hívott meg senkit.
- unearned_own: Még nem hívtál meg felhasználókat.
description: A jelvények a résztvevők tevékenységét és előmenetelét hívatottak jelezni. Amint elkezded felfedezni a platformot és kapcsolatba kerülsz másokkal, különböző jelvényeket kapsz.
level: '%{level} szint'
reached_top: Elérted a jelvény legmagasabb szintjét.
@@ -835,6 +881,13 @@ hu:
not_found: 'A hatáskör típus nem található az adatbázisban (ID: %{id})'
managed_users:
expired_session: A jelenlegi megszemélyesítő munkamenet lejárt.
+ map:
+ dynamic:
+ screen_reader_explanation: A következő elem egy olyan térkép, amely az ezen az oldalon található elemeket térképpontként jeleníti meg. Az elem használható képernyőolvasóval, azonban előfordulhat, hogy így nehézséget okoz az értelmezése.
+ skip_button: Térkép átugrása
+ static:
+ latlng_text: 'földrajzi szélesség: %{latitude}, földrajzi hosszúság: %{longitude}'
+ map_service_brand: OpenStreetMap
members:
no_members: Ennek a felhasználói csoportnak még nincs tagja.
menu:
@@ -842,11 +895,35 @@ hu:
home: Kezdőlap
messaging:
conversation_mailer:
+ comanagers_new_conversation:
+ admin_in_group: Azért kapta ezt, mert a(z) %{group} csoport adminisztrátora.
+ greeting: Kedves %{recipient}!
+ intro: "%{manager} egy új beszélgetést indított a(z) %{group} csoport nevében. Kattintson ide a megtekintéshez:"
+ outro: Használd örömmel a szolgáltatást!
+ subject: "%{manager} egy új beszélgetést indított a(z) %{group} nevében"
+ comanagers_new_message:
+ admin_in_group: Azért kapta ezt, mert a(z) %{group} csoport adminisztrátora.
+ greeting: Kedves %{recipient}!
+ intro: "%{manager} egy új üzenetet tett közzé egy beszélgetésben a(z) %{group} csoport nevében. Kattintson ide a megtekintéshez:"
+ outro: Használd örömmel a szolgáltatást!
+ subject: "%{manager} új üzeneteket küldött a(z) %{group} nevében"
new_conversation:
greeting: Szia %{recipient}!
intro: "%{sender} új beszélgetést kezdett veled. Ide kattintva elolvashatod:"
outro: Üdvözlünk a Decidimen!
subject: "%{sender} beszélgetést kezdett veled"
+ new_group_conversation:
+ admin_in_group: Azért kapta ezt, mert a(z) %{group} csoport adminisztrátora.
+ greeting: Kedves %{recipient}!
+ intro: "%{sender} egy új beszélgetést indított a(z) %{group} csoport nevében. Kattintson ide a megtekintéshez:"
+ outro: Használd örömmel a szolgáltatást!
+ subject: "%{sender} új beszélgetést indított a(z) %{group} csoporttal"
+ new_group_message:
+ admin_in_group: Azért kapta ezt, mert a(z) %{group} csoport adminisztrátora.
+ greeting: Kedves %{recipient}!
+ intro: "%{sender} új üzeneteket tett közzé a(z) %{group} csoporttal folytatott beszélgetésben. Kattintson ide a megtekintéshez:"
+ outro: Használd örömmel a szolgáltatást!
+ subject: "%{group} csoportba új üzenetet küldött %{sender}"
new_message:
greeting: Szia %{recipient}!
intro: "%{sender} új üzeneteket küldött neked. Ide kattintva megtekintheted őket:"
@@ -859,12 +936,21 @@ hu:
modal_title: Új beszélgetés
no_results: Nincs eredmény
participant_with_disabled_message_reception: Ez a résztvevő letiltotta az üzenetek fogadását
+ conversation:
+ show: Beszélgetés megjelenítése vele %{sender}
create:
error: A beszélgetés megakadt. Próbáld újra később
+ error_modal:
+ close: Ablak bezárás
+ correct_errors: Kérjük javítsa a hibákat és próbálja újra.
+ intro: 'A következő hibákat tartalmazza az üzenet:'
+ ok: OK
index:
ago: óta
close: Modal bezárása
from: Feladó
+ groups: Csoportjaim
+ last_message: Utolsó üzenet
new_conversation: Új beszélgetés
next: Következő
no_conversations: Még nincsenek beszélgetések
@@ -872,15 +958,22 @@ hu:
to: Címzett
reply:
placeholder: A válaszod...
- send: Elküld
+ send: Küldés
title: Válasz
show:
+ back: Vissza az összes beszélgetéshez
chat_with: Beszélgetés vele
+ deleted_accounts: Törölt fiókkal nem lehet beszélgetni itt.
+ not_allowed: Ez a résztvevő nem fogad közvetlen üzeneteket.
title: 'Beszélgetés vele: %{usernames}'
start:
send: Küldés
title: Beszélgetés indítása
+ update:
+ error: Hiba folytán nem került kiküldésre az üzenet
metrics:
+ download:
+ csv: Adatok letöltése (CSV)
followers:
description: A résztvevők száma, akik ezt a részvételi teret követik
object: követők
@@ -899,14 +992,22 @@ hu:
see_on_website: Nem jelenik meg rendesen? Nézd meg a honlapunkon.
unsubscribe: Az ilyen emailek fogadásának kikapcsolása, Leiratkozás.
newsletter_templates:
+ basic_only_text:
+ body_preview: 'A fő szöveg helyőrző szövege: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque fringilla nisl tellus. Donec sed mi dui. Sed efficitur libero a felis tempor sollicitudin. Nullam vestibulum fringilla felis, id efficitur lorem sagittis et. Vivamus aliquam maximus velit vel dapibus. Mauris pellentesque, enim eu varius lacinia, risus ante rutrum ipsum, non lobortis augue lorem quis urna. Aenean et malesuada arcu.'
+ name: Alapvető (csak szöveg)
basic_only_text_settings_form:
body: Törzs
+ interpolations_hint: 'Tipp: a(z) "%{name}" nevet a tárgyban és a szövegben is használhatod, az helyettesítve lesz a címzett nevével.'
image_text_cta:
+ body_preview: 'A fő szöveg helyőrző szövege: Maecenas ac nisl vitae lectus pretium facilisis. Etiam facilisis sem nibh, sit amet rutrum mi aliquam nec. Sed id urna at nisl pretium mollis eu vel velit. Proin vitae suscipit urna, sed faucibus urna. Pellentesque id libero vulputate ipsum scelerisque suscipit. Nam aliquam sodales mi sit amet cursus. Donec mattis faucibus purus. Aenean tincidunt porta lorem ac commodo. Vestibulum in mollis mi. Morbi eros erat, cursus ut tortor sit amet, imperdiet dapibus arcu. Suspendisse id egestas enim. In eget magna sed enim efficitur elementum sit amet aliquam quam. Donec fermentum metus eget urna luctus pulvinar.'
cta_text_preview: Felhívás szövege
+ introduction_preview: 'A bevezetés helyőrző szövege: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque fringilla nisl tellus. Donec sed mi dui. Sed efficitur libero a felis tempor sollicitudin. Nullam vestibulum fringilla felis, id efficitur lorem sagittis et. Vivamus aliquam maximus velit vel dapibus. Mauris pellentesque, enim eu varius lacinia, risus ante rutrum ipsum, non lobortis augue lorem quis urna. Aenean et malesuada arcu.'
+ name: Kép, szöveg és cselekvésre hívó gomb
image_text_cta_settings_form:
body: Törzs
cta_text: Felhívás gomb szövege
cta_url: Felhívás gomb elérési útvonala
+ interpolations_hint: 'Tipp: A "%{name}" lehetőséget bárhol használhatja a bevezetésben, a cselekvésre hívó szövegben, a fő szövegben vagy a tárgyban, és a helyére a címzett neve kerül.'
introduction: Bevezetés
main_image: Fő kép
newsletters:
@@ -938,8 +1039,11 @@ hu:
translated_text: 'Automatikusan lefordított szöveg:'
notifications:
no_notifications: Még nincs értesítés.
+ show:
+ missing_event: Hopp, ez az értesítés egy olyan elemhez tartozik, ami már nem elérhető. Figyelmen kívül hagyhatod.
notifications_settings:
show:
+ administrators: Adminisztrátorok
allow_public_contact: Megengedem, hogy bárki közvetlen üzenetet küldjön nekem, akkor is, ha nem követem őket.
direct_messages: Közvetlen üzenetek fogadása bárkitől
email_on_notification: Mindig, amikor értesítést kapok, egy emailt is küldünk róla.
@@ -1164,6 +1268,17 @@ hu:
user_conversations:
create:
success: A beszélgetés sikeresen elindult!
+ index:
+ conversations_info: A beszélgetések privátak. Senki más nem láthatja őket. Bármelyik, a platformon regisztrált résztvevővel vagy csoporttal beszélgetést kezdeményezhet.
+ from: Feladó
+ last_message: Utolsó üzenet
+ modal_title: Új beszélgetés
+ new_conversation: Új beszélgetés
+ next: Következő
+ no_conversations_warning: Még nincsenek beszélgetések.
+ no_results: Nincs eredmény
+ participant_with_disabled_message_reception: Ez a résztvevő letiltotta az üzenetek fogadását
+ time_ago: "%{time} ideje"
new:
title: Beszélgetés indítása
reply:
@@ -1172,6 +1287,8 @@ hu:
title_reply: Válasz
show:
back: Beszélgetések megtekintése
+ deleted_accounts: Törölt fiókkal nem lehet beszélgetni itt.
+ not_allowed: Ez a felhasználó nem fogad el több közvetlen üzenetet.
title: Beszélgetés %{usernames} nevű felhasználóval
update:
error: Üzenet elküldése sikertelen. Próbáld újra később
@@ -1184,22 +1301,41 @@ hu:
update:
error: Hiba történt az érdeklődési körök frissítése közben.
success: Az érdeklődési köreid sikeresen frissültek.
+ user_report_mailer:
+ notify:
+ body_1: '%{user} felhasználót jelentette %{token}'
+ body_2: 'Indok: %{reason}'
+ greetings: Üdvözöljük, %{organization_name} %{organization_url}
+ hello: Hello %{admin},
+ subject: 'Felhasználó jelentésre került itt: %{organization_name}'
version:
show:
+ back_to_resource: Visszalépés
+ changes_at_title: Változások itt "%{title}"
number_of_versions: Verziók
show_all_versions: Összes verzió megjelenítése
version_author: Verzió szerzője
version_created_at: A verzió létrehozásának ideje
version_number: Verziószám
+ version_number_out_of_total: "%{current_version} ennyiből: %{total_count}"
version_author:
show:
deleted: Törölt résztvevő
versions:
resource_version:
+ of_versions: "(ennyiből: %{number})"
see_other_versions: lásd a többi verziót
+ version: 'Verziószám: %{number}'
versions_list:
show:
back_to_resource: Visszalépés
+ changes_at_title: Változások itt "%{title}"
+ number_of_versions: Verziók
+ title: Verziók
+ versions_list_item:
+ back: Összes verzió megjelenítése
+ show:
+ version_index: '%{index} verzió'
welcome_notification:
default_body:
Szia{{name}}, üdvözöllek és köszönöm, hogy csatlakoztál a {{organization}} szervezethez
Ha gyorsan meg szeretnéd tudni, hogy mit tehetsz itt, nézd meg a Súgó részt.
Miután elolvastad, megkapod az első jelvényed. Itt van egy lista a jelvényekről, melyeket akkor érdemelsz ki, ha részt veszel a {{organization}} által biztosított lehetőségekben.
Végül, de nem utolsósorban, a platform lehetőséget biztosít, hogy kapcsolódj más emberekhez is! Oszd meg velük a tapasztalatodat a {{organization}} részvételében. Tegyél javaslatokat, megjegyzéseket, generálj konstruktív vitákat és gondold végig, hogyan járulj hozzá a közjó előmozdításához. Gyűjts érveket, hogy meggyőzz másokat, hallgass meg és olvasd el mások meggyőződést, fejezd ki ötleteidet konkrét és közvetlen módon, válaszolj türelemmel és határozottan, védd meg ötleteidet és hagyd nyitva elmédet, hogy elősegítsd az együttműködést és lehetőséget teremts más emberek ötleteinek befogadásához.
default_subject: Köszönjük, hogy csatlakoztál a {{organization}} szervezethez!
@@ -1310,15 +1446,6 @@ hu:
updated_not_active: A jelszó sikeresen megváltozott.
registrations:
destroyed: Viszlát! Fiókját sikeresen töröltük. Reméljük, hamarosan újra találkozunk.
- edit:
- are_you_sure: biztos vagy ebben?
- cancel_my_account: A fiókom visszavonása
- currently_waiting_confirmation_for_email: 'Jelenleg várakozó visszaigazolás: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: hagyja üresen, ha nem akarja megváltoztatni
- title: Edit %{resource}
- unhappy: Boldogtalan?
- update: frissítés
- we_need_your_current_password_to_confirm_your_changes: a változtatások megerősítéséhez a jelenlegi jelszóra van szükségünk
new:
sign_up: Regisztrálj
signed_up: Üdvözöljük! Sikeresen regisztráltál.
@@ -1373,9 +1500,14 @@ hu:
other: 'Több hiba történt a művelet végrehajtása során:'
too_many_marks: túl sok egymást követő írásjelet használ (pl. és!)
too_much_caps: túl sok nagybetűt használ (a szöveg több mint 25% -a)
- too_short: túl rövid (15 karakterig)
forms:
+ correct_errors: Az űrlap hibákat tartalmaz, kérjük, javítsa ezeket a folytatáshoz.
+ length_validator:
+ minimum:
+ one: Legalább %{count} karakter
+ other: Legalább %{count} karakter
required: Kötelező
+ required_explanation: "* A kötelező mezőket csillaggal jelöltük"
invisible_captcha:
sentence_for_humans: Hagyd figyelmen kívül ezt a mezőt
timestamp_error_message: Sajnos ez túl gyors volt! Kérlek, küldd el újra.
@@ -1388,6 +1520,7 @@ hu:
edit_link:
edit: Szerkesztés
footer:
+ cc_by_license: A Creative Commons licence
decidim_logo: Decidim-logó
download_open_data: Töltse le a Nyílt Adat fájlokat
made_with_open_source: Az oldal nyílt forráskódú szoftverrel készült.
@@ -1407,17 +1540,26 @@ hu:
notifications_dashboard:
mark_all_as_read: Összes megjelölése olvasottként
mark_as_read: Megjelölés olvasottként
+ social_media_links:
+ facebook: "%{organization} a Facebookon"
+ github: "%{organization} a GitHubon"
+ instagram: "%{organization} az Instagramon"
+ twitter: "%{organization} a Twitteren"
+ youtube: "%{organization} a YouTube-on"
timeout_modal:
+ body: Ön %{minutes} percig inaktív volt. Ha továbbra is inaktív marad, a saját biztonsága érdekében automatikusan kijelentkeztetjük.
continue_session: Munkamenet folytatása
sign_out: Kijelentkezés
title: Folytatja a munkamenetet?
user_menu:
+ account: 'Felhasználói fiók: %{name}'
admin_dashboard: Admin vezérlőpult
conversations: Beszélgetések
notifications: Értesítések
profile: Fiókom
public_profile: Nyilvános profilom
sign_out: Kijelentkezés
+ title: Profil linkek
user_profile:
account: Fiók
authorizations: Engedélyezések
@@ -1431,11 +1573,14 @@ hu:
see_more: Tovább
locale:
name: Magyar
+ name_with_error: Angol (hiba!)
password_validator:
+ blacklisted: tiltólistára került
domain_included_in_password: túl hasonló a domain névhez
email_included_in_password: túl hasonló az email címhez
fallback: érvénytelen
name_included_in_password: túlságosan hasonlít a nevedhez
+ nickname_included_in_password: túlságosan hasonlít a becenevéhez
not_enough_unique_characters: nem tartalmaz elegendő egyedi karaktert
password_not_allowed: nem engedélyezett
password_too_common: túl gyakori
@@ -1480,6 +1625,7 @@ hu:
invitation_instructions:
accept_until_format: "%B %d, %Y %I:%M %p"
long: "%B %d, %Y %H:%M"
+ long_dashed: "%Y-%m-%d %H:%M:%S"
short: "%d/%m/%Y %H:%M"
time_of_day: "%H:%M"
versions:
@@ -1499,5 +1645,9 @@ hu:
first: "« Első"
last: Utolsó »
next: Következő ›
+ next_title: Lépés a következő oldalra
+ pagination: Lapozó
previous: "‹ Előző"
+ previous_title: Vissza az előző oldalra
+ title: 'Oldalszám: '
truncate: "…"
diff --git a/decidim-core/config/locales/id-ID.yml b/decidim-core/config/locales/id-ID.yml
index 598829aad5ab2..7288b7e5b7a7f 100644
--- a/decidim-core/config/locales/id-ID.yml
+++ b/decidim-core/config/locales/id-ID.yml
@@ -550,18 +550,6 @@ id:
how: Bagaimana Anda bisa mendapatkannya
page_description: Lencana adalah pengakuan untuk tindakan dan kemajuan peserta dalam platform. Ketika Anda mulai menemukan, berpartisipasi, dan berinteraksi di platform, Anda akan mendapatkan lencana yang berbeda. Di sini adalah daftar lencana dan beberapa cara Anda dapat memperolehnya.
title: Lencana
- invitations:
- conditions:
- - Gunakan tautan "undang teman" di halaman pengguna Anda untuk mengundang teman-teman Anda
- - Sesuaikan, jika Anda mau, pesan yang Anda kirim
- - Anda akan naik level dengan mengirim undangan dan meminta mereka terdaftar.
- description: Lencana ini diberikan ketika Anda mengundang beberapa orang dan mereka telah menghabiskan sedikit waktu untuk mendaftar di %{organization_name} dan menjadi peserta. Terima kasih telah membuat %{organization_name} diketahui orang lain dan membantu memperluas komunitas!
- description_another: Pengguna ini telah mengundang %{score} pengguna.
- description_own: Anda telah mengundang %{score} pengguna.
- name: Undangan
- next_level_in: Undang %{score} lebih banyak pengguna untuk mencapai level berikutnya!
- unearned_another: Pengguna ini belum mengundang pengguna apa pun.
- unearned_own: Anda belum mengundang pengguna.
description: Lencana adalah pengakuan untuk tindakan dan kemajuan peserta dalam platform. Ketika Anda mulai menemukan, berpartisipasi, dan berinteraksi di platform, Anda akan mendapatkan lencana yang berbeda.
level: Level %{level}
reached_top: Anda telah mencapai level teratas untuk lencana ini.
@@ -710,12 +698,10 @@ id:
title: Percakapan
reply:
send: Kirim
- title: Balasan
show:
title: Percakapan dengan %{usernames}
start:
send: Kirim
- title: Mulai percakapan
metrics:
followers:
description: Jumlah pengguna yang mengikuti ruang partisipasi ini
@@ -1070,15 +1056,6 @@ id:
updated_not_active: Kata sandi Anda telah berhasil diubah.
registrations:
destroyed: Bye! Akun Anda telah berhasil dibatalkan. Kami berharap dapat melihat Anda lagi segera.
- edit:
- are_you_sure: Apakah kamu yakin?
- cancel_my_account: Batalkan akun saya
- currently_waiting_confirmation_for_email: 'Sedang menunggu konfirmasi untuk: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: biarkan kosong jika Anda tidak ingin mengubahnya
- title: Edit %{resource}
- unhappy: Tidak bahagia?
- update: Memperbarui
- we_need_your_current_password_to_confirm_your_changes: kami memerlukan kata sandi Anda saat ini untuk mengonfirmasi perubahan Anda
new:
sign_up: Daftar
signed_up: Selamat datang! Anda telah berhasil mendaftar.
@@ -1127,7 +1104,6 @@ id:
not_locked: tidak terkunci
too_many_marks: menggunakan terlalu banyak tanda baca (misalnya! dan?)
too_much_caps: menggunakan terlalu banyak huruf besar (lebih dari 25% dari teks)
- too_short: terlalu pendek (kurang dari 15 karakter)
forms:
required: Wajib
invisible_captcha:
diff --git a/decidim-core/config/locales/is-IS.yml b/decidim-core/config/locales/is-IS.yml
index 75bcf94c8a38e..27d4ae1b25d6f 100644
--- a/decidim-core/config/locales/is-IS.yml
+++ b/decidim-core/config/locales/is-IS.yml
@@ -267,9 +267,10 @@ is-IS:
error: Samtal ekki hafin. Reyndu aftur seinna
index:
no_conversations: Þú hefur enga samtöl ennþá
+ reply:
+ send: Senda
start:
send: Senda
- title: Byrjaðu samtal
newsletter_mailer:
newsletter:
note: Þú fékkst þennan tölvupóst vegna þess að þú ert áskrifandi að fréttabréfinu á %{organization_name}. Þú getur breytt stillingum þínum á tilkynningarsíðunni þinni.
diff --git a/decidim-core/config/locales/it.yml b/decidim-core/config/locales/it.yml
index 6f19ab3160201..749275a8ebb50 100644
--- a/decidim-core/config/locales/it.yml
+++ b/decidim-core/config/locales/it.yml
@@ -756,18 +756,6 @@ it:
how: Come puoi guadagnarlo
page_description: I badge sono riconoscimenti delle azioni dei partecipanti e dei progressi nella piattaforma. Quando inizi a scoprire, partecipare e interagire nella piattaforma, guadagnerai badge diversi. Ecco la lista dei badge e alcuni modi per guadagnarli.
title: Badge
- invitations:
- conditions:
- - Usa il link "invita amici" nella tua pagina utente per invitare i tuoi amici
- - Personalizza, se vuoi, il messaggio che stai inviando
- - Aumenterai di livello inviando inviti e registrandoli.
- description: Questo badge è concesso quando hai invitato alcune persone e hanno trascorso un po 'di tempo per registrarsi in %{organization_name} e diventare partecipanti. Grazie per aver reso %{organization_name} conoscere agli altri e contribuendo ad ampliare la comunità!
- description_another: Questo utente ha invitato %{score} utenti.
- description_own: Hai invitato %{score} utenti.
- name: inviti
- next_level_in: Invita altri %{score} utenti a raggiungere il livello successivo!
- unearned_another: Questo utente non ha ancora invitato alcun utente.
- unearned_own: Non hai ancora invitato nessun utente.
description: I badge sono riconoscimenti delle azioni dei partecipanti e dei progressi nella piattaforma. Quando inizi a scoprire, partecipare e interagire nella piattaforma, guadagnerai badge diversi.
level: Livello %{level}
reached_top: Hai raggiunto il livello più alto per questo badge.
@@ -965,7 +953,7 @@ it:
ok: Ok
index:
ago: fa
- close: Chiudi modale
+ close: Chiudi modalità
from: Da
groups: I miei gruppi
last_message: Ultimo messaggio
@@ -975,7 +963,7 @@ it:
title: Conversazioni
reply:
placeholder: La tua risposta...
- send: Inviare
+ send: Invia
title: Rispondi
show:
back: Torna a tutte le conversazioni
@@ -1506,15 +1494,6 @@ it:
updated_not_active: La tua password è stata cambiata con successo.
registrations:
destroyed: Ciao! Il tuo account è stato cancellato con successo. Speriamo di rivederti presto.
- edit:
- are_you_sure: Sei sicuro?
- cancel_my_account: Cancellare il mio account
- currently_waiting_confirmation_for_email: 'Conferma in attesa per: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: lasciare vuoto se non si desidera modificarlo
- title: Modifica %{resource}
- unhappy: Infelice?
- update: Aggiornare
- we_need_your_current_password_to_confirm_your_changes: abbiamo bisogno della tua password corrente per confermare le tue modifiche
new:
sign_up: Iscriviti
signed_up: Benvenuto! Ti sei registrato con successo.
@@ -1569,7 +1548,6 @@ it:
other: 'Ci sono stati molteplici errori durante l''elaborazione della tua richiesta:'
too_many_marks: sta usando troppi segni di punteggiatura consecutivi (ad esempio! e?)
too_much_caps: usa troppe lettere maiuscole (oltre il 25% del testo)
- too_short: è troppo corto (meno di 15 caratteri)
forms:
correct_errors: Ci sono errori nel modulo, correggerli per continuare.
length_validator:
@@ -1643,7 +1621,7 @@ it:
see_more: vedi di più
locale:
name: Italiano
- name_with_error: Inglese (errore!)
+ name_with_error: Italiano (errore!)
password_validator:
blacklisted: è nella blacklist
domain_included_in_password: è troppo simile a questo nome di dominio
diff --git a/decidim-core/config/locales/ja.yml b/decidim-core/config/locales/ja.yml
index 85b932a915af0..d4748af371b49 100644
--- a/decidim-core/config/locales/ja.yml
+++ b/decidim-core/config/locales/ja.yml
@@ -29,6 +29,7 @@ ja:
password_confirmation: パスワードの確認
personal_url: 個人用URL
remove_avatar: アバターを削除
+ tos_agreement: ユーザー利用規約
models:
decidim/attachment_created_event: 添付ファイル
decidim/component_published_event: アクティブなコンポーネント
@@ -706,7 +707,7 @@ ja:
filters:
linked_classes:
all: すべて
- collaborative_draft: 共同ドラフト(下書き)
+ collaborative_draft: 共同草案
dummy_resource: ダミーリソース
meeting: ミーティング
project: プロジェクト
@@ -775,18 +776,6 @@ ja:
how: どうやって稼ぐことができますか?
page_description: バッジは、プラットフォームの参加者の行動と進行状況を認識します。 プラットフォームで発見し、参加し、交流し始めると、異なるバッジを獲得できます。 ここにバッジのリストといくつかの方法があります。
title: バッジ
- invitations:
- conditions:
- - 友達を招待するには、ユーザーページの「友達招待」リンクを使用してください
- - 必要に応じて、送信するメッセージをカスタマイズします
- - 招待状を送信して登録することでレベルアップします。
- description: このバッジは、あなたが何人かの人を招待し、その人たちが少し時間をかけて%{organization_name} に登録し、参加者になったときに与えられます。%{organization_name} を他の人に知らしめ、コミュニティの拡大に貢献してくれたことに感謝します!
- description_another: この参加者は %{score} 人を招待しました。
- description_own: '%{score} 人を招待しました。'
- name: 招待
- next_level_in: '%{score} 人を招待して次のレベルに到達しましょう!'
- unearned_another: この参加者はまだ誰も招待していません。
- unearned_own: まだ誰も招待していません。
description: バッジは、プラットフォームの参加者の行動と進行状況を認識します。 プラットフォームで発見し、参加し、交流し始めると、異なるバッジを獲得できます。
level: レベル %{level}
reached_top: このバッジの最高レベルに達しました。
@@ -1531,15 +1520,6 @@ ja:
updated_not_active: パスワードが正常に変更されました。
registrations:
destroyed: お客様のアカウントは正常にキャンセルされました。しばらくお待ちください。
- edit:
- are_you_sure: よろしいですか?
- cancel_my_account: アカウントをキャンセルする
- currently_waiting_confirmation_for_email: '現在確認待ち: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: 変更したくない場合は空白のままにしてください
- title: '%{resource} を編集'
- unhappy: 不満?
- update: 更新
- we_need_your_current_password_to_confirm_your_changes: 変更を確認するには現在のパスワードが必要です
new:
sign_up: 新規登録
signed_up: ようこそ!正常に登録完了しました。
@@ -1592,7 +1572,7 @@ ja:
other: 'リクエストの処理中に複数のエラーが発生しました:'
too_many_marks: '連続する句読点が多すぎます (例: !, ?)'
too_much_caps: 大文字が多すぎます(テキストの25%以上)
- too_short: 短すぎます(15文字未満)
+ too_short: は短すぎます( %{count} 文字以下)
forms:
correct_errors: 下記のフォームにエラーがありました。修正して継続してください。
length_validator:
@@ -1665,7 +1645,7 @@ ja:
see_more: もっと見る
locale:
name: 日本語
- name_with_error: 英語 (エラー!)
+ name_with_error: 日本語 (エラー!)
password_validator:
blacklisted: ブラックリストに登録済み
domain_included_in_password: このドメイン名に似ています
diff --git a/decidim-core/config/locales/lb.yml b/decidim-core/config/locales/lb.yml
index 9d544b5d1ef79..4cd23746b6dc3 100644
--- a/decidim-core/config/locales/lb.yml
+++ b/decidim-core/config/locales/lb.yml
@@ -458,7 +458,7 @@ lb:
newsletter: Heiansdo en Newsletter mat relevanten Informatiounen zougeschéckt kréien
newsletter_title: Erlabnis Kontakt opzehuelen
nickname_help: Däin Pseudonym an %{organization}. Dierf nëmmen aus Buschtawen, Zuelen, _ an - bestoen.
- password_help: "Muss op mannst aus %{minimun_characters} Zeechen bestoen, keng ze banal (z.B. 123456) an et dierf net däin Benotzernumm oder deng Email-Adress enthalen."
+ password_help: "Muss op mannst aus %{minimun_characters} Zeechen bestoen, keng ze banal Zeechen (z.B. 123456) an et dierf weder däin Pseudonym nach deng Email-Adress enthalen."
sign_in: Umelden
sign_up: Registréieren
sign_up_as:
@@ -741,18 +741,6 @@ lb:
how: Wéi kanns de der et verdéngen
page_description: Ofzeechen sinn Unerkennungen fir d'Aktiounen an d'Fortschrëtter vun Teilnehmer op der Plattform. Wann se op der Plattform entdecken, matmaachen an interagéieren, verdéngen se verschidden Ofzeechen. Hei ass eng Lëscht vun den Ofzeechen an e puer Méiglechkeeten, wéi een sech déi verdéngen kann.
title: Ofzeechen
- invitations:
- conditions:
- - Benotz den "Frënn alueden" -Link op denger Profil-Säit, fir Frënn anzelueden
- - Du kanns, wann s'de dat wëlls, d'Noriicht déi s'de schécke wëlls upassen
- - Du verbessers dech andeem s'de Aluedungen erausschécks an registréieren léiss.
- description: Dëst Ofzeechen kritt een, wann een e puer Persounen agelueden huet déi sech d'Zäit geholl hunn sech bei %{organization_name} ze registréieren. Merci, dass du hëllefs d'%{organization_name} bekannt ze maachen an dozou bäidréis d'Communautéit ze vergréisseren!
- description_another: Dësen Teilnehmer huet %{score} Teilnehmer agelueden.
- description_own: Du hues %{score} Teilnehmer agelueden.
- name: Aluedungen
- next_level_in: Lued %{score} méi Teilnehmer an, fir op den nächsten Level ze kommen!
- unearned_another: Dësen Teilnehmer huet nach keen agelueden.
- unearned_own: Du hues nach keen Teilnehmer agelueden.
description: Ofzeechen sinn Unerkennungen fir d'Aktiounen an d'Fortschrëtter vun Teilnehmer op der Plattform. Wann se op der Plattform entdecken, matmaachen an interagéieren, verdéngen se verschidden Ofzeechen.
level: Level %{level}
reached_top: Du hues den héchsten Level bei dësem Ofzeechen erreecht.
@@ -1487,15 +1475,6 @@ lb:
updated_not_active: Däin Passwuert ass geännert.
registrations:
destroyed: Däin Kont gouf zou gemaach. Mir hoffen dech geschwënn erëm ze gesinn.
- edit:
- are_you_sure: Bass de sécher?
- cancel_my_account: Kont erstellen ofbriechen
- currently_waiting_confirmation_for_email: 'Op Bestätegung waarden fir: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: net ausfëllen wann s'de keng Ännerung wëlls
- title: Änneren %{resource}
- unhappy: Net zefridden?
- update: Aktualiséierung
- we_need_your_current_password_to_confirm_your_changes: mir brauchen en aktuellt Passwuert fir deng Ännerungen ze bestätegen
new:
sign_up: Registréieren
signed_up: Wëllkomm, du bass elo registréiert.
@@ -1550,7 +1529,6 @@ lb:
other: 'Bei denger Ufro sin e puer Feeler opgetrueden:'
too_many_marks: benotzt ze vill Sazzeechen (zB! und?)
too_much_caps: benotzt ze vill Groussbuschtawen (über 25% des Textes)
- too_short: ze kuerz (ënner 15 Zeechen)
forms:
correct_errors: Et sinn Feeler um Formular, w. e. g. virum weiderfueren verbesseren.
length_validator:
diff --git a/decidim-core/config/locales/lo-LA.yml b/decidim-core/config/locales/lo-LA.yml
new file mode 100644
index 0000000000000..27a02bfece429
--- /dev/null
+++ b/decidim-core/config/locales/lo-LA.yml
@@ -0,0 +1 @@
+lo:
diff --git a/decidim-core/config/locales/lt.yml b/decidim-core/config/locales/lt.yml
index 6c5cb837ac8c1..e6d98d162e8f8 100644
--- a/decidim-core/config/locales/lt.yml
+++ b/decidim-core/config/locales/lt.yml
@@ -1 +1,1781 @@
lt:
+ activemodel:
+ attributes:
+ account:
+ delete_reason: Paskyros pašalinimo priežastis
+ common:
+ created_at: Sukurta
+ conversation:
+ body: Pagrindinė dalis
+ group:
+ about: Apie
+ avatar: Avataras
+ document_number: Dokumento numeris
+ email: El. paštas
+ name: Pavadinimas
+ nickname: Slapyvardis
+ phone: Telefonas
+ message:
+ body: Pagrindinė dalis
+ report:
+ details: Papildomi komentarai
+ user:
+ about: Apie
+ email: El. paštas
+ locale: Kalba
+ name: Jūsų vardas
+ nickname: Slapyvardis
+ password: Slaptažodis
+ password_confirmation: Pakartokite slaptažodį
+ personal_url: Asmeninis URL
+ remove_avatar: Pašalinti avatarą
+ models:
+ decidim/attachment_created_event: Priedas
+ decidim/component_published_event: Aktyvusis komponentas
+ decidim/demoted_membership: Nebėra grupės administratorius
+ decidim/gamification/badge_earned_event: Ženklas gautas
+ decidim/gamification/level_up_event: Pakilote lygiu
+ decidim/invited_to_group_event: Pakvietimas prisijungti prie grupės
+ decidim/join_request_accepted_event: Prisijungimo užklausa patvirtinta
+ decidim/join_request_rejected_event: Prisijungimo užklausa atmesta
+ decidim/profile_updated_event: Profilis atnaujintas
+ decidim/promote_to_admin: Paaukštintas(-a) į grupės administratorius
+ decidim/promoted_to_admin_event: Paaukštintas(-a) į grupės administratorius
+ decidim/removed_from_group: Pašalinta iš grupės
+ decidim/resource_endorsed_event: Išteklis palaikytas
+ decidim/resource_hidden_event: Išteklis paslėptas
+ decidim/user_group_created_event: Naudotojų grupė sukurta
+ decidim/welcome_notification_event: Sveikinimo prisijungus žinutė
+ activerecord:
+ attributes:
+ decidim/user:
+ current_password: Dabartinis slaptažodis
+ email: El. paštas
+ name: Slapyvardis
+ password: Slaptažodis
+ password_confirmation: Slaptažodžio patvirtinimas
+ remember_me: Prisiminti mane
+ models:
+ decidim/amendment:
+ one: Pataisa
+ few: Pataisos
+ many: Pataisos
+ other: Pataisos
+ decidim/endorsement:
+ one: Palaikymas
+ few: Palaikymai
+ many: Palaikymai
+ other: Palaikymai
+ decidim/user:
+ one: Dalyvis
+ few: Dalyviai
+ many: Dalyviai
+ other: Dalyviai
+ decidim/user_group:
+ one: Grupė
+ few: Grupės
+ many: Grupės
+ other: Grupės
+ booleans:
+ 'false': 'Ne'
+ 'true': 'Taip'
+ carrierwave:
+ errors:
+ image_too_big: Paveikslėlis per didelis
+ not_inside_organization: Dokumentas nepririštas prie jokios organizacijos
+ date:
+ formats:
+ decidim_short: "%Y/%m/%d"
+ decidim_short_with_month_name_short: "%Y %b %d"
+ decidim_with_day_and_month_name: "%Y %A %b %d"
+ decidim_with_month_name: "%Y %B %d"
+ decidim_with_month_name_short: "%d %b"
+ datetime:
+ distance_in_words:
+ about_x_hours:
+ one: apie 1 valanda
+ few: apie %{count} valandos
+ many: apie %{count} valandos
+ other: apie %{count} valandos
+ about_x_months:
+ one: apie 1 mėnesis
+ few: apie %{count} mėnesiai
+ many: apie %{count} mėnesiai
+ other: apie %{count} mėnesiai
+ half_a_minute: pusė minutės
+ less_than_x_minutes:
+ one: mažiau nei minutė.
+ few: mažiau nei %{count} minutės.
+ many: mažiau nei %{count} minutės.
+ other: mažiau nei %{count} minutės.
+ less_than_x_seconds:
+ one: dabar
+ few: mažiau nei %{count} sek.
+ many: mažiau nei %{count} sek.
+ other: mažiau nei %{count} sek.
+ x_days:
+ one: prieš 1 dieną
+ few: "prieš %{count} dienas"
+ many: "prieš %{count} dienas"
+ other: "prieš %{count} dienas"
+ x_hours:
+ one: prieš vieną valandą
+ few: "prieš %{count} valandas"
+ many: "prieš %{count} valandų"
+ other: "prieš %{count} valandas"
+ x_minutes:
+ one: prieš 1 min.
+ few: "prieš %{count} min."
+ many: "prieš %{count} min."
+ other: "prieš %{count} min."
+ x_seconds:
+ one: prieš 1 sekundę
+ other: "prieš %{count} sekundes"
+ zero: dabar
+ decidim:
+ accessibility:
+ external_link: Išorinė nuoroda
+ front_page_link: Eiti į pagrindinį puslapį
+ logo: "%{organization} oficialus logotipas"
+ skip_button: Perieti į pagrindinį turinį
+ account:
+ blocked: Ši paskyra užblokuota dėl sąlygų pažeidimų
+ data_portability_export:
+ file_no_exists: Failas neegzistuoja
+ notice: Parsisiunčiami jūsų duomenys. Kai procesas bus baigtas, gausite e. laišką.
+ delete:
+ alert: Šis veiksmas negali būti pakeistas vėliau. Jei ištrinate paskyrą nebegalėsite prie jos prisijungti. Paskyros ištrynis anonimizuos Jūsų indėlius. Galėsite susikurti naują paskyrą, tačiau indėliai nebus jai priskirti.
+ confirm:
+ close: Uždaryti langą
+ ok: Taip, noriu ištrinti paskyrą
+ question: Ar tikrai norite ištrinti paskyrą?
+ title: Ištrinti paskyrą
+ explanation: Įrašykite priežastį, dėl kurios norite pašalinti savo paskyrą (neprivaloma).
+ destroy:
+ error: Ištrinant Jūsų paskyrą iškilo problema.
+ success: Jūsų paskyra ištrinta.
+ show:
+ available_locales_helper: Pasirinkite kalbą, kuria norite naršyti platformą ir gauti pranešimus
+ change_password: Pakeisti slaptažodį
+ update_account: Atnaujinti paskyrą
+ update:
+ error: Atnaujinant paskyrą kilo problema.
+ success: Paskyra sėkmingai atnaujinta.
+ success_with_email_confirmation: Paskyra sėkmingai atnaujinta. Gausite el. laišką naujo el. pašto patvirtinimui.
+ admin:
+ actions:
+ cancel: Atšaukti
+ admin_log:
+ area:
+ create: "%{user_name} sukūrė %{resource_name} erdvę"
+ delete: "%{user_name} ištrynė %{resource_name} erdvę"
+ update: "%{user_name} sukūrė %{resource_name} erdvę"
+ component:
+ create: "%{user_name} pridėjo %{resource_name} komponentą %{space_name} erdvėje"
+ delete: "%{user_name} išėmė %{resource_name} komponentą iš %{space_name} erdvės"
+ publish: "%{user_name} paskelbė %{resource_name} komponentą %{space_name} erdvėje"
+ unpublish: "%{user_name} depublikavo %{resource_name} komponentą iš %{space_name} erdvės"
+ impersonation_log:
+ manage: "%{user_name} tvarkė %{resource_name} dėl %{reason}"
+ moderation:
+ hide: "%{user_name} paslėpė išteklio tipą %{resource_type} %{space_name} erdvėje"
+ unreport: "%{user_name} panaikino pranešimą apie %{resource_type} tipo išteklį %{space_name} erdvėje"
+ newsletter:
+ create: "%{user_name} sukūrė %{resource_name} naujienlaiškį"
+ delete: "%{user_name} pašalino %{resource_name} naujienlaiškį"
+ deliver: "%{user_name} išsiuntė %{resource_name} naujienlaiškį"
+ update: "%{user_name} atnaujino %{resource_name} naujienlaiškį"
+ oauth_application:
+ create: "%{user_name} sukūrė %{resource_name} „OAuth“ programą"
+ delete: "%{user_name} ištrynė %{resource_name} „OAuth“ programą"
+ update: "%{user_name} atnaujino %{resource_name} „OAuth“ programą"
+ organization:
+ update: "%{user_name} atnaujino organizacijos nustatymus"
+ participatory_space_private_user:
+ create: "%{user_name} pakvietė %{resource_name} būti privačiu dalyviu"
+ create_via_csv: "%{user_name} pakvietė %{resource_name} per CSV tapti privačiu dalyviu"
+ delete: "%{user_name} pašalino %{resource_name} dalyvį iš privačių dalyvių"
+ scope:
+ create: "%{user_name} sukūrė %{resource_name} sritį"
+ create_with_parent: "%{user_name} sukūrė %{resource_name} sritį %{parent_scope} srityje"
+ delete: "%{user_name} pašalino %{resource_name} sritį"
+ delete_with_parent: "%{user_name} pašalino %{resource_name} sritį %{parent_scope} srityje"
+ update: "%{user_name} atnaujino %{resource_name} sritį"
+ update_with_parent: "%{user_name} atnaujino %{resource_name} sritį %{parent_scope} srityje"
+ static_page:
+ create: "%{user_name} sukūrė %{resource_name} statinį puslapį"
+ delete: "%{user_name} pašalino %{resource_name} statinį puslapį"
+ update: "%{user_name} atnaujino %{resource_name} puslapį"
+ user:
+ block: "%{user_name} užblokavo %{resource_name}"
+ invite: "%{user_name} pakvietė naudotoją %{resource_name} su role: %{role}"
+ officialize: "%{user_name} oficializavo dalyvį %{resource_name}"
+ promote: "%{user_name} paaukštino %{resource_name}"
+ remove_from_admin: "%{user_name} pašalino dalyvį %{resource_name} su role: %{role}"
+ show_email: "%{user_name} gavo dalyvio %{resource_name} el. paštą"
+ transfer: "%{user_name} perkėlė dalyvį %{resource_name}"
+ unblock: "%{user_name} atblokavo naudotoją %{resource_name}"
+ unofficialize: "%{user_name} nuėmė dalyvio %{resource_name} patvirtinimą"
+ user_group:
+ reject: "%{user_name} atmetė %{resource_name} grupės patvirtinimą"
+ verify: "%{user_name} patvirtino %{resource_name} grupę"
+ verify_via_csv: "%{user_name} patvirtino %{resource_name} grupę per CSV rinkmeną"
+ user_moderation:
+ unreport: "%{user_name} panaikino pranešimą dėl %{resource_type} publikuotą %{unreported_user_name}"
+ admin_terms_of_use:
+ default_body: "
ADMIN TERMS OF USE
Tikimės, kad gavote įprastą pamokymą iš vietos Sistemos Administratoriaus. Paprastai apsiribojama trimis dalykais:
Gerbkite kitų privatumą.
Prieš spustelėdami pagalvokite.
Didelė galia – didelė atsakomybė.
"
+ alert:
+ dismiss: Atmesti pranešimą
+ amendments:
+ accepted:
+ error: Priimant pakeitimą įvyko klaida.
+ success: Pakeitimas priimtas.
+ amendable:
+ amended_by: Pakeitė
+ button: Pakeisti %{model_name}
+ error: Keičiant šį išteklių įvyko klaida.
+ help_text: Patobulinkite šį %{model_name} pakeisdami jo %{amendable_fields}
+ promote_button: Pakelti iki %{model_name}
+ promote_confirm_text: Ar tikrai norite palaikyti šią pataisą?
+ promote_help_text: Galite paremti šią pataisą ir ją paskelbti kaip nepriklausomą %{model_name}
+ section_heading: Pakeitimai (%{count})
+ compare_draft:
+ continue: Tęsti
+ no_similars_found: Panašių pataisymų nerasta.
+ title: Panašūs pataisymai
+ created:
+ error: Kuriant pakeitimo juodraštį įvyko klaida.
+ success: Pakeitimo juodraštis sukurtas.
+ destroy_draft:
+ error: Šalinant šį pakeitimo juodraštį iškilo problema.
+ success: Pakeitimo juodraštis pašalintas.
+ edit_draft:
+ discard: Ištrinti šį juodraštį
+ discard_confirmation: Ar tikrai norite ištrinti šį pakeitimo juodraštį?
+ send: Peržiūra
+ title: Redaguoti Pakeitimo Juodraštį
+ emendation:
+ actions:
+ button_accept: Sutikti
+ button_reject: Atmesti
+ help_text: Peržiūrėti pakeitimus ir priimti arba atmesti šią pataisą. Jo autoriui(-iams) bus išsiųstas pranešimas.
+ announcement:
+ accepted: |-
+ Pataisa dėl %{amendable_type}%{proposal_link} buvo priimta %{date}.
+ evaluating: |-
+ Pataisa dėl %{amendable_type}%{proposal_link} yra vertinama.
+ promoted: Paaukštinta į %{amendable_type}.
+ rejected: Ši pataisa %{amendable_type}%{proposal_link} buvo atmesta %{date}.
+ withdrawn: |-
+ Ši pataisa dėl %{amendable_type}%{proposal_link} buvo išimta autoriaus(-ės).
+ new:
+ amendment_author: Pataisos autorius(-ė)
+ send: Sukurti
+ title: Sukurti Pataisos Juodraštį
+ preview_draft:
+ modify: Redaguoti
+ publish: Publikuoti
+ title: Publikuoti Pataisos Juodraštį
+ promoted:
+ error: Publikuojant pataisą kaip naują pasiūlymą iškilo problema
+ success: Pataisa sėkmingai publikuota kaip naujas pasiūlymas
+ publish_draft:
+ error: Publikuojant pataisą iškilo problema.
+ success: Pataisa sėkmingai publikuota.
+ rejected:
+ error: Atmetant pataisą kilo problema. Pabandykite dar kartą vėliau
+ success: Pataisa sėkmingai atmesta
+ review:
+ back: Atgal
+ heading: Peržiūrėti pataisą
+ help_text: Peržiūrite %{model_name} pataisą
+ send: Priimti pataisą
+ update_draft:
+ error: Atnaujinant pataisos juodraštį iškilo problema.
+ success: Pataisos juodraštis sėkmingai atnaujintas.
+ withdraw:
+ error: Išimant pataisą įvyko klaida
+ success: Pataisa sėkmingai išimta
+ wizard_step_form:
+ steps:
+ '1': Sukurkite savo pataisą
+ '2': Palyginkite savo pataisą
+ '3': Užbaikite savo pataisą
+ '4': Paskalbkite savo pataisą
+ anonymous_user: Anonimas
+ application:
+ collection:
+ documents:
+ one: Dokumentas
+ few: Dokumentai
+ many: Dokumentai
+ other: Dokumentai
+ document:
+ download: Atsisiųsti dokumentą
+ documents:
+ related_documents: Susiję dokumentai
+ geocoding:
+ geocoded_address: Adresas
+ photos:
+ related_photos: Susiję paveikslėliai
+ author:
+ avatar: 'Avataras: %{name}'
+ avatar_multiuser: Avataras keliems naudotojams
+ comments:
+ one: komentaras
+ few: komentarai
+ many: komentarai
+ other: komentarai
+ endorsements:
+ one: palaikymas
+ few: palaikymai
+ many: palaikymai
+ other: palaikymai
+ authorization_handlers:
+ another_dummy_authorization_handler:
+ explanation: Patvirtinkite savo tapatybę įvesdami savo paso numerį po "A" raidės
+ fields:
+ passport_number: Paso numeris
+ postal_code: Pašto kodas
+ name: Kita pavyzdinė autorizacija
+ dummy_authorization_handler:
+ explanation: Patvirtinkite tapatybę įvesdami dokumento numerį pasibaigianti su "X"
+ fields:
+ allowed_postal_codes: Leistini pašto kodai (atskirti kableliais)
+ allowed_scope_id: Leidžiama sritis
+ document_number: Dokumento numeris
+ postal_code: Pašto kodas
+ scope_id: Sritis
+ name: Autorizacijos pavyzdys
+ dummy_authorization_workflow:
+ name: Testinė autorizacijos procedūra
+ errors:
+ duplicate_authorization: Dalyvis su šiais duomenimis jau autorizuotas. Administratorius su Jumis susisieks duomenų patikrinimui.
+ expired_at: Išėjo iš galiojimo %{timestamp}
+ expires_at: Baigia galioti %{timestamp}
+ foo_authorization:
+ fields:
+ bar: Bar
+ foo: Foo
+ name: Foo leidimas
+ granted_at: Suteikta %{timestamp}
+ renew: Atnaujinti tapatybės patikrinimą
+ sms:
+ explanation: Įveskite telefono numerį tam, kad patikrinti Jūsų tapatybę.
+ name: SMS žinute siunčiamas kodas
+ started_at: Pradėta %{timestamp}
+ authorization_modals:
+ content:
+ expired:
+ authorize: Autorizuoti iš naujo su „%{authorization}“
+ explanation: Jūsų leidimas baigė galioti. Kad galėtumėte atlikti šį veiksmą, turite iš naujo gauti leidimą „%{authorization}“.
+ title: Autorizacija išėjo iš galiojimo
+ incomplete:
+ cancel: Atšaukti
+ explanation: 'Nors jums šiuo metu suteiktas leidimas „%{authorization}“, turite būti iš naujo gauti leidimą, nes neturime šių duomenų:'
+ invalid_field: "%{field}"
+ reauthorize: Autorizuoti iš naujo
+ title: Prašau autorizuokitės dar kartą
+ missing:
+ authorize: Autorizuokite su "%{authorization}"
+ explanation: Kad galėtumėte atlikti šį veiksmą, turite gauti autorizaciją „%{authorization}“.
+ title: Reikalinga autorizacija
+ ok:
+ title: Būdami šiame puslapyje buvote autorizuoti. Prašau perkraukite puslapį tam, kad įvykdyti veiksmą
+ pending:
+ explanation: Kad galėtumėte atlikti šį veiksmą, turite autorizuotis su „%{authorization}“, tačiau tai dar progrese
+ resume: Patikrinkite savo %{authorization} autorizacijos progresą
+ title: Autorizacija vyksta
+ unauthorized:
+ explanation: Deja, šio veiksmo negalite atlikti, nes kai kurie jūsų autorizacijos duomenys nesutampa.
+ invalid_field: "%{field} vertė %{value} negalioja."
+ ok: Gerai
+ title: Neautorizuota
+ unconfirmed:
+ confirmation_instructions: 'Jeigu negavote patvirtinimo nurodymų, galite jų dar kartą paprašyti:'
+ explanation_html: Kad galėtumėte atlikti šį veiksmą, turite gauti leidimą, o prieš atlikdami šį veiksmą turite patvirtinti savo el. pašto adresą %{email}.
+ request_confirmation_instructions: Paprašyti patvirtinimo instrukcijų
+ title: Patvirtinkite savo el. pašto adresą
+ show:
+ close_modal: Uždaryti modalinį langą
+ block_user_mailer:
+ notify:
+ body_1: Jūsų paskyra užblokuota.
+ body_2: 'Priežastis:%{justification}'
+ greetings: Sveiki, %{organization_name} %{organization_url}
+ hello: Sveiki,
+ subject: Jūsų paskyra buvo užblokuota %{organization_name}
+ collapsible_list:
+ hidden_elements_count:
+ one: ir %{count} daugiau
+ few: ir %{count} daugiau
+ many: ir %{count} daugiau
+ other: ir %{count} daugiau
+ see_less: "(žr. mažiau)"
+ see_more: "(žr. daugiau)"
+ components:
+ component_order_selector:
+ no_content: Mes negalėjome rasti jokio turinio pagal šiuos kriterijus
+ order:
+ all_types: Visi tipai
+ collaborative_draft: Bendras Juodraštis
+ comment: Komentaras
+ debate: Diskusija
+ initiative: Iniciatyva
+ meeting: Susitikimas
+ post: Įrašas
+ proposal: Pasiūlymas
+ question: Klausimas
+ title: 'Rodyti:'
+ dummy:
+ actions:
+ bar: Juosta
+ foo: Foo
+ name: Testinis komponentas
+ settings:
+ global:
+ amendments_enabled: Pataisos leidžiamos
+ comments_enabled: Komentarai leidžiami
+ comments_max_length: Komentarų maksimalus ilgis
+ dummy_global_attribute_1: Fiktyvus atributas 1
+ dummy_global_attribute_2: Fiktyvus atributas 2
+ dummy_global_translatable_text: Testinis verčiamas tekstas
+ enable_pads_creation: Leisti bendrų dokumentų kūrimą
+ resources_permissions_enabled: Išteklių leidimai įjungti
+ scope_id: Sritis
+ scopes_enabled: Sritys įjungtos
+ step:
+ amendment_creation_enabled: Pataisų kūrimas leidžiamas
+ amendment_promotion_enabled: Pataisų paaukštinimai įjungti
+ amendment_reaction_enabled: Pataisų reakcijos įjungtos
+ amendments_visibility: Pataisų matomumas
+ comments_blocked: Komentarai užblokuoti
+ dummy_step_attribute_1: Fiktyvaus veiksmo atributas 1
+ dummy_step_attribute_2: Fiktyvaus veiksmo atributas 2
+ dummy_step_translatable_text: Testinis Verčiamas Tekstas
+ contact: Kontaktas
+ content_blocks:
+ cta:
+ name: Paveikslėlis, tekstas ir veiksmo mygtukas
+ cta_settings_form:
+ background_image: Foninis paveikslėlis
+ button_text: Veiksmo mygtuko tekstas
+ button_url: Veiksmo mygtuko nuoroda
+ description: Aprašymas
+ footer_sub_hero:
+ name: Apatinės dalies reklamjuostė
+ hero:
+ name: Pagrindinis vaizdas
+ hero_settings_form:
+ background_image: Foninis paveikslėlis
+ welcome_text: Pasveikinimo tekstas
+ highlighted_content_banner:
+ name: Paryškinta turinio juosta
+ highlighted_elements_settings_form:
+ orders:
+ label: 'Rūšiuoti elementus pagal:'
+ random: Atsitiktinis
+ recent: Naujausia
+ how_to_participate:
+ name: Kaip dalyvauti
+ html:
+ html_content: HTML turinys
+ name: HTML blokas
+ last_activity:
+ name: Paskutinė veikla
+ title: Paskutinė veikla
+ view_all: Peržiūrėti visus
+ metrics:
+ name: Organizacijos metrika
+ stats:
+ name: Organizacijos statistiniai duomenys
+ sub_hero:
+ name: Turinio juosta po paveikslėliu
+ core:
+ actions:
+ login_before_access: Prašau prisijunkite prie savo paskyros
+ unauthorized: Jūs neturite teisės atlikti šio veiksmo
+ data_portability:
+ export:
+ ready: Pasirengęs
+ show:
+ download_data: Parsisiųsti duomenis
+ download_data_description: Rinkmena su visais su Jūsų paskyra susijusiais duomenimis bus išsiųsta į %{user_email}. Šis el. laiškas turės .zip rinkmeną ir slaptažodį, su kuriuo reikės jį atidaryti.
Norėdami jį atidaryti, Jums reikės 7-Zip(Windows) arba Keka(MacOS). Jei naudojate Linux, dažniausiai viskas bus paruošta iš anksto. Jei ne, galite naudoti File Roller arba PeaZip).
+ request_data: Prašyti duomenų
+ datepicker:
+ help_text: 'Pageidaujamas formatas: %{datepicker_format}'
+ devise:
+ omniauth_registrations:
+ create:
+ email_already_exists: Kitoje paskyroje naudojamas tas pats el. pašto adresas
+ new:
+ complete_profile: Užbaigti profilį
+ nickname_help: Jūsų slapyvardis %{organization}. Gali būti tik raidės, skaičiai ir brūkšneliai.
+ sign_up: Užbaikite profilio pildymą
+ subtitle: Kad galėtumėte baigti registraciją, užpildykite šią formą
+ username_help: Viešas vardas, kuris bus rodomas jūsų įrašuose. Tai gali būti bet koks vardas, nes siekame užtikrinti anonimiškumą.
+ registrations:
+ new:
+ already_have_an_account?: Jau turite paskyrą?
+ newsletter: Kartais gauti naujienlaiškį su aktualia informacija
+ newsletter_title: Leidimas susisiekti
+ nickname_help: Jūsų slapyvardis %{organization}. Gali būti tik raidės, skaičiai, „-“ ir „_“.
+ password_help: "%{minimun_characters} minimalus rašmenų skaičius, rašmenys neturi būti pernelyg įprasti (pvz., 123456) ir turi skirtis nuo jūsų naudotojo vardo ir e. pašto adreso."
+ sign_in: Prisijungti
+ sign_up: Užsiregistruoti
+ sign_up_as:
+ legend: Užsiregistruoti kaip
+ subtitle: Užsiregistruokite, kad galėtumėte dalyvauti diskusijose ir paremti pasiūlymus.
+ terms: naudojimosi sąlygos
+ tos_agreement: Užsiregistruodami jūs sutinkate su %{link}.
+ tos_title: Paslaugų teikimo sąlygos
+ username_help: Viešas vardas, kuris bus rodomas jūsų įrašuose. Tai gali būti bet koks vardas, nes siekame užtikrinti anonimiškumą.
+ sessions:
+ new:
+ are_you_new?: Naujas platformos naudotojas?
+ register: Sukurti paskyrą
+ sign_in_disabled: Galite prisijungti su išorine paskyra
+ sign_up_disabled: Registracija išjungta, norėdami prisijungti, naudokite jau egzistuojančią paskyrą
+ user:
+ timed_out: Per ilgai buvote neaktyvus ir buvote automatiškai atjungtas nuo paslaugos. Jei norite ir toliau naudotis paslauga, prisijunkite dar kartą.
+ shared:
+ newsletter_modal:
+ buttons:
+ check: Pažymėti ir tęsti
+ close_modal: Uždaryti modalinį langą
+ uncheck: Palikti nepažymėtą
+ notice: |-
+
Ar tikrai nenorite gauti naujienlaiškio?
+
+ Labai rekomenduojame pažymėti langelį - siunčiame tik svarbią infromaciją dalyvavimui.
+
Naujienlaiškių bet kada galite atsisakyti.
+ title: Pranešimai apie naujienlaiškį (-ius)
+ omniauth_buttons:
+ or: Arba
+ doorkeeper:
+ authorizations:
+ new:
+ authorize: Leisti naudoti programą
+ by_organization_link_html: %{link}
+ cancel: Atšaukti
+ connect_your_account_html: Prijunkite savo paskyrą prisijungtami prie %{organization}
+ publish_content: Skelbti turinį už Jus
+ see_email: Žiūrėti savo el. paštą
+ see_name: Žiūrėti savo vardą ir pavardę
+ see_username: Matyti Jūsų slapyvardį
+ this_application_will_be_able_to: 'Ši programa galės:'
+ this_application_will_not_be_able_to: 'Ši programa negalės:'
+ update_profile: Atnaujinkite savo profilį
+ wants_to_use_your_account_html: "%{application_name} nori naudoti Jūsų paskyrą"
+ editor_images:
+ create:
+ error: Klaida įkeliant paveikslėlį
+ success: Paveikslėlis įkeltas sėkmingai
+ drag_and_drop_help: Pridėkite paveikslėlius juos užvesdami ant lango arba juos įklijuodami.
+ endorsable:
+ endorsements: Palaikymai
+ endorsements_count: Palaikymų skaičius
+ endorsement_buttons_cell:
+ already_endorsed: Palaikyta
+ endorse: Palaikyti
+ endorsements:
+ identities:
+ done: Atlikta
+ select_identity: Pasirinkite tapatybę
+ errors:
+ internal_server_error:
+ title: Serveryje kilo problema
+ try_later: Bandykite dar kartą vėliau.
+ not_found:
+ back_home: Grįžti į pagrindinį puslapį
+ content_doesnt_exist: Šis adresas neteisingas arba pašalintas.
+ title: Puslapio, kurio ieškote, nerandame
+ events:
+ amendments:
+ amendment_accepted:
+ affected_user:
+ email_intro: 'Pataisa %{amendable_title} buvo priimta. Galite tai pamatyti:'
+ email_outro: Šį pranešimą gavote dėl to, kad esate %{amendable_title} autorius(-ė).
+ email_subject: '%{amendable_title} pataisa priimta iš %{emendation_author_nickname}'
+ notification_title: Pataisa sukurta %{emendation_author_nickname} buvo priimta %{amendable_title}.
+ follower:
+ email_intro: 'Pataisa %{amendable_title} buvo priimta. Galite tai pamatyti:'
+ email_outro: Šį pranešimą gavote dėl to, kad sekate %{amendable_title}. Jeigu nebenorite gauti pranešimų, spustelėkite aukščiau esančią nuorodą.
+ email_subject: '%{amendable_title} pataisa priimta iš %{emendation_author_nickname}'
+ notification_title: Pataisa sukurta %{emendation_author_nickname} buvo priimta %{amendable_title}.
+ amendment_created:
+ affected_user:
+ email_intro: 'Nauja pataisa buvo sukurta %{amendable_title}. Galite ją pamatyti šiame puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad esate %{amendable_title} autorius(-ė).
+ email_subject: Nauja pataisa %{amendable_title}
+ notification_title: Nauja pataisa buvo sukurta %{amendable_title}.
+ follower:
+ email_intro: 'Nauja pataisa buvo sukurta %{amendable_title}. Galite ją pamatyti šiame puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad sekate %{amendable_title}. Jeigu nebenorite gauti pranešimų, spustelėkite aukščiau esančią nuorodą.
+ email_subject: Nauja pataisa %{amendable_title}
+ notification_title: Nauja pataisa buvo sukurta %{amendable_title}.
+ amendment_promoted:
+ affected_user:
+ email_intro: 'Atmesta pataisa %{amendable_title} buvo paskelbta kaip nauja %{amendable_type}. Galite tai pamatyti šiame puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad esate %{amendable_title} autorius(-ė).
+ email_subject: '%{emendation_author_nickname} parengtas pakeitimas paskelbtas kaip naujas %{amendable_type}'
+ notification_title: Atmesta pataisadėl%{amendable_title} buvo publikuota kaip nauja%{amendable_type}%{emendation_author_nickname}.
+ follower:
+ email_intro: 'Atmesta pataisa %{amendable_title} buvo paskelbta kaip nauja %{amendable_type}. Galite tai pamatyti šiame puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad sekate %{amendable_title}. Jeigu nebenorite gauti pranešimų, spustelėkite aukščiau esančią nuorodą.
+ email_subject: '%{emendation_author_nickname} publikavo naują pataisą kaip %{amendable_type}'
+ notification_title: Atmesta pataisadėl%{amendable_title} buvo publikuota kaip nauja%{amendable_type}%{emendation_author_nickname}.
+ amendment_rejected:
+ affected_user:
+ email_intro: 'Atmesta %{amendable_title} pataisa. Ją galite pamatyti šiame puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad esate %{amendable_title} autorius(-ė).
+ email_subject: Atmesta %{emendation_author_nickname} parengta %{amendable_title} pataisa
+ notification_title: Pataisasukurta%{emendation_author_nickname}buvo atmesta dėl%{amendable_title}.
+ follower:
+ email_intro: 'Atmesta %{amendable_title} pataisa. Ją galite pamatyti šiame puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad sekate %{amendable_title}. Jeigu nebenorite gauti pranešimų, spustelėkite aukščiau esančią nuorodą.
+ email_subject: Atmesta %{emendation_author_nickname} parengta %{amendable_title} pataisa
+ notification_title: Pataisasukurta%{emendation_author_nickname}buvo atmesta dėl%{amendable_title}.
+ attachments:
+ attachment_created:
+ email_intro: 'Prie %{resource_title} pridėtas naujas dokumentas. Jį galite pamatyti šiame puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad sekate %{resource_title}. Jeigu nebenorite gauti pranešimų, spustelėkite aukščiau esančią nuorodą.
+ email_subject: '%{resource_title} atnaujinimas'
+ notification_title: Prie %{resource_title} pridėtas naujas dokumentas
+ components:
+ component_published:
+ email_intro: '%{resource_title} komponentas įjungtas %{participatory_space_title}. Jį galite pamatyti šiame puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad sekate %{participatory_space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą.
+ email_subject: '%{participatory_space_title} atnaujinimas'
+ notification_title: '%{resource_title} komponentas įjungtas %{participatory_space_title}'
+ email_event:
+ email_greeting: Sveiki %{user_name},
+ email_intro: '„%{resource_title}“ atnaujintas. Jį galite pamatyti šiame puslapyje:'
+ email_outro: Gavote šį pranešimą nes sekate %{resource_title}. Galite nebesekti paspaudę ant aukščiau esančios nuorodos.
+ email_subject: '%{resource_title} atnaujinimas'
+ gamification:
+ badge_earned:
+ email_intro: Sveikiname! Jūs gavote %{badge_name} ženklelį (lygis %{current_level}).
+ email_outro: Šį pranešimą gavote dėl to, kad mūsų interneto svetainėje pradėjote veiklą.
+ email_subject: 'Jūs pelnėte naują ženklelį – %{badge_name}!'
+ notification_title: Sveikiname! Jūs pelnėte %{badge_name} ženklelį (lygis %{current_level}).
+ level_up:
+ email_intro: Sveikiname! Jūs pasiekėte %{current_level} lygio %{badge_name} ženklelį!
+ email_outro: Šį pranešimą gavote dėl to, kad mūsų interneto svetainėje pradėjote veiklą.
+ email_subject: Jūs pasiekėte %{current_level} lygio ženklelį %{badge_name}!
+ notification_title: Sveikiname! Jūs pasiekėte %{current_level} lygio %{badge_name} ženklelį!
+ groups:
+ demoted_membership:
+ email_intro: %{user_group_name} grupės administratorius pašalino jūsų administratoriaus teises, susijusias su šia grupe.
+ email_outro: Šį pranešimą gavote dėl to, kad esate tos grupės narys.
+ email_subject: Jūs nebesate %{user_group_name} grupės administratorius!
+ notification_title: Jūs nebesate %{user_group_name} grupės administratorius.
+ invited_to_group:
+ email_intro: %{user_group_name} grupės administratorius pakvietė jus prisijungti prie grupės.
+ email_outro: Šį pranešimą gavote dėl to, kad esate pakviestas į grupę. Patikrinkite puslapį „Grupės“ savo profilyje, jeigu norite priimti kvietimą.
+ email_subject: Esate pakviestas prisijungti prie %{user_group_name} grupės!
+ notification_title: Esate pakviestas prisijungti prie %{user_group_name} grupės. Jeigu norite priimti kvietimą, spustelėkite puslapį „Grupės“ savo profilyje!
+ join_request_accepted:
+ email_intro: Sveikiname! %{user_group_name} grupės administratorius priėmė jūsų prašymą prisijungti prie grupės.
+ email_outro: Šį pranešimą gavote, nes jūsų prisijungimo prašymas atnaujintas.
+ email_subject: Esate priimtas į %{user_group_name} grupę!
+ notification_title: Esate priimtas į %{user_group_name} grupę.
+ join_request_created:
+ email_intro: Kažkas atsiuntė prašymą prisijungti prie %{user_group_name} grupės. Prašymą galite priimti arba atmesti grupės narių puslapyje.
+ email_outro: Šį pranešimą gavote dėl to, kad galite valdyti %{user_group_name} grupę.
+ email_subject: Kažkas atsiuntė prašymą prisijungti prie %{user_group_name} grupės!
+ notification_title: Kažkas atsiuntė prašymą prisijungti prie %{user_group_name} grupės. Prašymą galite priimti arba atmesti grupės narių puslapyje.
+ join_request_rejected:
+ email_intro: %{user_group_name} grupės administratorius atmetė jūsų prašymą prisijungti prie grupės.
+ email_outro: Šį pranešimą gavote, nes jūsų prisijungimo prašymas buvo atnaujintas.
+ email_subject: Jūsų prašymas prisijungti prie %{user_group_name} grupės buvo atmestas!
+ notification_title: Jūsų prašymas prisijungti prie %{user_group_name} grupės buvo atmestas.
+ promoted_to_admin:
+ email_intro: %{user_group_name} grupės administratorius suteikė jums tos grupės administratoriaus teises.
+ email_outro: Šį pranešimą gavote dėl to, kad esate tos grupės narys.
+ email_subject: Tapote %{user_group_name} grupės administratoriumi(-e)!
+ notification_title: Dabar esate %{user_group_name} grupės administratorius(-ė).
+ removed_from_group:
+ email_intro: %{user_group_name} grupės administratorius pašalino jus iš grupės.
+ email_outro: Šį pranešimą gavote dėl to, kad buvote tos grupės narys.
+ email_subject: Buvote pašalintas iš %{user_group_name} grupės!
+ notification_title: Buvote pašalintas(-a) iš %{user_group_name} grupės.
+ user_group_created:
+ email_intro: Sukurta nauja naudotojų grupė ir jai suteiktas vardas %{user_group_name}. Galite tai patikrinti administratorių erdvėje.
+ email_outro: Šį pranešimą gavote dėl to, kad esate platformos administratorius.
+ email_subject: Sukurta nauja naudotojų grupė
+ notification_title: Sukurta %{user_group_name} naudotojų grupė. Dabar galite ją patvirtinti administratoriaus srityje.
+ user_group_updated:
+ email_intro: Naudotojų grupė pavadinimu %{user_group_name} atnaujino savo profilį, bet jo nepatvirtino. Galite jį patvirtinti administratoriaus srityje.
+ email_outro: Šį pranešimą gavote dėl to, kad esate platformos administratorius.
+ email_subject: Naudotojų grupė atnaujino savo profilį
+ notification_title: Naudotojų grupė pavadinimu %{user_group_name} atnaujino savo profilį, bet jo nepatvirtino. Galite jį patvirtinti administratoriaus srityje.
+ notification_event:
+ notification_title: Kažkas įvyko %{resource_title}.
+ reports:
+ resource_hidden:
+ email_intro: Administratorius pašalino jūsų %{resource_type}, nes buvo pranešta apie tai kaip %{report_reasons}.
+ email_outro: Gavote šį pranešimą, nes esate pašalinto turinio autorius.
+ email_subject: Jūsų %{resource_type} buvo pašalintas
+ notification_title: |-
+ Administratorius pašalino jūsų %{resource_type}, nes buvo pranešta apie tai kaip %{report_reasons}.
+
+ %{resource_content}
+ resource_endorsed:
+ email_intro: '%{endorser_name} %{endorser_nickname}, kurį sekate, ką tik pritarė „%{resource_title}“ ir, manome, kad tai galėtų jus sudominti. Pažiūrėkite ir prisidėkite:'
+ email_outro: Šį pranešimą gavote dėl to, kad sekate %{endorser_nickname}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą.
+ email_subject: "%{endorser_nickname} išreiškė naują pritarimą"
+ notification_title: %{endorser_name} %{endorser_nickname} pritarė %{resource_title} %{resource_type}.
+ users:
+ profile_updated:
+ email_intro: '%{name} (%{nickname}), profilio puslapis, , kurį sekate buvo atnaujintas.'
+ email_outro: Šį pranešimą gavote dėl to, kad sekate %{nickname}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą.
+ email_subject: "%{nickname} atnaujino savo profilį"
+ notification_title: '%{name} (%{nickname}) profilio puslapis, , kurį sekate buvo atnaujintas.'
+ user_officialized:
+ email_intro: Dalyvis %{name} (%{nickname}) buvo oficializuotas.
+ email_outro: Šį pranešimą gavote dėl to, kad esate organizacijos administratorius.
+ email_subject: "%{name} buvo oficializuotas"
+ notification_title: Dalyvis %{name} (%{nickname}) buvo oficializuotas.
+ export_mailer:
+ data_portability_export:
+ click_button: 'Spustelėkite ant sekančios nuorodos, kad atsisiųsti prieigos kodų duomenis. Failas bus prieinamas iki %{date}. Jums reikės 7-Zip (Windows), Keka (MacOS) arba PeaZip (Linux) kad jį atverti. Slaptažodis: %{password}'
+ download: Atsisiųsti
+ export:
+ ready: Pridedame jūsų eksporto suspaustos rinkmenos variantą.
+ subject: Jūsų eksportuojamas „%{name}“ yra parengtas
+ filters:
+ linked_classes:
+ all: Visi
+ collaborative_draft: Bendras juodraštis
+ dummy_resource: Fiktyvūs ištekliai
+ meeting: Susitikimai
+ project: Projektai
+ proposal: Pasiūlymai
+ result: Rezultatai
+ fingerprint:
+ check: Patikrinti piršto atspaudą
+ explanation: Tekstas yra sutrumpintas ir apibendrintas jo turinys. Būtinai įsitikinkite, kad turinys nebūtų pažeistas, nes padarius vieną pakeitimą duomenys netektų vertės.
+ online_calculator_name: MD5 internetinė skaičiuoklė
+ replicate_help: Šis piršto atspaudas apskaičiuojamas naudojant SHA256 maišos algoritmą. Kad galėtumėte jį atkartoti, galite naudoti %{online_calculator_link} ir kopijuoti bei įklijuoti šaltinio duomenis.
+ source: Šaltinis
+ title: Pirštų atspaudas
+ value: Vertė
+ followers:
+ followers_count:
+ one: "%{count} sekėjas"
+ few: "%{count} sekėjai"
+ many: "%{count} sekėjai"
+ other: "%{count} sekėjai"
+ no_followers: Dar nėra sekėjų.
+ following:
+ no_followings: Dar nieko neseka.
+ non_public_followings: Kai kurie sekami ištekliai nėra vieši.
+ follows:
+ create:
+ button: Sekti
+ error: Sekant šį išteklių iškilo problema.
+ participatory_space: Sekate %{resource_name}
+ destroy:
+ button: Nebesekti
+ error: Nutraukiant šio ištekliaus sekimą iškilo problema.
+ forms:
+ current_file: Ši rinkmena
+ current_image: Dabartinis paveikslėlis
+ default_image: Numatytas atvaizdas
+ errors:
+ decidim/user:
+ password: Slaptažodis yra per trumpas.
+ password_confirmation: Slaptažodžio patvirtinimas turi sutapti su įvestu slaptažodžiu.
+ error: Šiame laukelyje įvyko klaida.
+ file_help:
+ file:
+ explanation: 'Rinkmenai skirtos gairės:'
+ message_1: Turi būti paveikslėlis arba dokumentas.
+ message_2: Paveikslėliams, rekomenduojame naudoti horizontalius formatus ir platforma juos apkirps. CSV rinkmenoms, atskyrimas tarp stulpelių turi būti kablelis
+ image:
+ explanation: 'Paveikslėliui skirtos gairės:'
+ message_1: Pageidautinas horizontalaus formato paveikslėlis be teksto.
+ message_2: Programa apkarpo paveikslėlį.
+ file_validation:
+ allowed_file_extensions: 'Leidžiami rinkmenų plėtiniai: %{extensions}'
+ max_file_size: 'Maksimalus rinkmenos dydis: %{megabytes} MB'
+ remove_this_file: Pašalinti šią rinkmeną
+ gamification:
+ all_badges_link: Žiūrėti visus prieinamus ženklelius.
+ badges:
+ followers:
+ conditions:
+ - Jei būsite aktyvūs ir seksite kitus žmones, be abejo, kiti seks ir jus.
+ description: Šis ženklelis suteikiamas, kai pasiekiate tam tikrą skaičių sekėjų. %{organization_name} – tai socialinis ir politinis tinklas, kuriame galite megzti savo tinklą ir bendrauti su kitais platformos žmonėmis.
+ description_another: Šis dalyvis turi %{score} sekėjus (-ų).
+ description_own: "Jus seka %{score} žmonės (-ių)."
+ name: Sekėjai
+ next_level_in: Būkite sekamas %{count} dalyvių, kad pasiekti kitą lygį!
+ unearned_another: Šis dalyvis dar neturi sekėjų.
+ unearned_own: Jūs dar neturite sekėjų.
+ index:
+ badge_title: "%{name} ženklelis"
+ how: Kaip jį užsitarnauti
+ page_description: Ženkleliai – tai dalyvių veiklumo platformoje pripažinimas. Susipažindami su platforma, joje dalyvaudami ir bendraudami, pelnysite įvairių ženklelių. Štai ženklelių sąrašas ir keletas būdų, kaip juos pelnyti.
+ title: Ženkleliai
+ description: Ženkleliai – tai dalyvių veiksmų ir veiklos platformoje pripažinimas. Susipažindami su platforma, joje dalyvaudami ir bendraudami, pelnysite įvairių ženklelių.
+ level: '%{level} lygis'
+ reached_top: Pasiekėte aukščiausią šio ženklelio lygį.
+ group_admins:
+ actions:
+ are_you_sure: Ar jūs tuo tikri? Tai nepašalins dalyvio iš grupės.
+ demote_admin: Pašalinti administratorių
+ demote:
+ error: Šalinant šį dalyvį iš administratorių sąrašo iškilo problema
+ success: Dalyvis pašalintas iš administratorių
+ index:
+ current_admins: 'Dabartiniai administratoriai:'
+ manage_admins: Valdyti administratorių duomenis
+ group_invites:
+ accept:
+ error: Priimant šį kvietimą iškilo problema
+ success: Kvietimas priimtas
+ accept_invitation: Sutikti
+ accept_or_reject_group_invitations: 'Šios grupės jus pakvietė prie jų prisijungti. Priimkite arba atmeskite jų prašymus:'
+ index:
+ invite: Pakviesti
+ invite_user: Pakviesti dalyvį
+ invite:
+ error: Kviečiant šį dalyvį iškilo problema
+ success: Dalyvis pakviestas
+ reject:
+ error: Atmetant šį kvietimą iškilo problema
+ success: Kvietimas atmestas
+ reject_invitation: Atmesti
+ group_members:
+ accept:
+ error: Priimant šį prisijungimo kvietimą iškilo problema
+ success: Prisijungimo kvietimas priimtas
+ actions:
+ are_you_sure: Ar esate tikri?
+ promote_to_admin: Padaryti administratoriumi
+ remove_from_group: Pašalinti dalyvį
+ index:
+ current_members_without_admins: 'Dabartiniai nariai (be administratorių):'
+ manage_members: Valdyti narius
+ promote:
+ error: Paaukštinant šį dalyvį iškilo problema
+ success: Dalyvis paaukštintas
+ reject:
+ error: Atmetant šį prisijungimo kvietimą iškilo problema
+ success: Prisijungimo kvietimas atmestas
+ remove:
+ error: Šalinant šį dalyvį iš grupės iškilo problema
+ success: Dalyvis pašalintas iš grupės
+ groups:
+ actions:
+ are_you_sure: Ar esate tikri?
+ create:
+ error: Kuriant grupę iškilo problema
+ success: Grupė sukurta
+ edit:
+ edit_user_group: Redaguoti grupę
+ update_user_group: Atnaujinti grupę
+ form:
+ document_number_help: Nenaudokite nei brūkšnių, nei tarpų
+ email_help: Jūsų organizacijos, asociacijos, kolektyvo, grupės ir kt. el. pašto adresas.
+ fill_in_for_verification: 'Jei norite, kad jūsų grupė būtų patvirtinta, užpildykite šiuos laukelius:'
+ name_help: Jūsų organizacijos, asociacijos, kolektyvo, grupės ir kt. pavadinimas.
+ nickname_help: Jūsų organizacijos, asociacijos, kolektyvo, grupės ir kt. naudotojo vardas. Nenaudokite nei tarpų, nei diakritinių ženklų.
+ phone_help: Nenaudokite nei brūkšnių, nei tarpų
+ join:
+ error: Prisijungiant prie šios grupės iškilo problema
+ success: Prisijungimo prašymas sukurtas. Administratorius peržiūrės jūsų prašymą prieš priimdamas jus į grupę.
+ leave:
+ error: Paliekant šią grupę iškilo problema
+ success: Grupė palikta.
+ members:
+ accept_or_reject_join_requests: 'Toliau nurodyti naudotojai pateikė prašymą prisijungti prie šios grupės. Priimkite arba atmeskite jų prašymus:'
+ accept_request: Sutikti
+ reject_request: Atmesti
+ new:
+ create_user_group: Sukurti grupę
+ new_user_group: Nauja grupė
+ subtitle: Sukurti grupę ir pakviesti kitus naudotojus dalyvauti bendru lygmeniu.
+ no_user_groups: Dar nepriklauso nė vienai grupei.
+ roles:
+ admin: Administratorius
+ creator: Kūrėjas
+ member: Narys
+ update:
+ error: Atnaujinant šią grupę iškilo problema
+ success: Grupė atnaujinta
+ help:
+ main_topic:
+ default_page:
+ content: "
%{organization} galite dalyvauti ir spręsti dėl įvairių temų pasinaudodami puslapiais, kuriuos matote viršutiniame meniu: „Procesai“, „Asamblėjos“, „Iniciatyvos“, „Konsultacijos“.
Kiekviename iš jų rasite įvairių dalyvavimo galimybių: individualiai arba su kitais žmonėmis teikti pasiūlymus, dalyvauti diskusijose, nustatyti, kurie įgyvendintini projektai, yra prioritetiniai, dalyvauti tiesioginiuose susitikimuose ir kituose veiksmuose.
\n"
+ title: Ką galiu daryti %{organization}?
+ description: Daugiau informacijos apie %{organization}
+ title: Bendroji Pagalba
+ last_activities:
+ activities:
+ no_activities_warning: Nėra veiklų
+ all: Visos veiklos rūšys
+ index:
+ last_activity: Paskutinė veikla
+ resource_type: Tipas
+ links:
+ invalid_url: Klaidingas URL
+ warning:
+ body_1: Ketinate apsilankyti išoriniame tinklapyje tad norėtume, kad būtumėte apdairūs dėl išorinės svetainės turinio.
+ body_2: Prieš tęsdami patikrinkite nuorodą, kurią ketinate aplankyti, ir įsitikinkite, kad ją atpažįstate kaip saugią.
+ cancel: Atšaukti
+ close_modal: Uždaryti modalinį langą
+ proceed: Tęsti
+ title: Atverti išorinę nuorodą
+ log:
+ base_presenter:
+ create: "%{user_name} sukūrė %{resource_name}"
+ create_with_space: "%{user_name} sukūrė %{resource_name} %{space_name} erdvėje"
+ delete: "%{user_name} pašalino %{resource_name}"
+ delete_with_space: "%{user_name} pašalino %{resource_name} %{space_name} erdvėje"
+ unknown_action: "%{user_name} atliko tam tikrus veiksmus %{resource_name}"
+ unknown_action_with_space: "%{user_name} atliko tam tikrus veiksmus %{resource_name} %{space_name} erdvėje"
+ update: "%{user_name} atnaujino %{resource_name}"
+ update_with_space: "%{user_name} atnaujino %{resource_name} %{space_name} erdvėje"
+ value_types:
+ area_presenter:
+ not_found: 'Aplinka duomenų bazėje nerasta (ID: %{id})'
+ area_type_presenter:
+ not_found: 'Aplinkos tipas duomenų bazėje nerastas (ID: %{id})'
+ scope_presenter:
+ not_found: 'Sritis duomenų bazėje nerasta (ID: %{id})'
+ scope_type_presenter:
+ not_found: 'Srities tipas duomenų bazėje nerastas (ID: %{id})'
+ managed_users:
+ expired_session: Dabartinė dalyvio administravimo sesija baigėsi.
+ map:
+ dynamic:
+ screen_reader_explanation: Toliau pateikiamas žemėlapis, kuriame šio puslapio elementai pateikiami kaip žemėlapio punktai. Elementą galima naudoti su ekrano skaitytuvu, tačiau jį gali būti sunku suprasti.
+ skip_button: Praleisti žemėlapį
+ static:
+ latlng_text: 'platuma: %{latitude}, ilguma: %{longitude}'
+ map_service_brand: 'OpenStreetMap: Žemėlapis'
+ members:
+ no_members: Šioje grupėje dar nėra narių.
+ menu:
+ help: Pagalba
+ home: Pagrindinis
+ messaging:
+ conversation_mailer:
+ comanagers_new_conversation:
+ admin_in_group: Šią informaciją gaunate dėl to, kad esate %{group} administratorius.
+ greeting: Sveiki, %{recipient}!
+ intro: "%{manager} pradėjo naują pokalbį %{group} vardu. Spustelėkite čia ir pamatysite:"
+ outro: Mėgaukitės „Decidim“!
+ subject: "%{manager} pradėjo naują pokalbį kaip %{group}"
+ comanagers_new_message:
+ admin_in_group: Šią informaciją gaunate dėl to, kad esate %{group} administratorius.
+ greeting: Sveiki, %{recipient}!
+ intro: "%{manager} paskelbė naujų žinučių pokalbyje %{group} vardu. Spustelkite čia norėdami juos pamatyti:"
+ outro: Mėgaukitės „Decidim“!
+ subject: "%{manager} išsiuntė naujas žinutes kaip %{group}"
+ new_conversation:
+ greeting: Sveiki, %{recipient}!
+ intro: "%{sender} pradėjo naują pokalbį su jumis. Spustelėkite čia ir pamatysite:"
+ outro: Mėgaukitės „Decidim“!
+ subject: "%{sender} pradėjo pokalbį su jumis"
+ new_group_conversation:
+ admin_in_group: Šią informaciją gaunate dėl to, kad esate %{group} administratorius.
+ greeting: Sveiki, %{recipient}!
+ intro: "%{sender} pradėjo naują pokalbį su grupe %{group}. Spustelėkite čia ir pamatysite:"
+ outro: Mėgaukitės „Decidim“!
+ subject: "%{sender} pradėjo pokalbį su %{group}"
+ new_group_message:
+ admin_in_group: Šią informaciją gaunate dėl to, kad esate %{group} administratorius.
+ greeting: Sveiki, %{recipient}!
+ intro: "%{sender} paskelbė naujų pranešimų pokalbyje su grupe %{group}. Spustelėkite čia ir pamatysite:"
+ outro: Mėgaukitės „Decidim“!
+ subject: "%{group} gavo naujų pranešimų iš %{sender}"
+ new_message:
+ greeting: Sveiki, %{recipient}!
+ intro: "%{sender} paskelbė naujų pranešimų jūsų pokalbyje. Spustelėkite čia ir pamatysite:"
+ outro: Mėgaukitės „Decidim“!
+ subject: Gavote naujų pranešimų iš %{sender}
+ conversations:
+ add_conversation_users:
+ add_max_users: 'Į pokalbį įtraukite naudotojus: ne daugaiu kaip 9'
+ add_users_placeholder: Ieškoti...
+ modal_title: Naujas pokalbis
+ no_results: Rezultatų nerasta
+ participant_with_disabled_message_reception: Šis dalyvis išjungė pranešimų gavimo funkciją
+ conversation:
+ show: Rodyti pokalbį su %{sender}
+ create:
+ error: Pokalbis neprasidėjo. Bandykite dar kartą vėliau
+ error_modal:
+ close: Uždaryti modalinį langą
+ correct_errors: Ištaisykite klaidas ir bandykite dar kartą.
+ intro: 'Jūsų pranešime aptiktos šios klaidos:'
+ ok: Gerai
+ index:
+ ago: prieš
+ close: Uždaryti modalinį langą
+ from: Nuo
+ groups: Mano grupės
+ last_message: Paskutinė žinutė
+ new_conversation: Naujas pokalbis
+ next: Kitas
+ no_conversations: Dar neturite pokalbių
+ title: Pokalbiai
+ to: Kam
+ reply:
+ placeholder: Jūsų atsakymas...
+ send: Siųsti
+ title: Atsakyti
+ show:
+ back: Grįžti į visus pokalbius
+ chat_with: Pokalbis su
+ deleted_accounts: Negalite megzti pokalbių su ištrintomis paskyromis.
+ not_allowed: Šis dalyvis nepriima tiesioginių žinučių.
+ title: Pokalbis su %{usernames}
+ start:
+ send: Siųsti
+ title: Pradėti pokalbį
+ update:
+ error: Žinutė nebuvo išsiųsta dėl įvykusios klaidos
+ metrics:
+ download:
+ csv: Parsisiųsti duomenis (CSV)
+ followers:
+ description: Dalyvių, kurie seka šią dalyvaujamojo proceso erdvę, skaičius
+ object: sekėjai
+ title: Sekėjai
+ participants:
+ description: Aktyvių dalyvių skaičius organizacijoje
+ object: dalyviai
+ title: Dalyviai
+ users:
+ description: Dalyvių skaičius organizacijoje
+ object: dalyviai
+ title: Dalyviai
+ newsletter_mailer:
+ newsletter:
+ note: Šį el. laišką gavote, nes užsiprenumeravote %{organization_name} naujienlaiškius. Galite pakeisti nuostatas savo pranešimų puslapyje.
+ see_on_website: Negalite teisingai matyti šio el. laiško? Peržiūrėkite jį interneto svetainėje.
+ unsubscribe: Jei nenorite gauti tokio tipo el. laiško, Atsisakykite prenumeratos.
+ newsletter_templates:
+ basic_only_text:
+ body_preview: 'Fiktyvus tekstas pagrindinei daliai: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque fringilla nisl tellus. Donec sed mi dui. Sed efficitur libero a felis tempor sollicitudin. Nullam vestibulum fringilla felis, id efficitur lorem sagittis et. Vivamus aliquam maximus velit vel dapibus. Mauris pellentesque, enim eu varius lacinia, risus ante rutrum ipsum, non lobortis augue lorem quis urna. Aenean et malesuada arcu.'
+ name: Paprastas (tik tekstas)
+ basic_only_text_settings_form:
+ body: Pagrindinė dalis
+ interpolations_hint: 'Užuomina: „%{name}“ galite naudoti bet kur pagrindinėje dalyje arba temoje ir jis bus pakeistas gavėjo vardu, pavarde.'
+ image_text_cta:
+ body_preview: 'Fiktyvus tekstas pagrindinei daliai: Maecenas ac nisl vitae lectus pretium facilisis. Etiam facilisis sem nibh, sit amet rutrum mi aliquam nec. Sed id urna at nisl pretium mollis eu vel velit. Proin vitae suscipit urna, sed faucibus urna. Pellentesque id libero vulputate ipsum scelerisque suscipit. Nam aliquam sodales mi sit amet cursus. Donec mattis faucibus purus. Aenean tincidunt porta lorem ac commodo. Vestibulum in mollis mi. Morbi eros erat, cursus ut tortor sit amet, imperdiet dapibus arcu. Suspendisse id egestas enim. In eget magna sed enim efficitur elementum sit amet aliquam quam. Donec fermentum metus eget urna luctus pulvinar.'
+ cta_text_preview: Mygtuko „Raginti imtis veiksmų“ tekstas
+ introduction_preview: 'Fiktyvus tekstas įvadui: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque fringilla nisl tellus. Donec sed mi dui. Sed efficitur libero a felis tempor sollicitudin. Nullam vestibulum fringilla felis, id efficitur lorem sagittis et. Vivamus aliquam maximus velit vel dapibus. Mauris pellentesque, enim eu varius lacinia, risus ante rutrum ipsum, non lobortis augue lorem quis urna. Aenean et malesuada arcu.'
+ name: Atvaizdas, tekstas ir mygtukas „Raginti imtis veiksmų“
+ image_text_cta_settings_form:
+ body: Pagrindinė dalis
+ cta_text: Mygtuko „Raginti imtis veiksmų“ tekstas
+ cta_url: Mygtuko „Raginti imtis veiksmų“ URL
+ interpolations_hint: 'Užuomina: „%{name}“ galite naudoti įvade, pagrindinėje dalyje, „Raginti imtis veiksmų“ tekste arba temoje ir jis bus pakeistas gavėjo vardu, pavarde.'
+ introduction: Įžanga
+ main_image: Pagrindinis atvaizdas
+ newsletters:
+ unsubscribe:
+ check_subscription: Jei norite pakeisti savo parinktis, galite tai padaryti konfigūracijos puslapyje
+ error: Atsisakant prenumeratos iškilo problema
+ success: Jūs atsisakėte prenumeratos.
+ token_error: Nuorodos galiojimo laikas baigėsi.
+ unsubscribe: Atsisakyti prenumeratos
+ newsletters_opt_in:
+ unathorized: Atsiprašome, šios nuorodos nebėra
+ update:
+ error: Kažkas ne taip
+ success: Naujienlaiškio nuostatos atnaujintos
+ newsletters_opt_in_mailer:
+ notify:
+ body_1: Asmens duomenų tvarkymas ir jų apsauga mums visiems tampa vis svarbesni. 2018 m. gegužės 25 d. priėmus naują Bendrąjį duomenų apsaugos reglamentą (BDAR), asmenys geriau kontroliuoja savo asmens duomenis. Dėl šios priežasties jums reikia spustelėti „Gerai“, kad galėtume ir toliau siųsti reikiamą informaciją apie %{organization_name} veiklą.
+ body_2: 'Kaip duoti sutikimą? Spustelkite ant šio mygtuko:'
+ body_3: Davę šį sutikimą galėsite ir toliau gauti informaciją apie platformos paslaugas. Kita vertus, jeigu negausime Jūsų sutikimo, Jums nebesiųsime pranešimų. Patvirtinę, kad norite ir toliau gauti informaciją, visada turėsite galimybę bet kuriuo metu sutikimą atšaukti.
+ button: Taip, aš noriu ir toliau gauti aktualią informaciją
+ greetings: Sveiki, %{organization_name} %{organization_url}
+ hello: Sveiki,
+ subject: Ar norite ir toliau gauti aktualią informaciją apie %{organization_name}?
+ notification_mailer:
+ event_received:
+ no_translation_available: Atsiprašome, automatinio vertimo nepavyko gauti, kai buvo išsiųstas el. laiškas. Originalaus teksto vertimą galite patikrinti šioje nuorodoje %{link}.
+ original_text: 'Originalus tekstas:'
+ same_language: Turinys buvo paskelbtas jūsų pageidaujama kalba (%{language}), todėl šiame el. laiške nerodomas automatinis vertimas.
+ translated_text: 'Automatiškai išverstas tekstas:'
+ notifications:
+ no_notifications: Dar nėra pranešimų.
+ show:
+ missing_event: Oi, šis pranešimas priklauso elementui, kuris yra nebepasiekiamas. Galite jį ištrinti.
+ notifications_settings:
+ show:
+ administrators: Administratoriai
+ allow_public_contact: Leiskite bet kam jums siųsti tiesiogines žinutes, net jeigu jų nesekate.
+ direct_messages: Gauti tiesioginius pranešimus iš bet kurio asmens
+ email_on_moderations: Noriu gauti el. laišką kiekvieną kartą kai kažkas (turinys ar naudotojas) raportuojami.
+ email_on_notification: Noriu gauti e. laišką kiekvieną kartą, kai gaunu pranešimą.
+ everything_followed: Viskas, ką seku
+ newsletter_notifications: Noriu gauti naujienlaiškius
+ newsletters: Naujienlaiškiai
+ own_activity: Mano veikla, pvz., kai kas nors pakomentuoja mano pasiūlymą arba pamini mane
+ receive_notifications_about: Aš noriu gauti pranešimus apie
+ send_notifications_by_email: Siųsti pranešimus el. paštu
+ update_notifications_settings: Išsaugoti pakeitimus
+ update:
+ error: Atnaujinant jūsų pranešimų nuostatas iškilo problema.
+ success: Jūsų pranešimų nuostatos atnaujintos.
+ open_data:
+ not_available_yet: Atvirųjų duomenų rinkmenomis dabar negalima naudotis. Bandykite dar kartą po kelių minučių.
+ own_user_groups:
+ index:
+ pending: Laukiama
+ rejected: Atmesta
+ verified: Patvirtinta
+ pad_iframe:
+ disclaimer: Šio rinkiklio turinį rašo registruoti naudotojai ir jis atspindi jų nuomonę. %{organization} neatsako už turinį.
+ explanation: Naudokitės šiuo rinkikliu, kad galėtumėte per posėdį užsirašyti informaciją ir po to būtų lengviau parengti protokolą.
+ pad: Rinkiklis
+ pages:
+ home:
+ extended:
+ debates: Diskusijos
+ debates_explanation: Diskutuokite ir debatuokite, pasidalinkite mintimis ir praturtinkite diskusijas.
+ how_to_participate: Kaip dalyvauti procese?
+ meetings: Susitikimai
+ meetings_explanation: Sužinokite, kur ir kada galite dalyvauti viešuose posėdžiuose.
+ more_info: Daugiau informacijos apie %{resource_name}
+ proposals: Pasiūlymai
+ proposals_explanation: Teikite pasiūlymus, remkite esamus ir skatinkite pakeitimus, kuriuos norite matyti.
+ footer_sub_hero:
+ footer_sub_hero_body: Sukurkime atviresnę, skaidresnę ir bendradarbiavimu grindžiamą visuomenę. Prisijunkite, dalyvaukite ir priimkite sprendimus.
+ footer_sub_hero_headline: Sveiki atvykę į %{organization} dalyvavimo platformą.
+ register: Registruotis
+ hero:
+ participate: Dalyvauti
+ welcome: Sveiki atvykę į %{organization}!
+ metrics:
+ headline: Rodikliai
+ statistics:
+ headline: Dabartinė %{organization} padėtis
+ sub_hero:
+ register: Registruotis
+ index:
+ read_more: Skaityti toliau
+ standalone_pages: Puslapiai
+ subheading: Naršyti %{name} pagalbos puslapiuose
+ title: Pagalba
+ topics: Temos
+ participatory_space:
+ metrics:
+ headline: Rodikliai
+ link: Rodyti visus rodiklius
+ terms_and_conditions:
+ accept:
+ error: Sutinkant su sąlygomis iškilo problema.
+ success: Puiku! Jūs sutikote su sąlygomis.
+ form:
+ agreement: Aš sutinku su šiomis sąlygomis
+ legend: Sutikti su naudojimosi nuostatomis ir sąlygomis
+ refuse:
+ modal_body: Jeigu nesutiksite, negalėsite naudotis platforma, pasisiųsti savo duomenų ir (arba) pašalinti savo paskyros.
+ modal_btn_continue: Sutikti su sąlygomis ir tęsti
+ modal_btn_exit: Peržiūrėsiu vėliau
+ modal_button: Nesutikti su sąlygomis
+ modal_close: Uždaryti modalinį langą
+ modal_title: Ar iš tikrųjų nesutinkate su atnaujintomis naudojimo sąlygomis?
+ required_review:
+ alert: Mes atnaujinome naudojimo sąlygas, kviečiame jas peržiūrėti.
+ body: Kviečiame peržiūrėti naujimo sąlygu atnaujinimus. Kitu atveju negalėsite naudotis platforma.
+ title: 'Būtina: Peržiūrėkite naudojimo sąlygų atnaujinimus'
+ participatory_space_private_users:
+ not_allowed: Jūs negalite peržiūrėti šio turinio
+ profile:
+ deleted: Dalyvis pašalintas
+ inaccessible_message: Profilis neprieinamas dėl naudojimo sąlygų pažeidimų!
+ view: Rodyti
+ profiles:
+ default_officialization_text_for_user_groups: Ši grupė yra patikrinta, jos pavadinimas atitinka realybę
+ default_officialization_text_for_users: Šis dalyvis yra patikrintas, jo vardas ir pavardė arba pareigos buvo patikrintos ir atitinka jo tikrąjį vardą ir pavardę bei pareigas
+ show:
+ activity: Veikla
+ badges: Ženkleliai
+ conversations: Pokalbiai
+ followers: Sekėjai
+ following: Seka
+ groups: Grupės
+ members: Nariai
+ officialized: Patikrintas dalyvis
+ send_private_message: Siųsti asmeninę žinutę
+ timeline: Laiko juosta
+ view_full_profile: Žiūrėti visą profilį
+ sidebar:
+ badges:
+ info: Ženkleliai pelnomi vykdant konkrečias veiklas platformoje.
+ title: Ženkleliai
+ user:
+ confirmation_instructions_sent: Patvirtinimo el. laiškas išsiųstas
+ create_user_group: Sukurti grupę
+ edit_profile: Redaguoti profilį
+ edit_user_group: Redaguoti grupės profilį
+ fill_in_email_to_confirm_it: Prašau įveskite grupės el. paštą tam, kad jį patvirtinti
+ invite_user: Kviesti dalyvį
+ join_user_group: Prašyti prisijungti prie grupės
+ leave_user_group: Palikti grupę
+ manage_user_group_admins: Tvarkyti administratorius
+ manage_user_group_users: Valdyti narius
+ resend_email_confirmation_instructions: Persiųsti patvirtinimo nurodymus el. paštu
+ reported_mailer:
+ hide:
+ hello: Sveiki %{name},
+ manage_moderations: Tvarkyti vedamas diskusijas
+ report_html:
Toliau pateikiamas turinys paslėptas automatiškai.
+ subject: Išteklius paslėptas automatiškai
+ report:
+ authors: Autoriai
+ content: Turinys, apie kurį pranešta
+ content_original_language: Turinio originali kalba
+ date: Pranešta
+ details: Išsamiau
+ hello: Sveiki %{name},
+ id: ID
+ participatory_space: Dalyvaujamoji erdvė
+ reason: Priežastis
+ report_html:
Galiausiai, prisijunkite prie kitų žmonių, dalykitės su jais veiklos ir dalyvavimo {{organization}} patirtimi. Teikite pasiūlymus, komentuokite, diskutuokite, galvokite, kaip prisidėti prie bendros gerovės, teikite argumentus, kad įtikintumėte, klausykitės ir skaitykite, kad įsitikintumėte, reikškite savo idėjas konkrečiai ir tiesiogiai, atsakykite kantriai ir siūlykite sprendimą, ginkite savo idėjas ir likite atviri bendradarbiauti ir paremti kitų žmonių idėjas.
+ default_subject: Dėkojame, kad prisijungėte prie {{organization}}!
+ wizard_step_form:
+ wizard_aside:
+ back: Atgal
+ wizard_header:
+ see_steps: peržiūrėti žingsnius
+ step_of: '%{current_step} veiksmas iš %{total_steps}'
+ devise:
+ confirmations:
+ confirmed: Jūsų el. pašto adresas buvo patvirtintas.
+ new:
+ resend_confirmation_instructions: Persiųsti patvirtinimo nurodymus
+ send_instructions: Per kelias minutes gausite el. laišką su nurodymais, kaip patvirtinti savo el. pašto adresą.
+ send_paranoid_instructions: Jei jūsų el. pašto adresas yra mūsų duomenų bazėje, po kelių minučių gausite el. laišką su instrukcijomis, kaip patvirtinti savo el. pašto adresą.
+ failure:
+ already_authenticated: Jūs jau esate prisijungę.
+ inactive: Jūsų paskyra dar nėra aktyvuota.
+ invalid: Netinkamas %{authentication_keys} arba slaptažodis.
+ invited: Turite nepriimtą kvietimą, priimkite jį ir finalizuokite paskyros kūrimą.
+ last_attempt: Jums liko dar vienas pabandymas, iki kol jūsų paskyra bus užblokuota.
+ locked: Jūsų paskyra užrakinta.
+ not_found_in_database: Netinkamas %{authentication_keys} arba slaptažodis.
+ timeout: Jūsų sesijos laikas baigėsi. Kad galėtumėte tęsti, prisijunkite iš naujo.
+ unauthenticated: Norėdami tęsti, turite prisijungti arba užsiregistruoti.
+ invitations:
+ edit:
+ header: Baikite kurti savo paskyrą
+ nickname_help: Jūsų naudotojo vardas %{organization}.
+ submit_button: Išsaugoti
+ subtitle: Jei priimate kvietimą, nustatykite savo naudotojo vardą ir slaptažodį.
+ invitation_removed: Jūsų kvietimas pašalintas.
+ invitation_token_invalid: Pateiktas kvietimo raktas nebegalioja!
+ new:
+ header: Siųsti pakvietimą
+ submit_button: Siųsti pakvietimą
+ no_invitations_remaining: Kvietimų neliko
+ send_instructions: Kvietimo e. laiškas išsiųstas %{email}.
+ updated: Jūsų slaptažodis buvo sėkmingai nustatytas. Dabar esate prisijungę.
+ updated_not_active: Jūsų slaptažodis nustatytas.
+ mailer:
+ confirmation_instructions:
+ action: Patvirtinti mano paskyrą
+ greeting: Sveiki, %{recipient}!
+ instruction: 'Savo el. pašto paskyrą galite patvirtinti naudodami žemiau pateiktą nuorodą:'
+ subject: Patvirtinimo instrukcijos
+ email_changed:
+ greeting: Sveiki %{recipient}!
+ message: Mes susisiekiame su jumis norėdami pranešti, kad jūsų el. paštas keičiamas į %{email}.
+ subject: El. pašto adresas pakeistas
+ invitation_instructions:
+ accept: Priimti kvietimą
+ accept_until: Šis kvietimas turi būti priimtas iki %{due_date}.
+ decline: Atmesti kvietimą
+ hello: Sveiki %{email},
+ ignore: |-
+ Jei nenorite priimti kvietimo, nekreipkite dėmesio į šį el. laišką.
+ Jūsų paskyra nebus sukurta tol, kol nespustelėsite anskčiau pateiktos nuorodos ir nenustatysite savo naudotojo vardo ir slaptažodžio.
+ invited_you_as_admin: "%{invited_by} pakvietė jus kaip %{application} administratorių. Kvietimą galite priimti spustelėję toliau pateikiamą nuorodą."
+ invited_you_as_private_user: "%{invited_by} pakvietė jus kaip %{application} privatų dalyvį. Kvietimą galite priimti spustelėję toliau pateikiamą nuorodą."
+ someone_invited_you: Kažkas pakvietė jus į %{application}. Kvietimą galite priimti spustelėję toliau pateikiamą nuorodą.
+ someone_invited_you_as_admin: Kažkas pakvietė jus kaip %{application} administratorių. Kvietimą galite priimti spustelėję toliau pateikiamą nuorodą.
+ someone_invited_you_as_private_user: Kažkas pakvietė jus kaip %{application} privatų dalyvį. Kvietimą galite priimti spustelėję toliau pateikiamą nuorodą.
+ subject: Kvietimo nurodymai
+ invite_admin:
+ subject: Esate pakviestas valdyti %{organization}
+ invite_collaborator:
+ subject: Esate pakviestas bendradarbiauti %{organization}
+ invite_private_user:
+ subject: Esate pakviestas į %{organization} uždarą dalyvaujamąjį procesą
+ organization_admin_invitation_instructions:
+ subject: Esate pakviestas valdyti %{organization}
+ password_change:
+ greeting: Sveiki %{recipient}!
+ message: Susisiekiame su jumis norėdami pranešti, kad jūsų slaptažodis buvo pakeistas.
+ subject: Slaptažodis pakeistas
+ reset_password_instructions:
+ action: Keisti slaptažodį
+ greeting: Sveiki %{recipient}!
+ instruction: Kažkas paprašė slaptažodžio pakeitimo nuorodos. Jūs galite tai padaryti paspaudę žemiau esančią nuorodą.
+ instruction_2: Jei to neprašėte, nekreipkite dėmesio į šį el. laišką.
+ instruction_3: Jūsų slaptažodis nepasikeis tol, kol nesukursite naujo. Tą padaryti galite paspaudę aukščiau pateiktą nuorodą.
+ subject: Slaptažodžio atstatymo nurodymai
+ unlock_instructions:
+ action: Atblokuoti mano paskyrą
+ greeting: Sveiki %{recipient}!
+ instruction: 'Norėdami atblokuoti savo paskyrą, spustelėkite toliau pateikiamą nuorodą:'
+ message: Jūsų paskyra buvo užrakinta dėl pernelyg daug nepavykusių bandymų prisijungti.
+ subject: Paskyros atrakinimo instrukcijos
+ omniauth_callbacks:
+ failure: Jūsų nepavyko autentifikuoti pagal %{kind}. Priežastis – "%{reason}".
+ success: Autentifikuota pagal %{kind} paskyrą.
+ passwords:
+ edit:
+ change_my_password: Keisti slaptažodį
+ change_your_password: Pasikeiskite slaptažodį
+ confirm_new_password: Patvirtinkite naują slaptažodį
+ new_password: Naujas slaptažodis
+ password_help: "%{minimun_characters} minimalus rašmenų skaičius, rašmenys neturi būti pernelyg įprasti (pvz., 123456) ir turi skirtis nuo jūsų naudotojo vardo ir e. pašto adreso."
+ new:
+ forgot_your_password: Pamiršote savo slaptažodį?
+ send_me_reset_password_instructions: Atsiųskite slaptažodžio atstatymo instrukciją
+ no_token: Šis puslapis negali būti pasiektas atėjus ne iš slaptažodžio atkūrimo el. laiško. Jeigu jūs atvykstate iš slaptažodžio atkūrimo el. laiško, įsitikinkite, kad naudojote visą pateiktą URL.
+ send_instructions: Per kelias minutes Jūs gausite elektroninį laišką su instrukcijomis, kaip iš naujo nustatyti savo slaptažodį.
+ send_paranoid_instructions: Jei jūsų el. pašto adresas yra mūsų duomenų bazėje, per kelias minutes savo el. pašto adresu gausite nuorodą su slaptažodžio atkūrimo nurodymais.
+ updated: Jūsų slaptažodis buvo sėkmingai pakeistas. Dabar esate prisijungę.
+ updated_not_active: Jūsų slaptažodis pakeistas.
+ registrations:
+ destroyed: Jūsų sąskaita buvo sėkmingai panaikinta. Mes tikimės netrukus Jus vėl pamatyti.
+ new:
+ sign_up: Užsiregistruoti
+ signed_up: Sveiki atvykę! Jūs sėkmingai užsiregistravote.
+ signed_up_but_inactive: Jūs užsiregistravote sėkmingai. Tačiau negalėjome jūsų prijungti, nes jūsų sąskaita dar neaktyvuota.
+ signed_up_but_locked: Jūs sėkmingai užsiregistravote. Tačiau mes negalėjome jūsų prijungti, nes jūsų sąskaita yra užrakinta.
+ signed_up_but_unconfirmed: Žinutė su patvirtinimo nuoroda buvo išsiųsta į jūsų el. paštą. Prašome sekite nuorodą norėdami aktyvuoti paskyrą.
+ update_needs_confirmation: Sėkmingai atnaujinote paskyrą, bet turime patvirtinti jūsų naują el. pašto adresą. Prašome patikrinkite savo el. paštą ir spustelėkite patvirtinimo nuorodą.
+ updated: Jūsų paskyra atnaujinta.
+ sessions:
+ already_signed_out: Atsijungėte.
+ new:
+ sign_in: Prisijungti
+ signed_in: Prisijungta sėkmingai.
+ signed_out: Atsijungta sėkmingai.
+ shared:
+ links:
+ back: Atgal
+ didn_t_receive_confirmation_instructions: Negavote patvirtinimo nurodymų?
+ didn_t_receive_unlock_instructions: Negavote atrakinimo nurodymų?
+ forgot_your_password: Pamiršote savo slaptažodį?
+ sign_in: Prisijungti
+ sign_in_with_provider: Prisijunkite su %{provider}
+ sign_up: Užsiregistruoti
+ minimum_password_length:
+ one: "(bent %{count} simbolis)"
+ few: "(bent %{count} simboliai)"
+ many: "(bent %{count} simboliai)"
+ other: "(bent %{count} simboliai)"
+ unlocks:
+ new:
+ resend_unlock_instructions: Dar kartą siųsti atrakinimo nurodymus
+ send_instructions: Per kelias minutes gausite el. laišką su nurodymais, kaip atrakinti savo paskyrą.
+ send_paranoid_instructions: Jei jūsų paskyra egzistuoja, per kelias minutes gausite elektroninį laišką su instrukcijomis, kaip ją atrakinti.
+ unlocked: Jūsų paskyra atrakinta. Kad galėtumėte tęsti, prisijunkite.
+ doorkeeper:
+ scopes:
+ public: Jūsų vieši duomenys.
+ errors:
+ messages:
+ already_confirmed: jau patvirtinta, pabandykite prisijungti
+ confirmation_period_expired: turi būti patvirtintas per %{period}, prašome paprašyti naujo
+ content_type_allowlist_error: rinkmenos tipas netinkamas
+ cycle_detected: srities pirminis elementas, negali būti vienas iš jos poelemenčių
+ expired: nustojo galioti, prašykite iš naujo
+ file_size_is_less_than_or_equal_to: rinkmenos dydis turi būti ne didesnis kaip %{count} arba jam lygus
+ invalid_time_zone: netinkama laiko juosta
+ long_words: yra per ilgų žodžių (daugiau kaip 35 ženklai)
+ must_start_with_caps: pradėti būtina didžąja raide
+ nesting_too_deep: negali priklausyti pakategorei
+ not_found: nepavyko rasti. Ar užsiregistravote anksčiau?
+ not_locked: nebuvo užrakintas
+ not_saved:
+ one: 'Vykdant jūsų prašymą įvyko klaida:'
+ few: 'Vykdant jūsų prašymus įvyko klaida:'
+ many: 'Vykdant jūsų prašymus įvyko klaida:'
+ other: 'Vykdant jūsų prašymus įvyko klaida:'
+ too_many_marks: naudojama per daug skyrybos ženklų iš eilės (pvz., ! ir ?)
+ too_much_caps: naudojama per daug didžiųjų raidžių (daugiau kaip 25 proc. teksto)
+ forms:
+ correct_errors: Formoje yra klaidų, ištaisykite jas ir tęskite.
+ length_validator:
+ minimum:
+ one: Bent %{count} ženklas
+ few: Bent %{count} ženklai
+ many: Bent %{count} ženklai
+ other: Bent %{count} ženklai
+ required: Privalomas laukas
+ required_explanation: "* Privalomi laukai pažymėti žvaigždute"
+ invisible_captcha:
+ sentence_for_humans: Jei esate žmogus, nekreipkite dėmesio į šį laukelį
+ timestamp_error_message: Atsiprašome, tai buvo per greitai! Pateikite iš naujo.
+ layouts:
+ decidim:
+ cookie_warning:
+ description_html: Šioje svetainėje naudojami slapukai. Toliau naršydami svetainėje sutinkate, kad būtų naudojami slapukai. %{link}.
+ link_label: Daugiau informacijos apie slapukus
+ ok: Sutinku
+ edit_link:
+ edit: Redaguoti
+ footer:
+ cc_by_license: '„Creative Commons“ licencija'
+ decidim_logo: '„Decidim“ logotipas'
+ download_open_data: Parsisiųsti atvirųjų duomenų rinkmenas
+ made_with_open_source: Interneto svetainė sukurta naudojant atvirą programinę įrangą.
+ header:
+ close_menu: Uždaryti meniu
+ main_menu: Pagrindinis meniu
+ navigation: Naršymas
+ sign_in: Prisijungti
+ sign_up: Registruotis
+ user_menu: Naudotojo meniu
+ impersonation_warning:
+ close_session: Uždaryti seansą
+ description_html: Jūs administruojate dalyvį %{user_name}.
+ expire_time_html: Jūsų seansas baigsis po %{minutes} minučių.
+ language_chooser:
+ choose_language: Pasirinkti kalbą
+ notifications_dashboard:
+ mark_all_as_read: Visus žymėti kaip skaitytus
+ mark_as_read: Žymėti kaip skaitytą
+ social_media_links:
+ facebook: "%{organization} – „Facebook“"
+ github: "%{organization} – „GitHub“"
+ instagram: "%{organization} – „Instagram“"
+ twitter: "%{organization} – „Twitter“"
+ youtube: "%{organization} – „YouTube“"
+ timeout_modal:
+ body: Nebuvote aktyvus(-i) %{minutes} minučių. Jei nenorite grįžti į platformą, dėl Jūsų saugumo paprašysime Jūsų prisijungti iš naujo.
+ continue_session: Tęsti seansą
+ sign_out: Atsijungti
+ title: Ar norite tęsti seansą?
+ user_menu:
+ account: 'Naudotojo paskyra: %{name}'
+ admin_dashboard: Administratoriaus skydelis
+ conversations: Pokalbiai
+ notifications: Pranešimai
+ profile: Mano paskyra
+ public_profile: Mano viešas profilis
+ sign_out: Atsijungti
+ title: Profilio nuorodos
+ user_profile:
+ account: Paskyra
+ authorizations: Autorizacijos
+ delete_my_account: Ištrinti mano paskyrą
+ my_data: Mano duomenys
+ my_interests: Mano interesai
+ notifications_settings: Pranešimų nustatymai
+ title: Dalyvio nuostatos
+ user_groups: Grupės
+ widget:
+ see_more: Žr. daugiau
+ locale:
+ name: Lietuvių
+ name_with_error: Lietuvių (klaida!)
+ password_validator:
+ blacklisted: yra įtrauktas į juodąjį sąrašą
+ domain_included_in_password: per daug panašus į šio domeno vardą
+ email_included_in_password: per daug panašus į jūsų el. pašto adresą
+ fallback: negalioja
+ name_included_in_password: per daug panašus į jūsų vardą, pavardę
+ nickname_included_in_password: yra per daug panašus į jūsų slapyvardį
+ not_enough_unique_characters: neturi pakankamai unikalių simbolių
+ password_not_allowed: draudžiama
+ password_too_common: per daug įprastas
+ password_too_long: per ilgas
+ password_too_short: per trumpas
+ social_share_button:
+ delicious: Delicious
+ douban: Douban
+ email: El. paštas
+ facebook: Facebook
+ google_bookmark: Google Bookmark
+ google_plus: Google+
+ hacker_news: Hacker News
+ linkedin: LinkedIn
+ pinterest: Pinterest
+ qq: Qzone
+ reddit: Reddit
+ share_to: Dalintis %{name}
+ telegram: Telegram
+ tumblr: Tumblr
+ twitter: Twitter
+ vkontakte: Vkontakte
+ wechat: WeChat
+ wechat_footer: Atidarykite savo „WeChat“, spustelėkite mygtuką „Discover“, tada spustelėkite „Nuskaityti QR kodą“ meniu.
+ weibo: Sina Weibo
+ whatsapp_app: WhatsApp
+ whatsapp_web: WhatsApp
+ xing: Xing
+ time:
+ formats:
+ day_of_month: "%b%d"
+ day_of_week: "%a"
+ day_of_week_long: "%a %e"
+ day_of_year: "%d.%m.%y"
+ ddmm: "%d.%m"
+ ddmmyyyy: "%d.%m.%Y"
+ decidim_day_of_year: "%d %B %Y"
+ decidim_short: "%d/%m/%Y %H:%M"
+ default: "%a, %d %b %Y %H:%M:%S %z"
+ devise:
+ mailer:
+ invitation_instructions:
+ accept_until_format: "%B %d, %Y %I:%M %p"
+ long: "%B %d, %Y %H:%M"
+ long_dashed: "%Y-%m-%d %H:%M:%S"
+ short: "%d/%m/%Y %H:%M"
+ time_of_day: "%H:%M"
+ versions:
+ directions:
+ left: Ištrynimai
+ right: Papildymai
+ dropdown:
+ choose_diff_view_html: 'HTML rodymo tipas:'
+ choose_diff_view_mode: 'Palyginti rodymo tipus:'
+ choose_diff_view_mode_menu: Pasirinkti lyginimo tipą
+ option_escaped: Pabėgę
+ option_split: Rodoma greta
+ option_unescaped: Unescaped
+ option_unified: Vieningas
+ views:
+ pagination:
+ first: "« Pirmas"
+ first_title: Nuoroda į pirmąjį puslapį
+ last: Paskutinis »
+ last_title: Nuoroda į paskutinį puslapį
+ next: Kitas ›
+ next_title: Nuoroda į kitą puslapį
+ pagination: Puslapių numeravimas
+ previous: "‹ Ankst."
+ previous_title: Nuoroda į ankstesnį puslapį
+ title: 'Puslapio numeris: '
+ truncate: "…"
diff --git a/decidim-core/config/locales/lv.yml b/decidim-core/config/locales/lv.yml
index db187b3ede6d9..4a911d37e12b4 100644
--- a/decidim-core/config/locales/lv.yml
+++ b/decidim-core/config/locales/lv.yml
@@ -650,18 +650,6 @@ lv:
how: Kā jūs to varat nopelnīt
page_description: Žetoni ir atzinība par dalībnieku darbībām un progresu platformā. Sākot atklāt platformu, piedaloties un mijiedarbojoties ar to, jūs nopelnīsiet dažādus žetonus. Šeit ir žetonu saraksts un daži veidi, kā tos nopelnīt.
title: Žetoni
- invitations:
- conditions:
- - Lai uzaicinātu draugus, izmantojiet saiti Uzaicināt draugus savā lietotāja lapā
- - Pielāgojiet sūtāmo ziņojumu, ja vēlaties
- - Jūs sasniegsiet augstāku līmeni, sūtot ielūgumus un piesaistot jaunus reģistrētus lietotājus.
- description: Šis žetons tiek piešķirts, kad esat uzaicinājis dažus cilvēkus un viņi ir veltījuši nedaudz laika, lai reģistrētos %{organization_name} un kļūtu par dalībniekiem. Paldies, ka darījāt %{organization_name} zināmu citiem un palīdzējāt paplašināt mūsu kopienu.
- description_another: Šis dalībnieks ir uzaicinājis %{score} cilvēkus.
- description_own: Jūs esat uzaicinājis %{score} cilvēkus.
- name: Ielūgumi
- next_level_in: Piesaistiet vēl %{score} cilvēkus, lai sasniegtu nākamo līmeni!
- unearned_another: Šis dalībnieks vēl nav uzaicinājis nevienu.
- unearned_own: Jūs vēl nevienu neesat uzaicinājis.
description: Žetoni ir atzinība par dalībnieku darbībām un progresu platformā. Sākot atklāt platformu, piedaloties un mijiedarbojoties ar to, jūs nopelnīsiet dažādus žetonus.
level: Līmenis %{level}
reached_top: Jūs esat sasniedzis šim žetona nepieciešamo augstāko līmeni.
@@ -1289,15 +1277,6 @@ lv:
updated_not_active: Jūsu parole ir veiksmīgi nomainīta.
registrations:
destroyed: Jūsu konts ir veiksmīgi atcelts. Mēs ceram jūs drīz atkal redzēt.
- edit:
- are_you_sure: Vai esat pārliecināts?
- cancel_my_account: Atcelt manu kontu
- currently_waiting_confirmation_for_email: 'Pašlaik tiek gaidīts apstiprinājums e-pastam: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: atstājiet tukšu, ja nevēlaties to mainīt
- title: Labot %{resource}
- unhappy: Neesat apmierināts?
- update: Atjaunināt
- we_need_your_current_password_to_confirm_your_changes: mums ir nepieciešama jūsu pašreizējā parole, lai apstiprinātu izmaiņas
new:
sign_up: Reģistrēties
signed_up: Laipni lūdzam! Jūsu reģistrācija bija veiksmīga.
@@ -1354,7 +1333,6 @@ lv:
other: 'Apstrādājot jūsu pieprasījumu, radās vairākas kļūdas:'
too_many_marks: izmanto pārāk daudz secīgu pieturzīmju (piemēram,! un ?)
too_much_caps: izmanto pārāk daudz lielo burtu (vairāk nekā 25 % no teksta)
- too_short: ir pārāk īsa (līdz 15 rakstzīmēm)
invisible_captcha:
sentence_for_humans: Ja esat cilvēks, ignorējiet šo lauku
timestamp_error_message: Diemžēl tas bija par ātru! Lūdzu, iesniedziet atkārtoti.
diff --git a/decidim-core/config/locales/nl.yml b/decidim-core/config/locales/nl.yml
index baf2ed2c99a2d..a3a44be18d828 100644
--- a/decidim-core/config/locales/nl.yml
+++ b/decidim-core/config/locales/nl.yml
@@ -754,18 +754,6 @@ nl:
how: Hoe kun je het verdienen?
page_description: Badges zijn erkenningen voor acties van deelnemers en voortgang op het platform. Naarmate je begint met ontdekken, deelnemen en communiceren op het platform, verdien je verschillende badges. Hier is de lijst met badges en enkele manieren waarop u ze kunt verdienen.
title: Badges
- invitations:
- conditions:
- - Gebruik de link "Vrienden uitnodigen" op uw gebruikerspagina om uw vrienden uit te nodigen
- - Pas het bericht aan dat u stuurt, als u wilt
- - Je komt op een niveau door uitnodigingen te versturen en ze te laten registreren.
- description: Deze badge wordt toegekend als je enkele mensen hebt uitgenodigd en ze hebben een beetje tijd besteed om in %{organization_name} te registreren en deelnemers te worden. Dank u om %{organization_name} bekend te maken bij anderen en om de community te helpen uit te breiden!
- description_another: Deze deelnemer heeft %{score} personen uitgenodigd.
- description_own: Je hebt %{score} mensen uitgenodigd.
- name: Uitnodigingen
- next_level_in: Nodig nog %{score} mensen uit om het volgende niveau te bereiken!
- unearned_another: Deze deelnemer heeft nog niemand uitgenodigd.
- unearned_own: Je hebt nog niemand uitgenodigd.
description: Badges zijn erkenningen voor acties van deelnemers en voortgang op het platform. Naarmate je begint met ontdekken, deelnemen en communiceren op het platform, verdien je verschillende badges.
level: Niveau %{level}
reached_top: U hebt het hoogste niveau bereikt voor deze badge.
@@ -973,7 +961,7 @@ nl:
title: conversaties
reply:
placeholder: Jouw antwoord...
- send: Sturen
+ send: Verzenden
title: Beantwoorden
show:
back: Terug naar alle gesprekken
@@ -983,7 +971,7 @@ nl:
title: Gesprek met %{usernames}
start:
send: Verzenden
- title: Een gesprek beginnen
+ title: Gesprek starten
update:
error: Bericht is niet verzonden vanwege een fout
metrics:
@@ -1486,15 +1474,6 @@ nl:
updated_not_active: Je wachtwoord is met succes veranderd.
registrations:
destroyed: Uw account is succesvol geannuleerd. We hopen je snel weer te zien.
- edit:
- are_you_sure: Weet je het zeker?
- cancel_my_account: Annuleer mijn account
- currently_waiting_confirmation_for_email: 'Momenteel wachtende bevestiging voor: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: laat leeg als je het niet wilt wijzigen
- title: Bewerk %{resource}
- unhappy: Ongelukkig?
- update: Bijwerken
- we_need_your_current_password_to_confirm_your_changes: we hebben je huidige wachtwoord nodig om je wijzigingen te bevestigen
new:
sign_up: Aanmelden
signed_up: Welkom! Je hebt je succesvol aangemeld.
@@ -1549,7 +1528,6 @@ nl:
other: 'Er zijn fouten opgetreden bij de verwerking van je aanvraag:'
too_many_marks: gebruikt te veel opeenvolgende leestekens (bijvoorbeeld ! en?)
too_much_caps: gebruikt te veel hoofdletters (meer dan 25% van de tekst)
- too_short: is te kort (minder dan 15 tekens)
forms:
correct_errors: Er zijn fouten in het formulier, corrigeer ze om door te gaan.
length_validator:
@@ -1618,7 +1596,7 @@ nl:
see_more: Zie meer
locale:
name: Nederlands
- name_with_error: Engels (fout!)
+ name_with_error: Nederlands (fout!)
password_validator:
blacklisted: staat op de zwarte lijst
domain_included_in_password: lijkt te veel op deze domeinnaam
diff --git a/decidim-core/config/locales/no.yml b/decidim-core/config/locales/no.yml
index f51cb5f782fea..2cb35aa24a426 100644
--- a/decidim-core/config/locales/no.yml
+++ b/decidim-core/config/locales/no.yml
@@ -780,18 +780,6 @@
how: Hvordan kan du tjene det
page_description: Merker er anerkjennelser for deltaker handlinger og fremdrift i plattformen. Når du begynner å oppdage, delta og samhandle i plattformen, vil du tjene forskjellige merker. Her er listen over merker og noen måter du kan tjene dem på.
title: Merker
- invitations:
- conditions:
- - Bruk "invitere venner" lenken på din bruker side for å invitere vennene dine
- - Tilpass, hvis du vil, meldingen du sender
- - Du vil gå opp i nivå ved å sende invitasjoner og få dem registrert.
- description: Dette merket blir gitt når du har invitert noen og de har brukt lite tid på å registrere seg i %{organization_name} og bli deltakere. Takk for at du gjør %{organization_name} kjent til andre og hjelper med å utvide samfunnet!
- description_another: Denne deltakeren har invitert %{score} folk.
- description_own: Du har invitert %{score} folk.
- name: Invitasjoner
- next_level_in: Inviter %{score} flere folk for å nå neste nivå!
- unearned_another: Denne deltakeren har ikke invitert noen ennå.
- unearned_own: Du har ikke invitert noen ennå.
description: Merker er anerkjennelser for deltaker handlinger og fremdrift i plattformen. Når du begynner å oppdage, delta og samhandle i plattformen, vil du tjene forskjellige merker.
level: Nivå %{level}
reached_top: Du har nådd det høyeste nivået for dette merket.
@@ -1535,15 +1523,6 @@
updated_not_active: Passordet ditt er blitt endret.
registrations:
destroyed: Din konto er lukket. Vi håper å se deg igjen snart.
- edit:
- are_you_sure: Er du sikker?
- cancel_my_account: Avbryt kontoen min
- currently_waiting_confirmation_for_email: 'Foreløpig venter for bekreftelse på: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: la stå tom hvis du ikke vil endre det
- title: Endre %{resource}
- unhappy: Ikke fornøyd?
- update: Oppdater
- we_need_your_current_password_to_confirm_your_changes: vi trenger ditt nåværende passord for å bekrefte endringene dine
new:
sign_up: Registrer deg
signed_up: Velkommen! Din registrering er fullført. Husk å bekrefte epostadressen din via mailen vi har sendt deg.
@@ -1598,7 +1577,6 @@
other: 'Det oppsto flere feil med å behandle forespørselen din:'
too_many_marks: bruker for mange påfølgende skilletegn (f.eks. ! og ?)
too_much_caps: bruker for mange store bokstaver (over 25% av teksten)
- too_short: er for kort (under 15 tegn)
forms:
correct_errors: Det er feil i skjemaet, korriger dem for å fortsette.
length_validator:
@@ -1672,7 +1650,7 @@
see_more: Se mer
locale:
name: Engelsk
- name_with_error: Engelsk (feil!)
+ name_with_error: Norsk (feil!)
password_validator:
blacklisted: er svartelistet
domain_included_in_password: er for lik dette domenenavnet
diff --git a/decidim-core/config/locales/oc-FR.yml b/decidim-core/config/locales/oc-FR.yml
new file mode 100644
index 0000000000000..325b348894124
--- /dev/null
+++ b/decidim-core/config/locales/oc-FR.yml
@@ -0,0 +1 @@
+oc:
diff --git a/decidim-core/config/locales/pl.yml b/decidim-core/config/locales/pl.yml
index cddb53fd09665..89ad7196054a9 100644
--- a/decidim-core/config/locales/pl.yml
+++ b/decidim-core/config/locales/pl.yml
@@ -22,6 +22,7 @@ pl:
user:
about: O użytkowniku
email: Twój email
+ locale: Język
name: Twoje imię
nickname: Pseudonim
password: Hasło
@@ -34,12 +35,17 @@ pl:
decidim/demoted_membership: Nie jest już administratorem grupy
decidim/gamification/badge_earned_event: Zdobyta odznaka
decidim/gamification/level_up_event: Awansowałeś
+ decidim/invited_to_group_event: Zaproszono do grupy
decidim/join_request_accepted_event: Zaakceptowano prośbę o dołączenie
decidim/join_request_rejected_event: Odrzucono prośbę o dołączenie
decidim/profile_updated_event: Profil zaktualizowany
decidim/promote_to_admin: Awansowano na administratora grupy
+ decidim/promoted_to_admin_event: Awansowano na administratora grupy
decidim/removed_from_group: Usunięto z grupy
decidim/resource_endorsed_event: Zasoby zatwierdzone
+ decidim/resource_hidden_event: Zasób ukryty
+ decidim/user_group_created_event: Utworzono grupę użytkowników
+ decidim/welcome_notification_event: Wiadomość powitalna
activerecord:
attributes:
decidim/user:
@@ -84,9 +90,52 @@ pl:
decidim_with_day_and_month_name: "%A %d %b %Y"
decidim_with_month_name: "%d %B %Y"
decidim_with_month_name_short: "%d %b"
+ datetime:
+ distance_in_words:
+ about_x_hours:
+ one: około 1 godz.
+ few: około %{count} godz.
+ many: około %{count} godz.
+ other: około %{count} godz.
+ about_x_months:
+ one: około 1 mies.
+ few: około %{count} mies.
+ many: około %{count} mies.
+ other: około %{count} mies.
+ half_a_minute: pół minuty
+ less_than_x_minutes:
+ one: mniej niż min.
+ few: mniej niż %{count} min.
+ many: mniej niż %{count} min.
+ other: mniej niż %{count} min.
+ less_than_x_seconds:
+ one: teraz
+ few: mniej niż %{count} min.
+ many: mniej niż %{count} min.
+ other: mniej niż %{count} min.
+ x_days:
+ one: 1 dzień temu
+ few: "%{count} dni temu"
+ many: "%{count} dni temu"
+ other: "%{count} dni temu"
+ x_hours:
+ one: 1 godzinę temu
+ few: "%{count} godzin temu"
+ many: "%{count} godzin temu"
+ other: "%{count} godzin temu"
+ x_minutes:
+ one: 1 min. temu
+ few: "%{count} min. temu"
+ many: "%{count} min. temu"
+ other: "%{count} min. temu"
+ x_seconds:
+ one: 1 sekundę temu
+ other: "%{count} sekund temu"
+ zero: właśnie teraz
decidim:
accessibility:
external_link: Link zewnętrzny
+ front_page_link: Przejdź do strony głównej
logo: "Oficjalne logo %{organization}"
skip_button: Przejdź do głównej zawartości
account:
@@ -758,18 +807,6 @@ pl:
how: Jak ją zdobyć
page_description: Odznaki są wyrazem uznania dla działań użytkowników i ich rozwoju na platformie. Gdy zaczniesz odkrywać, uczestniczyć i wchodzić w interakcje na platformie, otrzymasz różne odznaki. Oto lista odznak i kilka sposobów na ich zdobycie.
title: Odznaki
- invitations:
- conditions:
- - Użyj linku "zaproś znajomych" na swojej stronie użytkownika, aby zaprosić znajomych
- - Dostosuj, jeśli chcesz, wiadomość, którą wysyłasz
- - Możesz awansować na wyższy poziom, wysyłając zaproszenia i gdy zostaną one przyjęte.
- description: Ta odznaka jest przyznawana, gdy zapraszasz ludzi i gdy oni poświęcą trochę czasu, aby zarejestrować się w %{organization_name} i zostać użytkownikami. Dziękujemy za udostępnienie %{organization_name} innym osobom i pomoc w rozbudowywaniu społeczności!
- description_another: Ten użytkownik zaprosił %{score} osób.
- description_own: Zaprosiłeś %{score} osób.
- name: Zaproszenia
- next_level_in: Zaproś %{score} kolejnych użytkowników, aby przejść do następnego poziomu!
- unearned_another: Ten użytkownik jeszcze nikogo nie zaprosił.
- unearned_own: Jeszcze nikogo nie zaproszono.
description: Odznaki są wyrazem uznania dla działań użytkowników i ich rozwoju na platformie. Gdy zaczniesz odkrywać, uczestniczyć i wchodzić w interakcje na platformie, otrzymasz różne odznaki.
level: Poziom %{level}
reached_top: Osiągnąłeś najwyższy poziom tej odznaki.
@@ -982,7 +1019,7 @@ pl:
title: Konwersacja z %{usernames}
start:
send: Wyślij
- title: Zacznij konwersację
+ title: Rozpocznij konwersację
update:
error: Wiadomość nie została wysłana z powodu błędu
metrics:
@@ -1498,15 +1535,6 @@ pl:
updated_not_active: Twoje hasło zostało zmienione.
registrations:
destroyed: Twoje konto zostało pomyślnie zawieszone. Mamy nadzieję zobaczyć Cię ponownie wkrótce.
- edit:
- are_you_sure: Jesteś pewny?
- cancel_my_account: Zawieś moje konto
- currently_waiting_confirmation_for_email: 'Obecnie oczekujące potwierdzenie dla: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: pozostaw puste, jeśli nie chcesz tego zmieniać
- title: Edytuj %{resource}
- unhappy: Niezadowolony?
- update: Aktualizuj
- we_need_your_current_password_to_confirm_your_changes: potrzebujemy Twojego obecnego hasła, aby potwierdzić Twoje zmiany
new:
sign_up: Zarejestruj się
signed_up: Witamy! Zarejestrowałeś się pomyślnie.
@@ -1565,7 +1593,6 @@ pl:
other: 'Podczas przetwarzania Twojego żądania wystąpiły błędy:'
too_many_marks: używa zbyt wielu kolejnych znaków interpunkcyjnych (np.! i?)
too_much_caps: używa zbyt dużej liczby wielkich liter (ponad 25% tekstu)
- too_short: jest za krótki (poniżej 15 znaków)
forms:
correct_errors: Wystąpiły błędy w formularzu, popraw je, aby kontynuować.
length_validator:
diff --git a/decidim-core/config/locales/pt-BR.yml b/decidim-core/config/locales/pt-BR.yml
index 1e5c8882bbb18..c9dceb5f3e403 100644
--- a/decidim-core/config/locales/pt-BR.yml
+++ b/decidim-core/config/locales/pt-BR.yml
@@ -744,18 +744,6 @@ pt-BR:
how: Como você pode ganhar
page_description: Crachás são reconhecimentos para ações dos participantes e progresso na plataforma. Ao começar a descobrir, participar e interagir na plataforma, você ganhará distintivos diferentes. Aqui está a lista de crachás e algumas maneiras de ganhá-los.
title: Distintivos
- invitations:
- conditions:
- - Use o link "convidar amigos" na sua página de usuário para convidar seus amigos
- - Personalize, se quiser, a mensagem que você está enviando
- - Você vai subir de nível enviando convites e recebendo-os registrados.
- description: Esse selo é concedido quando você convidou algumas pessoas e elas gastaram um pouco de tempo para se inscrever em %{organization_name} e se tornarem participantes. Obrigado por fazer %{organization_name} a conhecer aos outros e ajudando a expandir a comunidade!
- description_another: Este usuário convidou %{score} usuários.
- description_own: Você convidou %{score} usuários.
- name: Convites
- next_level_in: Convide mais %{score} usuários para alcançar o próximo nível!
- unearned_another: Este usuário ainda não convidou nenhum usuário.
- unearned_own: Você não convidou nenhum usuário ainda.
description: Crachás são reconhecimentos para ações dos participantes e progresso na plataforma. Ao começar a descobrir, participar e interagir na plataforma, você ganhará distintivos diferentes.
level: Nível %{level}
reached_top: Você atingiu o nível superior para este selo.
@@ -963,7 +951,7 @@ pt-BR:
title: Conversas
reply:
placeholder: Sua resposta...
- send: Mandar
+ send: Enviar
title: Resposta
show:
back: Voltar para todas as conversas
@@ -972,7 +960,7 @@ pt-BR:
title: Conversa com %{usernames}
start:
send: Enviar
- title: Comece uma conversa
+ title: Iniciar uma conversa
update:
error: A mensagem não foi enviada devido a um erro
metrics:
@@ -1490,15 +1478,6 @@ pt-BR:
updated_not_active: Sua senha foi alterada com sucesso.
registrations:
destroyed: Tchau! Sua conta foi cancelada com sucesso. Esperamos te ver novamente em breve.
- edit:
- are_you_sure: Você tem certeza?
- cancel_my_account: Cancelar minha conta
- currently_waiting_confirmation_for_email: 'Atualmente aguardando confirmação para: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: deixe em branco se você não quiser mudá-lo
- title: Editar %{resource}
- unhappy: Infeliz?
- update: Atualizar
- we_need_your_current_password_to_confirm_your_changes: Precisamos da sua senha atual para confirmar suas alterações
new:
sign_up: inscrever-se
signed_up: Bem vinda! Você se inscreveu com sucesso.
@@ -1553,7 +1532,6 @@ pt-BR:
other: 'Houve erros múltiplos ao processar sua solicitação:'
too_many_marks: está usando muitos sinais de pontuação consecutivos (por exemplo,! e?)
too_much_caps: está usando muitas letras maiúsculas (mais de 25% do texto)
- too_short: é muito curto (menos de 15 caracteres)
forms:
correct_errors: Há erros no formulário, por favor corrija-os para continuar.
length_validator:
@@ -1627,7 +1605,7 @@ pt-BR:
see_more: Ver mais
locale:
name: Português
- name_with_error: Inglês (erro!)
+ name_with_error: Português (erro!)
password_validator:
domain_included_in_password: é muito semelhante a este nome de domínio
email_included_in_password: é muito parecido com o seu email
diff --git a/decidim-core/config/locales/pt.yml b/decidim-core/config/locales/pt.yml
index e7835ccef7ebc..74cbba97e7c4e 100644
--- a/decidim-core/config/locales/pt.yml
+++ b/decidim-core/config/locales/pt.yml
@@ -457,7 +457,7 @@ pt:
newsletter: Receber um boletim informativo ocasional com informações relevantes
newsletter_title: Permissão de contacto
nickname_help: A sua alcunha em %{organization}. Só pode conter letras, números, “-”, e “_”
- password_help: "%{minimun_characters} caracteres no mínimo, não deverá ser muito comum (por ex. 123456) e deverá ser diferente da sua alcunha e do seu e-mail."
+ password_help: "%{minimun_characters} de caracteres no mínimo, não deverá ser muito comum (por ex. 123456) e deverá ser diferente da sua alcunha e do seu e-mail."
sign_in: Entrar
sign_up: Inscreva-se
sign_up_as:
@@ -744,18 +744,6 @@ pt:
how: Como pode ganhar
page_description: Distintivos são reconhecimentos para ações dos participantes e progresso na plataforma. Ao começar a descobrir, participar e interagir na plataforma, ganhará distintivos diferentes. Aqui está a lista de distintivos e algumas maneiras de ganhá-los.
title: Distintivos
- invitations:
- conditions:
- - Use a hiperligação "convidar amigos" na sua página de utilizador para convidar os seus amigos
- - Personalize, se quiser, a mensagem que está a enviar
- - Subirá de nível ao enviar convites e obtendo registos.
- description: Este distintivo é concedido quando convidou algumas pessoas e elas despenderam um pouco de tempo para se inscrever em %{organization_name} e se tornarem participantes. Obrigado por dar a conhecer %{organization_name} aos outros e ajudar a expandir a comunidade!
- description_another: Este participante convidou %{score} utilizadores.
- description_own: Convidou %{score} utilizadores.
- name: Convites
- next_level_in: Convide mais %{score} utilizadores para alcançar o próximo nível!
- unearned_another: Este participante ainda não convidou alguém.
- unearned_own: Ainda não convidou alguém.
description: Distintivos são reconhecimentos para ações dos participantes e progresso na plataforma. Ao começar a descobrir, participar e interagir na plataforma, ganhará distintivos diferentes.
level: Nível %{level}
reached_top: Atingiu o nível superior para este distintivo.
@@ -963,7 +951,7 @@ pt:
title: Conversas
reply:
placeholder: A sua resposta...
- send: Mandar
+ send: Enviar
title: Responder
show:
back: Retroceder a todas as conversas
@@ -1490,15 +1478,6 @@ pt:
updated_not_active: A sua palavra-passe foi modificada corretamente.
registrations:
destroyed: A sua conta foi cancelada corretamente. Esperamos vê-lo(a) novamente em breve.
- edit:
- are_you_sure: Tem a certeza?
- cancel_my_account: Cancelar a minha conta
- currently_waiting_confirmation_for_email: 'Atualmente à espera de confirmação para: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: deixe em branco se não quiser modificá-lo
- title: Editar %{resource}
- unhappy: Infeliz?
- update: Atualizar
- we_need_your_current_password_to_confirm_your_changes: precisamos da sua palavra-passe atual para confirmar as suas alterações
new:
sign_up: Inscrever-se
signed_up: Bem-vindo(a)! Inscreveu-se corretamente.
@@ -1553,7 +1532,6 @@ pt:
other: 'Ocorreram diversos erros ao processar o seu pedido:'
too_many_marks: está a usar muitos sinais de pontuação consecutivos (por exemplo, ! e ?)
too_much_caps: está a usar muitas letras maiúsculas (acima de 25% do texto)
- too_short: é muito curto (abaixo de 15 caracteres)
forms:
correct_errors: Existem erros no formulário, por favor corrija-os para continuar.
length_validator:
diff --git a/decidim-core/config/locales/ro-RO.yml b/decidim-core/config/locales/ro-RO.yml
index 27d24810d1bd0..43612a43b0548 100644
--- a/decidim-core/config/locales/ro-RO.yml
+++ b/decidim-core/config/locales/ro-RO.yml
@@ -473,7 +473,7 @@ ro:
newsletter: Primește un buletin informativ ocazional cu informații relevante
newsletter_title: Drepturi privind contactele
nickname_help: Pseudonimul tău în %{organization}. Poate conține doar litere, numere, '-' și '_'.
- password_help: "minim %{minimun_characters} caractere, nu trebuie să fie prea comune (ex. 123456) și trebuie să fie diferite de pseudonimul și adresa ta de e-mail."
+ password_help: "minim %{minimun_characters} caractere, nu trebuie să fie prea comune (ex. 123456) și trebuie să fie diferite de porecla și adresa dvs. de e-mail."
sign_in: Autentificare
sign_up: Înscrie-te
sign_up_as:
@@ -770,18 +770,6 @@ ro:
how: Cum poți să o câștigi
page_description: Insignele sunt recunoașterea acțiunilor participanților și progresele înregistrate în cadrul platformei. Pe măsură ce începi să descoperi, să participi și să interacționezi în platformă, vei câștiga diferite insigne. Aici este lista de insigne și câteva modalități prin care le poți câștiga.
title: Insigne
- invitations:
- conditions:
- - Folosește link-ul "invită prieteni" de pe pagina ta de utilizator pentru a-ți invita prietenii
- - Personalizează, dacă dorești, mesajul pe care îl trimiți
- - Vei crește în nivel trimițând invitații și primindu-le înregistrate.
- description: Această insignă este acordată atunci când ai invitat câțiva oameni și aceștia au petrecut puțin timp să se înregistreze în %{organization_name} și să devină participanți. Îți mulțumim că ai făcut %{organization_name} cunoscută și altora existența comunității și ai ajutat la extinderea ei!
- description_another: Acest participant a invitat %{score} persoane.
- description_own: Ai invitat %{score} persoane.
- name: Invitații
- next_level_in: Invită încă %{score} persoane să ajungă la următorul nivel!
- unearned_another: Acest participant nu a invitat încă pe nimeni.
- unearned_own: Nu ai invitat încă pe nimeni.
description: Insignele sunt recunoașterea acțiunilor participanților și progresele înregistrate în cadrul platformei. Pe măsură ce începi să descoperi, să participi și să interacționezi în platformă, vei câștiga diferite insigne.
level: Nivelul %{level}
reached_top: Ai atins nivelul maxim pentru această insignă.
@@ -1526,15 +1514,6 @@ ro:
updated_not_active: Parola dvs. a fost schimbată cu succes.
registrations:
destroyed: Contul tău a fost anulat cu succes. Sperăm să te revedem în curând.
- edit:
- are_you_sure: Sigur dorești asta?
- cancel_my_account: Anulează contul meu
- currently_waiting_confirmation_for_email: 'În prezent se așteaptă confirmarea pentru: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: lasă necompletat dacă nu vrei să-l schimbi
- title: Editează %{resource}
- unhappy: Nefericit?
- update: Actualizare
- we_need_your_current_password_to_confirm_your_changes: avem nevoie de parola curentă pentru a confirma modificările
new:
sign_up: Înscrie-te
signed_up: Bine ați venit! V-ați înregistrat cu succes.
@@ -1591,7 +1570,6 @@ ro:
other: 'Au existat mai multe erori la procesarea cererii dvs.:'
too_many_marks: folosește prea multe semne consecutive de punctuație (de ex. ! și ?)
too_much_caps: utilizează prea multe majuscule (peste 25% din text)
- too_short: este prea scurt (sub 15 caractere)
forms:
correct_errors: Există erori în formular, vă rugăm să le corectaţi pentru a continua.
length_validator:
diff --git a/decidim-core/config/locales/ru.yml b/decidim-core/config/locales/ru.yml
index 400c65a63715f..be9a39df620d1 100644
--- a/decidim-core/config/locales/ru.yml
+++ b/decidim-core/config/locales/ru.yml
@@ -300,7 +300,6 @@ ru:
already_have_an_account?: У вас уже есть учетная запись?
newsletter: Получать время от времени рассылку со свежими новостями
newsletter_title: Разрешение на связь с вами
- password_help: "Минимум %{minimun_characters} символов, не должен быть слишком распространенным (например, 123456) и должен отличаться от вашего имени и электронной почты."
sign_in: Войти
sign_up: Зарегистрироваться
sign_up_as:
@@ -432,8 +431,6 @@ ru:
index:
how: Как вы можете его получить
title: Значки
- invitations:
- name: Приглашения
level: Уровень %{level}
group_admins:
actions:
@@ -513,10 +510,8 @@ ru:
no_conversations: У вас еще нет бесед
reply:
send: Отправить
- title: Ответить
start:
send: Отправить
- title: Начать беседу
newsletter_mailer:
newsletter:
note: Вы получили это электронное письмо, потому что подписались на новостные рассылки %{organization_name}. Вы можете изменить свои настройки на своей странице уведомлений.
diff --git a/decidim-core/config/locales/sk.yml b/decidim-core/config/locales/sk.yml
index 3468bbd8ea060..1685d14ff976a 100644
--- a/decidim-core/config/locales/sk.yml
+++ b/decidim-core/config/locales/sk.yml
@@ -409,7 +409,7 @@ sk:
already_have_an_account?: Už máte účet?
newsletter: Dostávajte príležitostný spravodajca s relevantnými informáciami
newsletter_title: Povolenie kontaktu
- password_help: "%{minimun_characters} minimum znakov, nesmie byť príliš bežné (napr. 123456) a musí byť iné ako vaše prezývka a váš e-mail."
+ password_help: "%{minimun_characters} je minimum znakov, nesmie byť príliš bežné (napr. 123456) a musí byť iné ako vaše prezývka a váš e-mail."
sign_in: Prihlásiť sa
sign_up: Zaregistrovať sa
sign_up_as:
@@ -654,18 +654,6 @@ sk:
how: Ako ho môžete získať
page_description: Odznaky sú uznaním aktivity účastníkov a ich pokroku na platforme. Keď začnete objavovať platformu, zúčastňovať sa na nej a pracovať na nej, získate rôzne odznaky. Tu je zoznam odznakov a spôsoby, ako ich môžete získať.
title: Odznaky
- invitations:
- conditions:
- - Použite odkaz "pozvať priateľov" na Vašej osobnej stránke pre pozvanie priateľov.
- - Upravte, ak chcete, správu, ktorú posielate.
- - Na ďalšiu úroveň sa dostanete rozosielaním a prijatím pozvánok.
- description: Tento odznak obdržíte, ak ste pozvali pár ľudí, ktorí strávili čas registráciou v %{organization_name} a stali sa účastníkmi. Ďakujeme, že ste ostatným ukázali %{organization_name} a pomohli rozšíriť komunitu!
- description_another: Tento účastník pozval %{score} ľudí.
- description_own: Pozvali ste %{score} ľudí.
- name: Pozvánky
- next_level_in: Pozvite o %{score} ľudí viac pre dosiahnutie ďalšej úrovne!
- unearned_another: Tento účastník zatiaľ nikoho nepozval.
- unearned_own: Zatial ste nikoho nepozvali.
description: Odznaky sú uznanie akciou účastníkov a pokrok v platforme. Akonáhle začnete objavovať, zúčastniť sa a spolupracovať v platforme, získate rôzne odznaky.
level: Úroveň%{level}
reached_top: Dosiahli ste najvyššej úrovne tohto odznaku.
@@ -821,15 +809,12 @@ sk:
no_conversations: Nemáte zatím žádné konverzace
title: Konverzace
reply:
- placeholder: Vaša odpoveď...
send: Poslat
- title: Odpověď
show:
chat_with: Konverzácia s
title: Konverzace s číslem %{usernames}
start:
send: Poslat
- title: Spusťte konverzaci
metrics:
followers:
description: Počet účastníkov, ktorí sledujú tento participatívny priestor
@@ -1219,15 +1204,6 @@ sk:
updated_not_active: Vaše heslo bolo úspešne zmenené.
registrations:
destroyed: Zbohom! Váš účet bol úspešne zrušený. Dúfame, že vás čoskoro uvidíme.
- edit:
- are_you_sure: Ste si istí?
- cancel_my_account: Zrušiť môj účet
- currently_waiting_confirmation_for_email: 'Aktuálne čaká potvrdenie o:%{email}'
- leave_blank_if_you_don_t_want_to_change_it: ponechajte prázdne, ak nechcete zmeniť
- title: Upraviť%{resource}
- unhappy: Nespokojný?
- update: Aktualizácia
- we_need_your_current_password_to_confirm_your_changes: pre potvrdenie zmien potrebujeme vaše aktuálne heslo
new:
sign_up: Prihlásiť sa
signed_up: Vitajte! Úspešne ste sa zaregistrovali.
@@ -1286,7 +1262,6 @@ sk:
other: 'Pri spracovaní vašej požiadavky došlo k nejakým chybám:'
too_many_marks: používa príliš veľa po sebe idúcich interpunkčných znamienok (napr.! a?)
too_much_caps: používa príliš veľa veľkých písmen (viac ako 25% textu)
- too_short: je príliš krátka (pod 15 znakov)
forms:
required: Povinný
invisible_captcha:
diff --git a/decidim-core/config/locales/sv.yml b/decidim-core/config/locales/sv.yml
index 21966e77c851a..602fcdf267609 100644
--- a/decidim-core/config/locales/sv.yml
+++ b/decidim-core/config/locales/sv.yml
@@ -41,6 +41,7 @@ sv:
decidim/promote_to_admin: Befordrad till gruppadministratör
decidim/removed_from_group: Borttagen från gruppen
decidim/resource_endorsed_event: Resurs instämd
+ decidim/welcome_notification_event: Välkomstmeddelande
activerecord:
attributes:
decidim/user:
@@ -123,7 +124,7 @@ sv:
ok: Ja, radera mitt konto
question: Är du säker på att du vill radera ditt konto?
title: Radera mitt konto
- explanation: Ange skälet till varför du vill radera ditt konto (valfritt).
+ explanation: Ange skälet till varför du vill radera ditt konto (frivilligt).
destroy:
error: Det gick inte att radera ditt konto.
success: Ditt konto har raderats.
@@ -781,18 +782,6 @@ sv:
how: Hur kan du få det
page_description: Märken visar att du varit aktiv som deltagare på plattformen och deltagit i behandlingen. Medan du upptäcker, deltar och samverkar på plattformen får du olika märken. Här är listan med märken och hur du kan få dem.
title: Märken
- invitations:
- conditions:
- - Bjud in dina vänner med länken "bjud in vänner" på din användarsida
- - Om du vill kan du anpassa meddelandet som du skickar
- - Nå nästa nivå genom att skicka inbjudningar till andra och få dem att registrera sig.
- description: Du får detta märke när när du har bjudit in några personer, de har registrerat sig i %{organization_name} och blivit deltagare. Tack för att du gör %{organization_name} mer välkänt och gör vår gemenskap större!
- description_another: Den här deltagaren har bjudit in %{score} personer.
- description_own: Du har bjudit in %{score} personer.
- name: Inbjudningar
- next_level_in: Nå nästa nivå genom att bjuda in %{score} personer till!
- unearned_another: Denna deltagare har inte bjudit in någon användare än.
- unearned_own: Du har inte ännu bjudit in någon annan.
description: Märken visar att du varit aktiv som deltagare på plattformen och deltagit i behandlingen. Medan du upptäcker, deltar och samverkar på plattformen får du olika märken.
level: Nivå %{level}
reached_top: Du har nått den högsta nivån för detta märke.
@@ -1536,15 +1525,6 @@ sv:
updated_not_active: Ditt lösenord har ändrats.
registrations:
destroyed: Ditt konto har avregistrerats. Vi hoppas att vi ses snart igen.
- edit:
- are_you_sure: Är du säker?
- cancel_my_account: Avregistrera mitt konto
- currently_waiting_confirmation_for_email: 'Väntar för närvarande på bekräftelse från: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: lämna tomt om du inte vill ändra det
- title: Redigera %{resource}
- unhappy: Olycklig?
- update: Uppdatera
- we_need_your_current_password_to_confirm_your_changes: Vi behöver ditt nuvarande lösenord för att bekräfta ändringarna
new:
sign_up: Registrera
signed_up: Välkommen! Din registrering är klar.
@@ -1599,7 +1579,6 @@ sv:
other: 'Det finns flera fel i din begäran:'
too_many_marks: använder för många på varandra följande skiljetecken (t.ex. ! och ?)
too_much_caps: använder för många stora bokstäver (över 25% av texten)
- too_short: är för kort (under 15 tecken)
forms:
correct_errors: Det finns fel på formuläret, vänligen korrigera dem för att fortsätta.
length_validator:
diff --git a/decidim-core/config/locales/tr-TR.yml b/decidim-core/config/locales/tr-TR.yml
index ee43b7636b8fa..03979c5d65233 100644
--- a/decidim-core/config/locales/tr-TR.yml
+++ b/decidim-core/config/locales/tr-TR.yml
@@ -729,18 +729,6 @@ tr:
how: Nasıl kazanabilirsin
page_description: Rozetler, katılımcı eylemleri ve platformdaki ilerlemeleri tanımaktadır. Platformda keşfetmeye, katılmaya ve etkileşim kurmaya başladığınızda farklı rozetler kazanacaksınız. İşte rozetlerin listesi ve bunları kazanmanın bazı yolları.
title: Rozetler
- invitations:
- conditions:
- - Arkadaşlarınızı davet etmek için kullanıcı sayfanızdaki “arkadaşlarını davet et” bağlantısını kullanın.
- - İsterseniz, göndermek istediğiniz mesajı özelleştirin
- - Davetiyeler göndererek ve onları kayıt altına alarak seviye atlayacaksınız.
- description: Bu rozeti, bazı kişileri davet ettiğinizde ve %{organization_name} kaydolmak ve katılımcı olmak için biraz zaman ayırdıklarında verilir. Yaptığınız için teşekkür ederiz %{organization_name} başkalarına bilinen ve topluluğu genişletmek için yardımcı!
- description_another: Bu kullanıcı %{score} kullanıcı davet etti.
- description_own: '%{score} kullanıcıyı davet ettiniz.'
- name: Davetiyeler
- next_level_in: Bir sonraki seviyeye ulaşmak için %{score} kullanıcı daha davet edin!
- unearned_another: Bu kullanıcı henüz bir kullanıcıyı davet etmedi.
- unearned_own: Henüz hiç kullanıcı davet etmediniz.
description: Rozetler, katılımcı eylemleri ve platformdaki ilerlemeleri tanımaktadır. Platformda keşfetmeye, katılmaya ve etkileşim kurmaya başladığınızda farklı rozetler kazanacaksınız.
level: Seviye %{level}
reached_top: Bu rozetin en üst seviyesine ulaştınız.
@@ -929,7 +917,7 @@ tr:
ok: OK
index:
ago: önce
- close: Pencereyi kapat
+ close: Yakın kalıcı
from: Gönderen
groups: Gruplarım
last_message: Son mesaj
@@ -947,7 +935,7 @@ tr:
title: '%{usernames} ile görüşme'
start:
send: Gönder
- title: Bir görüşme başlat
+ title: Bir görüşme başlatın
update:
error: Bir hata nedeniyle mesaj gönderilemedi
metrics:
@@ -1446,15 +1434,6 @@ tr:
updated_not_active: Şifreniz başarıyla değiştirildi.
registrations:
destroyed: Hoşçakal! Hesabınız başarıyla iptal edildi. Kısa süre sonra tekrar görmeyi umuyoruz.
- edit:
- are_you_sure: Emin misiniz?
- cancel_my_account: Hesabımı iptal et
- currently_waiting_confirmation_for_email: 'Şu an için bekleme onayı: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: değiştirmek istemiyorsanız boş bırakın
- title: '%{resource}düzenle'
- unhappy: Mutsuz?
- update: Güncelleştirme
- we_need_your_current_password_to_confirm_your_changes: değişikliklerinizi onaylamak için mevcut şifrenize ihtiyacımız var
new:
sign_up: kaydol
signed_up: Hoşgeldiniz! Başarıyla kaydoldunuz.
@@ -1509,7 +1488,6 @@ tr:
other: 'İsteğinizi işlerken birden çok hata oluştu:'
too_many_marks: çok fazla ardışık noktalama işareti kullanıyor (örneğin! ve?)
too_much_caps: çok fazla büyük harf kullanıyor (metnin% 25'inden fazlası)
- too_short: çok kısa (15 karakterin altında)
forms:
correct_errors: Aşağıdaki formda hatalar oluştu, Devam etmek için lütfen bunları düzeltin.
required: gereklidir
diff --git a/decidim-core/config/locales/uk.yml b/decidim-core/config/locales/uk.yml
index 96c65fe141c75..902d508726341 100644
--- a/decidim-core/config/locales/uk.yml
+++ b/decidim-core/config/locales/uk.yml
@@ -385,10 +385,9 @@ uk:
close: Закрити віконце
no_conversations: У вас ще немає бесід
reply:
- title: Відповісти
+ send: Надіслати
start:
send: Надіслати
- title: Почати бесіду
newsletter_mailer:
newsletter:
note: Ви отримали цього електронного листа, оскільки ви підписалися на новини щодо %{organization_name}. Ви можете змінити свої налаштування на сторінці сповіщень.
diff --git a/decidim-core/config/locales/zh-CN.yml b/decidim-core/config/locales/zh-CN.yml
index ad65343504fb0..6d6164adf4800 100644
--- a/decidim-core/config/locales/zh-CN.yml
+++ b/decidim-core/config/locales/zh-CN.yml
@@ -656,18 +656,6 @@ zh-CN:
how: 你如何赚钱
page_description: 徽章是对参与者行动和平台进展的承认。 当您开始发现、参与和互动平台时,您将获得不同的徽章。 这里是徽章列表和您可以赚取它们的某些方式。
title: 徽章
- invitations:
- conditions:
- - 使用您用户页面上的“邀请好友”链接来邀请您的朋友
- - 自定义,如果您想要,您正在发送的消息
- - 您将通过发送邀请和注册来提高等级。
- description: 当您已经邀请了一些人并且他们花了一些时间在 %{organization_name} 注册并成为参与者时,这个徽章将被授予。 感谢您向其他人宣传了 %{organization_name} 并帮助扩展社区!
- description_another: 此参与者已邀请了 %{score} 人。
- description_own: 您已邀请了 %{score} 人。
- name: 邀请
- next_level_in: 邀请更多 %{score} 人到达下一个关卡!
- unearned_another: 此参与者尚未邀请任何人。
- unearned_own: 你还没有邀请任何人。
description: 徽章是对参与者行动和平台进展的承认。 当您开始发现、参与和互动平台时,您将获得不同的徽章。
level: 等级 %{level}
reached_top: 你已经达到了这个徽章的顶级了。
@@ -1350,15 +1338,6 @@ zh-CN:
updated_not_active: 您的密码已成功更改。
registrations:
destroyed: 您的帐户已成功取消。我们希望很快再见到您。
- edit:
- are_you_sure: 您确定吗?
- cancel_my_account: 取消我的帐户
- currently_waiting_confirmation_for_email: '正在等待确认: %{email}'
- leave_blank_if_you_don_t_want_to_change_it: 如果您不想更改它,请留空
- title: 编辑 %{resource}
- unhappy: 不愉快?
- update: 更新
- we_need_your_current_password_to_confirm_your_changes: 我们需要您当前的密码来确认您的更改
new:
sign_up: 注册
signed_up: 欢迎!您已成功注册。
@@ -1411,7 +1390,6 @@ zh-CN:
other: '处理您的请求时发生多个错误:'
too_many_marks: 正在使用太多连续标点符号(例如! 和 ?)
too_much_caps: 正在使用太多大写字母(超过25%文本)
- too_short: 太短(低于15个字符)
forms:
correct_errors: 表单上有错误,请更正以继续。
required: 必填字段
@@ -1472,8 +1450,8 @@ zh-CN:
widget:
see_more: 查看更多
locale:
- name: Distr.
- name_with_error: 英文(错误!)
+ name: 中文
+ name_with_error: 中文(错误!)
password_validator:
domain_included_in_password: 与这个域名太近了
email_included_in_password: 与您的电子邮件太相似了
diff --git a/decidim-core/config/routes.rb b/decidim-core/config/routes.rb
index d30f7f2e9b04c..5501e8e7901a7 100644
--- a/decidim-core/config/routes.rb
+++ b/decidim-core/config/routes.rb
@@ -11,11 +11,29 @@
invitations: "decidim/devise/invitations",
sessions: "decidim/devise/sessions",
confirmations: "decidim/devise/confirmations",
- registrations: "decidim/devise/registrations",
passwords: "decidim/devise/passwords",
unlocks: "decidim/devise/unlocks",
omniauth_callbacks: "decidim/devise/omniauth_registrations"
- }
+ },
+ skip: [:registrations]
+
+ # Manually define the registration routes because otherwise the default "edit"
+ # route would be exposed through Devise while we already have the edit and
+ # destroy routes available through the account pages.
+ resource(
+ :registration,
+ only: [:new, :create],
+ as: :user_registration,
+ path: "/users",
+ path_names: { new: "sign_up" },
+ controller: "devise/registrations"
+ ) do
+ # The "cancel" route forces the session data which is usually expired after
+ # sign in to be expired now. This is useful if the user wants to cancel
+ # OAuth signing in/up in the middle of the process, removing all OAuth
+ # session data. @see [Devise::RegistrationsController#cancel]
+ get :cancel
+ end
devise_for :user_groups,
class_name: "Decidim::UserGroup",
diff --git a/decidim-core/lib/decidim/attributes/localized_date.rb b/decidim-core/lib/decidim/attributes/localized_date.rb
index d43d4f69b3444..9abc5f67c44bb 100644
--- a/decidim-core/lib/decidim/attributes/localized_date.rb
+++ b/decidim-core/lib/decidim/attributes/localized_date.rb
@@ -10,12 +10,20 @@ def coerce(value)
Date.strptime(value, I18n.t("date.formats.decidim_short"))
rescue ArgumentError
- nil
+ coerce_fallback(value)
end
def type
Axiom::Types::Date
end
+
+ private
+
+ def coerce_fallback(value)
+ coercer.coercers[DateTime].public_send(type.coercion_method, value)
+ rescue Date::Error
+ nil
+ end
end
end
end
diff --git a/decidim-core/lib/decidim/attributes/time_with_zone.rb b/decidim-core/lib/decidim/attributes/time_with_zone.rb
index 634cd6778142d..55beb7d9d5825 100644
--- a/decidim-core/lib/decidim/attributes/time_with_zone.rb
+++ b/decidim-core/lib/decidim/attributes/time_with_zone.rb
@@ -10,12 +10,24 @@ def coerce(value)
Time.zone.strptime(value, I18n.t("time.formats.decidim_short"))
rescue ArgumentError
- nil
+ coerce_fallback(value)
end
def type
Axiom::Types::Time
end
+
+ private
+
+ def coerce_fallback(value)
+ fallback = coercer.coercers[Time].public_send(type.coercion_method, value)
+ return Time.zone.strptime(fallback.split(".").first, "%FT%R:%S") if fallback.is_a?(String)
+ return nil unless fallback.is_a?(Time)
+
+ ActiveSupport::TimeWithZone.new(fallback, Time.zone)
+ rescue ArgumentError, TypeError
+ nil
+ end
end
end
end
diff --git a/decidim-core/lib/decidim/content_parsers/hashtag_parser.rb b/decidim-core/lib/decidim/content_parsers/hashtag_parser.rb
index c39adb9d1742d..478ca6a912d21 100644
--- a/decidim-core/lib/decidim/content_parsers/hashtag_parser.rb
+++ b/decidim-core/lib/decidim/content_parsers/hashtag_parser.rb
@@ -18,7 +18,7 @@ class HashtagParser < BaseParser
# Matches a hashtag if it starts with a letter or number
# and only contains letters, numbers or underscores.
- HASHTAG_REGEX = /\s\K\B#([[:alnum:]](?:[[:alnum:]]|_)*)\b/i.freeze
+ HASHTAG_REGEX = /(?:\A|\s\K)\B#([[:alnum:]](?:[[:alnum:]]|_)*)\b/i.freeze
# Replaces hashtags name with new or existing hashtags models global ids.
#
diff --git a/decidim-core/lib/decidim/core/engine.rb b/decidim-core/lib/decidim/core/engine.rb
index cb9665fccfb24..e8371b55a53f4 100644
--- a/decidim-core/lib/decidim/core/engine.rb
+++ b/decidim-core/lib/decidim/core/engine.rb
@@ -531,11 +531,6 @@ class Engine < ::Rails::Engine
end
initializer "decidim.core.add_badges" do
- Decidim::Gamification.register_badge(:invitations) do |badge|
- badge.levels = [1, 5, 10, 30, 50]
- badge.reset = ->(user) { Decidim::User.where(invited_by: user.id).count }
- end
-
Decidim::Gamification.register_badge(:followers) do |badge|
badge.levels = [1, 15, 30, 60, 100]
badge.reset = ->(user) { user.followers.count }
diff --git a/decidim-core/lib/decidim/core/test.rb b/decidim-core/lib/decidim/core/test.rb
index 27f6197f5b461..cca64f97b4d8c 100644
--- a/decidim-core/lib/decidim/core/test.rb
+++ b/decidim-core/lib/decidim/core/test.rb
@@ -72,3 +72,6 @@
require "decidim/core/test/shared_examples/assembly_announcements_examples"
require "decidim/core/test/shared_examples/translated_event_examples"
require "decidim/core/test/shared_examples/conversations_examples"
+require "decidim/core/test/shared_examples/versions_controller_examples"
+require "decidim/core/test/shared_examples/resource_endorsed_event_examples"
+require "decidim/core/test/shared_examples/mcell_examples"
diff --git a/decidim-core/lib/decidim/core/test/shared_examples/mcell_examples.rb b/decidim-core/lib/decidim/core/test/shared_examples/mcell_examples.rb
new file mode 100644
index 0000000000000..9c1655a1aa705
--- /dev/null
+++ b/decidim-core/lib/decidim/core/test/shared_examples/mcell_examples.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+shared_examples_for "m-cell" do |model_name|
+ context "with decorated title" do
+ let(:cell_model) { send(model_name) }
+
+ before do
+ cell_model.update!(title: { en: "Model decorated title" })
+ end
+
+ it "renders the escaped title correctly" do
+ expect(cell_html.to_s).to include("Model <strong>decorated title</strong>")
+ end
+ end
+end
diff --git a/decidim-core/lib/decidim/core/test/shared_examples/resource_endorsed_event_examples.rb b/decidim-core/lib/decidim/core/test/shared_examples/resource_endorsed_event_examples.rb
new file mode 100644
index 0000000000000..9bf6fd0d306f7
--- /dev/null
+++ b/decidim-core/lib/decidim/core/test/shared_examples/resource_endorsed_event_examples.rb
@@ -0,0 +1,60 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+shared_examples_for "resource endorsed event" do
+ include_context "when a simple event"
+
+ let(:event_name) { "decidim.events.resource_endorsed" }
+ let(:author) { create :user, organization: resource.organization }
+
+ let(:extra) { { endorser_id: author.id } }
+ let(:endorsement) { create :endorsement, resource: resource, author: author }
+ let(:resource_path) { resource_locator(resource).path }
+ let(:follower) { create(:user, organization: resource.organization) }
+ let(:follow) { create(:follow, followable: author, user: follower) }
+
+ it_behaves_like "a simple event"
+
+ describe "types" do
+ subject { described_class }
+
+ it "supports notifications" do
+ expect(subject.types).to include :notification
+ end
+
+ it "supports emails" do
+ expect(subject.types).to include :email
+ end
+ end
+
+ describe "email_subject" do
+ it "is generated correctly" do
+ expect(subject.email_subject).to eq("#{author_presenter.nickname} has performed a new endorsement")
+ end
+ end
+
+ describe "email_intro" do
+ it "is generated correctly" do
+ expect(subject.email_intro)
+ .to eq("#{author.name} #{author_presenter.nickname}, who you are following," \
+ " has just endorsed \"#{translated resource.title}\" and we think it may be interesting to you. Check it out and contribute:")
+ end
+ end
+
+ describe "notification_title" do
+ it "is generated correctly" do
+ expect(subject.notification_title)
+ .to include("The #{translated resource.title} #{resource_type} has been endorsed by ")
+
+ expect(subject.notification_title)
+ .to include("#{author.name} #{author_presenter.nickname}.")
+ end
+ end
+
+ describe "resource_text" do
+ it "shows the resource text" do
+ expect(subject.resource_text).to eq resource_text
+ end
+ end
+end
diff --git a/decidim-core/lib/decidim/core/test/shared_examples/versions_controller_examples.rb b/decidim-core/lib/decidim/core/test/shared_examples/versions_controller_examples.rb
new file mode 100644
index 0000000000000..aaa02f1eab94a
--- /dev/null
+++ b/decidim-core/lib/decidim/core/test/shared_examples/versions_controller_examples.rb
@@ -0,0 +1,40 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+shared_examples "versions controller" do
+ let(:base_params) do
+ if resource.is_a?(Decidim::Participable)
+ { "#{resource.model_name.singular_route_key}_slug".to_sym => resource.slug }
+ else
+ { "#{resource.model_name.singular_route_key}_id".to_sym => resource.id }
+ end
+ end
+
+ before do
+ request.env["decidim.current_organization"] = resource.organization
+
+ if resource.is_a?(Decidim::HasComponent)
+ request.env["decidim.current_participatory_space"] = resource.participatory_space
+ request.env["decidim.current_component"] = resource.component
+ end
+ end
+
+ describe "GET show" do
+ context "with an existing version" do
+ it "returns a HTTP 200" do
+ get :show, params: base_params.merge(id: 1)
+
+ expect(response).to have_http_status(:ok)
+ end
+ end
+
+ context "when the resource does not exist" do
+ it "raises a routing error" do
+ expect do
+ get :show, params: base_params.merge(id: 999_999_999)
+ end.to raise_error(ActionController::RoutingError)
+ end
+ end
+ end
+end
diff --git a/decidim-core/lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb b/decidim-core/lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb
index f16fab533f9af..5d4500fb16b68 100644
--- a/decidim-core/lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb
+++ b/decidim-core/lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb
@@ -5,7 +5,7 @@
# users of this test should delare the `subject` variable.
shared_examples "with endorsable permissions can perform actions related to endorsable" do
let(:action_subject) { :endorsement }
- let(:resource) { create :dummy_resource }
+ let(:resource) { create :dummy_resource, component: component }
before do
context[:current_settings] = double(current_settings)
context[:resource] = resource
diff --git a/decidim-core/lib/decidim/core/version.rb b/decidim-core/lib/decidim/core/version.rb
index 8c2551c02dcb1..8aae5a2b5a243 100644
--- a/decidim-core/lib/decidim/core/version.rb
+++ b/decidim-core/lib/decidim/core/version.rb
@@ -4,7 +4,7 @@ module Decidim
# This holds the decidim-core version.
module Core
def self.version
- "0.26.2"
+ "0.26.4"
end
end
end
diff --git a/decidim-core/lib/decidim/form_builder.rb b/decidim-core/lib/decidim/form_builder.rb
index 4c3d5373a7762..78786548e6335 100644
--- a/decidim-core/lib/decidim/form_builder.rb
+++ b/decidim-core/lib/decidim/form_builder.rb
@@ -47,7 +47,7 @@ def collection_radio_buttons(attribute, collection, value_attribute, text_attrib
# rubocop:enable Metrics/ParameterLists
def create_language_selector(locales, tabs_id, name)
- if Decidim.available_locales.count > 4
+ if locales.count > 4
language_selector_select(locales, tabs_id, name)
else
language_tabs(locales, tabs_id, name)
@@ -380,7 +380,14 @@ def date_field(attribute, options = {})
def datetime_field(attribute, options = {})
value = object.send(attribute)
data = { datepicker: "", timepicker: "" }
- data[:startdate] = I18n.l(value, format: :decidim_short) if value.present? && value.is_a?(ActiveSupport::TimeWithZone)
+ if value.present?
+ case value
+ when ActiveSupport::TimeWithZone
+ data[:startdate] = I18n.l(value, format: :decidim_short)
+ when Time, DateTime
+ data[:startdate] = I18n.l(value.in_time_zone(Time.zone), format: :decidim_short)
+ end
+ end
datepicker_format = ruby_format_to_datepicker(I18n.t("time.formats.decidim_short"))
data[:"date-format"] = datepicker_format
diff --git a/decidim-core/lib/decidim/has_resource_permission.rb b/decidim-core/lib/decidim/has_resource_permission.rb
index 2f7556b7d94dd..df08794c63625 100644
--- a/decidim-core/lib/decidim/has_resource_permission.rb
+++ b/decidim-core/lib/decidim/has_resource_permission.rb
@@ -14,8 +14,6 @@ module HasResourcePermission
delegate :resource_manifest, :resource_key, to: :class
- alias_method :manifest, :resource_manifest
-
# Public: Whether the permissions for this object actions can be set at resource level.
def allow_resource_permissions?
false
diff --git a/decidim-core/lib/decidim/map/provider/dynamic_map/here.rb b/decidim-core/lib/decidim/map/provider/dynamic_map/here.rb
index 0bd725633c02b..7e35a2b079b28 100644
--- a/decidim-core/lib/decidim/map/provider/dynamic_map/here.rb
+++ b/decidim-core/lib/decidim/map/provider/dynamic_map/here.rb
@@ -33,7 +33,7 @@ def tile_layer_configuration
)
end
- base_config.merge(api_key: api_key)
+ base_config.merge(api_key: api_key, language: language_code)
end
# A builder for the HERE maps which needs to be configured differently
@@ -44,6 +44,51 @@ def javascript_snippets
template.javascript_pack_tag("decidim_map_provider_here", defer: false)
end
end
+
+ private
+
+ def language_code
+ primary = I18n.locale.to_s
+ secondary = primary.split("-")[0]
+ available_language_codes[primary] || available_language_codes[secondary] || ""
+ end
+
+ def available_language_codes
+ @available_language_codes ||= {
+ "ar" => "ara", # Arabic
+ "eu" => "baq", # Basque
+ "ca" => "cat", # Catalan
+ "zh" => "chi", # Chinese (simplified)
+ # "" => "cht", # Chinese (traditional)
+ "cs" => "cze", # Czech
+ "da" => "dan", # Danish
+ "nl" => "dut", # Dutch
+ "en" => "eng", # English
+ "fi" => "fin", # Finnish
+ "fr" => "fre", # French
+ "de" => "ger", # German
+ "ga" => "gle", # Gaelic
+ "el" => "gre", # Greek
+ "he" => "heb", # Hebrew
+ "hi" => "hin", # Hindi
+ "id" => "ind", # Indonesian
+ "it" => "ita", # Italian
+ "no" => "nor", # Norwegian
+ "fa" => "per", # Persian
+ "pl" => "pol", # Polish
+ "pt" => "por", # Portuguese
+ "ru" => "rus", # Russian
+ "si" => "sin", # Sinhalese
+ "es" => "spa", # Spanish
+ "sv" => "swe", # Swedish
+ "th" => "tha", # Thai
+ "tr" => "tur", # Turkish
+ "uk" => "ukr", # Ukrainian
+ "ur" => "urd", # Urdu
+ "vi" => "vie", # Vietnamese
+ "cy" => "wel" # Welsh
+ }
+ end
end
end
end
diff --git a/decidim-core/lib/decidim/nicknamizable.rb b/decidim-core/lib/decidim/nicknamizable.rb
index 8239cbd5dfdc8..615a71328ff08 100644
--- a/decidim-core/lib/decidim/nicknamizable.rb
+++ b/decidim-core/lib/decidim/nicknamizable.rb
@@ -52,7 +52,7 @@ def disambiguate(name, scope)
candidate = name
2.step do |n|
- return candidate unless exists?(scope.merge(nickname: candidate))
+ return candidate if Decidim::UserBaseEntity.where("nickname ILIKE ?", candidate.downcase).where(scope).empty?
candidate = numbered_variation_of(name, n)
end
diff --git a/decidim-core/lib/decidim/resourceable.rb b/decidim-core/lib/decidim/resourceable.rb
index 66182a9752b6e..c05553b90a7ad 100644
--- a/decidim-core/lib/decidim/resourceable.rb
+++ b/decidim-core/lib/decidim/resourceable.rb
@@ -25,8 +25,8 @@ module Resourceable
# link_name - The String name of the link between this model and the target resource.
#
# Returns an ActiveRecord::Relation.
- def linked_resources(resource_name, link_name)
- scope = sibling_scope(resource_name)
+ def linked_resources(resource_name, link_name, component_published: true)
+ scope = sibling_scope(resource_name, component_published: component_published)
from = scope
.joins(:resource_links_from)
@@ -45,14 +45,15 @@ def linked_resources(resource_name, link_name)
# resource_name - The String name of the resource manifest exposed by a component.
#
# Returns an ActiveRecord::Relation.
- def sibling_scope(resource_name)
+ def sibling_scope(resource_name, component_published: true)
manifest = Decidim.find_resource_manifest(resource_name)
return self.class.none unless manifest
scope = manifest.resource_scope(component)
scope = scope.where("#{self.class.table_name}.id != ?", id) if manifest.model_class == self.class
scope = scope.not_hidden if manifest.model_class.respond_to?(:not_hidden)
- scope.includes(:component).where.not(decidim_components: { published_at: nil })
+ scope = scope.includes(:component).where.not(decidim_components: { published_at: nil }) if component_published
+ scope
end
# Links the given resources to this model, replaces any previous links with the same name.
diff --git a/decidim-core/lib/decidim/settings_manifest.rb b/decidim-core/lib/decidim/settings_manifest.rb
index 6f654fea87112..92f1efcfcf759 100644
--- a/decidim-core/lib/decidim/settings_manifest.rb
+++ b/decidim-core/lib/decidim/settings_manifest.rb
@@ -97,7 +97,7 @@ class Attribute
enum: { klass: String, default: nil },
select: { klass: String, default: nil },
scope: { klass: Integer, default: nil },
- time: { klass: Time, default: nil }
+ time: { klass: Decidim::Attributes::TimeWithZone, default: nil }
}.freeze
attribute :type, Symbol, default: :boolean
diff --git a/decidim-core/lib/decidim/translatable_attributes.rb b/decidim-core/lib/decidim/translatable_attributes.rb
index 8deb3338b9fce..13901f6a6fd50 100644
--- a/decidim-core/lib/decidim/translatable_attributes.rb
+++ b/decidim-core/lib/decidim/translatable_attributes.rb
@@ -43,7 +43,14 @@ def translatable_attribute(name, type, *options)
define_method attribute_name do
field = public_send(name) || {}
- value = field[locale.to_s] || field[locale.to_sym]
+ value =
+ if field.is_a?(Hash)
+ field[locale.to_s] || field[locale.to_sym]
+ else
+ # The value may not be a hash in case the attribute type was
+ # changed and the old value is still stored against the record.
+ field
+ end
attribute_set[attribute_name].coerce(value)
end
diff --git a/decidim-core/spec/cells/decidim/amendable/announcement_cell_spec.rb b/decidim-core/spec/cells/decidim/amendable/announcement_cell_spec.rb
new file mode 100644
index 0000000000000..18a378f400e01
--- /dev/null
+++ b/decidim-core/spec/cells/decidim/amendable/announcement_cell_spec.rb
@@ -0,0 +1,27 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+describe Decidim::Amendable::AnnouncementCell, type: :cell do
+ subject { my_cell.call }
+
+ controller Decidim::PagesController
+
+ let(:my_cell) { cell("decidim/amendable/announcement", emendation) }
+ let!(:amendment) { create(:amendment, amendable: amendable, emendation: emendation) }
+ let(:component) { create(:proposal_component) }
+ let(:amendable) { create(:proposal, component: component, title: %(Testing proposal)) }
+ let(:emendation) { create(:proposal, component: component) }
+ let!(:linked_proposal) do
+ pr = create(:proposal, component: component)
+ emendation.link_resources(pr, "created_from_rejected_emendation")
+ pr
+ end
+ let(:link_to_amendable) { ::Decidim::ResourceLocatorPresenter.new(amendable).path }
+
+ it "renders the link to the amendable resource" do
+ expect(subject.to_s).to include(
+ %(Testing proposal)
+ )
+ end
+end
diff --git a/decidim-core/spec/cells/decidim/card_m_cell_spec.rb b/decidim-core/spec/cells/decidim/card_m_cell_spec.rb
new file mode 100644
index 0000000000000..1cdc66a33f430
--- /dev/null
+++ b/decidim-core/spec/cells/decidim/card_m_cell_spec.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+describe Decidim::CardMCell, type: :cell do
+ subject { cell_html }
+
+ controller Decidim::PagesController
+
+ let!(:model) { create(:dummy_resource) }
+ let(:my_cell) { cell("decidim/card_m", model) }
+ let(:cell_html) { my_cell.call }
+
+ before do
+ allow(model).to receive(:description).and_return(model.body)
+ end
+
+ it_behaves_like "m-cell", :model
+end
diff --git a/decidim-core/spec/cells/decidim/content_blocks/stats_cell_spec.rb b/decidim-core/spec/cells/decidim/content_blocks/stats_cell_spec.rb
new file mode 100644
index 0000000000000..5267e5b60b3e7
--- /dev/null
+++ b/decidim-core/spec/cells/decidim/content_blocks/stats_cell_spec.rb
@@ -0,0 +1,55 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+describe Decidim::ContentBlocks::StatsCell, type: :cell do
+ subject { stats_cell.call }
+
+ let(:organization) { create(:organization) }
+ let(:content_block) { create :content_block, organization: organization, manifest_name: :stats, scope_name: :homepage }
+ let(:stats_cell) { cell(content_block.cell, content_block) }
+
+ let!(:users) { create_list(:user, 10, :confirmed, organization: organization) }
+ let!(:processes) { create_list(:participatory_process, 5, organization: organization) }
+
+ let(:other_organization) { create(:organization) }
+ let!(:other_users) { create_list(:user, 3, :confirmed, organization: other_organization) }
+ let!(:other_processes) { create_list(:participatory_process, 2, organization: other_organization) }
+
+ controller Decidim::PagesController
+
+ before do
+ allow(controller).to receive(:current_organization).and_return(organization)
+ end
+
+ it "renders the correct stats" do
+ expect(subject.find(".statistic__data.users_count .statistic__number")).to have_text("10")
+ expect(subject.find(".statistic__data.processes_count .statistic__number")).to have_text("5")
+ end
+
+ describe "#cache_hash" do
+ subject { stats_cell.send(:cache_hash) }
+
+ let!(:other_cell) { cell(other_content_block.cell, other_content_block) }
+ let(:other_content_block) { create :content_block, organization: other_organization, manifest_name: :stats, scope_name: :homepage }
+
+ it "generate a unique hash per organization" do
+ target_hash = subject
+
+ allow(controller).to receive(:current_organization).and_return(other_organization)
+ expect(target_hash).not_to eq(other_cell.send(:cache_hash))
+ end
+
+ context "when switching locale" do
+ let(:alt_locale) { :ca }
+
+ before do
+ allow(I18n).to receive(:locale).and_return(alt_locale)
+ end
+
+ it "generates a different hash" do
+ expect(subject).not_to match(/en$/)
+ end
+ end
+ end
+end
diff --git a/decidim-core/spec/content_parsers/decidim/hashtag_parser_spec.rb b/decidim-core/spec/content_parsers/decidim/hashtag_parser_spec.rb
index 71a93bd6e7d64..47f4918716336 100644
--- a/decidim-core/spec/content_parsers/decidim/hashtag_parser_spec.rb
+++ b/decidim-core/spec/content_parsers/decidim/hashtag_parser_spec.rb
@@ -90,6 +90,13 @@ module Decidim
it_behaves_like "find and stores the hashtags references"
end
+ context "when the hashtag is at the beginning of the string" do
+ let(:content) { "##{hashtag.name} is at the beginning of the string" }
+ let(:parsed_content) { "#{hashtag.to_global_id}/#{hashtag.name} is at the beginning of the string" }
+
+ it_behaves_like "find and stores the hashtags references"
+ end
+
context "when content contains an URL with a fragment (aka anchor link)" do
let(:content) { "You can add an URL and this shouldn't be parsed http://www.example.org/path##{hashtag.name}" }
let(:parsed_content) { "You can add an URL and this shouldn't be parsed http://www.example.org/path#fragment" }
diff --git a/decidim-core/spec/controllers/decidim/devise/invitations_controller_spec.rb b/decidim-core/spec/controllers/decidim/devise/invitations_controller_spec.rb
new file mode 100644
index 0000000000000..ad72eadae332c
--- /dev/null
+++ b/decidim-core/spec/controllers/decidim/devise/invitations_controller_spec.rb
@@ -0,0 +1,75 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+module Decidim::Devise
+ describe InvitationsController, type: :controller do
+ routes { Decidim::Core::Engine.routes }
+
+ let(:organization) { create(:organization) }
+ let(:inviter) { create(:user, :admin, organization: organization) }
+ let(:invitation_params) do
+ {
+ organization: organization,
+ name: "Invited User",
+ email: "inviteduser@example.org"
+ }
+ end
+ let!(:user) { Decidim::User.invite!(invitation_params, inviter) }
+
+ before do
+ request.env["decidim.current_organization"] = organization
+ request.env["devise.mapping"] = ::Devise.mappings[:user]
+ end
+
+ describe "accepting invitation" do
+ let(:password) { "decidim123456789" }
+ let(:registration_params) do
+ {
+ invitation_token: user.raw_invitation_token,
+ nickname: "invited_user",
+ password: password,
+ password_confirmation: password
+ }
+ end
+
+ it "responds to the edit path" do
+ get :edit, params: { invitation_token: user.raw_invitation_token }
+ expect(response.status).to eq(200)
+ end
+
+ it "redirects to the provided path" do
+ post :update, params: { user: registration_params }
+ expect(response).to redirect_to("/")
+ end
+
+ context "when an invite redirect is provided" do
+ it "redirects to the redirect path" do
+ post :update, params: { invite_redirect: "/admin/", user: registration_params }
+ expect(response).to redirect_to("/admin/")
+ end
+
+ context "with a full HTTP URL" do
+ it "redirects to the default path" do
+ post :update, params: { invite_redirect: "http://example.org", user: registration_params }
+ expect(response).to redirect_to("/")
+ end
+ end
+
+ context "with a full HTTPS URL" do
+ it "redirects to the default path" do
+ post :update, params: { invite_redirect: "https://example.org", user: registration_params }
+ expect(response).to redirect_to("/")
+ end
+ end
+
+ context "with a URL without protocol" do
+ it "redirects to the default path" do
+ post :update, params: { invite_redirect: "//example.org", user: registration_params }
+ expect(response).to redirect_to("/")
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/decidim-core/spec/controllers/registrations_controller_spec.rb b/decidim-core/spec/controllers/registrations_controller_spec.rb
index 2c0596124e8ad..542cea40085bb 100644
--- a/decidim-core/spec/controllers/registrations_controller_spec.rb
+++ b/decidim-core/spec/controllers/registrations_controller_spec.rb
@@ -56,6 +56,44 @@ def send_form_and_expect_rendering_the_new_template_again
it "renders the new template" do
send_form_and_expect_rendering_the_new_template_again
end
+
+ it "adds the flash message" do
+ post :create, params: params
+ expect(controller.flash.now[:alert]).to have_content("Your email can't be blank")
+ end
+
+ context "when all params are invalid" do
+ let(:params) do
+ {
+ user: {
+ sign_up_as: "",
+ name: "",
+ nickname: "",
+ email: email,
+ password: "123",
+ password_confirmation: "456",
+ tos_agreement: "0",
+ newsletter: "0"
+ }
+ }
+ end
+
+ it "adds the flash message" do
+ post :create, params: params
+ expect(controller.flash.now[:alert]).to have_content(
+ [
+ "Your name can't be blank",
+ "Nickname can't be blank",
+ "Nickname is invalid",
+ "Your email can't be blank",
+ "Confirm your password doesn't match Password",
+ "Password is too short",
+ "Password does not have enough unique characters",
+ "Terms and conditions of use agreement must be accepted"
+ ].join(", ")
+ )
+ end
+ end
end
context "when the registering user has pending invitations" do
diff --git a/decidim-core/spec/events/decidim/resource_endorsed_event_spec.rb b/decidim-core/spec/events/decidim/resource_endorsed_event_spec.rb
index 64a42e69435f9..a5ff09ac63df0 100644
--- a/decidim-core/spec/events/decidim/resource_endorsed_event_spec.rb
+++ b/decidim-core/spec/events/decidim/resource_endorsed_event_spec.rb
@@ -3,59 +3,9 @@
require "spec_helper"
describe Decidim::ResourceEndorsedEvent do
- include_context "when a simple event"
-
- let(:event_name) { "decidim.events.resource_endorsed" }
- let(:author) { create :user, organization: resource.organization }
-
- let(:extra) { { endorser_id: author.id } }
let(:resource) { create :dummy_resource, title: { en: "My super dummy resource" } }
- let(:endorsement) { create :endorsement, resource: resource, author: author }
- let(:resource_path) { resource_locator(resource).path }
- let(:follower) { create(:user, organization: resource.organization) }
- let(:follow) { create(:follow, followable: author, user: follower) }
-
- it_behaves_like "a simple event"
-
- describe "types" do
- subject { described_class }
-
- it "supports notifications" do
- expect(subject.types).to include :notification
- end
-
- it "supports emails" do
- expect(subject.types).to include :email
- end
- end
-
- describe "email_subject" do
- it "is generated correctly" do
- expect(subject.email_subject).to eq("#{author_presenter.nickname} has performed a new endorsement")
- end
- end
-
- describe "email_intro" do
- it "is generated correctly" do
- expect(subject.email_intro)
- .to eq("#{author.name} #{author_presenter.nickname}, who you are following," \
- " has just endorsed \"#{translated resource.title}\" and we think it may be interesting to you. Check it out and contribute:")
- end
- end
-
- describe "notification_title" do
- it "is generated correctly" do
- expect(subject.notification_title)
- .to include("The #{translated resource.title} Dummy resource has been endorsed by ")
-
- expect(subject.notification_title)
- .to include("#{author.name} #{author_presenter.nickname}.")
- end
- end
+ let(:resource_type) { "Dummy resource" }
+ let(:resource_text) { resource.body }
- describe "resource_text" do
- it "shows the resource body" do
- expect(subject.resource_text).to eq resource.body
- end
- end
+ it_behaves_like "resource endorsed event"
end
diff --git a/decidim-core/spec/forms/account_form_spec.rb b/decidim-core/spec/forms/account_form_spec.rb
index d415d749170c8..a10d8e8d3dc2c 100644
--- a/decidim-core/spec/forms/account_form_spec.rb
+++ b/decidim-core/spec/forms/account_form_spec.rb
@@ -49,6 +49,24 @@ module Decidim
end
end
+ describe "name" do
+ context "with an empty name" do
+ let(:name) { "" }
+
+ it "is invalid" do
+ expect(subject).not_to be_valid
+ end
+ end
+
+ context "with invalid characters" do
+ let(:name) { "foo@bar" }
+
+ it "is invalid" do
+ expect(subject).not_to be_valid
+ end
+ end
+ end
+
describe "email" do
context "with an empty email" do
let(:email) { "" }
diff --git a/decidim-core/spec/forms/registration_form_spec.rb b/decidim-core/spec/forms/registration_form_spec.rb
index 237a333318cca..3ccc0a35e8f02 100644
--- a/decidim-core/spec/forms/registration_form_spec.rb
+++ b/decidim-core/spec/forms/registration_form_spec.rb
@@ -111,6 +111,18 @@ module Decidim
it { is_expected.to be_invalid }
end
+ context "when the name is an email" do
+ let(:name) { "test@example.org" }
+
+ it { is_expected.to be_invalid }
+ end
+
+ context "when the nickname has spaces" do
+ let(:nickname) { "test example" }
+
+ it { is_expected.to be_invalid }
+ end
+
context "when the password is not present" do
let(:password) { nil }
diff --git a/decidim-core/spec/lib/attributes/localized_date_spec.rb b/decidim-core/spec/lib/attributes/localized_date_spec.rb
index 92cebadc13d05..fc4a25e24b844 100644
--- a/decidim-core/spec/lib/attributes/localized_date_spec.rb
+++ b/decidim-core/spec/lib/attributes/localized_date_spec.rb
@@ -43,6 +43,14 @@ module Decidim
expect(subject).to eq(nil)
end
end
+
+ context "with serialized ISO 8601 datetime format" do
+ let(:value) { "2017-02-01" }
+
+ it "parses the String in the correct format" do
+ expect(subject).to eq(Date.new(2017, 2, 1))
+ end
+ end
end
end
end
diff --git a/decidim-core/spec/lib/attributes/time_with_timezone_spec.rb b/decidim-core/spec/lib/attributes/time_with_timezone_spec.rb
index 8493775a9d117..edeb5916faa0b 100644
--- a/decidim-core/spec/lib/attributes/time_with_timezone_spec.rb
+++ b/decidim-core/spec/lib/attributes/time_with_timezone_spec.rb
@@ -18,7 +18,7 @@ module Decidim
context "when given a String" do
let(:value) { "01/02/2017 15:00" }
- context "and in a different timezone" do
+ context "with a different timezone" do
it "parses the String in the correct timezone" do
Time.use_zone("CET") do
expect(subject.utc.to_s).to eq("2017-02-01 14:00:00 UTC")
@@ -46,13 +46,21 @@ module Decidim
end
end
- context "and an incorrect format" do
+ context "with incorrect format" do
let(:value) { "foo" }
it "returns nil" do
expect(subject).to eq(nil)
end
end
+
+ context "with serialized ISO 8601 datetime format" do
+ let(:value) { "2017-02-01T15:00:00.000Z" }
+
+ it "parses the String in the correct format" do
+ expect(subject.utc.to_s).to eq("2017-02-01 15:00:00 UTC")
+ end
+ end
end
end
end
diff --git a/decidim-core/spec/lib/form_builder_spec.rb b/decidim-core/spec/lib/form_builder_spec.rb
index 17077ad208062..d0c7324cb0e56 100644
--- a/decidim-core/spec/lib/form_builder_spec.rb
+++ b/decidim-core/spec/lib/form_builder_spec.rb
@@ -353,13 +353,70 @@ def organization
end
describe "datetime_field" do
- context "when the resource has errors" do
+ let(:output) do
+ builder.datetime_field :start_time
+ end
+
+ context "when the start_time is set as ActiveSupport::TimeWithZone" do
before do
- resource.valid?
+ resource.start_time = Time.parse("2017-02-01T15:00:00.000Z").in_time_zone("UTC")
end
- let(:output) do
- builder.datetime_field :start_time
+ it { expect(resource.start_time).to be_a(ActiveSupport::TimeWithZone) }
+
+ it "formats the start date correctly" do
+ expect(parsed.css("input").first.attr("data-startdate")).to eq("01/02/2017 15:00")
+ end
+
+ context "with another timezone", tz: "Helsinki" do
+ it "formats the start date in the original time zone" do
+ # Note: this case is correct because it should preserve the zone stored within the value itself.
+ expect(parsed.css("input").first.attr("data-startdate")).to eq("01/02/2017 15:00")
+ end
+ end
+ end
+
+ context "when the start_time is set as Time" do
+ before do
+ # rubocop:disable Rails/TimeZone
+ resource.start_time = Time.parse("2017-02-01T15:00:00.000Z")
+ # rubocop:enable Rails/TimeZone
+ end
+
+ it { expect(resource.start_time).to be_a(DateTime) }
+
+ it "formats the start date correctly" do
+ expect(parsed.css("input").first.attr("data-startdate")).to eq("01/02/2017 15:00")
+ end
+
+ context "with another timezone", tz: "Helsinki" do
+ it "formats the start date in the correct time zone" do
+ expect(parsed.css("input").first.attr("data-startdate")).to eq("01/02/2017 17:00")
+ end
+ end
+ end
+
+ context "when the start_time is set as DateTime" do
+ before do
+ resource.start_time = DateTime.parse("2017-02-01T15:00:00.000Z") # rubocop:disable Style/DateTime
+ end
+
+ it { expect(resource.start_time).to be_a(DateTime) }
+
+ it "formats the start date correctly" do
+ expect(parsed.css("input").first.attr("data-startdate")).to eq("01/02/2017 15:00")
+ end
+
+ context "with another timezone", tz: "Helsinki" do
+ it "formats the start date in the correct time zone" do
+ expect(parsed.css("input").first.attr("data-startdate")).to eq("01/02/2017 17:00")
+ end
+ end
+ end
+
+ context "when the resource has errors" do
+ before do
+ resource.valid?
end
it "renders the input with the proper class" do
diff --git a/decidim-core/spec/lib/map/provider/dynamic_map/here_spec.rb b/decidim-core/spec/lib/map/provider/dynamic_map/here_spec.rb
index 9b669b4fa16af..14732ca800953 100644
--- a/decidim-core/spec/lib/map/provider/dynamic_map/here_spec.rb
+++ b/decidim-core/spec/lib/map/provider/dynamic_map/here_spec.rb
@@ -31,11 +31,41 @@ module DynamicMap
expect(subject.builder_options).to eq(
marker_color: "#ef604d",
tile_layer: {
- api_key: "key1234", foo: "bar"
+ api_key: "key1234", foo: "bar", language: "eng"
}
)
end
+ context "with different locale configuration" do
+ before do
+ allow(I18n.config).to receive(:enforce_available_locales).and_return(false)
+ end
+
+ after do
+ I18n.locale = "en"
+ end
+
+ it "returns the correct builder options for CA" do
+ I18n.locale = "ca"
+ expect(subject.builder_options).to eq(
+ marker_color: "#ef604d",
+ tile_layer: {
+ api_key: "key1234", foo: "bar", language: "cat"
+ }
+ )
+ end
+
+ it "returns the correct builder options for ES" do
+ I18n.locale = "es"
+ expect(subject.builder_options).to eq(
+ marker_color: "#ef604d",
+ tile_layer: {
+ api_key: "key1234", foo: "bar", language: "spa"
+ }
+ )
+ end
+ end
+
context "with legacy style API key configuration" do
let(:config) do
{
diff --git a/decidim-core/spec/lib/nicknamizable_spec.rb b/decidim-core/spec/lib/nicknamizable_spec.rb
index 9f8aa399ffd9d..e0cb4f7f4dcec 100644
--- a/decidim-core/spec/lib/nicknamizable_spec.rb
+++ b/decidim-core/spec/lib/nicknamizable_spec.rb
@@ -41,24 +41,32 @@ class DummyTestUser < ApplicationRecord
expect(nickname.length).to eq(20)
end
- it "resolves conflicts with current nicknames" do
- create(:user, nickname: "ana_pastor")
+ shared_examples "resolves existing conflicts" do |factory|
+ it "resolves conflicts with current nicknames" do
+ create(factory, nickname: "ana_pastor")
- expect(subject.nicknamize("ana_pastor")).to eq("ana_pastor_2")
- end
+ expect(subject.nicknamize("ana_pastor")).to eq("ana_pastor_2")
+ end
+
+ it "resolves conflicts with long current nicknames" do
+ create(factory, nickname: "felipe_rocks_so_much")
- it "resolves conflicts with long current nicknames" do
- create(:user, nickname: "felipe_rocks_so_much")
+ expect(subject.nicknamize("Felipe Rocks So Much")).to eq("felipe_rocks_so_mu_2")
+ end
+
+ it "resolves conflicts with other existing nicknames" do
+ create(factory, nickname: "existing")
+ create(factory, nickname: "existing_1")
+ create(factory, nickname: "existing_2")
- expect(subject.nicknamize("Felipe Rocks So Much")).to eq("felipe_rocks_so_mu_2")
+ expect(subject.nicknamize("existing")).to eq("existing_3")
+ end
end
- it "resolves conflicts with other existing nicknames" do
- create(:user, nickname: "existing")
- create(:user, nickname: "existing_1")
- create(:user, nickname: "existing_2")
+ it_behaves_like "resolves existing conflicts", :user
- expect(subject.nicknamize("existing")).to eq("existing_3")
+ context "when user groups have the same nickname" do
+ it_behaves_like "resolves existing conflicts", :user_group
end
end
end
diff --git a/decidim-core/spec/lib/translatable_attributes_spec.rb b/decidim-core/spec/lib/translatable_attributes_spec.rb
index 2dbf39244dee8..dd4e87e272535 100644
--- a/decidim-core/spec/lib/translatable_attributes_spec.rb
+++ b/decidim-core/spec/lib/translatable_attributes_spec.rb
@@ -24,7 +24,7 @@ def self.model_name
allow(Decidim).to receive(:available_locales).and_return available_locales
end
- describe "#translatable_attribute do" do
+ describe "#translatable_attribute" do
before do
klass.class_eval do
translatable_attribute :name, String
@@ -53,6 +53,18 @@ def self.model_name
model.name_en = 1
expect(model.name_en).to eq("1")
end
+
+ context "when the stored value is a string" do
+ before do
+ allow(model).to receive(:name).and_return("Hello")
+ end
+
+ it "returns the stored value for the locale specific getters" do
+ expect(model.name_en).to eq("Hello")
+ expect(model.name_ca).to eq("Hello")
+ expect(model.name_pt__BR).to eq("Hello")
+ end
+ end
end
end
end
diff --git a/decidim-core/spec/mailers/notification_mailer_spec.rb b/decidim-core/spec/mailers/notification_mailer_spec.rb
index 64b65331109c6..be40e2ae8e21d 100644
--- a/decidim-core/spec/mailers/notification_mailer_spec.rb
+++ b/decidim-core/spec/mailers/notification_mailer_spec.rb
@@ -74,6 +74,51 @@ def button_url
expect(mail.body).to include(event_instance.button_url)
end
end
+
+ context "when the event has a linked resource" do
+ shared_examples "amendment notification mails" do
+ let!(:amendment) { create(:amendment, amendable: amendable, emendation: emendation) }
+ let(:component) { create(:proposal_component) }
+ let(:amendable) { create(:proposal, component: component) }
+ let(:emendation) { create(:proposal, component: component, title: %(Testing proposal)) }
+ let(:link_to_emendation) { ::Decidim::ResourceLocatorPresenter.new(emendation).url }
+ let(:resource) { emendation }
+
+ it "includes the link to the resource" do
+ expect(mail.body).to include(
+ %(Testing proposal)
+ )
+ end
+ end
+
+ context "when the amendment is created" do
+ let(:event_class_name) { "Decidim::Amendable::AmendmentCreatedEvent" }
+ let(:event) { "decidim.events.amendments.amendment_created" }
+
+ it_behaves_like "amendment notification mails"
+ end
+
+ context "when the amendment is accepted" do
+ let(:event_class_name) { "Decidim::Amendable::AmendmentAcceptedEvent" }
+ let(:event) { "decidim.events.amendments.amendment_accepted" }
+
+ it_behaves_like "amendment notification mails"
+ end
+
+ context "when the amendment is rejected" do
+ let(:event_class_name) { "Decidim::Amendable::AmendmentRejectedEvent" }
+ let(:event) { "decidim.events.amendments.amendment_rejected" }
+
+ it_behaves_like "amendment notification mails"
+ end
+
+ context "when the emendation is promoted" do
+ let(:event_class_name) { "Decidim::Amendable::EmendationPromotedEvent" }
+ let(:event) { "decidim.events.amendments.emendation_promoted" }
+
+ it_behaves_like "amendment notification mails"
+ end
+ end
end
end
end
diff --git a/decidim-core/spec/models/decidim/action_log_spec.rb b/decidim-core/spec/models/decidim/action_log_spec.rb
index 6e6cffd043b71..345fe18f88f9d 100644
--- a/decidim-core/spec/models/decidim/action_log_spec.rb
+++ b/decidim-core/spec/models/decidim/action_log_spec.rb
@@ -118,6 +118,19 @@
it { is_expected.to be_falsey }
end
+ context "when resource does not exist" do
+ before do
+ allow(Rails.logger).to receive(:warn).at_least(:once)
+ action_log.resource_type = "ANonExistingClass"
+ action_log.participatory_space.save!
+ end
+
+ it "creates a log entry" do
+ expect(subject).to be_falsey
+ expect(Rails.logger).to have_received(:warn).with(/Failed resource/).once
+ end
+ end
+
it { is_expected.to be_truthy }
end
end
diff --git a/decidim-core/spec/permissions/decidim/permissions_spec.rb b/decidim-core/spec/permissions/decidim/permissions_spec.rb
index 540a28ff49769..d5648d435bcd5 100644
--- a/decidim-core/spec/permissions/decidim/permissions_spec.rb
+++ b/decidim-core/spec/permissions/decidim/permissions_spec.rb
@@ -264,6 +264,8 @@
context "with a user" do
let(:user) { create :user }
+ let(:component) { create :component, :published, organization: user.organization }
+ let(:context) { { current_component: component } }
context "when user is a user manager" do
let(:user) { create :user, :user_manager }
diff --git a/decidim-core/spec/presenters/decidim/home_stats_presenter_spec.rb b/decidim-core/spec/presenters/decidim/home_stats_presenter_spec.rb
index 3b62d107d3fcc..8e825381cb2ed 100644
--- a/decidim-core/spec/presenters/decidim/home_stats_presenter_spec.rb
+++ b/decidim-core/spec/presenters/decidim/home_stats_presenter_spec.rb
@@ -13,6 +13,15 @@ module Decidim
let!(:assembly) { create(:assembly, :published, organization: organization) }
let!(:process_component) { create :component, participatory_space: process }
let!(:assembly_component) { create :component, participatory_space: assembly }
+ let(:extra_manifest) do
+ # The extra manifest registers the same stat as the actual component
+ # manifest to test that there are no duplicate stats in the results.
+ Decidim::ComponentManifest.new(name: :dummy_another).tap do |manifest|
+ manifest.register_stat :dummies_count_medium, primary: true, priority: Decidim::StatsRegistry::MEDIUM_PRIORITY do |components, _start_at, _end_at|
+ components.count
+ end
+ end
+ end
around do |example|
Decidim.stats.register :foo, priority: StatsRegistry::HIGH_PRIORITY, &proc { 10 }
@@ -28,6 +37,7 @@ module Decidim
before do
manifests = Decidim.component_manifests.select { |manifest| manifest.name == :dummy }
+ manifests << extra_manifest
allow(Decidim).to receive(:component_manifests).and_return(manifests)
end
@@ -48,7 +58,7 @@ module Decidim
it "renders a collection of medium priority stats" do
stats =
[{ stat_number: 20, stat_title: :bar },
- { stat_number: 200, stat_title: :dummies_count_medium }]
+ { stat_number: 202, stat_title: :dummies_count_medium }]
expect(subject.not_highlighted).to eq(stats)
end
diff --git a/decidim-core/spec/presenters/decidim/user_presenter_spec.rb b/decidim-core/spec/presenters/decidim/user_presenter_spec.rb
index cd2b6f5f29301..8d6b3cfef7986 100644
--- a/decidim-core/spec/presenters/decidim/user_presenter_spec.rb
+++ b/decidim-core/spec/presenters/decidim/user_presenter_spec.rb
@@ -9,7 +9,29 @@ module Decidim
describe "#nickname" do
subject { described_class.new(user).nickname }
- it { is_expected.to eq("@#{user.nickname}") }
+ context "when not blocked" do
+ it { is_expected.to eq("@#{user.nickname}") }
+ end
+
+ context "when blocked" do
+ before do
+ user.blocked = true
+ end
+
+ it { is_expected.to eq("") }
+ end
+ end
+
+ describe "#profile_url" do
+ subject { described_class.new(user).profile_url }
+
+ it { is_expected.to eq("http://#{user.organization.host}/profiles/#{user.nickname}") }
+ end
+
+ describe "#default_avatar_url" do
+ subject { described_class.new(user).default_avatar_url }
+
+ it { is_expected.to eq(ActionController::Base.helpers.asset_pack_path("media/images/default-avatar.svg")) }
end
context "when user is not officialized" do
diff --git a/decidim-core/spec/services/decidim/activity_search_spec.rb b/decidim-core/spec/services/decidim/activity_search_spec.rb
index 7b956889529e4..244dc68301413 100644
--- a/decidim-core/spec/services/decidim/activity_search_spec.rb
+++ b/decidim-core/spec/services/decidim/activity_search_spec.rb
@@ -117,6 +117,49 @@ def resource_types
end
end
+ context "when a public space has private users" do
+ let(:current_user) { create(:user, :confirmed, organization: organization) }
+ let(:user) { create(:user, :confirmed, organization: organization) }
+ let(:process) { create(:participatory_process, organization: organization) }
+ let(:assembly) { create(:assembly, organization: organization) }
+ let(:private_process) { create(:participatory_process, :private, organization: organization) }
+ let(:private_assembly) { create(:assembly, :private, organization: organization) }
+
+ let(:component) { create(:component, manifest_name: "dummy", participatory_space: process) }
+ let(:comment) { create(:comment, author: user, commentable: build(:dummy_resource, component: component)) }
+ let!(:log) { create(:action_log, action: "create", visibility: "public-only", resource: comment, participatory_space: process, user: user) }
+
+ let(:private_component) { create(:component, manifest_name: "dummy", participatory_space: private_process) }
+ let(:private_comment) { create(:comment, author: user, commentable: build(:dummy_resource, component: private_component)) }
+ let!(:private_log) { create(:action_log, action: "create", visibility: "public-only", resource: private_comment, participatory_space: private_process, user: user) }
+
+ before do
+ # Note that it is possible to add private users also to public processes
+ # and assemblies, there is no programming logic forbidding that to happen.
+ [process, assembly, private_process, private_assembly].each do |space|
+ 10.times { create(:participatory_space_private_user, user: build(:user, :confirmed, organization: organization), privatable_to: space) } # rubocop:disable FactoryBot/CreateList
+ end
+
+ # Add the user to both private spaces
+ create(:participatory_space_private_user, user: user, privatable_to: private_process)
+ create(:participatory_space_private_user, user: user, privatable_to: private_assembly)
+ end
+
+ it "does not return duplicates" do
+ expect(subject.count).to eq(1)
+ end
+
+ context "when the current user has access to the private space" do
+ before do
+ create(:participatory_space_private_user, user: current_user, privatable_to: private_process)
+ end
+
+ it "returns also the private comment without duplicates" do
+ expect(subject.count).to eq(2)
+ end
+ end
+ end
+
context "with followed resources and interesting scopes" do
let(:comment) { create(:comment) }
let(:user) { create(:user, organization: organization) }
diff --git a/decidim-core/spec/system/data_portability_spec.rb b/decidim-core/spec/system/data_portability_spec.rb
index bd9086dc2361a..b1c07664e8e0d 100644
--- a/decidim-core/spec/system/data_portability_spec.rb
+++ b/decidim-core/spec/system/data_portability_spec.rb
@@ -18,7 +18,7 @@
describe "show button export data" do
it "export the user's data" do
- within ".row.data-portability" do
+ within ".data-portability" do
expect(page).to have_content("Download the data")
expect(page).to have_content(user.email)
end
diff --git a/decidim-core/spec/validators/etiquette_validator_spec.rb b/decidim-core/spec/validators/etiquette_validator_spec.rb
index 2b6e3d0b906a1..4b5f49a78c760 100644
--- a/decidim-core/spec/validators/etiquette_validator_spec.rb
+++ b/decidim-core/spec/validators/etiquette_validator_spec.rb
@@ -81,4 +81,19 @@ def self.model_name
it { is_expected.to be_valid }
end
end
+
+ context "when the text is written in HTML" do
+ let(:body) do
+ data = File.read(Decidim::Dev.asset("avatar.jpg"))
+ encoded = Base64.encode64(data)
+
+ <<~HTML
+
Text before the image.
+
+
Some other text after the image.
+ HTML
+ end
+
+ it { is_expected.to be_valid }
+ end
end
diff --git a/decidim-debates/app/cells/decidim/debates/debate_m_cell.rb b/decidim-debates/app/cells/decidim/debates/debate_m_cell.rb
index cb8b0136d6f6a..503c53b2bd8a9 100644
--- a/decidim-debates/app/cells/decidim/debates/debate_m_cell.rb
+++ b/decidim-debates/app/cells/decidim/debates/debate_m_cell.rb
@@ -32,7 +32,7 @@ def presenter
private
def title
- presenter.title
+ presenter.title(html_escape: true)
end
def body
diff --git a/decidim-debates/app/forms/decidim/debates/admin/debate_form.rb b/decidim-debates/app/forms/decidim/debates/admin/debate_form.rb
index 805ddcda83636..eb3fdb8e3ca56 100644
--- a/decidim-debates/app/forms/decidim/debates/admin/debate_form.rb
+++ b/decidim-debates/app/forms/decidim/debates/admin/debate_form.rb
@@ -29,6 +29,7 @@ class DebateForm < Decidim::Form
validates :scope_id, scope_belongs_to_component: true, if: ->(form) { form.scope_id.present? }
def map_model(model)
+ self.finite = model.start_time.present? && model.end_time.present?
self.decidim_category_id = model.categorization.decidim_category_id if model.categorization
presenter = DebatePresenter.new(model)
diff --git a/decidim-debates/config/locales/ca.yml b/decidim-debates/config/locales/ca.yml
index 64958d6659512..5cfba5bb4957a 100644
--- a/decidim-debates/config/locales/ca.yml
+++ b/decidim-debates/config/locales/ca.yml
@@ -10,6 +10,7 @@ ca:
end_time: Data de finalització
information_updates: Actualitzacions d'informació
instructions: Instruccions per participar
+ scope_id: Àmbit
start_time: Data d'inici
title: Títol
user_group_id: Crea un debat com
diff --git a/decidim-debates/config/locales/cs.yml b/decidim-debates/config/locales/cs.yml
index d3dbd3873c819..8a0e2498ea538 100644
--- a/decidim-debates/config/locales/cs.yml
+++ b/decidim-debates/config/locales/cs.yml
@@ -10,6 +10,7 @@ cs:
end_time: Končí v
information_updates: Aktualizace informací
instructions: Pokyny k účasti
+ scope_id: Oblast působnosti
start_time: Začíná v
title: Titul
user_group_id: Vytvořte debatu jako
@@ -163,7 +164,7 @@ cs:
groups_count: Skupiny
last_comment_by: Poslední komentář od
no_comments_yet: Zatím žádné komentáře
- open: Otevřít diskusi
+ open: Otevřená diskuse
participants_count: Účastníci
update:
invalid: Při aktualizaci rozpravy došlo k chybě.
diff --git a/decidim-debates/config/locales/de.yml b/decidim-debates/config/locales/de.yml
index 84ab392aa6bc6..7b1a10f4348ae 100644
--- a/decidim-debates/config/locales/de.yml
+++ b/decidim-debates/config/locales/de.yml
@@ -17,6 +17,7 @@ de:
decidim/debates/close_debate_event: Debatte beendet
decidim/debates/create_debate_event: Debatte
decidim/debates/creation_disabled_event: Debatten deaktiviert
+ decidim/debates/creation_enabled_event: Erstellung von Debatten aktiviert
activerecord:
models:
decidim/debates/debate:
@@ -26,6 +27,7 @@ de:
components:
debates:
actions:
+ comment: Kommentar
create: Erstellen
endorse: Bestätigen
name: Debatten
@@ -39,6 +41,7 @@ de:
step:
announcement: Ankündigung
comments_blocked: Kommentare blockiert
+ creation_enabled: Teilnehmer können Debatten erstellen
endorsements_blocked: Bestätigungen blockiert
endorsements_enabled: Bestätigungen aktiviert
debates:
diff --git a/decidim-debates/config/locales/en.yml b/decidim-debates/config/locales/en.yml
index e72541be71b60..c2c1775f6c254 100644
--- a/decidim-debates/config/locales/en.yml
+++ b/decidim-debates/config/locales/en.yml
@@ -11,6 +11,7 @@ en:
end_time: Ends at
information_updates: Information updates
instructions: Instructions to participate
+ scope_id: Scope
start_time: Starts at
title: Title
user_group_id: Create debate as
diff --git a/decidim-debates/config/locales/es-MX.yml b/decidim-debates/config/locales/es-MX.yml
index 08a4ea0fcdda5..94c786914ca08 100644
--- a/decidim-debates/config/locales/es-MX.yml
+++ b/decidim-debates/config/locales/es-MX.yml
@@ -10,6 +10,7 @@ es-MX:
end_time: Fecha de fin
information_updates: Actualizaciones de información
instructions: Instrucciones para participar
+ scope_id: Ámbito
start_time: Fecha de inicio
title: Título
user_group_id: Crear debate como
diff --git a/decidim-debates/config/locales/es-PY.yml b/decidim-debates/config/locales/es-PY.yml
index 08edabc16eac4..3762b62ded7e3 100644
--- a/decidim-debates/config/locales/es-PY.yml
+++ b/decidim-debates/config/locales/es-PY.yml
@@ -10,6 +10,7 @@ es-PY:
end_time: Fecha de fin
information_updates: Actualizaciones de información
instructions: Instrucciones para participar
+ scope_id: Ámbito
start_time: Fecha de inicio
title: Título
user_group_id: Crear debate como
diff --git a/decidim-debates/config/locales/es.yml b/decidim-debates/config/locales/es.yml
index 95af56f6cb648..9c9afe8c5fc8a 100644
--- a/decidim-debates/config/locales/es.yml
+++ b/decidim-debates/config/locales/es.yml
@@ -10,6 +10,7 @@ es:
end_time: Fecha de finalización
information_updates: Actualizaciones de información
instructions: Instrucciones para participar
+ scope_id: Ámbito
start_time: Fecha de inicio
title: Título
user_group_id: Crea un debate como
diff --git a/decidim-debates/config/locales/fi-plain.yml b/decidim-debates/config/locales/fi-plain.yml
index c5b9841225c45..a62716715abe4 100644
--- a/decidim-debates/config/locales/fi-plain.yml
+++ b/decidim-debates/config/locales/fi-plain.yml
@@ -10,6 +10,7 @@ fi-pl:
end_time: Päättymisaika
information_updates: Tietojen päivitykset
instructions: Osallistumisohjeet
+ scope_id: Teema
start_time: Alkamisaika
title: Otsikko
user_group_id: Luo keskustelu käyttäjänä
diff --git a/decidim-debates/config/locales/fr-CA.yml b/decidim-debates/config/locales/fr-CA.yml
index 228f323aac15e..9a761da346b7f 100644
--- a/decidim-debates/config/locales/fr-CA.yml
+++ b/decidim-debates/config/locales/fr-CA.yml
@@ -10,6 +10,7 @@ fr-CA:
end_time: Prend fin à
information_updates: Informations mises à jour
instructions: Instructions pour participer
+ scope_id: Périmètre d'application
start_time: Commence à
title: Titre
user_group_id: Créer un débat en tant que
diff --git a/decidim-debates/config/locales/fr.yml b/decidim-debates/config/locales/fr.yml
index f30551a3229d8..1cef9934b50bc 100644
--- a/decidim-debates/config/locales/fr.yml
+++ b/decidim-debates/config/locales/fr.yml
@@ -10,6 +10,7 @@ fr:
end_time: Prend fin à
information_updates: Informations mises à jour
instructions: Instructions pour participer
+ scope_id: Périmètre d'application
start_time: Commence à
title: Titre
user_group_id: Créer un débat en tant que
diff --git a/decidim-debates/config/locales/gn-PY.yml b/decidim-debates/config/locales/gn-PY.yml
new file mode 100644
index 0000000000000..bd442b0ad85de
--- /dev/null
+++ b/decidim-debates/config/locales/gn-PY.yml
@@ -0,0 +1 @@
+gn:
diff --git a/decidim-debates/config/locales/hu.yml b/decidim-debates/config/locales/hu.yml
index 64ba004afe8c2..ba92409a8eb81 100644
--- a/decidim-debates/config/locales/hu.yml
+++ b/decidim-debates/config/locales/hu.yml
@@ -3,6 +3,7 @@ hu:
attributes:
debate:
category_id: Kategória
+ closed_at: Lezárva ekkor
conclusions: Következtetések
decidim_category_id: Kategória
description: Leírás
@@ -26,6 +27,7 @@ hu:
components:
debates:
actions:
+ comment: Megjegyzés
create: Létrehozás
endorse: Jóváhagy
name: Viták
@@ -33,6 +35,9 @@ hu:
global:
announcement: Közlemény
comments_enabled: Megjegyzések engedélyezve
+ comments_max_length: Kommentek maximális hossza (Hagyjon 0 -t az alapértékhez)
+ scope_id: Hatókör
+ scopes_enabled: A hatókör engedélyezett
step:
announcement: Közlemény
comments_blocked: Megjegyzések letiltva
@@ -61,6 +66,10 @@ hu:
edit:
title: Vita szerkesztése
update: Vita frissítése
+ form:
+ debate_type: Vita típusa
+ finite: Véges (Kezdő és záró idők)
+ open: Nyitott (Nincs kezdete vagy vége)
index:
title: Viták
new:
@@ -69,13 +78,18 @@ hu:
update:
invalid: Probléma merült fel a vita frissítése során.
success: A vita sikeresen frissült.
+ exports:
+ comments: Hozzászólások
models:
debate:
name: Vita
admin_log:
debate:
+ close: "%{user_name} lezárta a(z) %{resource_name} vitát a(z) %{space_name} térben"
create: "%{user_name} létrehozta a(z) %{resource_name} vitát itt: %{space_name}"
update: "%{user_name} frissítette a(z) %{resource_name} vitát itt: %{space_name}"
+ debate_m:
+ commented_time_ago: Hozzáfűzést tett %{time} ideje
debates:
close:
invalid: Probléma merült fel a vita lezárása során.
@@ -94,14 +108,27 @@ hu:
success: Vita létrehozása sikeres.
debate:
participate: Részvétel
+ edit:
+ back: Vissza
+ save: Változások mentése
+ title: Vita szerkesztése
filters:
+ activity: Tevékenységeim
all: Összes
category: Kategória
category_prompt: Válassz kategóriát
citizens: Állampolgárok
+ commented: Hozzászólással rendelkezik
+ my_debates: Vitáim
official: Hivatalos
origin: Kiindulópont
+ scope: Hatókör
search: Keresés
+ state: Állapot
+ state_values:
+ closed: Lezárva
+ open: Nyitva
+ user_groups: Csoportok
filters_small_view:
close_modal: Modal bezárása
filter: Szűrő
@@ -115,13 +142,37 @@ hu:
back: Vissza
create: Létrehozás
title: Új vita
+ orders:
+ commented: Legtöbb hozzászólással
+ label: Viták rendezése
+ random: Véletlen sorrend
+ recent: Legfrissebb
+ updated: Nemrégiben frissítve
show:
back: Vissza a listához
close_debate: Vita lezárása
+ date: Dátum
debate_closed: Lezárva
debate_conclusions_are: 'A vitát %{date} -n zárult le az alábbi következtetésekkel:'
edit_conclusions: Következtetések szerkesztése
+ edit_debate: Vita szerkesztése
+ groups_count: Csoportok
+ last_comment_by: Utolsó hozzászólás
+ no_comments_yet: Még nincsenek hozzászólások
+ open: Nyitott vita
+ participants_count: Résztvevők
+ update:
+ invalid: Hiba történt a vita frissítése során.
+ success: A vita frissítse sikeres.
+ versions:
+ debates:
+ back_to_resource: Visszalépés a vitához
+ index:
+ title: Verziók
+ versions_list:
+ back_to_resource: Visszalépés a vitához
last_activity:
+ debate_updated_at_html: "Találkozó frissítve %{link}"
new_debate_at_html: "Új vita %{link}"
models:
debate:
@@ -157,6 +208,17 @@ hu:
email_outro: 'Ezt az értesítést azért kaptad, mert ezt követed: "%{participatory_space_title}". Az értesítéseket a következő linkre kattintva kapcsolhatod ki.'
email_subject: 'Viták létrehozása lehetséges itt: %{participatory_space_title}'
notification_title: a href="%{resource_path}">Kezd új vitát a(z) %{participatory_space_title} helyen
+ debate_closed:
+ affected_user:
+ email_intro: 'A(z) "%{resource_title}" vitát lezárták. A következtetéseket a kapcsolódó oldalon olvashatja el:'
+ email_outro: Azért kapta ezt az értesítést, mert követi a(z) "%{resource_title}" vitát. Az előző hivatkozás segítségével visszavonhatja a követést.
+ email_subject: A(z) "%{resource_title}" vitát lezárták
+ notification_title: A(z) %{resource_title} vitát lezárták.
+ follower:
+ email_intro: 'A(z) "%{resource_title}" vitát lezárták. A következtetéseket a kapcsolódó oldalon olvashatja el:'
+ email_outro: Azért kapta ezt az értesítést, mert követi a(z) "%{resource_title}" vitát. Az előző hivatkozás segítségével visszavonhatja a követést.
+ email_subject: A(z) "%{resource_title}" vitát lezárták
+ notification_title: A(z) %{resource_title} vitát lezárták.
gamification:
badges:
commented_debates:
@@ -174,3 +236,5 @@ hu:
description: A létrehozott viták száma
object: viták
title: Viták
+ statistics:
+ debates_count: Viták
diff --git a/decidim-debates/config/locales/ja.yml b/decidim-debates/config/locales/ja.yml
index 535ae1f581861..c00cb6e2304ad 100644
--- a/decidim-debates/config/locales/ja.yml
+++ b/decidim-debates/config/locales/ja.yml
@@ -10,6 +10,7 @@ ja:
end_time: 終了時刻
information_updates: 情報の更新
instructions: 参加方法
+ scope_id: スコープ
start_time: 開始
title: タイトル
user_group_id: ディベートを作成
diff --git a/decidim-debates/config/locales/lo-LA.yml b/decidim-debates/config/locales/lo-LA.yml
new file mode 100644
index 0000000000000..27a02bfece429
--- /dev/null
+++ b/decidim-debates/config/locales/lo-LA.yml
@@ -0,0 +1 @@
+lo:
diff --git a/decidim-debates/config/locales/lt.yml b/decidim-debates/config/locales/lt.yml
index 6c5cb837ac8c1..7568ae17f9b90 100644
--- a/decidim-debates/config/locales/lt.yml
+++ b/decidim-debates/config/locales/lt.yml
@@ -1 +1,244 @@
lt:
+ activemodel:
+ attributes:
+ debate:
+ category_id: Kategorija
+ closed_at: Uždaryta
+ conclusions: Išvados
+ decidim_category_id: Kategorija
+ description: Aprašymas
+ end_time: Biagiasi
+ information_updates: Informacijos atnaujinimai
+ instructions: Dalyvavimo instrukcija
+ start_time: Prasideda
+ title: Pavadinimas
+ user_group_id: Sukurti diskusiją kaip
+ models:
+ decidim/debates/close_debate_event: Diskusija uždaryta
+ decidim/debates/create_debate_event: Diskusija
+ decidim/debates/creation_disabled_event: Diskuijos išjungtos
+ decidim/debates/creation_enabled_event: Dirbtuvių kūrimas leidžiamas
+ activerecord:
+ models:
+ decidim/debates/debate:
+ one: Diskusija
+ few: Diskusijos
+ many: Diskusijos
+ other: Diskusijos
+ decidim:
+ components:
+ debates:
+ actions:
+ comment: Komentaras
+ create: Sukurti
+ endorse: Pritarti
+ name: Diskusijos
+ settings:
+ global:
+ announcement: Pranešimas
+ comments_enabled: Komentarai įjungti
+ comments_max_length: Maksimalus komentarų ilgis (numatytoji vertė – 0)
+ scope_id: Apimtis
+ scopes_enabled: Sritys įjungtos
+ step:
+ announcement: Pranešimas
+ comments_blocked: Komentarai užblokuoti
+ creation_enabled: Dalyviai gali sukurti diskusijas
+ endorsements_blocked: Pritarimai užblokuoti
+ endorsements_enabled: Pritarimai aktyvuoti
+ debates:
+ actions:
+ close: Uždaryti
+ confirm_destroy: Ar esate tikri?
+ destroy: Ištrinti
+ edit: Redaguoti
+ new: Naujas %{name}
+ title: Veiksmai
+ admin:
+ debate_closes:
+ edit:
+ close: Uždaryti
+ title: Uždaryti diskusiją
+ debates:
+ create:
+ invalid: Kuriant diskusiją iškilo problema.
+ success: Diskusija sukurta.
+ destroy:
+ success: Diskusija pašalinta.
+ edit:
+ title: Redaguoti diskusiją
+ update: Atnaujinti diskusiją
+ form:
+ debate_type: Diskusijos tipas
+ finite: Baigtina (su pradžios ir finišo laikais)
+ open: Atvira (be nustatytos pradžios ir pabaigos)
+ index:
+ title: Diskusijos
+ new:
+ create: Sukurti diskusiją
+ title: Nauja diskusija
+ update:
+ invalid: Atnaujinant šią diskusiją iškilo problema.
+ success: Diskusija atnaujinta.
+ exports:
+ comments: Komentarai
+ models:
+ debate:
+ name: Diskusija
+ admin_log:
+ debate:
+ close: "%{user_name} uždarė %{resource_name} diskusiją %{space_name} erdvėje"
+ create: "%{user_name} sukūrė %{resource_name} diskusiją %{space_name} erdvėje"
+ update: "%{user_name} atnaujino %{resource_name} diskusiją %{space_name} erdvėje"
+ debate_m:
+ commented_time_ago: Pakomentuota prieš %{time}
+ debates:
+ close:
+ invalid: Baigiant diskusiją iškilo problema.
+ success: Diskusija baigta.
+ close_debate_modal:
+ close: Uždaryti
+ description: Kokia šios diskusijos santrauka ar išvada?
+ send: Uždaryti diskusiją
+ closed: Uždaryta
+ count:
+ debates_count:
+ one: "%{count} diskusija"
+ few: "%{count} diskusijos"
+ many: "%{count} diskusijos"
+ other: "%{count} diskusijos"
+ create:
+ invalid: Kuriant šią diskusiją iškilo problema.
+ success: Diskusija sukurta sėkmingai.
+ debate:
+ participate: Dalyvauti
+ edit:
+ back: Atgal
+ save: Išsaugoti pakeitimus
+ title: Redaguoti diskusiją
+ filters:
+ activity: Mano veikla
+ all: Visos
+ category: Kategorija
+ category_prompt: Pasirinkite kategoriją
+ citizens: Piliečiai
+ commented: Komentuota
+ my_debates: Mano diskusijos
+ official: Oficialūs
+ origin: Kilmė
+ scope: Apimtis
+ search: Ieškoti
+ state: Būsena
+ state_values:
+ closed: Uždaryta
+ open: Atidaryta
+ user_groups: Grupės
+ filters_small_view:
+ close_modal: Uždaryti modalinį langą
+ filter: Filtras
+ filter_by: Filtruoti pagal
+ unfold: Išskleisti
+ form:
+ select_a_category: Pasirinkite kategoriją
+ index:
+ new_debate: Nauja diskusija
+ new:
+ back: Atgal
+ create: Sukurti
+ title: Nauja diskusija
+ orders:
+ commented: Labiausiai komentuota
+ label: Rikiuoti debatus pagal
+ random: Atsitiktinė tvarka
+ recent: Naujausia
+ updated: Neseniai atnaujinta
+ show:
+ back: Grįžti į sąrašą
+ close_debate: Uždaryti diskusiją
+ date: Data
+ debate_closed: Uždaryta
+ debate_conclusions_are: 'Diskusija uždaryta %{date} ir padarytos šios išvados:'
+ edit_conclusions: Keisti išvadas
+ edit_debate: Redaguoti diskusiją
+ groups_count: Grupės
+ last_comment_by: Paskutinį kartą komentavo
+ no_comments_yet: Dar komentarų nėra
+ open: Atverti diskusiją
+ participants_count: Dalyviai
+ update:
+ invalid: Atnaujinant diskusiją iškilo problema.
+ success: Diskusija atnaujinta.
+ versions:
+ debates:
+ back_to_resource: Grįžti į diskusiją
+ index:
+ title: Versijos
+ versions_list:
+ back_to_resource: Grįžti į diskusiją
+ last_activity:
+ debate_updated_at_html: "Diskusija atnaujinta %{link}"
+ new_debate_at_html: "Nauja diskusija %{link}"
+ models:
+ debate:
+ fields:
+ end_time: Pabaigos data
+ official_debate: Oficiali diskusija
+ start_time: Pradžios data
+ title: Pavadinimas
+ events:
+ debates:
+ create_debate_event:
+ space_followers:
+ email_intro: |-
+ Sveiki,
+ Dalyvaujamojo proceso erdvėje %{space_title} sukurta nauja diskusija „%{resource_title}“, peržiūrėkite ir prisidėkite:
+ email_outro: Šį pranešimą gavote dėl to, kad sekate dalyvaujamojo proceso erdvę %{space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą.
+ email_subject: Nauja diskusija "%{resource_title}" %{space_title} erdvėje
+ notification_title: %{resource_title} diskusija sukurta %{space_title}.
+ user_followers:
+ email_intro: |-
+ Sveiki,
+ %{author_name} %{author_nickname}, kurį(-ią) sekate, sukūrė naują diskusiją „%{resource_title}“. Peržiūrėkite ir prisidėkite:
+ email_outro: Šį pranešimą gavote dėl to, kad sekate %{author_nickname}. Jeigu nebenorite gauti pranešimų, spustelėkite aukščiau esančią nuorodą.
+ email_subject: Nauja %{author_nickname} diskusija "%{resource_title}"
+ notification_title: %{author_name} %{author_nickname} sukūrė %{resource_title} diskusiją.
+ creation_disabled:
+ email_intro: 'Diskusijos kūrimas %{participatory_space_title} nebėra aktyvus. Vis dar galite dalyvauti atvirose diskusijose iš šio puslapio:'
+ email_outro: Šį pranešimą gavote dėl to, kad sekate %{participatory_space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą.
+ email_subject: Diskusijos kūrimas %{participatory_space_title} neaktyvus
+ notification_title: Diskusijos kūrimas %{participatory_space_title} neaktyvus
+ creation_enabled:
+ email_intro: 'Dabar galite pradėti naujas diskusijas %{participatory_space_title}! Pradėti dalyvauti šiame puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad sekate %{participatory_space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą.
+ email_subject: Diskusijos nuo šiol prieinamos %{participatory_space_title}
+ notification_title: Dabar galite pradėti naujas diskusijas%{participatory_space_title}
+ debate_closed:
+ affected_user:
+ email_intro: '"%{resource_title}" diskusija uždaryta. Išvadas galite perskaityti jos puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad sekate "%{resource_title}“ diskusiją. Jūs galite jos nebesekti spustelėdami ankstesnę nuorodą.
+ email_subject: '"%{resource_title}" diskusija uždaryta'
+ notification_title: %{resource_title} diskusija uždaryta.
+ follower:
+ email_intro: '"%{resource_title}" diskusija uždaryta. Išvadas galite perskaityti jos puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad sekate "%{resource_title}“ diskusiją. Jūs galite jos nebesekti spustelėdami ankstesnę nuorodą.
+ email_subject: '"%{resource_title}" diskusija uždaryta'
+ notification_title: %{resource_title} diskusija uždaryta.
+ gamification:
+ badges:
+ commented_debates:
+ conditions:
+ - Pasirinkite atvirą diskusiją ir dalyvaukite
+ description: Šis ženklelis suteikiamas, kai aktyviai dalyvaujate įvairiose diskusijose pateikdami komentarus.
+ description_another: Šis dalyvis dalyvavo %{score} diskusijose.
+ description_own: Jūs dalyvavote %{score} diskusijose.
+ name: Diskusijos
+ next_level_in: Įsitraukite į %{score} daugiau diskusijų ir pasiekite kitą lygį!
+ unearned_another: Šis dalyvis dar nedalyvavo nė vienoje diskusijoje.
+ unearned_own: Jūs dar nedalyvavote nė vienoje diskusijoje.
+ metrics:
+ debates:
+ description: Sukurtų diskusijų skaičius
+ object: diskusijos
+ title: Diskusijos
+ statistics:
+ debates_count: Diskusijos
diff --git a/decidim-debates/config/locales/oc-FR.yml b/decidim-debates/config/locales/oc-FR.yml
new file mode 100644
index 0000000000000..325b348894124
--- /dev/null
+++ b/decidim-debates/config/locales/oc-FR.yml
@@ -0,0 +1 @@
+oc:
diff --git a/decidim-debates/lib/decidim/debates/version.rb b/decidim-debates/lib/decidim/debates/version.rb
index 5f5107c96d842..138a3a6d5cc41 100644
--- a/decidim-debates/lib/decidim/debates/version.rb
+++ b/decidim-debates/lib/decidim/debates/version.rb
@@ -4,7 +4,7 @@ module Decidim
# This holds the decidim-debates version.
module Debates
def self.version
- "0.26.2"
+ "0.26.4"
end
end
end
diff --git a/decidim-debates/spec/cells/decidim/debates/debate_m_cell_spec.rb b/decidim-debates/spec/cells/decidim/debates/debate_m_cell_spec.rb
new file mode 100644
index 0000000000000..e5df2ca962b17
--- /dev/null
+++ b/decidim-debates/spec/cells/decidim/debates/debate_m_cell_spec.rb
@@ -0,0 +1,22 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+module Decidim::Debates
+ describe DebateMCell, type: :cell do
+ controller Decidim::Debates::DebatesController
+
+ let!(:debate) { create(:debate) }
+ let(:model) { debate }
+ let(:the_cell) { cell("decidim/debates/debate_m", debate, context: { show_space: show_space }) }
+ let(:cell_html) { the_cell.call }
+
+ it_behaves_like "has space in m-cell"
+
+ context "when rendering" do
+ let(:show_space) { false }
+
+ it_behaves_like "m-cell", :debate
+ end
+ end
+end
diff --git a/decidim-debates/spec/controllers/decidim/debates/versions_controller_spec.rb b/decidim-debates/spec/controllers/decidim/debates/versions_controller_spec.rb
new file mode 100644
index 0000000000000..208dd4c764563
--- /dev/null
+++ b/decidim-debates/spec/controllers/decidim/debates/versions_controller_spec.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+module Decidim
+ module Debates
+ describe VersionsController, versioning: true, type: :controller do
+ routes { Decidim::Debates::Engine.routes }
+
+ let(:resource) { create(:debate) }
+
+ it_behaves_like "versions controller"
+ end
+ end
+end
diff --git a/decidim-debates/spec/events/decidim/resource_endorsed_event_spec.rb b/decidim-debates/spec/events/decidim/resource_endorsed_event_spec.rb
new file mode 100644
index 0000000000000..7e77e5474ee9f
--- /dev/null
+++ b/decidim-debates/spec/events/decidim/resource_endorsed_event_spec.rb
@@ -0,0 +1,11 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+describe Decidim::ResourceEndorsedEvent do
+ let(:resource) { create :debate, title: { en: "My debate" } }
+ let(:resource_type) { "Debate" }
+ let(:resource_text) { resource.description }
+
+ it_behaves_like "resource endorsed event"
+end
diff --git a/decidim-debates/spec/forms/decidim/debates/admin/debate_form_spec.rb b/decidim-debates/spec/forms/decidim/debates/admin/debate_form_spec.rb
index da83082efa55a..769b83ae22eeb 100644
--- a/decidim-debates/spec/forms/decidim/debates/admin/debate_form_spec.rb
+++ b/decidim-debates/spec/forms/decidim/debates/admin/debate_form_spec.rb
@@ -118,5 +118,17 @@
it "sets the form category id correctly" do
expect(subject.decidim_category_id).to eq category.id
end
+
+ it "sets the finite value correctly" do
+ expect(subject.finite).to be(false)
+ end
+
+ context "when the debate has start and end dates" do
+ let(:debate) { create :debate, :open_ama }
+
+ it "sets the finite value correctly" do
+ expect(subject.finite).to be(true)
+ end
+ end
end
end
diff --git a/decidim-debates/spec/shared/manage_debates_examples.rb b/decidim-debates/spec/shared/manage_debates_examples.rb
index a75540aae43e9..4eaad968ab6c2 100644
--- a/decidim-debates/spec/shared/manage_debates_examples.rb
+++ b/decidim-debates/spec/shared/manage_debates_examples.rb
@@ -5,6 +5,19 @@
before { visit_component_admin }
+ describe "listing" do
+ context "with enriched content" do
+ before do
+ debate.update!(title: { en: "Debate title" })
+ visit current_path
+ end
+
+ it "displays the correct title" do
+ expect(page.html).to include("Debate <strong>title</strong>")
+ end
+ end
+ end
+
describe "admin form" do
before { click_on "New Debate" }
@@ -225,10 +238,10 @@
within "table" do
within find("tr", text: translated(debate.title)) do
expect(page).to have_no_selector(".action-icon--edit")
+ page.find(".action-icon--close").click
end
end
- page.find(".action-icon--close").click
expect(page).to have_content("The debate was great")
end
diff --git a/decidim-debates/spec/system/admin_manages_debates_spec.rb b/decidim-debates/spec/system/admin_manages_debates_spec.rb
index fbbb610c03d17..5e20c3fd0452c 100644
--- a/decidim-debates/spec/system/admin_manages_debates_spec.rb
+++ b/decidim-debates/spec/system/admin_manages_debates_spec.rb
@@ -5,6 +5,11 @@
describe "Admin manages debates", type: :system do
let(:manifest_name) { "debates" }
+ let!(:reportables) { create_list(:debate, 2, component: component) }
+ let(:participatory_space_path) do
+ decidim_admin_participatory_processes.edit_participatory_process_path(participatory_process)
+ end
+
include_context "when managing a component as an admin"
before do
switch_to_host(organization.host)
@@ -15,4 +20,5 @@
it_behaves_like "manage debates"
it_behaves_like "manage announcements"
it_behaves_like "export debates comments"
+ it_behaves_like "manage moderations"
end
diff --git a/decidim-dev/config/locales/ca.yml b/decidim-dev/config/locales/ca.yml
index 17bf7594bf64e..a4d56a0112b17 100644
--- a/decidim-dev/config/locales/ca.yml
+++ b/decidim-dev/config/locales/ca.yml
@@ -14,6 +14,12 @@ ca:
dummy:
settings:
global:
+ guided: Entrada guiada
+ guided_help: Text d'ajuda
+ guided_readonly: Entrada deshabilitada
+ guided_rich: Entrada guiada enriquida
+ guided_rich_help_html: HTML ajuda text
+ guided_rich_readonly_html: HTML ajuda text per l'entrada deshabilitada
readonly_attribute: Atribut de només lectura
test: Una prova
test_choices:
diff --git a/decidim-dev/config/locales/cs.yml b/decidim-dev/config/locales/cs.yml
index de7993daad570..00a8fe2dbe2f6 100644
--- a/decidim-dev/config/locales/cs.yml
+++ b/decidim-dev/config/locales/cs.yml
@@ -14,6 +14,12 @@ cs:
dummy:
settings:
global:
+ guided: Řízené zadávání
+ guided_help: Text nápovědy
+ guided_readonly: Zakázaný zápis
+ guided_rich: Řízené plnohodnotné zadávání
+ guided_rich_help_html: HTML textová nápověda
+ guided_rich_readonly_html: HTML nápověda text pro zakázaný zápis
readonly_attribute: Atribut pouze pro čtení
test: Zkouška A
test_choices:
diff --git a/decidim-dev/config/locales/en.yml b/decidim-dev/config/locales/en.yml
index f52b5db61f94e..2a4b2a3758822 100644
--- a/decidim-dev/config/locales/en.yml
+++ b/decidim-dev/config/locales/en.yml
@@ -15,6 +15,12 @@ en:
dummy:
settings:
global:
+ guided: Guided input
+ guided_help: Help text
+ guided_readonly: Disabled input
+ guided_rich: Guided rich input
+ guided_rich_help_html: HTML help text
+ guided_rich_readonly_html: HTML help text for disabled input
readonly_attribute: Readonly attribute
test: A test
test_choices:
diff --git a/decidim-dev/config/locales/es-MX.yml b/decidim-dev/config/locales/es-MX.yml
index 56547e3149bfa..6de37d3d0b5e1 100644
--- a/decidim-dev/config/locales/es-MX.yml
+++ b/decidim-dev/config/locales/es-MX.yml
@@ -14,6 +14,12 @@ es-MX:
dummy:
settings:
global:
+ guided: Entrada guiada
+ guided_help: Texto de ayuda
+ guided_readonly: Entrada deshabilitada
+ guided_rich: Entrada guiada enriquecida
+ guided_rich_help_html: Texto de ayuda HTML
+ guided_rich_readonly_html: Texto de ayuda HTML para la entrada deshabilitada
readonly_attribute: Atributo de sólo lectura
test: Test A
test_choices:
diff --git a/decidim-dev/config/locales/es-PY.yml b/decidim-dev/config/locales/es-PY.yml
index f515886007031..1b57618c5107e 100644
--- a/decidim-dev/config/locales/es-PY.yml
+++ b/decidim-dev/config/locales/es-PY.yml
@@ -14,6 +14,12 @@ es-PY:
dummy:
settings:
global:
+ guided: Entrada guiada
+ guided_help: Texto de ayuda
+ guided_readonly: Entrada deshabilitada
+ guided_rich: Entrada guiada enriquecida
+ guided_rich_help_html: Texto de ayuda HTML
+ guided_rich_readonly_html: Texto de ayuda HTML para la entrada deshabilitada
readonly_attribute: Atributo de sólo lectura
test: Test A
test_choices:
diff --git a/decidim-dev/config/locales/es.yml b/decidim-dev/config/locales/es.yml
index dd97e373c5ea8..2de7d2552685f 100644
--- a/decidim-dev/config/locales/es.yml
+++ b/decidim-dev/config/locales/es.yml
@@ -14,6 +14,12 @@ es:
dummy:
settings:
global:
+ guided: Entrada guiada
+ guided_help: Texto de ayuda
+ guided_readonly: Entrada deshabilitada
+ guided_rich: Entrada guiada enriquecida
+ guided_rich_help_html: Texto de ayuda HTML
+ guided_rich_readonly_html: Texto de ayuda HTML para la entrada deshabilitada
readonly_attribute: Atributo de sólo lectura
test: Una prueba
test_choices:
diff --git a/decidim-dev/config/locales/fi-plain.yml b/decidim-dev/config/locales/fi-plain.yml
index ce3e7a9bc73de..12ef95cbfbe89 100644
--- a/decidim-dev/config/locales/fi-plain.yml
+++ b/decidim-dev/config/locales/fi-plain.yml
@@ -14,6 +14,12 @@ fi-pl:
dummy:
settings:
global:
+ guided: Ohjeistettu syöte
+ guided_help: Ohjeteksti
+ guided_readonly: Käytöstä poistettu syöte
+ guided_rich: Ohjeistettu rikas tekstisyöte
+ guided_rich_help_html: HTML ohjeteksti
+ guided_rich_readonly_html: Käytöstä poistettu HTML ohjeteksti
readonly_attribute: Vain luku -attribuutti
test: Testi
test_choices:
diff --git a/decidim-dev/config/locales/fi.yml b/decidim-dev/config/locales/fi.yml
index 53ba676aa8d2a..d8c17596584ff 100644
--- a/decidim-dev/config/locales/fi.yml
+++ b/decidim-dev/config/locales/fi.yml
@@ -14,6 +14,12 @@ fi:
dummy:
settings:
global:
+ guided: Ohjeistettu syöte
+ guided_help: Ohjeteksti
+ guided_readonly: Käytöstä poistettu syöte
+ guided_rich: Ohjeistettu rikas tekstisyöte
+ guided_rich_help_html: HTML ohjeteksti
+ guided_rich_readonly_html: Käytöstä poistettu HTML ohjeteksti
readonly_attribute: Vain luku -attribuutti
test: Testi
test_choices:
diff --git a/decidim-dev/config/locales/fr-CA.yml b/decidim-dev/config/locales/fr-CA.yml
index a8998014e5882..d495d0e63cd09 100644
--- a/decidim-dev/config/locales/fr-CA.yml
+++ b/decidim-dev/config/locales/fr-CA.yml
@@ -14,6 +14,12 @@ fr-CA:
dummy:
settings:
global:
+ guided: Entrée guidée
+ guided_help: Texte d'aide
+ guided_readonly: Entrée désactivée
+ guided_rich: Entrée riche guidée
+ guided_rich_help_html: Texte d'aide HTML
+ guided_rich_readonly_html: Texte d'aide HTML pour les entrées désactivées
readonly_attribute: Attribut en lecture seule
test: Un test
test_choices:
diff --git a/decidim-dev/config/locales/fr.yml b/decidim-dev/config/locales/fr.yml
index 564e4f518fa7e..2b6dbf9b0699f 100644
--- a/decidim-dev/config/locales/fr.yml
+++ b/decidim-dev/config/locales/fr.yml
@@ -14,6 +14,12 @@ fr:
dummy:
settings:
global:
+ guided: Entrée guidée
+ guided_help: Texte d'aide
+ guided_readonly: Entrée désactivée
+ guided_rich: Entrée riche guidée
+ guided_rich_help_html: Texte d'aide HTML
+ guided_rich_readonly_html: Texte d'aide HTML pour les entrées désactivées
readonly_attribute: Attribut en lecture seule
test: Un test
test_choices:
diff --git a/decidim-dev/config/locales/gn-PY.yml b/decidim-dev/config/locales/gn-PY.yml
new file mode 100644
index 0000000000000..bd442b0ad85de
--- /dev/null
+++ b/decidim-dev/config/locales/gn-PY.yml
@@ -0,0 +1 @@
+gn:
diff --git a/decidim-dev/config/locales/ja.yml b/decidim-dev/config/locales/ja.yml
index 776e4ce1b2dea..439a886db0d1a 100644
--- a/decidim-dev/config/locales/ja.yml
+++ b/decidim-dev/config/locales/ja.yml
@@ -14,6 +14,12 @@ ja:
dummy:
settings:
global:
+ guided: ガイド付き入力
+ guided_help: ヘルプテキスト
+ guided_readonly: 無効化された入力
+ guided_rich: ガイド付きリッチ入力
+ guided_rich_help_html: HTML ヘルプ のテキスト
+ guided_rich_readonly_html: HTML ヘルプ の入力を無効にする
readonly_attribute: 読み取り専用属性
test: テスト
test_choices:
diff --git a/decidim-dev/config/locales/lo-LA.yml b/decidim-dev/config/locales/lo-LA.yml
new file mode 100644
index 0000000000000..27a02bfece429
--- /dev/null
+++ b/decidim-dev/config/locales/lo-LA.yml
@@ -0,0 +1 @@
+lo:
diff --git a/decidim-dev/config/locales/lt.yml b/decidim-dev/config/locales/lt.yml
index 6c5cb837ac8c1..93ba82df766ab 100644
--- a/decidim-dev/config/locales/lt.yml
+++ b/decidim-dev/config/locales/lt.yml
@@ -1 +1,64 @@
lt:
+ activemodel:
+ attributes:
+ dummy_resource:
+ created_at: Sukurta
+ decidim_scope_id: Apimtis
+ field: Mano laukas
+ start_date: Pradžios data
+ title: Pavadinimas
+ translatable_text: Verčiamas tekstas
+ updated_at: Atnaujinta
+ decidim:
+ components:
+ dummy:
+ settings:
+ global:
+ guided: Vedama įvestis
+ guided_help: Pagalbos tekstas
+ guided_readonly: Išjungta įvestis
+ guided_rich: Vedama turtinga įvestis
+ guided_rich_help_html: HTML pagalbos tekstas
+ guided_rich_readonly_html: HTML pagalbostekstas išjungtai įvesčiai
+ readonly_attribute: Tik skaitomas atributas
+ test: Bandymas
+ test_choices:
+ a: A pasirinkimas
+ b: B pasirinkimas
+ c: C pasirinkimas
+ test_options:
+ bar: Juosta
+ baz: Baz
+ foo: Foo
+ step:
+ endorsements_blocked: Pritarimai užblokuoti
+ endorsements_enabled: Pritarimai aktyvuoti
+ readonly_step_attribute: Tik skaitomas veiksmo atributas
+ test_options:
+ bar: Juosta
+ baz: Baz
+ foo: Foo
+ dummy:
+ admin:
+ exports:
+ dummies: Fiktyvūs elementai
+ gamification:
+ badges:
+ test:
+ conditions:
+ - Naudokite testinę aplinką.
+ description: Dalyviai šį ženklelį pelno kurdami testus.
+ description_another: Šis dalyvis sukūrė %{score} testus.
+ description_own: Jūs sukūrėte %{score} testus.
+ name: Testai
+ next_level_in: Parenkite dar %{score} testus ir pasiekite kitą lygį!
+ unearned_another: Šis dalyvis dar nesukūrė jokių testų.
+ unearned_own: Jūs dar nesukūrėte jokių testų.
+ resource_links:
+ test_link:
+ dummy_resource_dummy: Susijęs fiktyvus elementas
+ statistics:
+ bar: Bar
+ dummies_count_high: Daug fiktyvių elementų
+ dummies_count_medium: Vidutiniškai fiktyvių elementų
+ foo: Foo
diff --git a/decidim-dev/config/locales/oc-FR.yml b/decidim-dev/config/locales/oc-FR.yml
new file mode 100644
index 0000000000000..325b348894124
--- /dev/null
+++ b/decidim-dev/config/locales/oc-FR.yml
@@ -0,0 +1 @@
+oc:
diff --git a/decidim-dev/lib/decidim/dev/assets/assemblies.json b/decidim-dev/lib/decidim/dev/assets/assemblies.json
index 43943c590f2a7..be8965c407640 100644
--- a/decidim-dev/lib/decidim/dev/assets/assemblies.json
+++ b/decidim-dev/lib/decidim/dev/assets/assemblies.json
@@ -512,7 +512,17 @@
},
"weight": 0,
"permissions": null,
- "published_at": "2020-01-22 07:55:04 UTC"
+ "published_at": "2020-01-22 07:55:04 UTC",
+ "specific_data": {
+ "body": {
+ "en": "English content",
+ "ca": "Catalan content",
+ "es": "Spanish content",
+ "machine_translations": {
+ "es": "Machine translation spanish content"
+ }
+ }
+ }
},
{
"manifest_name": "proposals",
diff --git a/decidim-dev/lib/decidim/dev/test/rspec_support/helpers.rb b/decidim-dev/lib/decidim/dev/test/rspec_support/helpers.rb
index 310900420e000..5044c5a297b6b 100644
--- a/decidim-dev/lib/decidim/dev/test/rspec_support/helpers.rb
+++ b/decidim-dev/lib/decidim/dev/test/rspec_support/helpers.rb
@@ -39,6 +39,18 @@ def expect_user_logged
def have_admin_callout(text)
have_selector(".callout--full", text: text)
end
+
+ def stub_get_request_with_format(rq_url, rs_format)
+ stub_request(:get, rq_url)
+ .with(
+ headers: {
+ "Accept" => "*/*",
+ "Accept-Encoding" => "gzip;q=1.0,deflate;q=0.6,identity;q=0.3",
+ "User-Agent" => "Ruby"
+ }
+ )
+ .to_return(status: 200, body: "", headers: { content_type: rs_format })
+ end
end
RSpec.configure do |config|
diff --git a/decidim-dev/lib/decidim/dev/version.rb b/decidim-dev/lib/decidim/dev/version.rb
index 542164850f7ba..b01d6df3e789a 100644
--- a/decidim-dev/lib/decidim/dev/version.rb
+++ b/decidim-dev/lib/decidim/dev/version.rb
@@ -4,7 +4,7 @@ module Decidim
# This holds the decidim-dev version.
module Dev
def self.version
- "0.26.2"
+ "0.26.4"
end
end
end
diff --git a/decidim-elections/app/cells/decidim/votings/content_blocks/landing_page/description/show.erb b/decidim-elections/app/cells/decidim/votings/content_blocks/landing_page/description/show.erb
index 54c8b570ca37c..07a853b2ec63b 100644
--- a/decidim-elections/app/cells/decidim/votings/content_blocks/landing_page/description/show.erb
+++ b/decidim-elections/app/cells/decidim/votings/content_blocks/landing_page/description/show.erb
@@ -1,4 +1,4 @@
-
<% end %>
<% form.participatory_space_trustees.map {|trustee| [trustee, form.trustees.none? || form.trustees.include?(trustee)] }
diff --git a/decidim-elections/config/locales/ar.yml b/decidim-elections/config/locales/ar.yml
index f871dce2b9003..42d0816eea6df 100644
--- a/decidim-elections/config/locales/ar.yml
+++ b/decidim-elections/config/locales/ar.yml
@@ -5,8 +5,6 @@ ar:
description: الوصف
election:
description: الوصف
- question:
- description: الوصف
decidim:
elections:
admin:
diff --git a/decidim-elections/config/locales/ca.yml b/decidim-elections/config/locales/ca.yml
index eb8b4080601b4..011b23cf51129 100644
--- a/decidim-elections/config/locales/ca.yml
+++ b/decidim-elections/config/locales/ca.yml
@@ -12,7 +12,6 @@ ca:
start_time: La votació comença el
title: Títol
question:
- description: Descripció
max_selections: Número màxim d'opcions
min_selections: Cap de les opcions anteriors
title: Títol
@@ -231,12 +230,17 @@ ca:
success: La pregunta s'ha actualitzat correctament
steps:
create_election:
+ census: Cens
errors:
+ census_codes_generated: Els codis d'accés al cens no s'han pogut generar.
+ census_frozen: Els codis d'accés al cens no s'han pogut exportar.
+ census_uploaded: No s'ha pujat el cens per a aquestes eleccions.
+ component_published: L'elecció no està publicada.
max_selections: Les preguntes no tenen un valor correcte per quantitat de respostes
minimum_answers: Les preguntes han de tenir almenys dues respostes.
minimum_questions: L'elecció ha de tenir almenys una pregunta.
published: L'elecció no està publicada.
- time_before: L'hora d'inici és en menys de 3 hores abans de que comenci l'elecció.
+ time_before: L'hora d'inici és en menys de %{hours} hores abans de que comenci l'elecció.
trustees_number: L'espai de participació ha de tenir almenys %{number} garants amb clau pública.
invalid: S'ha produït un error en configurar aquesta elecció
no_trustees: No hi ha garants configurats per aquest espai de participació
@@ -245,6 +249,10 @@ ca:
'false': no té una clau pública
'true': té una clau pública
requirements:
+ census_codes_generated: S'han generat els codis d'accés al cens.
+ census_frozen: S'han exportat els codis per al cens i el cens ha quedat congelat.
+ census_uploaded: El cens s'ha pujat.
+ component_published: L'elecció està publicada.
max_selections: Totes les preguntes tenen un valor correcte per màxim de respostes.
minimum_answers: Cada pregunta té almenys 2 respostes.
minimum_questions: L'elecció té almenys 1 pregunta.
@@ -357,6 +365,13 @@ ca:
update: "%{user_name} ha actualitzat l'elecció %{resource_name} a %{space_name}"
trustee:
create: "%{user_name} ha assignat a la usuària %{trustee_user} com a garant"
+ connection:
+ failed:
+ modal:
+ close: Tancar
+ communication_lost: Malauradament, sembla que la comunicació amb el servidor de votació (Bulletin Board) s'ha perdut. Pot ser que la connexió a Internet estigui avariada o que el servidor de destí estigui massa ocupat. Pots provar-ho més tard o posar-te en contacte amb el servei d'assistència si aquest problema persisteix.
+ generic_error: Malauradament, s'ha produït un error desconegut. És probable que el teu navegador no estigui suportat o que estiguis fent servir el mode "d'incògnit" o "privat" que no són compatibles.
+ title: Alguna cosa ha anat malament
election_m:
badge_name:
finished: Acabada
@@ -639,6 +654,10 @@ ca:
failed:
header: Vot fallit
lead: El teu vot no s'ha enviat!
+ modal:
+ close: Tancar
+ communication_lost: Malauradament, sembla que la comunicació amb el servidor de votació (Bulletin Board) s'ha perdut. Pot ser que la connexió a Internet estigui avariada o que el servidor de destí estigui massa ocupat. Pots provar-ho més tard o posar-te en contacte amb el servei d'assistència si aquest problema persisteix.
+ title: Alguna cosa ha anat malament
text: Alguna cosa ha anat malament. Si us plau, torna-ho a provar.
try_again: Prova-ho de nou
header:
diff --git a/decidim-elections/config/locales/cs.yml b/decidim-elections/config/locales/cs.yml
index d54ff3b5751b5..42ac8598c34f2 100644
--- a/decidim-elections/config/locales/cs.yml
+++ b/decidim-elections/config/locales/cs.yml
@@ -12,7 +12,6 @@ cs:
start_time: Hlasování začíná v
title: Název
question:
- description: Popis
max_selections: Maximální počet výběrů
min_selections: Žádná z výše uvedených možností
title: Název
@@ -249,12 +248,17 @@ cs:
success: Otázka byla úspěšně aktualizována
steps:
create_election:
+ census: Rejstřík obyvatel
errors:
+ census_codes_generated: Přístupové kódy pro rejstřík osob nejsou vygenerovány.
+ census_frozen: Přístupové kódy pro rejstřík osob nejsou exportovány.
+ census_uploaded: Pro tyto volby není nahrán žádný rejstřík obyvatel.
+ component_published: Volební složka není publikována.
max_selections: Otázky nemají správnou hodnotu pro množství odpovědí
minimum_answers: Otázky musí mít alespoň dvě odpovědi.
minimum_questions: Volby musí mít alespoň jednu otázku.
published: Volby nejsou publikovány.
- time_before: Počáteční čas je za méně než 3 hodiny před zahájením voleb.
+ time_before: Čas zahájení je v méně než %{hours} hodin před začátkem voleb.
trustees_number: Participační prostor musí mít alespoň %{number} důvěrníků s veřejným klíčem.
invalid: Při zřizování těchto voleb došlo k chybě
no_trustees: Pro tento participační prostor nejsou nakonfigurováni žádní důvěrníci
@@ -263,6 +267,10 @@ cs:
'false': nemá veřejný klíč
'true': má veřejný klíč
requirements:
+ census_codes_generated: Vygenerované přístupové kódy pro rejstřík osob.
+ census_frozen: Přístupové kódy pro rejstřík osob jsou exportovány a sčítání je zmrazeno.
+ census_uploaded: Rejstřík obyvatel je nahrán.
+ component_published: Volební komponenta je publikována.
max_selections: Všechny otázky mají správnou hodnotu pro maximum odpovědí.
minimum_answers: Každá otázka má alespoň 2 odpovědi.
minimum_questions: Volba má alespoň jednu otázku.
@@ -375,6 +383,13 @@ cs:
update: "%{user_name} aktualizoval volbu %{resource_name} z %{space_name}"
trustee:
create: "%{user_name} přiřadil uživatele %{trustee_user} jako důvěrníka"
+ connection:
+ failed:
+ modal:
+ close: Zavřít
+ communication_lost: Bohužel se zdá, že komunikace s hlasovacím serverem (Bulletin Board) je ztracena. Může se stát, že připojení k internetu je přerušeno nebo že cílový server je příliš zaneprázdněný. Pokud tento problém přetrvává, můžete to zkusit později nebo se obraťte na podporu.
+ generic_error: Bohužel došlo k neznámé chybě. Je pravděpodobné, že váš prohlížeč není podporován nebo že používáte "incognito" nebo "privátní" režim, který není podporován.
+ title: Něco se pokazilo
election_m:
badge_name:
finished: Dokončeno
@@ -629,7 +644,7 @@ cs:
back: Zahájit proces hlasování znovu
ballot_hash: 'Identifikátor vašeho hlasování:'
cast: Uložte hlasování, abyste dokončili vaše hlasování
- description: Zde máte možnost odevzdat hlasovací lístek tak, aby byl správně spočítán, nebo případně můžete kontrolovat, zda je vaše hlasování správně šifrované. Z důvodů porušeného zabezpečnení to váš hlasovací lístek může zrušit. To znamená, že abyste mohli hlasovat, budete muset znovu zahájit hlasovací proces.
+ description: Zde máte možnost odevzdat hlasovací lístek tak, aby byl správně spočítán, nebo případně můžete kontrolovat, zda je vaše hlasování správně šifrované. Z důvodů porušeného zabezpečení to váš hlasovací lístek může zrušit. To znamená, že abyste mohli hlasovat, budete muset znovu zahájit hlasovací proces.
header: 'Hlasovací lístek je šifrovaný: zahlasujte s ním nebo jej auditujte'
casting:
header: Hlasování...
@@ -659,6 +674,10 @@ cs:
failed:
header: Hlasování se nezdařilo
lead: Váš hlas nebyl odeslán!
+ modal:
+ close: Zavřít
+ communication_lost: Bohužel se zdá, že komunikace s hlasovacím serverem (Bulletin Board) je ztracena. Může se stát, že připojení k internetu je přerušeno nebo že cílový server je příliš zaneprázdněný. Pokud tento problém přetrvává, můžete to zkusit později nebo se obraťte na podporu.
+ title: Něco se pokazilo
text: Něco se pokazilo, zkuste to prosím znovu.
try_again: Zkuste to znovu
header:
@@ -697,7 +716,7 @@ cs:
header: Hlasování nenalezeno!
info: Kód hlasu nebyl nalezen v %{link} volebních urnám, zkuste to znovu.
form:
- back: Zpět na Deidim
+ back: Zpět na Decidim
submit: Ověřit
vote_identifier: 'Identifikační kód:'
header:
@@ -731,7 +750,7 @@ cs:
notification_title: Jste důvěrník pro %{resource_name}.
votes:
accepted_votes:
- email_intro: 'Váš hlas byl přijat! Pomocí tvého hlasovacího tokenu: %{encrypted_vote_hash}, můžete ověřit svůj hlas zde.'
+ email_intro: 'Váš hlas byl přijat! Pomocí vašeho hlasovacího tokenu: %{encrypted_vote_hash}, můžete ověřit svůj hlas zde.'
email_outro: Obdrželi jste toto oznámení, protože jste hlasovali pro hlasování %{resource_name}.
email_subject: Váš hlas pro %{resource_name} byl přijat.
notification_title: 'Váš hlas byl přijat. Ověřte svůj hlas zde pomocí hlasovacího tokenu: %{encrypted_vote_hash}'
@@ -1021,7 +1040,7 @@ cs:
promoted: Propagováno
select_a_voting_type: Vyberte prosím typ hlasování
slug: Slug
- slug_help: 'URL slugů se používají k generování URL, které odkazují na toto hlasování. přijímá pouze písmena, čísla a pomlčky a musí začínat písmenem. Příklad: %{url}'
+ slug_help: 'URL slug se používá k generování URL, které odkazují na toto hlasování. přijímá pouze písmena, čísla a pomlčky a musí začínat písmenem. Příklad: %{url}'
title: Název
voting_type:
hybrid: Hybridní
diff --git a/decidim-elections/config/locales/de.yml b/decidim-elections/config/locales/de.yml
index df4dd5ca69543..3d75219d8fc3f 100644
--- a/decidim-elections/config/locales/de.yml
+++ b/decidim-elections/config/locales/de.yml
@@ -12,7 +12,6 @@ de:
start_time: Die Abstimmung beginnt um
title: Titel
question:
- description: Beschreibung
max_selections: Maximale Anzahl Antworten
min_selections: Nichts davon
title: Titel
@@ -58,6 +57,9 @@ de:
decidim/elections/question:
one: Frage
other: Fragen
+ decidim/voting:
+ one: Abstimmung
+ other: Abstimmungen
decidim/votings/census/dataset:
one: Datensatz
other: Datensätze
@@ -204,6 +206,7 @@ de:
title: Vorschläge importieren
questions:
create:
+ election_started: Die Wahl hat bereits begonnen
invalid: Beim Erstellen dieser Frage ist ein Fehler aufgetreten
success: Frage wurde erfolgreich erstellt
destroy:
@@ -227,7 +230,6 @@ de:
minimum_answers: Fragen müssen mindestens zwei Antworten haben.
minimum_questions: Die Wahl muss mindestens eine Frage haben.
published: Die Wahl ist nicht veröffentlicht.
- time_before: Die Startzeit ist in weniger als 3 Stunden vor Beginn der Wahl.
trustees_number: Mindestens %{number} Wahlhelfer mit Public Key werden benötigt.
invalid: Beim Erstellen dieser Wahl ist ein Fehler aufgetreten
no_trustees: Es sind keine Wahlhelfer eingetragen
@@ -253,6 +255,7 @@ de:
title: Wahl erstellt
trustees: Wahlhelfer
key_ceremony:
+ continue: Fortfahren
title: Schlüsselzeremonie
key_ceremony_ended:
errors:
@@ -273,10 +276,14 @@ de:
submit: Absenden
title: Ergebnisse veröffentlicht
tally:
+ continue: Fortfahren
invalid: Es ist ein Problem beim Melden des Stimmenzählers aufgetreten
mark_as_missing: Als fehlend markieren
mark_as_missing_description: Alle Wahlhelfer sollten an diesem Prozess teilnehmen. Wenn ein Wahlhelfer nicht am Prozess teilnehmen kann, können Sie ihn als fehlend markieren.
+ success: Eine Meldung über das Fehlen des Wahlhelfers wurde erfolgreich ans Forum gesendet
+ tally_completion: Der Prozess wird abgeschlossen, wenn alle Wahlhelfer aktiv sind oder als fehlend markiert wurden. Mindestens %{quorum} Wahlhelfer sind erforderlich, um den Prozess abzuschließen.
title: Stimmenzählung
+ undo_mark_as_missing: Ein Wahlhelfer, der versehentlich als fehlend markiert wurde, kann vor Abschluss des Prozesses teilnehmen. Sie können wie gewohnt fortfahren und die fehlend-Markierung wird ignoriert.
tally_ended:
answer: Antwort
not_selected: Nicht ausgewählt
@@ -327,6 +334,13 @@ de:
update:
invalid: Es ist ein Problem beim Aktualisieren des Wahlhelfers %{trustee} aufgetreten
success: Wahlhelfer %{trustee} erfolgreich aktualisiert
+ connection:
+ failed:
+ modal:
+ close: Schliessen
+ communication_lost: Leider scheint die Kommunikation mit dem Abstimmungsserver (Bulletin Board) unterbrochen. Möglicherweise ist die Internetverbindung gestört oder der Server ist überlastet. Bitte versuche es später noch einmal oder kontaktiere den Support, falls das Problem weiterhin besteht.
+ generic_error: Leider ist ein unbekannter Fehler aufgetreten. Es ist wahrscheinlich, dass Ihr Browser nicht unterstützt wird oder dass Sie den Modus "incognito" oder "private" verwenden, der nicht unterstützt wird.
+ title: Etwas ist schiefgelaufen
election_m:
badge_name:
finished: Abgeschlossen
@@ -600,11 +614,17 @@ de:
failed:
header: Abstimmung fehlgeschlagen
lead: Ihre Stimme wurde nicht abgegeben!
+ modal:
+ close: Schließen
+ communication_lost: Leider scheint die Kommunikation mit dem Abstimmungsserver (Bulletin Board) unterbrochen. Möglicherweise ist die Internetverbindung gestört oder der Server ist überlastet. Bitte versuche es später noch einmal oder kontaktiere den Support, falls das Problem weiterhin besteht.
+ title: Etwas ist schiefgelaufen
text: Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut.
+ try_again: Erneut versuchen
header:
ballot_decision: Stimme abgeben oder überprüfen
confirm: Bestätige deine Stimme
confirmed: Abstimmung bestätigt
+ failed: Abstimmung fehlgeschlagen
messages:
invalid_token: Ihre Sitzung in der Abstimmung ist nicht gültig. Versuchen Sie, erneut abzustimmen.
not_allowed: Sie dürfen zur Zeit nicht an dieser Wahl teilnehmen.
@@ -942,13 +962,17 @@ de:
assign_missing_officers: Es gibt noch Wahllokale ohne Präsident und/oder Wahlleiter. Bitte ordnen Sie diese im Wahllokal-Abschnitt zu
update: Aktualisieren
form:
+ banner_image: Kopf-Bild
+ promoted: Hervorgehoben
select_a_voting_type: Bitte einen Abstimmungs-Typ auswählen
+ slug: URL-Segment
slug_help: 'URL-Slugs werden zum Generieren der URLs verwendet, die auf diese Abstimmung verweisen. Akzeptiert nur Buchstaben, Zahlen und Bindestriche und muss mit einem Buchstaben beginnen. Beispiel: %{url}'
title: Titel
voting_type:
hybrid: Hybrid
in_person: Persönlich
online: Online
+ voting_type_label: Art der Abstimmung
new:
create: Erstellen
title: Neue Abstimmung
@@ -980,6 +1004,7 @@ de:
button: Zugangscodes für die Abstimmung exportieren
callout: Sie können jetzt die Zugangscodes exportieren. Dies kann nur einmal geschehen. Sobald Sie den Export gestartet haben, werden Sie eine E-Mail mit den Anweisungen unter %{email} erhalten
confirm: Sie können die Zugangscodes nur einmal exportieren. Stellen Sie sicher, dass Sie Zugang zum E-Mail-Konto %{email} haben.
+ file_not_exist: Diese Datei existiert nicht
launch_error: Beim Starten des Zugangscode-Exports ist ein Problem aufgetreten
launch_success: Der Zugangscode-Export wurde gestartet. Sie werden in Kürze eine E-Mail an %{email} erhalten
exporting_access_codes:
@@ -1026,6 +1051,8 @@ de:
highlighted_votings:
name: Hervorgehobene Abstimmungen
landing_page:
+ description:
+ title: Über diese Abstimmung
metrics:
heading: Metriken
polling_stations:
@@ -1057,7 +1084,7 @@ de:
submit: Zertifikat hochladen
success: Zertifikat erfolgreich hochgeladen.
create:
- error: Beim Abschliessen ist ein Fehler aufgetreten, bitte versuchen Sie es später erneut.
+ error: Beim Abschließen ist ein Fehler aufgetreten, bitte versuchen Sie es später erneut.
success: Erfolgreich abgeschlossen.
edit:
heading: Nachzählung der Stimmen - Nachzählung der Antworten
@@ -1078,6 +1105,7 @@ de:
modal_ballots_count_error:
btn_validate_total: Neue Gesamtzahl der Stimmen überprüfen
close_modal: Schließen
+ info_explanation_text: 'Bitte überprüfen Sie die Gesamtzahl der Stimmzettel. Wenn die Gesamtzahl falsch ist, müssen Sie dem Wahlausschuss eine Erklärung abgeben:'
info_text: Die eingegebene Gesamtzahl der Umschläge stimmt nicht mit der Liste der Personen überein, welche in diesem Wahllokal abgestimmt haben.
message_for_monitoring_committee: Nachricht für den Überwachungsausschuss
review_recount: Neuzählung überprüfen
@@ -1204,6 +1232,7 @@ de:
form_title: 'Füllen Sie das folgende Formular aus, um Ihre Erhebungsdaten zu überprüfen:'
invalid: Bei der Überprüfung der Erhebung ist ein Problem aufgetreten.
success:
+ access_link: per E-Mail.
access_link_with_sms: via SMS oder E-Mail.
info: Sie sollten Ihren Zugangscode bereits via Briefpost bekommen haben. Falls nicht, können Sie ihn hier anfordern
title: Ihre Erhebungsdaten sind korrekt!
@@ -1214,6 +1243,7 @@ de:
day_placeholder: TT
document_number: Dokumentennummer
document_number_placeholder: ID-Nummer
+ document_type: Dokumenttyp
month: Monat
month_placeholder: MM
postal_code: Postleitzahl
diff --git a/decidim-elections/config/locales/el.yml b/decidim-elections/config/locales/el.yml
index 943345712e1ca..e10b488fff57f 100644
--- a/decidim-elections/config/locales/el.yml
+++ b/decidim-elections/config/locales/el.yml
@@ -12,7 +12,6 @@ el:
start_time: Η ψηφοφορία ξεκινά στις
title: Τίτλος
question:
- description: Περιγραφή
max_selections: Μέγιστος αριθμός επιλογών
title: Τίτλος
errors:
diff --git a/decidim-elections/config/locales/en.yml b/decidim-elections/config/locales/en.yml
index 95fb3da11d84b..37c649fbe76b2 100644
--- a/decidim-elections/config/locales/en.yml
+++ b/decidim-elections/config/locales/en.yml
@@ -231,7 +231,11 @@ en:
success: Question successfully updated
steps:
create_election:
+ census: Census
errors:
+ census_codes_generated: Access codes for the census are not generated.
+ census_frozen: Access codes for the census are not exported.
+ census_uploaded: There is no census uploaded for this election.
component_published: The election component is not published.
max_selections: The questions do not have a correct value for amount of answers
minimum_answers: Questions must have at least two answers.
@@ -246,6 +250,9 @@ en:
'false': does not have a public key
'true': has a public key
requirements:
+ census_codes_generated: Access codes for the census are generated.
+ census_frozen: Access codes for the census are exported and census is frozen.
+ census_uploaded: Census is uploaded.
component_published: The election component is published.
max_selections: All the questions have a correct value for maximum of answers.
minimum_answers: Each question has at least 2 answers.
diff --git a/decidim-elections/config/locales/es-MX.yml b/decidim-elections/config/locales/es-MX.yml
index ce91877f53a6b..cfc49cda8047a 100644
--- a/decidim-elections/config/locales/es-MX.yml
+++ b/decidim-elections/config/locales/es-MX.yml
@@ -12,7 +12,6 @@ es-MX:
start_time: La votación comienza a las
title: Título
question:
- description: Descripción
max_selections: Número máximo de opciones
min_selections: Ninguna de las anteriores
title: Título
@@ -231,12 +230,17 @@ es-MX:
success: La pregunta se ha actualizado correctamente
steps:
create_election:
+ census: Censo
errors:
+ census_codes_generated: Los códigos de acceso al censo no se han podido generar.
+ census_frozen: Los códigos de acceso al censo no se han podido exportar.
+ census_uploaded: No se ha subido ningún censo para esta elección.
+ component_published: La elección no está publicada.
max_selections: Las preguntas no tienen un valor correcto para la cantidad de respuestas
minimum_answers: Las preguntas deben tener al menos dos respuestas.
minimum_questions: La elección debe tener al menos una pregunta.
published: La elección no está publicada.
- time_before: La hora de inicio está en menos de 3 horas antes de que comience la elección.
+ time_before: Se ha configurado la hora de inicio en menos de %{hours} horas antes de que comience la elección.
trustees_number: El espacio participativo debe tener al menos %{number} garantes con clave pública.
invalid: Hubo un problema al configurar esta elección
no_trustees: No hay garantes configurados para este espacio participativo
@@ -245,6 +249,10 @@ es-MX:
'false': no tiene una clave pública
'true': tiene una clave pública
requirements:
+ census_codes_generated: Se han generador los códigos de acceso al censo.
+ census_frozen: Se han exportado los códgos para el censo y el censo ha quedado congelado.
+ census_uploaded: El censo está subido.
+ component_published: La elección está publicada.
max_selections: Todas las preguntas tienen un valor correcto para máximo de respuestas.
minimum_answers: Cada pregunta tiene al menos 2 respuestas.
minimum_questions: La elección tiene al menos 1 pregunta.
@@ -357,6 +365,13 @@ es-MX:
update: "%{user_name} actualizó la elección %{resource_name} de %{space_name}"
trustee:
create: "%{user_name} asignó al usuario %{trustee_user} como garante"
+ connection:
+ failed:
+ modal:
+ close: Cerrar
+ communication_lost: Desafortunadamente, parece que la comunicación con el servidor de votación (Bulletin Board) se ha perdido. Puede ser que la conexión a Internet esté averiada o que el servidor de destino esté demasiado ocupado. Puedes intentarlo más tarde o ponerte en contacto con el servicio de asistencia si este problema persiste.
+ generic_error: Desafortunadamente, se ha producido un error desconocido. Es probable que tu navegador no esté soportado o que estés usando el modo "incógnito" o "privado" que no es compatible.
+ title: Algo salió mal
election_m:
badge_name:
finished: Finalizada
@@ -639,6 +654,10 @@ es-MX:
failed:
header: Voto fallido
lead: '¡Tu voto no ha sido emitido!'
+ modal:
+ close: Cerrar
+ communication_lost: Desafortunadamente, parece que la comunicación con el servidor de votación (Bulletin Board) se ha perdido. Puede ser que la conexión a Internet esté averiada o que el servidor de destino esté demasiado ocupado. Puedes intentarlo más tarde o ponerte en contacto con el servicio de asistencia si este problema persiste.
+ title: Algo salió mal
text: Algo salió mal, por favor inténtalo de nuevo.
try_again: Inténtalo de nuevo
header:
diff --git a/decidim-elections/config/locales/es-PY.yml b/decidim-elections/config/locales/es-PY.yml
index 628c584bf4443..68e672053cef2 100644
--- a/decidim-elections/config/locales/es-PY.yml
+++ b/decidim-elections/config/locales/es-PY.yml
@@ -12,7 +12,6 @@ es-PY:
start_time: La votación empieza el
title: Título
question:
- description: Descripción
max_selections: Número máximo de opciones
min_selections: Ninguna de las anteriores
title: Título
@@ -231,12 +230,17 @@ es-PY:
success: La pregunta se ha actualizado correctamente
steps:
create_election:
+ census: Censo
errors:
+ census_codes_generated: Los códigos de acceso al censo no se han podido generar.
+ census_frozen: Los códigos de acceso al censo no se han podido exportar.
+ census_uploaded: No se ha subido ningún censo para esta elección.
+ component_published: La elección no está publicada.
max_selections: Las preguntas no tienen un valor correcto para la cantidad de respuestas
minimum_answers: Las preguntas deben tener al menos dos respuestas.
minimum_questions: La elección debe tener al menos una pregunta.
published: La elección no está publicada.
- time_before: La hora de inicio está en menos de 3 horas antes de que comience la elección.
+ time_before: Se ha configurado la hora de inicio en menos de %{hours} horas antes de que comience la elección.
trustees_number: El espacio participativo debe tener al menos %{number} garantes con clave pública.
invalid: Hubo un problema al configurar esta elección
no_trustees: No hay garantes configurados para este espacio participativo
@@ -245,6 +249,10 @@ es-PY:
'false': no tiene una clave pública
'true': tiene una clave pública
requirements:
+ census_codes_generated: Se han generador los códigos de acceso al censo.
+ census_frozen: Se han exportado los códgos para el censo y el censo ha quedado congelado.
+ census_uploaded: El censo está subido.
+ component_published: La elección está publicada.
max_selections: Todas las preguntas tienen un valor correcto para máximo de respuestas.
minimum_answers: Cada pregunta tiene al menos 2 respuestas.
minimum_questions: La elección tiene al menos 1 pregunta.
@@ -357,6 +365,13 @@ es-PY:
update: "%{user_name} actualizó la elección %{resource_name} de %{space_name}"
trustee:
create: "%{user_name} asignó al usuario %{trustee_user} como garante"
+ connection:
+ failed:
+ modal:
+ close: Cerrar
+ communication_lost: Desafortunadamente, parece que la comunicación con el servidor de votación (Bulletin Board) se ha perdido. Puede ser que la conexión a Internet esté averiada o que el servidor de destino esté demasiado ocupado. Puedes intentarlo más tarde o ponerte en contacto con el servicio de asistencia si este problema persiste.
+ generic_error: Desafortunadamente, se ha producido un error desconocido. Es probable que tu navegador no esté soportado o que estés usando el modo "incógnito" o "privado" que no es compatible.
+ title: Algo salió mal
election_m:
badge_name:
finished: Finalizada
@@ -639,6 +654,10 @@ es-PY:
failed:
header: Voto fallido
lead: '¡Tu voto no ha sido emitido!'
+ modal:
+ close: Cerrar
+ communication_lost: Desafortunadamente, parece que la comunicación con el servidor de votación (Bulletin Board) se ha perdido. Puede ser que la conexión a Internet esté averiada o que el servidor de destino esté demasiado ocupado. Puedes intentarlo más tarde o ponerte en contacto con el servicio de asistencia si este problema persiste.
+ title: Algo salió mal
text: Algo salió mal, por favor inténtalo de nuevo.
try_again: Inténtalo de nuevo
header:
diff --git a/decidim-elections/config/locales/es.yml b/decidim-elections/config/locales/es.yml
index da91289681ce8..aa85cd1fef3ba 100644
--- a/decidim-elections/config/locales/es.yml
+++ b/decidim-elections/config/locales/es.yml
@@ -12,7 +12,6 @@ es:
start_time: La votación empieza el
title: Título
question:
- description: Descripción
max_selections: Número máximo de opciones
min_selections: Ninguna de las opciones anteriores
title: Título
@@ -231,12 +230,17 @@ es:
success: La pregunta se ha actualizado correctamente
steps:
create_election:
+ census: Censo
errors:
+ census_codes_generated: Los códigos de acceso al censo no se han podido generar.
+ census_frozen: Los códigos de acceso al censo no se han podido exportar.
+ census_uploaded: No se ha subido ningún censo para esta elección.
+ component_published: La elección no está publicada.
max_selections: Las preguntas no tienen un valor correcto para la cantidad de respuestas
minimum_answers: Las preguntas deben tener al menos dos respuestas.
minimum_questions: La elección debe tener al menos una pregunta.
published: La elección no está publicada.
- time_before: La hora de inicio está en menos de 3 horas antes de que comience la elección.
+ time_before: Se ha configurado la hora de inicio en menos de %{hours} horas antes de que comience la elección.
trustees_number: El espacio participativo debe tener al menos %{number} garantes con clave pública.
invalid: Hubo un problema al configurar esta elección
no_trustees: No hay garantes configurados para este espacio participativo
@@ -245,6 +249,10 @@ es:
'false': no tiene una clave pública
'true': tiene una clave pública
requirements:
+ census_codes_generated: Se han generador los códigos de acceso al censo.
+ census_frozen: Se han exportado los códgos para el censo y el censo ha quedado congelado.
+ census_uploaded: El censo está subido.
+ component_published: La elección está publicada.
max_selections: Todas las preguntas tienen un valor correcto para máximo de respuestas.
minimum_answers: Cada pregunta tiene al menos 2 respuestas.
minimum_questions: La elección tiene al menos 1 pregunta.
@@ -357,6 +365,13 @@ es:
update: "%{user_name} actualizó la elección %{resource_name} de %{space_name}"
trustee:
create: "%{user_name} asignó al usuario %{trustee_user} como garante"
+ connection:
+ failed:
+ modal:
+ close: Cerrar
+ communication_lost: Desafortunadamente, parece que la comunicación con el servidor de votación (Bulletin Board) se ha perdido. Puede ser que la conexión a Internet esté averiada o que el servidor de destino esté demasiado ocupado. Puedes intentarlo más tarde o ponerte en contacto con el servicio de asistencia si este problema persiste.
+ generic_error: Desafortunadamente, se ha producido un error desconocido. Es probable que tu navegador no esté soportado o que estés usando el modo "incógnito" o "privado" que no es compatible.
+ title: Algo salió mal
election_m:
badge_name:
finished: Finalizada
@@ -639,6 +654,10 @@ es:
failed:
header: Voto fallido
lead: '¡Tu voto no ha sido emitido!'
+ modal:
+ close: Cerrar
+ communication_lost: Desafortunadamente, parece que la comunicación con el servidor de votación (Bulletin Board) se ha perdido. Puede ser que la conexión a Internet esté averiada o que el servidor de destino esté demasiado ocupado. Puedes intentarlo más tarde o ponerte en contacto con el servicio de asistencia si este problema persiste.
+ title: Algo salió mal
text: Algo salió mal, por favor inténtalo de nuevo.
try_again: Inténtalo de nuevo
header:
diff --git a/decidim-elections/config/locales/eu.yml b/decidim-elections/config/locales/eu.yml
index b2163f882da75..9eecf985381c4 100644
--- a/decidim-elections/config/locales/eu.yml
+++ b/decidim-elections/config/locales/eu.yml
@@ -12,7 +12,6 @@ eu:
start_time: Bozketaren hasiera-data
title: Izenburua
question:
- description: Deskribapena
max_selections: Gehieneko aukera kopurua
min_selections: Aurreko bat ere ez
title: Izenburua
@@ -223,11 +222,12 @@ eu:
steps:
create_election:
errors:
+ census_codes_generated: Erroldarako sarbide kodeak ez dira sortu.
+ census_frozen: Erroldarako sarbide kodeak ez dira esportatu.
max_selections: Galderek ez dute balio zuzenik galdera kopururako
minimum_answers: Galderek gutxienez eduki behar dituzte bi erantzun .
minimum_questions: aukerak gutxienez galdera bat eduki behar du.
published: aukera ez dago argitaratuta .
- time_before: Hasierako ordua hemen dago 3 ordu baino gutxiago bozketa hasi baino lehen.
trustees_number: espazio parte-hartzaileak gutxienez eduki behar du %{number} bermatzaile gako publikoarekin .
invalid: Arazo bat izan da aukera hau konfiguratzean
no_trustees: Ez dago bermatzaile konfiguraturik espazio parte-hartzaile honetarako
@@ -236,6 +236,8 @@ eu:
'false': ez du gako publikorik
'true': badu gako publiko bat
requirements:
+ census_codes_generated: Sortu dira erroldarako sarbide kodeak.
+ census_frozen: Erroldarako sarbide kodeak esportatu dira eta errolda izoztu da.
max_selections: Erantzun guztiek balio zuzena dute honetarako erantzun gehien.
minimum_answers: Galdera bakoitzak badu gutxienez 2 erantzun.
minimum_questions: Aukerak badu gutxienez galdera 1.
@@ -611,6 +613,8 @@ eu:
failed:
header: Boto okerra
lead: Ez duzu eman botoa!
+ modal:
+ close: Itxi
text: Zerbait txarto irten da, mesedez, saiatu berriro.
try_again: Saiatu berriro
header:
diff --git a/decidim-elections/config/locales/fi-plain.yml b/decidim-elections/config/locales/fi-plain.yml
index 6da6f8e4fd425..ca848167caf3f 100644
--- a/decidim-elections/config/locales/fi-plain.yml
+++ b/decidim-elections/config/locales/fi-plain.yml
@@ -12,7 +12,6 @@ fi-pl:
start_time: Äänestys alkaa
title: Otsikko
question:
- description: Kuvaus
max_selections: Valintojen enimmäismäärä
min_selections: Ei mikään edellä mainituista
title: Otsikko
@@ -231,12 +230,17 @@ fi-pl:
success: Kysymyksen päivitys onnistui
steps:
create_election:
+ census: Henkilötietorekisteri
errors:
+ census_codes_generated: Henkilötietorekisterin äänestyskoodeja ei ole luotu.
+ census_frozen: Henkilötietorekisterin äänestyskoodeja ei ole viety.
+ census_uploaded: Tälle äänestykselle ei ole luotu henkilötietorekisteriä.
+ component_published: Vaalikomponenttia ei ole julkaistu.
max_selections: Kysymyksillä ei ole oikeaa arvoa vastausten määrälle
minimum_answers: Kysymyksillä on oltava vähintään kaksi vastausta.
minimum_questions: Vaalilla on oltava vähintään yksi kysymys.
published: Vaalia ei ole julkaistu.
- time_before: Alkamisaika on alle 3 tuntia ennen vaalin alkua.
+ time_before: Alkamisaika on alle %{hours} tuntia ennen vaalin alkua.
trustees_number: Osallistumistilassa on oltava vähintään %{number} luottamushenkilöä, joilla on julkinen avain.
invalid: Vaalin asetusten määrittäminen epäonnistui
no_trustees: Tähän osallistumistilaan ei ole määritetty luottamushenkilöitä
@@ -245,6 +249,10 @@ fi-pl:
'false': vaalilla ei ole julkista avainta
'true': vaalilla on julkinen avain
requirements:
+ census_codes_generated: Henkilötietorekisterin äänestyskoodit on luotu.
+ census_frozen: Henkilötietorekisterin äänestyskoodit on viety ja henkilötietorekisteri on lukittu.
+ census_uploaded: Henkilötietorekisteri on ladattu palveluun.
+ component_published: Vaalikomponentti on julkaistu.
max_selections: Kaikilla kysymyksillä on oikea arvo asetukselle vastausten maksimimäärä.
minimum_answers: Jokaisella kysymyksellä on vähintään 2 vastausta.
minimum_questions: Vaalilla on vähintään 1 kysymys.
@@ -357,6 +365,13 @@ fi-pl:
update: "%{user_name} päivitti vaalia %{resource_name} osallistumistilassa %{space_name}"
trustee:
create: "%{user_name} määritti käyttäjän %{trustee_user} luottamushenkilöksi"
+ connection:
+ failed:
+ modal:
+ close: Sulje
+ communication_lost: Valitettavasti näyttää siltä, että viestien välitys sähköisen ääniuurnan kanssa ei onnistu. Internet-yhteydessäsi voi olla ongelma tai ääniuurnan palvelin on liian kiireinen. Voit yrittää myöhemmin uudestaan tai ottaa yhteyttä tekniseen tukeen, jos ongelma jatkuu.
+ generic_error: Valitettavasti on tapahtunut tuntematon virhe. On todennäköistä, että selaintasi ei tueta tai käytät selaimen "näkymättömyystilaa" tai "yksityisen selauksen tilaa", joita ei tueta.
+ title: Jokin meni vikaan
election_m:
badge_name:
finished: Valmis
@@ -639,6 +654,10 @@ fi-pl:
failed:
header: Äänestys epäonnistui
lead: Ääntäsi ei ole annettu!
+ modal:
+ close: Sulje
+ communication_lost: Valitettavasti näyttää siltä, että viestien välitys sähköisen ääniuurnan kanssa ei onnistu. Internet-yhteydessäsi voi olla ongelma tai ääniuurnan palvelin on liian kiireinen. Voit yrittää myöhemmin uudestaan tai ottaa yhteyttä tekniseen tukeen, jos ongelma jatkuu.
+ title: Jokin meni vikaan
text: Jokin meni pieleen, yritä uudelleen.
try_again: Yritä uudestaan
header:
diff --git a/decidim-elections/config/locales/fi.yml b/decidim-elections/config/locales/fi.yml
index e2ade1ff9f747..cdadced1b9f34 100644
--- a/decidim-elections/config/locales/fi.yml
+++ b/decidim-elections/config/locales/fi.yml
@@ -12,7 +12,6 @@ fi:
start_time: Äänestys alkaa
title: Otsikko
question:
- description: Kuvaus
max_selections: Valintojen enimmäismäärä
min_selections: Ei mikään edellä mainituista
title: Otsikko
@@ -231,12 +230,17 @@ fi:
success: Kysymyksen päivitys onnistui
steps:
create_election:
+ census: Henkilötietorekisteri
errors:
+ census_codes_generated: Henkilötietorekisterin äänestyskoodeja ei ole luotu.
+ census_frozen: Henkilötietorekisterin äänestyskoodeja ei ole viety.
+ census_uploaded: Tälle äänestykselle ei ole luotu henkilötietorekisteriä.
+ component_published: Vaalikomponenttia ei ole julkaistu.
max_selections: Kysymyksillä ei ole oikeaa arvoa vastausten määrälle
minimum_answers: Kysymyksillä on oltava vähintään kaksi vastausta.
minimum_questions: Vaalilla on oltava vähintään yksi kysymys.
published: Vaalia ei ole julkaistu.
- time_before: Alkamisaika on alle 3 tuntia ennen vaalin alkua.
+ time_before: Alkamisaika on alle %{hours} tuntia ennen vaalin alkua.
trustees_number: Osallistumistilassa on oltava vähintään %{number} luottamushenkilöä, joilla on julkinen avain.
invalid: Vaalin asetusten määrittäminen epäonnistui
no_trustees: Tähän osallistumistilaan ei ole määritetty luottamushenkilöitä
@@ -245,6 +249,10 @@ fi:
'false': vaalilla ei ole julkista avainta
'true': vaalilla on julkinen avain
requirements:
+ census_codes_generated: Henkilötietorekisterin äänestyskoodit on luotu.
+ census_frozen: Henkilötietorekisterin äänestyskoodit on viety ja henkilötietorekisteri on lukittu.
+ census_uploaded: Henkilötietorekisteri on ladattu palveluun.
+ component_published: Vaalikomponentti on julkaistu.
max_selections: Kaikilla kysymyksillä on oikea arvo asetukselle vastausten maksimimäärä.
minimum_answers: Jokaisella kysymyksellä on vähintään 2 vastausta.
minimum_questions: Vaalilla on vähintään 1 kysymys.
@@ -357,6 +365,13 @@ fi:
update: "%{user_name} päivitti vaalia %{resource_name} osallistumistilassa %{space_name}"
trustee:
create: "%{user_name} määritti käyttäjän %{trustee_user} luottamushenkilöksi"
+ connection:
+ failed:
+ modal:
+ close: Sulje
+ communication_lost: Valitettavasti näyttää siltä, että viestien välitys sähköisen ääniuurnan kanssa ei onnistu. Internet-yhteydessäsi voi olla ongelma tai ääniuurnan palvelin on liian kiireinen. Voit yrittää myöhemmin uudestaan tai ottaa yhteyttä tekniseen tukeen, jos ongelma jatkuu.
+ generic_error: Valitettavasti on tapahtunut tuntematon virhe. On todennäköistä, että selaintasi ei tueta tai käytät selaimen "näkymättömyystilaa" tai "yksityisen selauksen tilaa", joita ei tueta.
+ title: Jokin meni vikaan
election_m:
badge_name:
finished: Valmis
@@ -639,6 +654,10 @@ fi:
failed:
header: Äänestys epäonnistui
lead: Ääntäsi ei ole annettu!
+ modal:
+ close: Sulje
+ communication_lost: Valitettavasti näyttää siltä, että viestien välitys sähköisen ääniuurnan kanssa ei onnistu. Internet-yhteydessäsi voi olla ongelma tai ääniuurnan palvelin on liian kiireinen. Voit yrittää myöhemmin uudestaan tai ottaa yhteyttä tekniseen tukeen, jos ongelma jatkuu.
+ title: Jokin meni vikaan
text: Jokin meni pieleen, yritä uudelleen.
try_again: Yritä uudestaan
header:
diff --git a/decidim-elections/config/locales/fr-CA.yml b/decidim-elections/config/locales/fr-CA.yml
index 18bea1ba3d410..fafbf9cea4687 100644
--- a/decidim-elections/config/locales/fr-CA.yml
+++ b/decidim-elections/config/locales/fr-CA.yml
@@ -12,7 +12,6 @@ fr-CA:
start_time: Le vote commence à
title: Titre
question:
- description: Description
max_selections: Nombre maximum de sélections
min_selections: Aucune des options ci-dessus
title: Titre
@@ -231,12 +230,17 @@ fr-CA:
success: Question mise à jour avec succès
steps:
create_election:
+ census: Recensement
errors:
+ census_codes_generated: Les codes d'accès pour le recensement ne sont pas générés.
+ census_frozen: Les codes d'accès pour le recensement ne sont pas exportés.
+ census_uploaded: Il n'y a pas de recensement téléchargé pour cette élection.
+ component_published: La fonctionnalité élection n'est pas publiée.
max_selections: Les questions n'ont pas de valeur correcte pour le nombre de réponses
minimum_answers: Les questions doivent avoir au moins deux réponses.
minimum_questions: L'élection doit avoir au moins une question.
published: L'élection n'est pas publiée.
- time_before: L'heure de début se situemoins de 3 heures avant le commencement de l'élection.
+ time_before: L'heure de début se situemoins de %{hours} heures avant le commencement de l'élection.
trustees_number: L'espace participatif doit avoir au moins %{number} garants avec une clé publique.
invalid: Une erreur est survenue lors de la création de l'élection
no_trustees: Il n'y a pas de garants configurés pour cet espace participatif
@@ -245,6 +249,10 @@ fr-CA:
'false': n'a pas de clé publique
'true': a une clé publique
requirements:
+ census_codes_generated: Les codes d'accès pour le recensement sont générés.
+ census_frozen: Les codes d'accès pour le recensement sont exportés et le recensement est gelé.
+ census_uploaded: Le recensement a été téléchargé.
+ component_published: La fonctionnalité élection est publiée.
max_selections: Toutes les questions ont une valeur correcte pour le maximum de réponses.
minimum_answers: Chaque question a au moins 2 réponses.
minimum_questions: L'élection a au moins 1 question.
@@ -357,6 +365,13 @@ fr-CA:
update: "%{user_name} a mis à jour l'élection %{resource_name} de %{space_name}"
trustee:
create: "%{user_name} a nommé l'utilisateur %{trustee_user} en tant que accesseur"
+ connection:
+ failed:
+ modal:
+ close: Fermer
+ communication_lost: Malheureusement, il semble que la communication avec le serveur de vote (Bulletin Board) est perdue. Il se peut que la connexion Internet soit interrompue ou que le serveur de destination soit trop occupé. Vous pouvez réessayer plus tard ou contacter le support si ce problème persiste.
+ generic_error: Malheureusement, une erreur inconnue s'est produite. Il est probable que votre navigateur n'est pas pris en charge ou que vous utilisez le mode "incognito" ou "privé" qui n'est pas pris en charge.
+ title: Un problème est survenu
election_m:
badge_name:
finished: Terminées
@@ -639,6 +654,10 @@ fr-CA:
failed:
header: Le vote a échoué
lead: Votre vote n'a pas été exprimé!
+ modal:
+ close: Fermer
+ communication_lost: Malheureusement, il semble que la communication avec le serveur de vote (Bulletin Board) est perdue. Il se peut que la connexion Internet soit interrompue ou que le serveur de destination soit trop occupé. Vous pouvez réessayer plus tard ou contacter le support si ce problème persiste.
+ title: Un problème est survenu
text: Une erreur est survenue, veuillez réessayer.
try_again: Réessayez
header:
@@ -668,7 +687,7 @@ fr-CA:
no_account: Non, merci.
title: Nouveau sur Decidim ?
update:
- error: Une erreur s'est produite lors de la mise à jour du statut du vote. Tentez de voter à nouveau.
+ error: Une erreur s'est produite lors de la mise à jour du statut du vote. Tentez de voter à nouveau.
verify:
content:
heading: Vérifiez votre vote
diff --git a/decidim-elections/config/locales/fr.yml b/decidim-elections/config/locales/fr.yml
index 91f4e9256e9b1..be93d2ddbaa94 100644
--- a/decidim-elections/config/locales/fr.yml
+++ b/decidim-elections/config/locales/fr.yml
@@ -12,7 +12,6 @@ fr:
start_time: Le vote commence à
title: Titre
question:
- description: Description
max_selections: Nombre maximum de sélections
min_selections: Aucune des options ci-dessus
title: Titre
@@ -231,12 +230,17 @@ fr:
success: Question mise à jour avec succès
steps:
create_election:
+ census: Recensement
errors:
+ census_codes_generated: Les codes d'accès pour le recensement ne sont pas générés.
+ census_frozen: Les codes d'accès pour le recensement ne sont pas exportés.
+ census_uploaded: Il n'y a pas de recensement téléchargé pour cette élection.
+ component_published: La fonctionnalité élection n'est pas publiée.
max_selections: Les questions n'ont pas de valeur correcte pour le nombre de réponses
minimum_answers: Les questions doivent avoir au moins deux réponses.
minimum_questions: L'élection doit avoir au moins une question.
published: L'élection n'est pas publiée.
- time_before: L'heure de début se situemoins de 3 heures avant le commencement de l'élection.
+ time_before: L'heure de début se situemoins de %{hours} heures avant le commencement de l'élection.
trustees_number: L'espace participatif doit avoir au moins %{number} garants avec une clé publique.
invalid: Une erreur est survenue lors de la création de l'élection
no_trustees: Il n'y a pas de garants configurés pour cet espace participatif
@@ -245,6 +249,10 @@ fr:
'false': n'a pas de clé publique
'true': a une clé publique
requirements:
+ census_codes_generated: Les codes d'accès pour le recensement sont générés.
+ census_frozen: Les codes d'accès pour le recensement sont exportés et le recensement est gelé.
+ census_uploaded: Le recensement a été téléchargé.
+ component_published: La fonctionnalité élection est publiée.
max_selections: Toutes les questions ont une valeur correcte pour le maximum de réponses.
minimum_answers: Chaque question a au moins 2 réponses.
minimum_questions: L'élection a au moins 1 question.
@@ -357,6 +365,13 @@ fr:
update: "%{user_name} a mis à jour l'élection %{resource_name} de %{space_name}"
trustee:
create: "%{user_name} a nommé l'utilisateur %{trustee_user} en tant que Garant"
+ connection:
+ failed:
+ modal:
+ close: Fermer
+ communication_lost: Malheureusement, il semble que la communication avec le serveur de vote (Bulletin Board) est perdue. Il se peut que la connexion Internet soit interrompue ou que le serveur de destination soit trop occupé. Vous pouvez réessayer plus tard ou contacter le support si ce problème persiste.
+ generic_error: Malheureusement, une erreur inconnue s'est produite. Il est probable que votre navigateur n'est pas pris en charge ou que vous utilisez le mode "incognito" ou "privé" qui n'est pas pris en charge.
+ title: Un problème est survenu
election_m:
badge_name:
finished: Terminées
@@ -639,6 +654,10 @@ fr:
failed:
header: Le vote a échoué
lead: Votre vote n'a pas été exprimé !
+ modal:
+ close: Fermer
+ communication_lost: Malheureusement, il semble que la communication avec le serveur de vote (Bulletin Board) est perdue. Il se peut que la connexion Internet soit interrompue ou que le serveur de destination soit trop occupé. Vous pouvez réessayer plus tard ou contacter le support si ce problème persiste.
+ title: Un problème est survenu
text: Une erreur est survenue, veuillez réessayer.
try_again: Réessayez
header:
diff --git a/decidim-elections/config/locales/ga-IE.yml b/decidim-elections/config/locales/ga-IE.yml
index 521c2ffeaf852..22f74434b58c4 100644
--- a/decidim-elections/config/locales/ga-IE.yml
+++ b/decidim-elections/config/locales/ga-IE.yml
@@ -170,6 +170,9 @@ ga:
confirm: Deimhnigh
edit: eagar
nota_option: Bán
+ failed:
+ modal:
+ close: Dún
modal:
close: Dún
verify:
diff --git a/decidim-elections/config/locales/gl.yml b/decidim-elections/config/locales/gl.yml
index 2a220df4ee93e..ab251df070850 100644
--- a/decidim-elections/config/locales/gl.yml
+++ b/decidim-elections/config/locales/gl.yml
@@ -12,7 +12,6 @@ gl:
start_time: A votación comeza ás
title: Título
question:
- description: Descrición
title: Título
activerecord:
models:
@@ -268,6 +267,8 @@ gl:
header: Cifrando o voto...
text: Cifrando a papeleta para asegurar que o teu voto é segredo.
failed:
+ modal:
+ close: Pechar
try_again: Tentar de novo
header:
ballot_decision: Enviar ou auditar o teu voto
diff --git a/decidim-elections/config/locales/gn-PY.yml b/decidim-elections/config/locales/gn-PY.yml
new file mode 100644
index 0000000000000..bd442b0ad85de
--- /dev/null
+++ b/decidim-elections/config/locales/gn-PY.yml
@@ -0,0 +1 @@
+gn:
diff --git a/decidim-elections/config/locales/hu.yml b/decidim-elections/config/locales/hu.yml
index 620679edb380f..1c184a59de178 100644
--- a/decidim-elections/config/locales/hu.yml
+++ b/decidim-elections/config/locales/hu.yml
@@ -12,7 +12,6 @@ hu:
start_time: Szavazás indul
title: Cím
question:
- description: Leírás
max_selections: Kiválasztások maximális száma
min_selections: Egyik opció sem a fentiek közül
title: Cím
@@ -188,6 +187,12 @@ hu:
title: Készen áll a kezdésre
tally:
continue: Folytatás
+ invalid: Probléma volt a hiányzó megbízott bejelentésével
+ mark_as_missing: Hiányzóként megjelölt
+ mark_as_missing_description: Minden megbízottnaik részt kell vennie ebben a folyamatban, de ha egy megbízott nem tud részt venni a folyamatban, akkor jelölheti hiányzónak.
+ success: Hiányzó megbízottról szóló jelentést elküldtük a Hirdetőtáblára
+ tally_completion: A folyamat akkor fejeződik be, ha az összes megbízott aktív vagy hiányzónak van jelölve. A folyamat befejezéséhez legalább %{quorum} megbízottra van szükség.
+ undo_mark_as_missing: A tévedésből hiányzónak megjelölt megbízott az eljárás befejezése előtt részt vehet. A szokásos módon folytathatja a folyamatot, és a hiányzó jelölést figyelmen kívül hagyják.
elections:
results:
votes:
diff --git a/decidim-elections/config/locales/it.yml b/decidim-elections/config/locales/it.yml
index 80682c83d8f92..11186ba73681e 100644
--- a/decidim-elections/config/locales/it.yml
+++ b/decidim-elections/config/locales/it.yml
@@ -12,7 +12,6 @@ it:
start_time: La votazione inizia il
title: Titolo
question:
- description: Descrizione
max_selections: Numero massimo di selezioni
min_selections: Nessuna delle precedenti opzioni
title: Titolo
@@ -227,7 +226,6 @@ it:
minimum_answers: Le domande devono avere almeno due risposte.
minimum_questions: Le elezioni devono avere almeno un quesito.
published: L'elezione non è pubblicata.
- time_before: L'ora di inizio è in meno di 3 ore prima dell'inizio delle elezioni.
trustees_number: Lo spazio partecipativo deve avere almeno %{number} fiduciari con chiave pubblica.
invalid: Si è verificato un errore durante la creazione di questa elezione
no_trustees: Non ci sono Fiduciari configurati per questo spazio partecipativo
@@ -618,6 +616,8 @@ it:
failed:
header: Votazione fallita
lead: Il tuo voto non è stato deposto!
+ modal:
+ close: Chiuso
text: Qualcosa è andato storto. Riprova di nuovo.
try_again: Riprova
header:
diff --git a/decidim-elections/config/locales/ja.yml b/decidim-elections/config/locales/ja.yml
index fdbeba0030d70..168a098eb0dd1 100644
--- a/decidim-elections/config/locales/ja.yml
+++ b/decidim-elections/config/locales/ja.yml
@@ -12,7 +12,6 @@ ja:
start_time: 投票開始
title: タイトル
question:
- description: 説明
max_selections: 選択範囲の最大数
min_selections: 上記のどれでもない
title: タイトル
@@ -222,12 +221,17 @@ ja:
success: 問題が正常に更新されました
steps:
create_election:
+ census: センサス
errors:
+ census_codes_generated: センサスのアクセスコードは生成されませんでした。
+ census_frozen: センサスのアクセスコードはエクスポートされませんでした。
+ census_uploaded: この選挙にアップロードされたセンサスはありません。
+ component_published: 選挙コンポーネントは 未公開です。
max_selections: 質問が 回答の数に対して正しくありません
minimum_answers: 質問には 少なくとも2つの回答が必要です
minimum_questions: 選挙には 少なくとも1つの質問が必要です。
published: 選挙はが 公開されていません 。
- time_before: 開始時刻が、選挙開始まで3時間未満 しかありません。
+ time_before: 開始時刻は選挙が始まる %{hours} 時間以内 になります。
trustees_number: 参加スペースには 少なくとも %{number} 人の公開鍵を持つ受託者が必要です。
invalid: この選挙の設定中に問題が発生しました
no_trustees: この参加スペースに設定された受託者はいません
@@ -236,6 +240,10 @@ ja:
'false': 公開鍵がありません
'true': 公開鍵があります
requirements:
+ census_codes_generated: センサスのアクセスコードが生成されます。
+ census_frozen: センサスのアクセスコードはエクスポートされ、センサスは凍結されます。
+ census_uploaded: センサスがアップロードされました。
+ component_published: 選挙コンポーネントは 公開済みです.
max_selections: すべての質問は正しい 回答の最大値 を持っています。
minimum_answers: 各質問には 少なくとも2つの回答を持ちます。
minimum_questions: 選挙には 少なくとも1つの質問があります。
@@ -348,6 +356,13 @@ ja:
update: "%{user_name} が %{space_name} の選挙 %{resource_name} を更新しました"
trustee:
create: "%{user_name} がユーザー %{trustee_user} を受託者に割り当てました"
+ connection:
+ failed:
+ modal:
+ close: 閉じる
+ communication_lost: 投票サーバー (掲示板) との通信が切れているようです。 インターネット接続が切れているか、接続先のサーバーが混雑している可能性があります。 この問題が続くようでしたら、時間をおいて再度お試しいただくか、サポートまでお問い合わせください。
+ generic_error: 不明なエラーが発生しました。 お使いのブラウザがサポートされていないか、サポートされていない「シークレット」または「プライベート」モードを使用している可能性があります。
+ title: 問題が発生しました
election_m:
badge_name:
finished: 完了
@@ -629,6 +644,10 @@ ja:
failed:
header: 投票に失敗しました
lead: 投票は行われませんでした!
+ modal:
+ close: 閉じる
+ communication_lost: 投票サーバー (掲示板) との通信が切れているようです。 インターネット接続が切れているか、接続先のサーバーが混雑している可能性があります。 この問題が続くようでしたら、時間をおいて再度お試しいただくか、サポートまでお問い合わせください。
+ title: 問題が発生しました
text: 問題が発生しました。もう一度やり直してください。
try_again: 再実行
header:
diff --git a/decidim-elections/config/locales/lo-LA.yml b/decidim-elections/config/locales/lo-LA.yml
new file mode 100644
index 0000000000000..27a02bfece429
--- /dev/null
+++ b/decidim-elections/config/locales/lo-LA.yml
@@ -0,0 +1 @@
+lo:
diff --git a/decidim-elections/config/locales/lt.yml b/decidim-elections/config/locales/lt.yml
index 6c5cb837ac8c1..7b8642d888c21 100644
--- a/decidim-elections/config/locales/lt.yml
+++ b/decidim-elections/config/locales/lt.yml
@@ -1 +1,1424 @@
lt:
+ activemodel:
+ attributes:
+ answer:
+ description: Aprašymas
+ image: Paveikslėlis
+ proposals: Susiję pasiūlymai
+ title: Pavadinimas
+ election:
+ description: Aprašymas
+ end_time: Balsavimas baigiasi
+ start_time: Balsavimas prasideda
+ title: Pavadinimas
+ question:
+ max_selections: Didžiausias pasirenkimų skaičius
+ min_selections: Nei vienas iš pasiūlytų variantų
+ title: Pavadinimas
+ voting:
+ end_time: Balsavimas baigiasi
+ start_time: Balsavimas prasideda
+ errors:
+ models:
+ answer:
+ attributes:
+ attachment:
+ needs_to_be_reattached: Reikia pridėti iš naujo
+ election:
+ attributes:
+ attachment:
+ needs_to_be_reattached: Reikia pridėti iš naujo
+ trustee:
+ attributes:
+ name:
+ cant_be_changed: negali būti pakeista
+ public_key:
+ cant_be_changed: negali būti pakeista
+ activerecord:
+ errors:
+ models:
+ decidim/votings/polling_officer:
+ attributes:
+ presided_polling_station:
+ president_and_manager: Balsavimo prižiūrėtojas jau yra balsavimo punkto prezidentas/vadybininkas
+ voting:
+ different_organization: Balsavimas turi būti toje pačioje organizacijoje kaip naudotojas
+ decidim/votings/polling_station:
+ attributes:
+ polling_station_president:
+ different_voting: Balsavimo prižiūrėtojas turi būti tame pačiame balsavime kaip balsavimo punktas
+ models:
+ decidim/elections/answer:
+ one: Atsakymas
+ few: Atsakymai
+ many: Atsakymai
+ other: Atsakymai
+ decidim/elections/election:
+ one: Rinkimai
+ few: Rinkimai
+ many: Rinkimai
+ other: Rinkimai
+ decidim/elections/question:
+ one: Klausimas
+ few: Klausimai
+ many: Klausimai
+ other: Klausimai
+ decidim/voting:
+ one: Balsavimas
+ few: Balsavimai
+ many: Balsavimai
+ other: Balsavimai
+ decidim/votings/census/dataset:
+ one: Duomenų rinkinys
+ few: Duomenų rinkiniai
+ many: Duomenų rinkiniai
+ other: Duomenų rinkiniai
+ decidim/votings/census/datum:
+ one: Duomuo
+ few: Duomenys
+ many: Duomenys
+ other: Duomenys
+ decidim/votings/polling_officer:
+ one: Balsavimo prižiūrėtojas
+ few: Balsavimo prižiūrėtojai
+ many: Balsavimo prižiūrėtojai
+ other: Balsavimo prižiūrėtojai
+ decidim/votings/polling_station:
+ one: Balsavimo punktas
+ few: Balsavimo punktas
+ many: Balsavimo punktas
+ other: Balsavimo punktas
+ decidim/votings/voting:
+ one: Balsavimas
+ few: Balsavimai
+ many: Balsavimai
+ other: Balsavimai
+ decidim:
+ admin:
+ filters:
+ officers_assigned_eq:
+ label: Prižiūrėtojai
+ values:
+ assigned: Priskirta
+ unassigned: Nepriskirtas
+ role_eq:
+ label: Rolė
+ values:
+ manager: Vadybininkas
+ president: Prezidentas
+ unassigned: Nepaskirtas
+ search_placeholder:
+ name_or_email_or_nickname_or_presided_station_title_or_managed_station_title_cont: Ieškoti %{collection} vardu/el. paštu arba balsavimo punktu.
+ ? title_or_address_or_manager_name_or_manager_email_or_manager_nickname_or_president_name_or_president_email_or_president_nickname_cont
+ : Ieškoti %{collection} pavadinimu, adresu arba prižiūrėtojo vardu/el. paštu.
+ signed_eq:
+ label: Pasirašyta
+ values:
+ 'false': Pasirašyta
+ 'true': Nepasirašyta
+ validated_eq:
+ label: Patvirtinta
+ values:
+ 'false': Patvirtinta
+ 'true': Nepatvirtinta
+ components:
+ elections:
+ actions:
+ vote: Balsuoti
+ name: Rinkimai
+ settings:
+ global:
+ announcement: Pranešimas
+ step:
+ announcement: Pranešimas
+ elections:
+ actions:
+ confirm_destroy: Ar esate tikri?
+ destroy: Sunaikinti
+ edit: Redaguoti
+ feedback: Balsuotojų atsiliepimai
+ import: Importuoti pasiūlymus į atsakymus
+ manage_answers: Tvarkyti atsakymus
+ manage_questions: Tvarkyti klausimus
+ manage_steps: Tvarkyti žingsnius
+ new: Naujas %{name}
+ preview: Peržiūra
+ publish: Publikuoti
+ title: Veiksmai
+ unpublish: Depublikuoti
+ admin:
+ answers:
+ create:
+ invalid: Kuriant šią atsakymą iškilo problema
+ success: Atsakymas sukurtas
+ destroy:
+ invalid: Šalinant šį atsakymą iškilo problema
+ success: Atsakymas pašalintas
+ edit:
+ title: Redaguoti atsakymą
+ update: Atnaujinti atsakymą
+ index:
+ invalid_max_selections: Jums reikia dar %{missing_answers} atsakymų, kad atitikti pasirinkimą
+ title: Atsakymai
+ new:
+ create: Sukurti atsakymą
+ title: Naujas atsakymas
+ not_selected: Nepasrinkta
+ select:
+ disable: Nebepasirinkti atsakymo
+ enable: Pažymėti atsakymą kaip pasirinktą
+ invalid: Pasirenkant šį atsakymą iškilo problema
+ success: Atsakymas sėkmingai pasirinktas
+ selected: Pasirinkta
+ unselect:
+ invalid: Nebepasirinktant šį atsakymą iškilo problema
+ success: Atsakymas sėkmingai nebepasirinktas
+ update:
+ invalid: Atnaujinant šį atsakymą iškilo problema
+ success: Atsakymas atnaujintas
+ elections:
+ create:
+ invalid: Kuriant šiuos rinkimus iškilo problema
+ success: Rinkimai sukurti
+ destroy:
+ invalid: Šalinant šiuos rinkimus iškilo problema
+ success: Rinkimai pašalinti
+ edit:
+ title: Redaguoti rinkimus
+ update: Atnaujinti rinkimus
+ index:
+ no_bulletin_board: Nėra šiam moduliui reikalingo sukonfigūruoto Skelbimų Lentos serverio. Šis veiksmas turėtų būti atliktas sistemos administratoriaus.
+ title: Rinkimai
+ new:
+ create: Sukurti rinkimus
+ title: Nauji rinkimai
+ publish:
+ success: Rinkimai paskelbti.
+ unpublish:
+ success: Rinkimų skelbimas panaikintas.
+ update:
+ invalid: Atnaujinant šiuos rinkimus iškilo problema
+ success: Rinkimai atnaujinti
+ exports:
+ elections: Rinkimai
+ feedback_form_answers: Atsiliepimų formos atsakymai
+ mailers:
+ trustee_mailer:
+ body: "
Sveiki %{user_name},
Buvote pridėtas kaip %{resource_name} patikėtinis.
"
+ subject: Buvote pridėtas kaip %{resource_name} patikėtinis
+ trustee_zone: Eiti į patikėtinių zoną
+ menu:
+ trustees: Patikėtiniai
+ models:
+ answer:
+ name: Atsakymas
+ election:
+ name: Rinkimai
+ question:
+ name: Klausimas
+ trustee:
+ name: Patikėtinis
+ proposals_imports:
+ create:
+ invalid: Importuojant pasiūlymus į atsakymus iškilo problema
+ success: "%{number} pasiūlymai sėkmingai importuoti į atsakymus"
+ new:
+ create: Importuoti pasiūlymus į atsakymus
+ no_components: Šioje dalyvaujamojoje erdvėje nėra kitų pasiūlymų komponentų, pagal kuriuos pasiūlymai būtų įtraukiami į atsakymus.
+ select_component: Pasirinkite komponentą
+ title: Importuoti pasiūlymus
+ questions:
+ create:
+ election_started: Rinkimai jau prasidėjo
+ invalid: Kuriant šį klausimą iškilo problema
+ success: Klausimas sukurtas
+ destroy:
+ invalid: Šalinant šį klausimą iškilo problema
+ success: Klausimas pašalintas
+ edit:
+ title: Redaguoti klausimą
+ update: Atnaujinti klausimą
+ index:
+ title: Klausimai
+ new:
+ create: Sukurti klausimą
+ title: Naujas klausimas
+ update:
+ invalid: Atnaujinant šį klausimą iškilo problema
+ success: Klausimas atnaujintas
+ steps:
+ create_election:
+ census: Surašymas
+ errors:
+ census_uploaded: Šiems rinkimams nėra surašymo.
+ component_published: Rinkimų komponentas nėra publikuotas.
+ max_selections: Klausimai neturi teisingos vertės atsakymų kiekiui
+ minimum_answers: Klausimai turi turėti bent du atsakymus.
+ minimum_questions: Rinkimai turi turėti bent vieną klausimą.
+ published: Rinkimai nėra publikuoti.
+ time_before: Pradžios laikas už mažiau nei %{hours} valandų.
+ trustees_number: Dalyvaujomi erdvė turi turėti bent %{number} patikėtinių su viešų raktu.
+ invalid: Konfigūruojant šiuos rinkimus iškilo problema
+ no_trustees: Šiai dalyvaujamajai erdvei nėra sukonfigūruotų Patikėtinių
+ not_used_trustee: "(nenaudojama)"
+ public_key:
+ 'false': neturi viešo rakto
+ 'true': turi viešą raktą
+ requirements:
+ census_uploaded: Surašymas įkeliamas.
+ component_published: Rinkimų komponentas paskelbtas.
+ max_selections: Visi klausimai turi teisingą kiekį maksimalių klausimų.
+ minimum_answers: Kiekvienas klausimas turi bent du atsakymus.
+ minimum_questions: Rinkimai turi bent vieną klausimą.
+ published: Rinkimai publikuoti.
+ time_before: Konfigūracija atliekama bent %{hours} valandas prieš rinkimų pradžią.
+ trustees_number: Dalyvaujomi erdvė turi bent %{number} patikėtinių su viešų raktu.
+ submit: Konfigūruoti rinkimus
+ success: Rinkimai sėkmingai nusiųsti į Skelbimų Lentą
+ title: Konfigūruoti rinkimus
+ trustees: Rinkimų patikėtiniai
+ created:
+ invalid: Pradedant raktų ceremoniją iškilo problema
+ submit: Pradėti raktų ceremoniją
+ success: Raktų ceremonijos pradžios užklausa išsiųsta į Skelbimų Lentą
+ title: Rinkimai sukurti
+ trustees: Patikėtiniai
+ key_ceremony:
+ continue: Tęsti
+ title: Raktų ceremonija
+ key_ceremony_ended:
+ errors:
+ time_before: Rinkimai paruošti pradžiai. Reikia palaukti %{hours} valandas prieš pradžios laiką %{start_time} tam, kad pradėti balsavimą.
+ invalid: Pradedant balsavimo periodą iškilo problema
+ requirements:
+ time_before: Rinkimai prasidės neužilgo. Galite pradėti balsavimo perioda rankiniu būdu arba jie prasidės automatiškai %{start_time}.
+ submit: Pradėti balsavimo periodą
+ success: Balsavimo pradžios periodo užklausa buvo sėkmingai išsiųsta Skelbimų Lentai
+ title: Paruošta
+ processing: Apdorojama...
+ results_published:
+ answer: Atsakymas
+ not_selected: Nepasrinkta
+ question: Klausimas
+ result: Rezultatas
+ selected: Pasirinkta
+ submit: Pateikti
+ title: Rezultatai publikuoti
+ tally:
+ continue: Tęsti
+ invalid: Raportuojant trūkstantį patikėtinį iškilo problema
+ mark_as_missing: Pažymėti neesančiu
+ mark_as_missing_description: Visi patikėtiniai turėtų dalyvauti procese, bet jei patikėtinis to padaryti negali, galite jį pažymėti kaip trūkstantį.
+ success: Trūkstančio patikėtinio ataskaita išsiųsta į Skelbimų Lentą
+ tally_completion: Šis procesas bus įvykdytas kai visi patikėtiniai bus aktyvūs arba pažymėti kaip trūkstantys. Reikia bent %{quorum} patikėtinių, kad įvykdyti šį procesą.
+ title: Skaičiavimo procesas
+ undo_mark_as_missing: Patikėtinis netyčia pažymėtas kaip trūkstantis gali dalyvauti prieš pasibaigiant procesui. Jis gali atlikti savo užduotis kaip įprasta.
+ tally_ended:
+ answer: Atsakymas
+ not_selected: Nepasrinkta
+ question: Klausimas
+ result: Rezultatas
+ selected: Pasirinkta
+ submit: Skelbti rezultatus
+ success: Balsavimo rezultatų publikavimo užklausa buvo sėkmingai išsiųsta Skelbimų Lentai
+ title: Suskaičiuoti rezultatai
+ vote:
+ errors:
+ time_after: Rinkimai vis dar vyksta. Turite palaukti iki %{end_time}, kad baigti balsavimo periodą.
+ invalid: Baigiant balsavimo periodą iškilo problema
+ requirements:
+ time_after: Rinkimai baigėse. Galite uždaryti balsavimą rankiniu būdu arba jis bus uždarytas automatiškai.
+ submit: Uždaryti balsavimo periodą
+ success: Balsavimo uždarymo periodo užklausa buvo sėkmingai išsiųsta Skelbimų Lentai
+ title: Balsavimo periodas
+ vote_ended:
+ invalid: Pradedant perskaičiviamą iškilo problema
+ submit: Pradėti perskaičiavimą
+ success: Perskaičiviamo pradžios užklausa buvo sėkmingai išsiųsta Skelbimų Lentai
+ text: Balsavimas baigėsi. Galite pradėti skaičiavimą.
+ title: Balsavimo periodas baigėsi
+ vote_stats:
+ no_vote_statistics_yet: Dar nėra balsavimo statistikos
+ title: Balsavimo statistika
+ voters: Balsuotojai
+ votes: Balsai
+ trustees_participatory_spaces:
+ actions:
+ disable: Išjungti
+ enable: Atsižvelgti
+ create:
+ exists: Patikėtinis dalyvaujamojoje erdvėje yra
+ invalid: Kuriant patikėtinį iškilo problema
+ success: Patikėtinis sėkmingai sukurtas
+ delete:
+ invalid: Šalinant patikėtinį iškilo problema
+ success: Patikėtinis sėkmingai pašalintas
+ form:
+ select_user: Pasirinkti naudotoją
+ index:
+ title: Patikėtiniai
+ new:
+ create: Sukurti Patikėtinį
+ title: Naujas Patikėtinis
+ update:
+ invalid: Atnaujinant%{trustee} patikėtinį iškilo problema
+ success: Patikėtinis %{trustee} sėkmingai atnaujintas
+ admin_log:
+ election:
+ create: "%{user_name} sukūrė rinkimus %{resource_name} erdvėje %{space_name}"
+ delete: "%{user_name} ištrynė rinkimus %{resource_name} erdvėje %{space_name}"
+ end_vote: "%{user_name} baigė balsavimo periodą %{resource_name} rinkimams %{space_name} erdvėje Skelbimų Lentoje"
+ publish: "%{user_name} paskelbė rinkimus %{resource_name} erdvėje%{space_name}"
+ publish_results: "%{user_name} paskelbė rinkimų %{resource_name} erdėje %{space_name} rezultatus Skelbimų Lentoje"
+ report_missing_trustee: "%{user_name} pranešė %{trustee_name} kaip trūkstantį patikėtinį rinkimų %{resource_name} esančių %{space_name} erdvėje skaičiavimui Skelbimų Lentoje"
+ setup: "%{user_name} sukūrė rinkimus %{resource_name} erdvėje %{space_name} Skelbimų Lentoje"
+ start_key_ceremony: "%{user_name} pradėjo raktų ceremoniją rinkimams %{resource_name} erdvėje %{space_name} Skelbimų Lentoje"
+ start_tally: "%{user_name} pradėjo skaičiavimą rinkimams %{resource_name} erdvėje %{space_name} Skelbimų Lentoje"
+ start_vote: "%{user_name} pradėjo balsavimo periodą rinkimams %{resource_name} erdvėje%{space_name} Skelbimų Lentoje"
+ unpublish: "%{user_name} depublikavo %{resource_name} rinkimus %{space_name} erdvėje"
+ update: "%{user_name} atnaujino %{resource_name} rinkimus %{space_name} erdvėje"
+ trustee:
+ create: "%{user_name} priskyrė naudotoją %{trustee_user} kaip patikėtinį"
+ connection:
+ failed:
+ modal:
+ close: Uždaryti
+ communication_lost: Deja, bet panašu, kad ryšys su balsavimo serveriu (Skelbimų Lenta) - prarastas. Gali būti, kad taip yra dėl interneto ryšio arba serverio apkrovos. Pabandykite vėliau arba susisiekite su serverių prižiūrėtojais.
+ generic_error: Iškilo nežinoma klaida. Gali būti, kad taip yra todėl, kad Jūsų naršyklė nepalaikoma arba naudojate "incognito" nustatymus.
+ title: Įvyko klaida
+ election_m:
+ badge_name:
+ finished: Užbaigta
+ ongoing: Aktyvūs
+ upcoming: Artėjantys
+ end_date: Baigiasi
+ footer:
+ remaining_time:
+ one: "Iki balsavimo pabaigos liko %{count} valandos %{minutes} minutės ."
+ other: "Iki balsavimo pabaigos liko %{count} valandos %{minutes} minutės."
+ zero: "Iki balsavimo pabaigos liko %{minutes} minutės ."
+ view: Peržiūrėti
+ vote: Balsuoti
+ label:
+ date: Datos
+ questions: Klausimai %{count}
+ start_date: Pradžia
+ unspecified: Nepatikslinta
+ elections:
+ count:
+ elections_count:
+ one: "%{count} rinkimai"
+ few: "%{count} rinkimai"
+ many: "%{count} rinkimai"
+ other: "%{count} rinkimai"
+ election_log:
+ chained_hash: Žinutės Hash grandinė
+ complete: Baigti
+ creation_description:
+ complete: Rinkimai sukurti ir sėkmingai sukonfiguruoti Skelbimų Lentoje.
+ not_created: Rinkimai dar nesukurti.
+ creation_title: Rinkimai sukurti
+ description: Čia yra rinkimų ataskaita, kurije galite peržiūrėti kiekvieno žingsnio būseną.
+ download: Atsisiųsti
+ key_ceremony_description:
+ complete: Raktų ceremonija baigta. Visi patikėtiniai turi tinkamus raktus ir parsisiuntė reikalingus atsarginius raktus.
+ not_started: Raktų ceremonija dar neprasidėjo.
+ started: Raktų ceremonija prasidėjo bet dar nesibaigė.
+ key_ceremony_title: Raktų Ceremonija
+ not_available: Dar neprieinama
+ not_created: Nesukurta
+ not_published: Nepublikuota
+ not_ready: Neparuošta
+ not_started: Nepradėta
+ published: Paskelbta
+ results_description:
+ not_published: Rezultatai dar nepaskelbti.
+ published: Rezultatai paskelbti.
+ results_title: Rezultatai
+ started: Prasidėjo
+ tally_description:
+ finished: Skaičiavimas baigėsi.
+ not_started: Skaičiavimas dar neprasidėjo.
+ started: Skaičiavimas prasidėjo.
+ tally_title: Skaičiavimo procesas
+ title: Rinkimų ataskaita
+ verifiable_results:
+ checksum: 'SHA256 suma:'
+ description:
+ not_ready: Paikrinama rinkim7 rinkmena ir SHA256 suma dar nėra prieinami. Kai tik rezultatai bus publikuoti galėsite patikrinti šiuos rinkimus.
+ ready: 'Čia turite galimybę patikrinti rinkimus. Pirmiausia parsisiųskite rinkmeną ir įsitikinkite, kad ji pilna. Tam, kad tai padaryti naudokite šią komandą ir patikrinkite ar išeitis sutampa su suma:'
+ how_to_verify: 'Parsisiuntus rinkimeną galite pradėti naudoti universalų tikrintoją. Klonuokite šią repozitoriją ir iš šakninio aplanko paleiskite šią komandą:'
+ title: Tikrinti rinkimų rezultatus
+ verifiable_file: 'Tikrinama rinkimų rinkmena:'
+ verify: Tikrinti rinkimus
+ vote_description:
+ finished: Balsavimo procesas baigėsi.
+ not_started: Balsavimo procesas dar neprasidėjo.
+ started: Balsavimo procesas prasidėjo.
+ vote_title: Balsavimo procesas
+ filters:
+ active: Aktyvūs
+ all: Visi
+ finished: Užbaigta
+ search: Ieškoti
+ state: Būsena
+ upcoming: Artėjantys
+ filters_small_view:
+ close_modal: Uždaryti modalinį langą
+ filter: Filtruoti
+ filter_by: Filtruoti pagal
+ unfold: Išskleisti
+ preview:
+ available_answers: 'Galimi atsakymai:'
+ description: 'Balsavimo procese rasite šiuos klausimus:'
+ title: Rinkimų klausimai
+ results:
+ description: 'Štai rinkimų rezultatai kiekvienam klausimui:'
+ percentage: "%{count}%"
+ selected: Pasirinkta
+ title: Rinkimų rezultatai
+ votes:
+ one: "%{count} balsas"
+ other: "%{count} balsai"
+ zero: "%{count} balsų"
+ show:
+ action_button:
+ change_vote: Pakeisti balsą
+ vote: Pradėti balsavimą
+ vote_again: Balsuoti dar kartą
+ back: Galimi rinkimai
+ callout:
+ already_voted: Šiuose rinkimuose jau balsavote. Galite pakeisti arba patikrinti savo balsą.
+ pending_vote: Jūsų balsas įkeliamas į serverį.
+ vote_rejected: Nepavyko patikrinti Jūsų balso. Prašau išsiųskite jį dar kartą.
+ election_log: Rinkimų ataskaita
+ preview: Peržiūra
+ verify:
+ already_voted: Jau balsuota?
+ verify_here: Peržiūrėkite savo balsą čia.
+ will_verify: Galėsite patikrinti savo balsą kai rinkimai prasidės.
+ voting_period_status:
+ finished: Balsavimas prasidėjo %{start_time} ir baigėsi %{end_time}
+ ongoing: 'Balsavimas aktyvus iki: %{end_time}'
+ upcoming: Balsavimas prasideda %{start_time}
+ feedback:
+ answer:
+ invalid: Siunčiant atsiliepimą iškilo problema.
+ spam_detected: Atsakant į šios formos klausimus iškilo problema. Galbūt paskubėjote? Ar galite pabandyti dar kartą?
+ success: Atsiliepimas sėkmingai išsiųstas.
+ models:
+ answer:
+ fields:
+ proposals: Pasiūlymai
+ selected: Pasirinkta
+ title: Pavadinimas
+ votes: Balsai
+ election:
+ fields:
+ bb_status: Skelbimų Lentos statusas
+ end_time: Baigiasi
+ start_time: Prasideda
+ title: Pavadinimas
+ verifiable_results_file_hash: SHA256 suma
+ verifiable_results_file_url: Tikrinama rinkimų rinkmena
+ question:
+ fields:
+ answers: Atsakymai
+ max_selections: Didžiausias pasirenkamų atsakymų skaičius
+ title: Pavadinimas
+ trustees_participatory_space:
+ fields:
+ considered: atsižvelgta
+ email: El. paštas
+ inactive: neaktyvus
+ name: Pavadinimas
+ notification: Pranešimas išsiųstas
+ public_key: Viešasis raktas
+ status: Būsena
+ orders:
+ label: Rikiuoti rinkimus pagal
+ older: Ankstesni
+ recent: Paskutiniai
+ trustee_zone:
+ elections:
+ backup_modal:
+ description: Šie rinkimai sukūriami Skelbimų Lentoje. Labai svarbu, kad kiekvienas dalyvaujantis patikėtinis susikurtų atsarginę raktų kopiją ir juos laikytų saugioje vietoje. Po to, procesas tęsis.
+ download_election_keys: Parsisiųsti raktus
+ download_icon: Ikona indikuojanti parsisiuntimo veiksmą
+ title: Atsarginiai rinkimų raktai %{election}
+ key_ceremony_steps:
+ back: Atgal
+ description: Šie rinkimai kūriami Skelbimų Lentoje. Norėdami baigti šį procesą, Jūsų dalyvavimas kaip patikėtinio - būtinas.
+ keys:
+ create_election: Raktų generavimas
+ key_ceremony:
+ joint_election_key: Bendras raktų generavimas
+ step_1: Raktų skelbimas
+ list:
+ status: Būsena
+ task: Užduotis
+ process_warning: Kai procesas prasidės neturėtumėt išeiti iš puslapio iki proceso pabaigos. Tai gali užtrukti keletą minučių, kol visi patikėtiniai prisijungs ir įvykdys.
+ start: Pradėti
+ start_icon: Ikona indikuojanti pradžios mygtuką skirtą rinkimų raktų generavimo pradžiai
+ status:
+ completed: Baigta
+ pending: Laukiama
+ processing: Apdorojama
+ title: Sukurti rinkimų raktus %{election}
+ restore_modal:
+ description: Skelbimų Lenta turi informacijų iš Jūsų, kaip patikėtinio, apie rinkimus. Norėdami tęsti procesą pirmiausiai įkelkite atsargos rinkmeną sugeneruotą praeitos sesijos metu.
+ title: Atkurti %{election} rinkimų raktus
+ upload_election_keys: Įkelti rinkimų raktus
+ upload_icon: Ikona indikuojanti parsisiuntimo veiksmą
+ tally_steps:
+ back: Atgal
+ description: Šių rinkimų rezultatai skaičiuojami Skelbimų lentoje. Norint užbaigti šį procesą, būtinas jūsų, kaip Patikėtinio, dalyvavimas.
+ keys:
+ end_tally: Balsų skaičiavimas baigtas
+ tally:
+ cast: Duoti balsai
+ share: Balsų dalis
+ list:
+ status: Būsena
+ task: Užduotis
+ process_warning: Kai procesas prasidės neturėtumėt išeiti iš puslapio iki proceso pabaigos. Tai gali užtrukti keletą minučių, kol visi patikėtiniai prisijungs ir įvykdys.
+ start: Pradėti
+ start_icon: Ikona indikuojanti pradžios mygtuką skirtą rinkimų raktų generavimo pradžiai
+ status:
+ completed: Baigta
+ pending: Laukiama
+ processing: Apdorojama
+ title: Balsai %{election}
+ update:
+ error: Rinkimų būsena neatnaujinta.
+ success: 'Rinkimų būsena yra: %{status}'
+ menu:
+ trustee_zone: Patikėtinių zona
+ no_bulletin_board:
+ body: Sukonfiguruota Skelbimų Lenta yra reikalinga šiai daliai. Susisiekite su administratoriumi dėl daugiau informacijos.
+ title: Atleiskite, Skelbimų Lenta dar nesukonfiguruota.
+ trustees:
+ show:
+ elections:
+ list:
+ action_required:
+ 'false': 'Ne'
+ name: Reikalingas veiksmas?
+ 'true': Atlikti veiksmą
+ bb_status: Būsena
+ election: Rinkimai
+ voting_period: Balsavimo periodas
+ no_elections: Nėra rinkimų, kuriuose būtumėt patikėtinis.
+ title: Rinkimai
+ identification_keys:
+ cancel: Atšaukti
+ generate: Generuoti atpažinimo raktus
+ generate_error: Generuojant atpažinimo raktus iškilo problema.
+ generate_legend: Turite sugeneruoti porą atpažinimo raktų norėdami dalyvauti rinkimuose kaip patikėtinis.
+ generate_legend_1: Paspaudus mygtuką turėtumėt atsisiųsti rinkmeną su sugeneruotais atpažinimo raktais.
+ generate_legend_2: Nukopijuokite rinkmeną į švarų USB raktą
+ generate_legend_3: Įsitikinkite, kad kompiuteryje nėra rinkmenos kopijos.
+ generate_legend_4: Padarykite kitą rinkmenos kopiją ir laikykite ją labai saugioje vietoje.
+ submit: Pateikti
+ submit_legend: Atlikę visus aukščiau aprašytus veiksmus, užbaikite procesą siųsdami viešojo identifikavimo raktą į Decidim serverį.
+ submit_title: Įkelti viešo atpažinimo raktą
+ title: Patikėtinių atpažinimo raktai
+ upload: Įkelkite atpažinimo raktus
+ upload_error:
+ invalid_format: Įkelta rinkmena neturi atpažinimo rakto.
+ invalid_key: Atpažinimo raktai negali būti įkelti.
+ invalid_public_key: Atpažinimo raktai įkeltoje rinkmenoje nesutampa su viešu apažinimo raktu Decidim platformoje.
+ upload_legend: Serveris turi atpažinimo raktus, tačiau naršyklė jų neturi. Turite importuoti atpažinimo raktų rinkimeną į kompiuterį iš atsarginės saugyklos kurią sukūrėte sugeneravę raktus.
+ not_supported_browser_description: Regis naudojate patikėtinio rolei netinkamą naršyklę. Įsitikinkite, kad naršyklė atnaujinta arba pabandykite naudoti kitas naršykles.
+ not_supported_browser_title: Atnaujinkite naršyklę
+ trustee_role_description: Buvote priskirtas kaip patikėtinis šioje platformoje vyksiantiems rinkimams.
+ update:
+ success: Jūsų viešas atpažinimo raktas sėkmingai išsaugotas.
+ votes:
+ ballot_decision:
+ audit: "Audituoti biuletenį"
+ back: Vėl pradėti balsavimo procesą
+ ballot_hash: 'Biuletenio identifikacinis kodas:'
+ cast: Užpildykite biuletenį norėdami baigti balsavimą
+ description: Čia galite balsuoti arba patikrinti ar Jūsų balsas buvo teisingai užšifruotas. Saugumo sumetimais audito atlikimas sugadins jūsų balsavimo biuletenį. Tai reiškia, kad, norėdami atiduoti balsą, turėsite iš naujo pradėti balsavimo procesą.
+ header: 'Biuletenis užšifruotas: galite jį įskaityti arba audituoti'
+ casting:
+ header: Biuletenis įskaitomas...
+ text: Biuletenis yra užskaitomas balsadėžėje.
+ confirm:
+ answer: Atsakymas
+ answer_number: '%{number} atsakymas'
+ confirm: Patvirtinti
+ edit: redaguoti
+ header: Patvirtinkite savo balsą
+ intro: Toliau pateikiama balsavimo, kurį rengiatės atlikti, santrauka. Patvirtinkite savo balsą arba pakeiskite savo atsakymus.
+ nota_option: Tuščia
+ question: Klausimas %{count}
+ confirmed:
+ back: Atgal į rinkimus
+ experience: Kokia buvo Jūsų patirtis?
+ feedback: Pasidalinkite savo nuomone
+ header: Balsas patvirtintas
+ lead: Jūsų balsas įskaičiuotas!
+ text: 'Galite patikrinti, ar jūsų balsas pateko į balsadėžę, pasinaudodami šiuo identifikatoriumi: %{e_vote_poll_id}'
+ verify_link: Norėdami patikrinti, kopijuokite identifikatorių ir jį įklijuokite balsavimo patikros puslapyje
+ create:
+ error: Užskaitant balsą iškilo problema. Prašau pabandykite iš naujo.
+ encrypting:
+ header: Biuletenis šifruojamas...
+ text: Biuletenis šifruojamas siekiant užtikrinti balso slaptumą.
+ failed:
+ header: Balsavimas nepavyko
+ lead: Jūsų balsas nebuvo įskaičiuotas!
+ modal:
+ close: Uždaryti
+ communication_lost: Deja, bet panašu, kad ryšys su balsavimo serveriu (Skelbimų Lenta) - prarastas. Gali būti, kad taip yra dėl interneto ryšio arba serverio apkrovos. Pabandykite vėliau arba susisiekite su serverių prižiūrėtojais.
+ title: Įvyko klaida
+ text: Įvyko klaida. Bandykite dar kartą.
+ try_again: Bandykite dar kartą
+ header:
+ ballot_decision: Balsuokite arba audituokite savo balsą
+ casting: Biuletenis įskaitomas
+ confirm: Patvirtinkite savo balsą
+ confirmed: Balsas patvirtintas
+ encrypting: Biuletenis šifruojamas
+ failed: Balsavimas nepavyko
+ messages:
+ invalid_token: Jūsų sesija balsavimo kabinoje nėra validi. Pabandykite balsuoti iš naujo.
+ not_allowed: Dabar balsuoti šiuose rinkimuose negalite.
+ modal:
+ close: Uždaryti
+ proposal_header: 'Pasiūlymai:'
+ new:
+ answer_choices: Galite pasirinkti ne daugiau kaip %{choices} atsakymų
+ more_information: Daugiau informacijos
+ nota_option: Nei vienas iš pasiūlytų variantų
+ preview_alert: Tai – balsavimo kabinos peržiūra.
+ question_steps: '%{current_step} klausimas iš %{total_steps}'
+ selections: "%{selected} iš %{max_selections} pasirinkčių"
+ onboarding_modal:
+ close: Uždaryti modalinį langą
+ create_account: Sukurti paskyrą
+ description: Ar norite susikurti naują paskyrą šioje platformoje? Galėsite dalyvauti procesuose ir būti aktyvi(-us) organizacijos narė(-ys).
+ no_account: Ne, ačiū.
+ title: Naujas Decidim vartotojas?
+ update:
+ error: Atnaujinant balso būseną iškilo problema. Prašau pabandykite iš naujo.
+ verify:
+ content:
+ heading: Patikrinkite savo balsą
+ info: Tikrintojas patikrina ar Jūsų balsas identifikuojamas su užšifruotu kodu buvo užskaitytas.
+ error:
+ header: Balsas nerastas!
+ info: Balso kodas nebuvo rastas %{link} balsadėžėje. Pabandykite iš naujo.
+ form:
+ back: Atgal į Decidim
+ submit: Patikrinti
+ vote_identifier: 'Atpažinimo kodas:'
+ header:
+ title: Patikrinkite savo balsą
+ success:
+ header: Balsas rastas!
+ info: Jūsų užkoduotas balsas yra %{link} balsadėžėje
+ voting_step:
+ back: Atgal
+ continue: Kita
+ warnings:
+ no_elections_warning: Jūsų paieškos kriterijus atitinkančių rinkimų nerasta arba neplanuojama.
+ no_scheduled_elections_warning: Dabar neplanuojama rinkimų, tačiau čia galite rasti visų įvykusių rinkimų sąrašą.
+ events:
+ elections:
+ election_published:
+ email_intro: '%{participatory_space_title} %{resource_title} rinkimai dabar aktyvūs. Juos galite pamatyti šiame puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad sekate %{participatory_space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą.
+ email_subject: '%{participatory_space_title} %{resource_title} rinkimai dabar aktyvūs.'
+ notification_title: '%{participatory_space_title} %{resource_title} rinkimai dabar aktyvūs.'
+ trustees:
+ new_election:
+ email_intro: Buvote pridėtas kaip patikėtinis į %{resource_title} rinkimus.
+ email_outro: Gavote šį pranešimą nes buvote pridėtas kaip patikėtinis %{resource_title} rinkimams.
+ email_subject: Esate patikėtinis %{resource_title} rinkimuose..
+ notification_title: Esate patikėtinis %{resource_title} rinkimuose.
+ new_trustee:
+ email_intro: Administratorius pridėjo Jus kaip %{resource_name} patikėtinį. Galite sukurti viešą raktą patikėtinių zonoje
+ email_outro: Gavote šį pranešimą nes buvote pridėtas kaip patikėtinis %{resource_name} rinkimams.
+ email_subject: Esate %{resource_name} patikėtinis.
+ notification_title: Esate %{resource_name} patikėtinis.
+ votes:
+ accepted_votes:
+ email_intro: 'Jūsų balsas priimtas. Naudodami balsavimo žetoną: %{encrypted_vote_hash} galite patikrinti savo balsą čia.'
+ email_outro: Gavote šį pranešimą nes balsavote %{resource_name} rinkimuose.
+ email_subject: Jūsų balsas %{resource_name} buvo priimtas.
+ notification_title: 'Jūsų balsas buvo priimtas. Patikrinkite savo balsą čia naudodami balsavimo žetoną %{encrypted_vote_hash}'
+ votings:
+ polling_officers:
+ polling_station_assigned:
+ email_intro: Buvote priskirtas kaip %{resource_title} Balsavimo Punkto %{role}. Galite valdyti Balsavimo Punktą iš dedikuotos zonos.
+ email_outro: Gavote šį pranešimą nes buvote pridėtas kaip %{polling_station_name} %{role}.
+ email_subject: Jūs esate %{polling_station_name} Balsavimo Punkto %{role}.
+ notification_title: Jūs esate %{resource_title} balsavimo, %{polling_station_name} punkto %{role}.
+ send_access_code:
+ instruction: 'Štai Jūsų prieigos kodas: %{access_code}. Su juo galite dalyvauti %{voting}.'
+ subject: Jūsų prieigos kodas dalyvavimui %{voting}
+ help:
+ participatory_spaces:
+ votings:
+ contextual: "
Balsavimai yra erdvė, kurioje galite užduoti aiškų klausimą visiems organizacijos žmonėms, pakviesti dalyvauti balsavime, pradėti ir valdyti diskusiją už arba prieš atsakymų variantus. Atėjus konsultacijos pradžios datai, galite balsuoti ir paskelbti balsavimo rezultatus.
Pavyzdžiai: Balsavimuose gali vykti dėl beveik visų aspektų, turinčių poveikio organizacijai: galima balsuoti dėl pavadinimo ar logotipo, nuspręsti, ar tapti didesnės organizacijos dalimi, patvirtinti arba atmesti naują strateginį planą arba darbo grupės rezultatus, ir t. t.
\n"
+ page: "
Balsavimai yra erdvė, kurioje galite užduoti aiškų klausimą visiems organizacijos žmonėms, pakviesti dalyvauti balsavime, pradėti ir valdyti diskusiją už arba prieš atsakymų variantus. Atėjus konsultacijos pradžios datai, galite balsuoti ir paskelbti balsavimo rezultatus.
Pavyzdžiai: Balsavimuose gali vykti dėl beveik visų aspektų, turinčių poveikio organizacijai: galima balsuoti dėl pavadinimo ar logotipo, nuspręsti, ar tapti didesnės organizacijos dalimi, patvirtinti arba atmesti naują strateginį planą arba darbo grupės rezultatus, ir t. t.
\n"
+ title: Kas yra balsavimai?
+ menu:
+ votings: Balsavimai
+ statistics:
+ elections_count: Rinkimai
+ votings_count: Balsavimai
+ votings:
+ admin:
+ ballot_styles:
+ create:
+ error: Kuriant šį biuletenio tipą iškilo problema
+ success: Biuletenio tipas sukurtas sėkmingai
+ destroy:
+ invalid: Ištrinant šį biuletenio tipą iškilo problema
+ success: Biuletenio tipas ištrintas
+ edit:
+ title: Redaguoti biuletenio tipą
+ update: Atnaujinti
+ form:
+ code_help: 'Užuomina: kodas yra sujungėjas tarp surašymo ir biuletenio tipo. Kai įkeliate surašymo duomenis, kiekvienai įvesčiai priskiriamas biuletenio stilius ir atitinkamas kodas'
+ election: Rinkimai
+ questions: Klausimai biuletenio tipui
+ questions_help: 'Užuomina: pasirinkite klausimus iš rinkimų komponentų, kurie bus pristatyti balsuotojams priskirtiems šiam biuletenio tipui'
+ index:
+ actions:
+ confirm_destroy: Ar esate tikri?
+ destroy: Ištrinti
+ edit: Redaguoti
+ new: Naujas
+ title: Veiksmai
+ associated_census_data: Susiję surašymo duomenys
+ explanation_callout: Biuletenio tipas numato kokie klausimai bus užduoti balsuotojui. Biuletenio tipe, galite pasirinkti kokie klausimai iš balsavimo komponento priklauso biuletenio tipui. Biuletenio tipo kodas naudojamas sujungti balsuotoją iš surašymo su biuleteniu, kuris jiems pateikiamas balsavimo kabinoje. Nekurkite biuletenio tipų jei norite, kad visi gautų visus klausimus.
+ title: Biuletenio tipas
+ new:
+ create: Sukurti
+ title: Sukurti biuletenio tipą
+ update:
+ invalid: Atnaujinant šį biuletenio tipą iškilo problema
+ success: Biuletenio tipas atnaujintas sėkmingai
+ content_blocks:
+ highlighted_votings:
+ max_results: Didžiausias rodomų elementų skaičius
+ landing_page:
+ attachments_and_folders:
+ name: Balsavimo prisegimai ir aplankai
+ description:
+ name: Balsavimo aprašymas
+ elections:
+ name: Balsavimo rinkimai
+ header:
+ name: Balsavimo antraštė
+ html_block_1:
+ name: Balsavimo html blokas 1
+ html_block_2:
+ name: Balsavimo html blokas 2
+ html_block_3:
+ name: Balsavimo html blokas 3
+ metrics:
+ name: Balsavimo rodikliai
+ polling_stations:
+ name: Balsavimo punktai
+ stats:
+ name: Balsavimo statistika
+ timeline:
+ name: Balsavimo laiko juosta
+ index:
+ not_published: Nebeskelbiama
+ published: Paskelbta
+ landing_page:
+ content_blocks:
+ edit:
+ update: Atnaujinti
+ edit:
+ active_content_blocks: Aktyvūs turinio blokai
+ inactive_content_blocks: Neaktyvūs turinio blokai
+ menu:
+ votings: Balsavimai
+ votings_submenu:
+ attachment_collections: Aplankai
+ attachment_files: Dokumentai
+ attachments: Priedai
+ ballot_styles: Biuletenio tipai
+ census: Surašymas
+ components: Komponentai
+ info: Informacija
+ landing_page: Pagrindinis puslapis
+ monitoring_committee: Priežiūros komitetas
+ monitoring_committee_election_results: Patvirtinti rezultatus
+ monitoring_committee_members: Nariai
+ monitoring_committee_polling_station_closures: Validuoti sertifikatus
+ monitoring_committee_verify_elections: Tikrinti rinkimus
+ polling_officers: Balsavimo prižiūrėtojai
+ polling_stations: Balsavimo punktai
+ models:
+ ballot_style:
+ fields:
+ code: Kodas
+ name: Balsavimo biuletenio tipas
+ monitoring_committee_member:
+ fields:
+ email: El. paštas
+ name: Pavadinimas
+ name: Priežiūros komitetas
+ polling_officer:
+ fields:
+ email: El. paštas
+ name: Pavadinimas
+ polling_station: Balsavimo punktas (rolė)
+ name: Balsavimo prižiūrėtojas
+ polling_station:
+ fields:
+ address: Adresas
+ polling_station_managers: Vadybininkai
+ polling_station_president: Prezidentas
+ title: Pavadinimas
+ name: Balsavimo punktas
+ voting:
+ fields:
+ created_at: Sukurta
+ promoted: Paryškinta
+ published: Paskelbta
+ title: Pavadinimas
+ monitoring_committee_election_results:
+ actions:
+ title: Veiksmai
+ view: Peržiūrėti
+ index:
+ title: Pasirinkite rinkimus iš kurių norite matyti rezultatus
+ results:
+ bulletin_board: Skelbimų lenta
+ election_totals: Rinkimų bendri rezultatai
+ polling_stations: Balsavimo punktai
+ result_types:
+ blank_answers: Tušti atsakymai
+ blank_ballots: Tušti biuleteniai
+ null_ballots: Nuliniai biuleteniai
+ total_ballots: Visi biuleteniai
+ valid_ballots: Tinkami biuleteniai
+ selected: Pasirinkta
+ title: %{election_title} rezultatai
+ totals: Iš viso
+ show:
+ change_election: Keisti rinkimus
+ publish_results: Skelbti rezultatus
+ publishing: Rezultatai skelbiami...
+ update:
+ invalid: Skelbiant rezultatus iškilo problema
+ rejected: Skelbimų Lenta atmetė rezultatų publikavimą. Pabandykite dar kartą arba susisiekite su sistemos administratoriumi.
+ success: Rinkimų rezultatai paskelbti
+ monitoring_committee_members:
+ create:
+ invalid: Kuriant šį priežiūros komiteto narį iškilo problema
+ success: Priežiūros komiteto narys sukurtas sėkmingai
+ destroy:
+ invalid: Trinant šį priežiūros komiteto narį iškilo problema
+ success: Priežiūros komiteto narys ištrintas sėkmingai
+ form:
+ existing_user: Egzistuojantis dalyvis
+ non_user: Pakviesti naują dalyvį
+ select_user: Ieškoti pagal el. pašto adresą, vardą arba naudotojo vardą
+ user_type: Dalyvio tipas
+ index:
+ title: Priežiūros komitetas
+ new:
+ create: Sukurti
+ title: Sukurti priežiūros komiteto narį
+ monitoring_committee_polling_station_closures:
+ actions:
+ title: Veiksmai
+ validate: Patvirtinti
+ view: Peržiūrėti
+ closures:
+ change_election: Keisti rinkimus
+ signed: Pasirašyta?
+ title: %{election_title} balsavimo punktai
+ validated: Patvirtinta?
+ edit:
+ change_polling_station: Atgal į balsavimo punktus
+ monitoring_committee_notes: Pastabos
+ monitoring_committee_notes_placeholder: Pateikite informaciją apie incidentus čia
+ title: %{polling_station_title} balsavimo punkto rezultatai %{election_title} rinkimuose
+ elections:
+ title: Pasirinkite rinkimus, kuriuos norite patvirtinti
+ show:
+ change_polling_station: Atgal į balsavimo punktus
+ monitoring_committee_notes: Pastabos iš priežiūros komiteto
+ validate:
+ error: Patvirtinant užbaigimą iškilo problema
+ success: Užbaigimas patvirtintas teisingai
+ monitoring_committee_verify_elections:
+ index:
+ download: Atsisiųsti
+ how_to_checksum: 'Norėdami įsitikinti, kad atsisiųsta rinkmena - tvarkinga, paleiskite šią komandą konsolėje ir patikrinkite ar išeitis sutampa su šia patikrinimo suma:'
+ how_to_download: Norėdami patvirtinti rinkimus, atsisiųskite patvirtinimo failą iš viršuje esančios lentelės.
+ how_to_run_verifier: 'Parsisiuntus rinkimeną galite pradėti naudoti universalų tikrintoją. Klonuokite šią repozitoriją ir iš šakninio aplanko paleiskite šią komandą:'
+ how_to_title: Kaip patikrinti rinkimų galiojimą
+ not_available: Dar neprieinama
+ title: Rinkimai
+ polling_officers:
+ create:
+ invalid: Kilo problema sukuriant šį balsavimo prižiūrėtoją
+ success: Balsavimo prižiūrėtojas sukurtas sėkmingai
+ destroy:
+ invalid: Kilo problema pašalinant šį balsavimo prižiūrėtoją
+ success: Balsavimo prižiūrėtojas sėkmingai pašalintas
+ form:
+ existing_user: Egzistuojantis dalyvis
+ non_user: Pakviesti naują dalyvį
+ select_user: Ieškoti pagal vardą, el. pašto adresą arba naudotojo vardą
+ user_type: Dalyvio tipas
+ index:
+ role_manager: vadybininkas
+ role_president: prezidentas
+ title: Balsavimo prižiūrėtojai
+ new:
+ create: Sukurti
+ title: Sukurti balsavimo prižiūrėtoją
+ polling_officers_picker:
+ choose_polling_officers: Pasirinkti balsavimo prižiūrėtojus
+ close: Uždaryti
+ more_polling_officers: Yra dar %{number} daugiau balsavimo prižiūrėtojų. Kad nustatytumėte jų vietą, patikslinkite savo paiešką.
+ no_polling_officers: Jūsų paieškos kriterijus atitinkančių balsavimo prižiūrėtojų nerasta arba nėra balsavimo prižiūrėtojų.
+ polling_stations:
+ create:
+ invalid: Sukuriant šį balsavimo punktą iškilo problema
+ success: Balsavimo punktas sėkmingai sukurtas
+ destroy:
+ invalid: Kilo problema pašalinant šį balsavimo punktą
+ success: Balsavimo punktas sėkmingai pašalintas
+ edit:
+ title: Atnaujinti balsavimo punktą
+ update: Atnaujinti balsavimo punktą
+ form:
+ address_help: 'Adresas: jį naudoja „Geocoder“, kad rastų vietą'
+ location_help: 'Vieta: žinutė skirta balsuotojams nurodanti tikslią balsavimo punkto vietą'
+ location_hints_help: 'Vietos nuorodos: papildoma informacija.'
+ polling_station_managers_help: 'Balsavimo punkto vadybininkai: įsitikinkite, kad jie buvo sukurti ir nepriskirti kitam balsavimo punktui'
+ polling_station_president_help: 'Balsavimo punkto prezidentas: įsitikinkite, kad jis buvo pridėtas ir nebuvo priskirtas kitam balsavimo punktui'
+ select_president: Pasirinkite balsavimo punkto vadybininką kaip balsavimo punkto prezidentą
+ index:
+ title: Balsavimo punktai
+ new:
+ create: Sukurti
+ title: Sukurti balsavimo punktą
+ update:
+ invalid: Atnaujinant balsavimo punktą iškilo problema
+ success: Balsavimo punktas atnaujintas sėkmingai
+ titles:
+ votings: Balsavimai
+ votings:
+ actions:
+ confirm_destroy: Ar esate tikri?
+ destroy: Sunaikinti
+ new_voting: Nauja balsavimo erdvė
+ publish: Publikuoti
+ unpublish: Depublikuoti
+ create:
+ invalid: Kuriant šį balsavimą iškilo problema
+ success: Balsavimas sukurtas sėkmingai
+ edit:
+ add_election_component: Šiam balsavimui nėra sukonfigūruotų rinkimų. Pridėkite juos per Komponentų sekciją
+ assign_missing_officers: Kai kurie balsavimo punktai neturi prezidento ir/arba vadybininkų. Prašome juos priskirti
+ update: Atnaujinti
+ form:
+ banner_image: Reklamjuostės paveikslėlis
+ census_contact_information: Surašytojų kontaktinė informacija
+ census_contact_information_help: Ši kontaktinė informacija skirta dalyviams norintiems pranešti apie problemas. Tai gali būti el. pašto adresas, kontaktinė forma kitame puslapyje ir t. t.
+ introductory_image: Įvadinis paveikslėlis
+ promoted: Paremta
+ select_a_voting_type: Pasirinkite balsavimo tipą
+ slug: Nuorodos dalis
+ slug_help: 'Nuorodos priedėliai nukreipia į šią konkretų balsavimą. Priedėliai sudaromi iš raidžių, skaičių, brukšnių ir turi prasidėti nuo raidės. Pavyzdys: %{url}'
+ title: Pavadinimas
+ voting_type:
+ hybrid: Hibridinis
+ in_person: Fizinis
+ online: Virtualus
+ voting_type_label: Balsavimo tipas
+ new:
+ create: Sukurti
+ title: Naujas balsavimas
+ publish:
+ success: Balsavimas sėkmingai paskelbtas
+ unpublish:
+ success: Balsavimas sėkmingai depublikuotas
+ update:
+ invalid: Atnaujinant šį balsavimą iškilo problema
+ success: Balsavimas sėkmingai atnaujintas
+ admin_log:
+ ballot_style:
+ create: "%{user_name} sukūrė biuletenio tipą su kodu %{ballot_style_code} erdvėje %{space_name}"
+ delete: "%{user_name} ištrynė biuletenio tipą su kodu %{ballot_style_code} erdvėje %{space_name}"
+ update: "%{user_name} atnaujino biuletenio tipą su kodu %{ballot_style_code} erdvėje %{space_name}"
+ census:
+ create: "%{user_name} sukūrė surašymą %{space_name} erdvėje"
+ delete: "%{user_name} ištrynė surašymą erdvėje %{space_name}"
+ update: "%{user_name} atnaujino surašymą erdvėje %{space_name}"
+ monitoring_committee_member:
+ create: "%{user_name} priskyrė naudotoją %{monitoring_committee_member_user} kaip priežiūros komiteto narį erdvėje %{space_name}"
+ delete: "%{user_name} atskyrė naudotoją %{monitoring_committee_member_user} kaip priežiūros komiteto narį nuo erdvės %{space_name}"
+ polling_officer:
+ create: "%{user_name} priskyrė naudotoją %{polling_officer_user} kaip balsavimo prižiūrėtoją erdvėje %{space_name}"
+ delete: "%{user_name} atskyrė naudotoją %{polling_officer_user} kaip balsavimo prižiūrėtoją nuo erdvės %{space_name}"
+ polling_station:
+ create: "%{user_name} sukūrė balsavimo punktą %{resource_name} erdvėje %{space_name}"
+ delete: "%{user_name} pašalino balsavimo punktą %{resource_name} erdvėje %{space_name}"
+ update: "%{user_name} atnaujino balsavimo punktą %{resource_name} erdvėje %{space_name}"
+ voting:
+ create: "%{user_name} sukūrė %{resource_name} balsavimą"
+ publish: "%{user_name} paskelbė %{resource_name} balsavimą"
+ unpublish: "%{user_name} panaikino %{resource_name} balsavimą"
+ census:
+ admin:
+ census:
+ create:
+ invalid: Kuriant surašymą kilo problema. Pabandykite dar kartą vėliau.
+ invalid_csv_header: Trūksta CSV antraščių, arba jos nėra teisingos - prašome atidžiai perskaityti instrukcijas
+ creating_data:
+ info_message: "Prašome palaukti, aprodota %{processed_count} iš %{raw_count} eilučių iš %{file} failo."
+ delete:
+ button: Pašalinti visus surašymo duomenis
+ confirm: Pašalinus visus surašymo duomenis, veiksmo nebus galima anuliuoti. Ar tikrai norite tęsti?
+ destroy:
+ error: Pašalinant surašymą kilo problema. Pabandykite dar kartą vėliau.
+ success: Surašymo duomenys pašalinti
+ export_access_codes:
+ button: Eksportuoti balsavimo prieigos kodus
+ callout: Galite toliau tęsti prieigos kodų eksportą. Tai gali būti atlikta tik vieną kartą. Kai pradėsite eksportavimą, el. pašto dėžutėje rasite laišką su instrukcijomis į %{email}
+ confirm: Galite eskportuoti prieigos kodą vieną kartą. Užtikrinkite, kad turite prieigą prie el. pašto %{email}.
+ file_not_exist: Failas neegzistuoja
+ launch_error: Pradedant prieigos kodų eksportą kilo problema
+ launch_success: Prieigos kodų eksportas prasidėjo. Neužilgo gausite el. laišką į %{email}
+ exporting_access_codes:
+ info_message: "Prašome palaukti, eskportas ruošiamas ir neužilgo jį gausite į %{email}"
+ freeze:
+ callout: Surašymas užšaldytas ir negali būti pakeistas.
+ generate_access_codes:
+ button: Generuoti balsavimo prieigos kodus
+ callout: Dabar galite sugeneruoti prieigos kodus. Atsižvelkite į tai, kad sugeneravus prieigos kodus nebegalėsite pakeisti surašymo.
+ confirm: Jei tęsite, nebegalėsite pakeisti surašymo.
+ info_message_all: "Visos eilutės importuotos sėkmingai iš %{file} failo (%{raw_count} nuo %{data_count})."
+ info_message_warn: Prašome patikrinti ar netrūksta duomenų, nes %{data_count} įrašai buvo sukurti ir įkeltas failas file %{file} turėjo %{raw_count} eilučių.
+ launch_error: Pradedant prieigos kodų generavimą kilo problema
+ launch_success: Kodų generavimas pradėtas.
+ generating_access_codes:
+ info_message: "Prašome palaukti, balsavimo prieigos kodai yra generuojami..."
+ new:
+ file_help:
+ explanation: 'Failo gairės:'
+ message_1: Leidžiami tik CSV (.csv) failai.
+ message_2: Stulpeliai privalo būti išskiriami kabliataškiu (";").
+ has_ballot_styles_message: Jūs sukuriate balsavimo biuletenio tipus. Prašome įsitikinti, kad "%{ballot_style_code_header}" laukelis esantis CSV faile sutampa su pageidaujamo biuletenio tipo kodu.
+ info_message: "Kol kas nėra sukurto surašymo. Kad jį sukurti, prašome naudoti žemiau nurodyta CSV failo importo formą."
+ missing_ballot_styles_message: 'Šiam balsavimui nėra biuletenio stiliaus. Jei norėtumėt pridėti sąlyginį klausimą (t.y. pateikti skirtingus klausimus skirtingiems balsuotojams pvz. priklausomai nuo jų gyvenamosios vietos), turėtumėt numatyti biuletenių stiliųpriešimportuojant surašymą. Jei norėtumėt visiems balsuotojams adresuoti tą patį klausimą, galite importuoti surašymą.'
+ submit: Pateikti CSV
+ title: Sukurkite surašymą
+ show:
+ heading: Balsavimo erdvės surašymas
+ upload_info:
+ csv_example_with_ballot_style: 'Pavyzdinis failas su balsavimo biuletenio tipais:'
+ csv_example_without_ballot_style: 'Pavyzdinis failas be balsavimo biuletenio tipų:'
+ csv_header_after: Neįtraukite paskutinio lauko (%{ballot_style_code_header}) jei Jums nereikia bliutelenio stilių ir sąlyginių klausimų
+ csv_header_before: 'Surašymo failas privalo būti CSV su šia antrašte:'
+ document_types:
+ dni: Asmens tapatybės dokumentas
+ nie: Asmens tapatybės dokumentas
+ passport: Pasas
+ export_mailer:
+ access_codes_export:
+ click_button: 'Spustelėkite ant sekančios nuorodos, kad atsisiųsti prieigos kodų duomenis. Failas bus prieinamas iki %{date}. Jums reikės 7-Zip (Windows), Keka (MacOS) arba PeaZip (Linux) kad jį atverti. Slaptažodis: %{password}'
+ download: Atsisiųsti
+ subject: '%{voting_title} balsavimo prieigos kodai gali būti eksportuojami'
+ vote_flow:
+ already_voted_in_person: Šis dalyvis jau balsavo ir negali balsuoti dar kartą.
+ datum_not_found: Šie duomenys nesutampa su jokiu balsuotoju.
+ content_blocks:
+ highlighted_votings:
+ name: Paryškinti balsavimai
+ landing_page:
+ description:
+ title: Apie šį balsavimą
+ metrics:
+ heading: Rodikliai
+ polling_stations:
+ heading: Balsavimo punktai
+ no_polling_stations: Balsavimo punktų dar nėra.
+ timeline:
+ heading: Laiko juosta
+ monitoring_committee_members:
+ actions:
+ confirm_destroy: Ar esate tikri?
+ destroy: Ištrinti
+ new: Naujas narys
+ title: Veiksmai
+ pages:
+ home:
+ highlighted_votings:
+ active_votings: Aktyvūs balsavimai
+ see_all_votings: Žiūrėti visus balsavimus
+ votings_button_title: Nuoroda į puslapį „Balsavimai“, kuriame pateikiami visi balsavimai
+ polling_officer_zone:
+ closures:
+ back_to_polling_stations: Atgal į balsavimo punktus
+ certify:
+ add_images: Pridėti paveikslėlių
+ error: Prisegant sertifikatą įvyko klaida. Pabandykite dar kartą.
+ form_legend: Įkelkite rinkiminės baigties sertifikato nuotrauką
+ heading: Balsų perksaičiavimas - įkelkite sertifikatą
+ info_text: Įkelkite rinkiminės baigties sertifikato nuotrauką.
+ submit: Įkelkite sertifikatą
+ success: Sertifikatas įkeltas sėkmingai.
+ create:
+ error: Kuriant uždarymą kilo problema. Pabandykite dar kartą vėliau.
+ success: Uždarymas sėkmingai sukurtas.
+ edit:
+ heading: Balsų perskaičiviamas - atsakymų perskaičiviamas
+ info_text: Prašau įveskite pilną skaičių atsakymų kiekvienam klausimui.
+ modal_ballots_results_count_error:
+ close_modal: Uždaryti
+ info_text: Biuletenių skaičius nesutampa su vokų skaičium. Patikrinkite biuletenių skaičių.
+ title: Visas biuletenių skaičius
+ save_recount: Išsaugoti perskaičiavimą
+ total_ballots: Visi biuleteniai
+ total_blank_ballots: Visi tušti biuleteniai
+ total_null_ballots: Visi nuliniai biuleteniai
+ total_valid_ballots: Visi validūs biuleteniai
+ new:
+ election: 'Rinkimai:'
+ heading: Balsų perskaičiviamas
+ info_text: 'Pridėkite visų biuletenių (vokų) skaičių perskaičiuotą balsavimo punkte:'
+ modal_ballots_count_error:
+ btn_validate_total: Patvirtinti biuletenių perskaičiavimą
+ close_modal: Uždaryti
+ info_explanation_text: 'Prašau peržiūrėkite visą biuletenių skaičių. Jei suminis skaičius neteisingas, prašau pateikite paaiškinimą priežiūros komitetui:'
+ info_text: Įvestas visas biuletenių skaičius (vokai) neatitinka balsavusių balsavimo punkte skaičiaus.
+ message_for_monitoring_committee: Žinutė priežiūros komitetui
+ review_recount: Peržiūrėti perskaičiavimą
+ text_area_placeholder: Įveskite žinutę
+ title: Skaičiai nesutampa
+ total_ballots: 'Viso balsavimo biuletenių:'
+ total_people: 'Viso žmonių:'
+ polling_station: 'Balsavimo punktas:'
+ submit: Patvirtinkite bendrą skaičių
+ total_ballots_count: Balsavimo biuletenių kiekis
+ show:
+ heading: Balsų perskaičiviamas
+ info_text: Balsavimo punkto rinkimų užbaigimas.
+ sign:
+ cancel: Atšaukti
+ check_box: Peržiūrėjau, ir tai yra tas pats, kaip ir fizinis rinkimų užbaigimo sertifikatas
+ close_modal: Uždaryti
+ confirm: Gerai, testi
+ error: Įvyko klaida, pamėginkite dar kartą.
+ heading: Balsų perskaičiavimas - Pasirašykite užbaigimą
+ info_text: Jeigu tęsite, nebegalėsite koreguoti jokios informacijos, šio veiksmo anuliuoti negalima.
+ submit: Pasirašykite užbaigimą
+ success: Užbaigimas pasirašytas sėkmingai.
+ title: Veiksmas negali būti anuliuotas
+ update:
+ error: Atliekant užbaigimo atnaujinimą kilo klaida, pabandykite dar kartą vėliau.
+ success: Užbaigimo rezultatai sėkmingai atnaujinti.
+ in_person_votes:
+ complete_voting:
+ available_answers: 'Galimi atsakymai:'
+ census_verified: Dalyvis dar nebalsavo.
+ complete_voting: Užbaigti balsavimą
+ identify_another: Identifikuoti kitą dalyvį
+ questions_title: 'Ji turi teisę balsuoti šiais klausimais:'
+ questions_title_voted: 'Dalyvis jau balsavo internetu ir turi teisę balsuoti šiais klausimais:'
+ voted: Dalyvis prabalsavo
+ create:
+ error: Balsavimas nebuvo užregistruotas. Prašome bandyti dar kartą.
+ in_person_form:
+ census_not_present: Šis dalyvis nėra įskaičiuotas į surašymą.
+ census_not_present_description: Ji turi kreiptis į surašymo skundų biurą arba susisiekti su pagalbos centru.
+ date_of_birth: Gimimo data
+ day: Diena
+ day_placeholder: DD
+ document_number: Dokumento numeris
+ document_number_placeholder: Asmens tapatybės dokumento numeris
+ month: Mėnuo
+ month_placeholder: MM
+ select: Pasirinkite dokumento tipą
+ title: 'Pasirinkite dokumento tipą ir įveskite dalyvio dokumento numerį:'
+ validate_document: Patvirtinti dokumentą
+ year: Metai
+ year_placeholder: MMMM
+ new:
+ back: Atgal į balsavimo punktus
+ title: Identifikuoti ir patvirtinti dalyvį
+ show:
+ back: Atgal į balsavimo punktus
+ title: Laukiama, kol bus užregistruotas fizinis balsavimas
+ update:
+ error: Užskaitant balsą iškilo problema. Prašome pabandykite iš naujo.
+ success:
+ accepted: Balsavimas užregistruotas sėkmingai.
+ rejected: Skelbimų lenta balsavimo nepriėmė. Prašome susisiekti su sistemos administratoriumi.
+ verify_document:
+ census_present: Šis dalyvis įskaičiuotas surašyme.
+ name: Vardas
+ title: 'Patikrinkite ar šie duomenys teisingi:'
+ verify_document: Patvirtinti dokumentą
+ menu:
+ polling_officer_zone: Balsavimo vadybininkų zona
+ polling_officers:
+ index:
+ polling_officer_role_description: Buvote priskirtas kaip balsavimo punkto vadybininkas ar prezidentas.
+ polling_station:
+ address: Adresas
+ count_votes: Skaičiuoti balsus
+ election: Rinkimai
+ identify_person: Atpažinti asmenį
+ name: Vardas
+ no_polling_stations: Nesate priskirtas prie balsavimo punkto.
+ role: Jūsų rolė
+ show_closure: Peržiūrėti uždarymą
+ title: Balsavimo punktai
+ voting: Balsavimas
+ polling_officers:
+ actions:
+ confirm_destroy: Ar esate tikri?
+ destroy: Ištrinti
+ new: Naujas
+ title: Veiksmai
+ roles:
+ manager: Vadybininkas
+ president: Prezidentas
+ unassigned: Nepaskirtas
+ polling_station_closure_recount:
+ nota_option: Nei vienas iš pasiūlytų variantų
+ polling_officer_notes: 'Balsavimo vadybininkų užrašai:'
+ polling_officer_notes_blank: Užrašų nėra
+ recount_summary: 'Perskaičiavimo reziumė:'
+ signed: Pasirašyta
+ total_ballots: 'Visi biuleteniai:'
+ total_blank_ballots: 'Visi tušti biuleteniai:'
+ total_null_ballots: 'Visi nuliniai biuleteniai:'
+ total_valid_ballots: 'Visi validūs biuleteniai:'
+ polling_stations:
+ actions:
+ confirm_destroy: Ar esate tikri?
+ destroy: Ištrinti
+ edit: Redaguoti
+ new: Naujas
+ title: Veiksmai
+ votings:
+ access_code_modal:
+ email: Siųsti el. paštu į %{email}
+ info: Norėdami dalyvauti turite turėti prieigos kodą. Jei jo negavote paštu, galime atsiųsti kitą.
+ no_email: Nėra galimo el. pašto
+ no_sms: Nėra galimo tel. nr
+ sms: Siųsti SMS žinute į %{sms}
+ title: Gauti prieigos kodą
+ check_census:
+ check_status: Patikrinti būseną
+ description: Čia galite patikrinti surašymo duomenis ir patikrinti ar galite dalyvauti. Turėtumėt turėti prieigos kodą, tačiau jei jį pametėt galėsite paprašyti kito kai duomenys bus teisingi.
+ error:
+ info: 'Pabandykite iš naujo. Jei manote, kad duomenys sistemoje neteisingi, apie tai galite pranešti: %{census_contact_information}'
+ title: Duomenys, kuriuos įvedėte nėra šio balsavimo surašyme
+ form_title: 'Užpildykite šią formą, kad patikrinti savo surašymo duomenis:'
+ invalid: Tikrinant surašymo duomenis iškilo problema.
+ success:
+ access_link: el. paštu.
+ access_link_with_sms: SMS ar el. paštu.
+ info: Turėjote gauti prieigos kodą per paštą. Jei negavote, išsiųskite užklausą čia
+ title: Jūsų surašymo duomenys teisingi!
+ title: Ar galiu balsuoti?
+ check_fields:
+ date_of_birth: Gimimo data
+ day: Diena
+ day_placeholder: DD
+ document_number: Dokumento numeris
+ document_number_placeholder: Asmens tapatybės dokumento numeris
+ document_type: Dokumento tipas
+ month: Mėnuo
+ month_placeholder: MM
+ postal_code: Pašto kodas
+ postal_code_placeholder: Pašto kodo numeris
+ select: Pasirinkite dokumento tipą
+ year: Metai
+ year_placeholder: MMMM
+ count:
+ title:
+ one: "%{count} balsavimas"
+ few: "%{count} balsavimai"
+ many: "%{count} balsavimai"
+ other: "%{count} balsavimai"
+ elections_log:
+ bb_status: Rinkimų būsena
+ description: Rinkimų ataskaitoje bus pateikta visa aktuali informacija apie kiekvieną balsavimą. Pavyzdžiui pagrindinės ceremonijos būsena, taškai arba jeigu rezultatai jau paskelbti. Spustelėkite ant rinkimų, apie kuriuos norite gauti informaciją.
+ election_log: Rinkimų ataskaita
+ title: Rinkimų ataskaita
+ filters:
+ active: Aktyvūs
+ all: Visi
+ finished: Užbaigta
+ search: Ieškoti
+ state: Būsena
+ upcoming: Artėjantys
+ filters_small_view:
+ close_modal: Uždaryti modalinį langą
+ filter: Filtruoti
+ filter_by: Filtruoti pagal
+ unfold: Išskleisti
+ index:
+ no_votings: Jūsų paieškos kriterijus atitinkančių balsavimų nerasta.
+ only_finished: Dabar suplanuotų balsavimų nėra, tačiau čia galite rasti visų įvykusių balsavimų sąrašą.
+ title: Balsavimai
+ login:
+ access_code: Prieigos kodas
+ access_code_placeholder: Prieigos kodas
+ ask_for_a_new_one: Prašyti naujo.
+ dont_have_access_code: Neturite prieigos kodo?
+ form_title: 'Norėdami prisijungti prie balsavimo, užpildykite šią formą:'
+ start_voting: Pradėti balsavimą
+ step: Identifikacija
+ title: Identifikuoti save pagal mano balsavimo surašymo duomenis
+ no_census_contact_information: Kol kas nėra kontaktinės informacijos
+ orders:
+ label: 'Rūšiuoti balsus pagal:'
+ random: Atsitiktinai
+ recent: Naujausia
+ send_access_code:
+ invalid: Iškilo problema išsiunčiant Prieigos Kodą
+ success: Jūsų Prieigos Kodas buvo išsiųstas sėkmingai
+ show:
+ dates: Datos
+ votings_m:
+ badge_name:
+ finished: Užbaigta
+ ongoing: Vykstantys
+ upcoming: Artėjantys
+ footer_button_text:
+ participate: Dalyvauti
+ view: Peržiūrėti
+ vote: Balsuoti
+ unspecified: Nepatikslinta
+ voting_type:
+ hybrid: Hibridinis
+ in_person: Fizinis
+ online: Virtualus
+ voting_types_label: Balsavimo tipas
+ layouts:
+ decidim:
+ election_votes_header:
+ exit: Baigti
+ voting_navigation:
+ check_census: Ar galiu balsuoti?
+ election_log: Rinkimų ataskaita
+ voting_menu_item: Balsavimas
+ votings:
+ index:
+ promoted_votings: Paryškinti balsavimai
+ promoted_voting:
+ more_info: Daugiau informacijos
+ vote: Balsuoti
diff --git a/decidim-elections/config/locales/lv.yml b/decidim-elections/config/locales/lv.yml
index e02069c87cbb9..68f4d7821ec7a 100644
--- a/decidim-elections/config/locales/lv.yml
+++ b/decidim-elections/config/locales/lv.yml
@@ -12,7 +12,6 @@ lv:
start_time: Balsošanas sākas plkst.
title: Nosaukums
question:
- description: Apraksts
max_selections: Maksimālais izvēļu skaits
title: Nosaukums
errors:
diff --git a/decidim-elections/config/locales/nl.yml b/decidim-elections/config/locales/nl.yml
index 7821d92faff86..48601c8a33ac5 100644
--- a/decidim-elections/config/locales/nl.yml
+++ b/decidim-elections/config/locales/nl.yml
@@ -12,7 +12,6 @@ nl:
start_time: Stemming begint om
title: Aanspreektitel
question:
- description: Beschrijving
max_selections: Maximum aantal selecties
title: Aanspreektitel
voting:
@@ -205,7 +204,6 @@ nl:
minimum_answers: Vragen moeten minstens twee antwoorden hebben.
minimum_questions: De stemronde moet ten minste één vraag hebben.
published: De stemronde is niet gepubliceerd.
- time_before: De starttijd van de stemronde is over minder dan 3 uur.
trustees_number: De participatieve ruimte moet ten minste %{number} trustees met publieke sleutel hebben.
invalid: Er is een fout opgetreden bij het aanmaken van deze stemronde
no_trustees: Er zijn geen Trustees geconfigureerd voor deze participatieve ruimte
@@ -540,6 +538,8 @@ nl:
failed:
header: Stem mislukt
lead: Je stem is niet uitgebracht!
+ modal:
+ close: Afsluiten
text: Er is iets mis gegaan, probeer het alsjeblief nog een keer.
try_again: Probeer opnieuw
header:
diff --git a/decidim-elections/config/locales/no.yml b/decidim-elections/config/locales/no.yml
index 3f4fea12d9d5d..b2bc6f5e1eb52 100644
--- a/decidim-elections/config/locales/no.yml
+++ b/decidim-elections/config/locales/no.yml
@@ -12,7 +12,6 @@
start_time: Stemmegivning starter
title: Tittel
question:
- description: Beskrivelse
max_selections: Maksimalt antall valg
min_selections: Ingen av valgene over
title: Tittel
@@ -227,7 +226,6 @@
minimum_answers: Spørsmål må ha minst to svar.
minimum_questions: Valget må ha minst ett spørsmål.
published: Valget er og ikke publisert.
- time_before: Starttiden er mindre enn 3 timer før valget starter.
trustees_number: Deltakerområdet må ha minst %{number} tillitsmenn med offentlig nøkkel.
invalid: Det oppstod et problem med opprettelsen av dette valget
no_trustees: Det er ikke satt opp noen tillitsmenn for dette deltakelsesrommet
@@ -537,6 +535,9 @@
feedback: Gi oss en tilbakemelding
header: Avstemning bekreftet
text: 'Du kan sjekke at stemmen din har blitt lagt til i stemmeboksen med følgende identifikator: %{e_vote_poll_id}'
+ failed:
+ modal:
+ close: Lukk
header:
confirm: Bekreft stemmen din
confirmed: Avstemning bekreftet
diff --git a/decidim-elections/config/locales/oc-FR.yml b/decidim-elections/config/locales/oc-FR.yml
new file mode 100644
index 0000000000000..325b348894124
--- /dev/null
+++ b/decidim-elections/config/locales/oc-FR.yml
@@ -0,0 +1 @@
+oc:
diff --git a/decidim-elections/config/locales/pl.yml b/decidim-elections/config/locales/pl.yml
index b5364bbd9342e..b0a4e1534159b 100644
--- a/decidim-elections/config/locales/pl.yml
+++ b/decidim-elections/config/locales/pl.yml
@@ -12,7 +12,6 @@ pl:
start_time: Głosowanie rozpoczyna się o
title: Tytuł
question:
- description: Opis
max_selections: Maksymalna liczba opcji do wybrania
min_selections: Żadna z powyższych opcji
title: Tytuł
@@ -243,7 +242,6 @@ pl:
minimum_answers: Pytania muszą mieć co najmniej dwie odpowiedzi.
minimum_questions: Wybory muszą mieć co najmniej jedno pytanie.
published: Wybory nie zostały opublikowane.
- time_before: Godzina rozpoczęcia jest mniej niż 3 godziny przed rozpoczęciem wyborów.
trustees_number: Przestrzeń partycypacyjna musi mieć co najmniej %{number} mężów (osób) zaufania z kluczem publicznym.
invalid: Wystąpił problem z konfiguracją tych wyborów
no_trustees: Nie skonfigurowano mężów (osób) zaufania dla tej przestrzeni partycypacyjnej
@@ -291,8 +289,13 @@ pl:
title: Opublikowano wyniki
tally:
continue: Dalej
+ invalid: Wystąpił błąd podczas usuwania męża (osoby) zaufania
mark_as_missing: Oznacz jako brakujący
+ mark_as_missing_description: Wszyscy mężowie zaufania powinni uczestniczyć w tym procesie, ale jeśli nie może wziąć udziału w tym procesie, możesz oznaczyć go jako brakujący.
+ success: Brakująca uwaga męża zaufania została pomyślnie wysłana do Tablicy
+ tally_completion: 'Proces zostanie zakończony, gdy wszyscy mężowie zaufania będą aktywni lub zostaną oznaczeni jako brakujący. Wymagana ilość mężów zaufania: %{quorum}.'
title: Proces ustalania wyniku głosowania
+ undo_mark_as_missing: Przed zakończeniem procesu będzie mógł uczestniczyć mąż zaufania oznaczony jako brakujący omyłkowo. Mężowie zaufania mogą postępować jak zwykle, a oznaczenie jako "brakujący" zostanie zignorowane.
tally_ended:
answer: Odpowiedź
not_selected: Nie wybrano
@@ -627,6 +630,8 @@ pl:
failed:
header: Oddanie głosu nie powiodło się
lead: Twój głos nie został oddany!
+ modal:
+ close: Zamknij
text: Coś poszło nie tak. Spróbuj ponownie.
try_again: Spróbuj ponownie
header:
diff --git a/decidim-elections/config/locales/pt-BR.yml b/decidim-elections/config/locales/pt-BR.yml
index 0305107a61c18..fce2f818a3f51 100644
--- a/decidim-elections/config/locales/pt-BR.yml
+++ b/decidim-elections/config/locales/pt-BR.yml
@@ -12,7 +12,6 @@ pt-BR:
start_time: Votação começa às
title: Título
question:
- description: Descrição
max_selections: Número máximo de seleções
min_selections: Nenhuma das opções acima
title: Título
@@ -227,7 +226,6 @@ pt-BR:
minimum_answers: As perguntas devem ter pelo menos duas respostas.
minimum_questions: A eleição deve ter pelo menos uma questão.
published: A eleição não está publicada.
- time_before: O horário de início é em menos de 3 horas antes do início da eleição.
trustees_number: O espaço participativo deve ter pelo menos %{number} administradores com chave pública.
invalid: Houve um problema ao configurar essa eleição
no_trustees: Não há Agentes fiduciários configurados para este espaço participativo
@@ -601,6 +599,8 @@ pt-BR:
failed:
header: Votação falhou
lead: Seu voto não foi transmitido!
+ modal:
+ close: Fechado
text: Algo deu errado, por favor, tente novamente.
try_again: Tente novamente
header:
diff --git a/decidim-elections/config/locales/pt.yml b/decidim-elections/config/locales/pt.yml
index ff3cf9df716a3..5267e45841f39 100644
--- a/decidim-elections/config/locales/pt.yml
+++ b/decidim-elections/config/locales/pt.yml
@@ -12,7 +12,6 @@ pt:
start_time: Votação inicia-se às
title: Título
question:
- description: Descrição
max_selections: Número máximo de seleções
min_selections: Nenhuma das opções acima
title: Título
@@ -227,7 +226,6 @@ pt:
minimum_answers: As perguntas devem ter pelo menos duas respostas.
minimum_questions: A eleição deve ter pelo menos uma pergunta.
published: A eleição não está publicada.
- time_before: A hora de início é menos de 3 horas antes do início da eleição.
trustees_number: O espaço participativo deve ter pelo menos %{número} curadores com chave pública.
invalid: Houve um problema ao configurar esta eleição.
no_trustees: Não há curadores configurados para este espaço participativo
@@ -624,6 +622,8 @@ pt:
failed:
header: Votação falhou
lead: O seu voto não foi registado!
+ modal:
+ close: Fechar
text: Algo correu mal, por favor tente de novo.
try_again: Tente de novo
header:
diff --git a/decidim-elections/config/locales/ro-RO.yml b/decidim-elections/config/locales/ro-RO.yml
index d4019baa2fc1e..fa89b196ea5f5 100644
--- a/decidim-elections/config/locales/ro-RO.yml
+++ b/decidim-elections/config/locales/ro-RO.yml
@@ -12,7 +12,6 @@ ro:
start_time: Votarea începe la
title: Titlu
question:
- description: Descriere
max_selections: Numărul maxim de selecții
min_selections: Niciuna dintre opțiunile de mai sus
title: Titlu
@@ -227,7 +226,6 @@ ro:
minimum_answers: Întrebările trebuie să aibă cel puţin două răspunsuri.
minimum_questions: Alegerile trebuie să aibă cel puţin o întrebare.
published: Aceste alegerile nu sunt publicate.
- time_before: Timpul de începere este în mai puţin de 3 ore înainte de începerea alegerilor.
trustees_number: Spațiul participativ trebuie să aibă cel puțin %{number} împuterniciți cu cheie publică.
invalid: A apărut o eroare la organizarea acestor alegeri
no_trustees: Nu există împuterniciți configurați pentru acest spațiu participativ
@@ -551,6 +549,8 @@ ro:
verify_link: Pentru a verifica, copiați identificatorul și lipiți-l pe pagina pentru verificarea votului
failed:
header: Vot eșuat
+ modal:
+ close: Inchide
header:
confirm: Confirmă votul tău
confirmed: Votare confirmată
diff --git a/decidim-elections/config/locales/sv.yml b/decidim-elections/config/locales/sv.yml
index 7237c053c13dc..344c218c20be0 100644
--- a/decidim-elections/config/locales/sv.yml
+++ b/decidim-elections/config/locales/sv.yml
@@ -12,7 +12,6 @@ sv:
start_time: Röstningsstart vid
title: Titel
question:
- description: Beskrivning
max_selections: Maximalt antal val
title: Titel
voting:
@@ -45,12 +44,18 @@ sv:
decidim/elections/question:
one: Fråga
other: Frågor
+ decidim/voting:
+ one: Omröstning
+ other: Omröstningar
decidim/votings/census/dataset:
one: Datamängd
other: Datamängder
decidim/votings/census/datum:
one: Datum
other: Datum
+ decidim/votings/polling_officer:
+ one: Röstmottagare
+ other: Röstmottagare
decidim/votings/polling_station:
one: Vallokal
other: Vallokaler
@@ -80,6 +85,7 @@ sv:
label: Bekräftad
values:
'false': Bekräftad
+ 'true': Ej Validerad
components:
elections:
actions:
@@ -96,6 +102,7 @@ sv:
destroy: Förstör
edit: Redigera
import: Importera förslag till svar
+ manage_answers: Hantera svar
manage_questions: Hantera frågor
manage_steps: Hanterade steg
new: Ny %{name}
@@ -120,6 +127,8 @@ sv:
create: Skapa svar
title: Nytt svar
not_selected: Inte vald
+ select:
+ disable: Avmarkera svar
selected: Valda
update:
invalid: Det gick inte att uppdatera svaret
@@ -195,6 +204,8 @@ sv:
key_ceremony:
continue: Fortsätt
title: Nyckelceremoni
+ key_ceremony_ended:
+ title: Redo att börja
processing: Bearbetar...
results_published:
answer: Svar
@@ -262,6 +273,7 @@ sv:
results_title: Resultat
started: Startad
title: Omröstningslogg
+ vote_title: Omröstningsprocess
filters:
active: Aktiv
all: Allt
@@ -278,6 +290,10 @@ sv:
percentage: "%{count}%"
selected: Valda
title: Omröstningsresultat
+ votes:
+ one: "%{count} röster"
+ other: "%{count} röster"
+ zero: "%{count} röster"
show:
action_button:
change_vote: Ändra din röst
@@ -285,6 +301,8 @@ sv:
vote_again: Rösta om
election_log: Omröstningslogg
preview: Förhandsgranska
+ verify:
+ already_voted: Redan röstat?
voting_period_status:
finished: Omröstningen började den %{start_time} och slutade den %{end_time}
upcoming: Omröstningen börjar den %{start_time}
@@ -350,6 +368,7 @@ sv:
action_required:
'false': 'Nej'
name: Åtgärd krävs?
+ 'true': Utför åtgärd
bb_status: Status
election: Val
voting_period: Röstningsperiod
@@ -378,6 +397,8 @@ sv:
text: 'Du kan kontrollera att din röst har lagts till i röstsedeln med följande identifierare: %{e_vote_poll_id}'
failed:
header: Röst ej framgångsrik
+ modal:
+ close: Stäng
try_again: Försök igen
header:
ballot_decision: Lägg eller granska din röst
@@ -397,10 +418,13 @@ sv:
selections: "%{selected} av %{max_selections} val"
onboarding_modal:
close: Stäng fönstret
+ create_account: Skapa konto
no_account: Nej tack.
verify:
content:
heading: Verifiera din röst
+ error:
+ header: Hittade inga omröstningar!
form:
back: Tillbaka till Decidim
submit: Kontrollera
@@ -440,6 +464,12 @@ sv:
title: Åtgärder
new:
create: Skapa
+ content_blocks:
+ landing_page:
+ metrics:
+ name: Omröstningsmetrik
+ timeline:
+ name: Omröstningstidslinje
index:
not_published: Ej publicerade
published: Publicerad
@@ -474,12 +504,14 @@ sv:
fields:
email: E-post
name: Namn
+ name: Röstmottagare
polling_station:
fields:
address: Adress
polling_station_managers: Koordinatorer
polling_station_president: Ordförande
title: Titel
+ name: Röststation
voting:
fields:
created_at: Skapad den
@@ -491,6 +523,11 @@ sv:
title: Åtgärder
view: Visa
results:
+ result_types:
+ blank_answers: Tomma svar
+ blank_ballots: Tomma röstsedlar
+ total_ballots: Totalt antal röstsedlar
+ valid_ballots: Giltiga röstsedlar
selected: Valda
totals: Totalt
show:
@@ -544,6 +581,8 @@ sv:
edit:
update: Uppdatera
form:
+ promoted: Annonserad
+ slug: Slug
title: Titel
voting_type:
hybrid: Hybrid
@@ -577,6 +616,7 @@ sv:
pages:
home:
highlighted_votings:
+ active_votings: Activa omröstningar
see_all_votings: Se alla omröstningar
polling_officer_zone:
closures:
@@ -591,6 +631,7 @@ sv:
heading: Omräkning
modal_ballots_count_error:
close_modal: Stäng
+ total_people: 'Totala människor:'
polling_station: 'Vallokal:'
show:
heading: Omräkning
@@ -600,6 +641,7 @@ sv:
confirm: Fortsätt
in_person_votes:
in_person_form:
+ date_of_birth: Födelsedatum
day: Dag
day_placeholder: DD
document_number: Dokumentnummer
@@ -633,6 +675,7 @@ sv:
unassigned: Otilldelad
polling_station_closure_recount:
signed: Signerat
+ total_ballots: 'Totalt antal röstsedlar:'
polling_stations:
actions:
confirm_destroy: Är du säker?
@@ -641,6 +684,8 @@ sv:
new: Ny
title: Åtgärder
votings:
+ access_code_modal:
+ title: Få behörighetskod
check_census:
check_status: Kontrollera status
title: Kan jag rösta?
@@ -650,11 +695,16 @@ sv:
day_placeholder: DD
document_number: Dokumentnummer
document_number_placeholder: ID-nummer
+ document_type: Dokumenttyp
month: Månad
month_placeholder: MM
postal_code: Postnummer
year: År
year_placeholder: ÅÅÅÅ
+ count:
+ title:
+ one: "%{count} omröstning"
+ other: "%{count} omröstningar"
elections_log:
election_log: Omröstningslogg
title: Omröstningslogg
@@ -676,6 +726,7 @@ sv:
access_code: Behörighetskod
access_code_placeholder: Behörighetskod
start_voting: Starta omröstningen
+ step: Identifikation
orders:
label: 'Sortera omröstningar efter:'
random: Slumpmässig
diff --git a/decidim-elections/config/locales/tr-TR.yml b/decidim-elections/config/locales/tr-TR.yml
index ae8df7122c562..449a3388f26e1 100644
--- a/decidim-elections/config/locales/tr-TR.yml
+++ b/decidim-elections/config/locales/tr-TR.yml
@@ -12,7 +12,6 @@ tr:
start_time: Oylama başlangıcı
title: Başlık
question:
- description: Açıklama
max_selections: Maksimum seçim sayısı
min_selections: Yukarıdakilerden hiçbiri
title: Başlık
@@ -307,6 +306,9 @@ tr:
feedback: Bize geri bildirim verin
header: Oy onaylandı
text: 'Aşağıdaki tanımlayıcıyla oyunuzun başarıyla oy sandığına eklenip eklenmediğini kontrol edebilirsiniz: %{e_vote_poll_id} '
+ failed:
+ modal:
+ close: Kapat
header:
confirm: Oyunu onayla
confirmed: Oy onaylandı
diff --git a/decidim-elections/config/locales/zh-CN.yml b/decidim-elections/config/locales/zh-CN.yml
index 986aba269d251..974c78e474125 100644
--- a/decidim-elections/config/locales/zh-CN.yml
+++ b/decidim-elections/config/locales/zh-CN.yml
@@ -12,7 +12,6 @@ zh-CN:
start_time: 投票开始于
title: 标题
question:
- description: 描述
max_selections: 最大选择数
min_selections: 上面没有一个选项
title: 标题
@@ -205,6 +204,9 @@ zh-CN:
feedback: 给我们一些反馈
header: 已确认投票
text: '您可以检查您的投票是否已成功地添加到选票箱,其标识符如下: %{e_vote_poll_id}'
+ failed:
+ modal:
+ close: 关闭
header:
confirm: 确认您的投票
confirmed: 已确认投票
diff --git a/decidim-elections/lib/decidim/elections/version.rb b/decidim-elections/lib/decidim/elections/version.rb
index 7758e8ec5f0d6..41ec6bb4e2b52 100644
--- a/decidim-elections/lib/decidim/elections/version.rb
+++ b/decidim-elections/lib/decidim/elections/version.rb
@@ -4,7 +4,7 @@ module Decidim
# This holds the decidim-meetings version.
module Elections
def self.version
- "0.26.2"
+ "0.26.4"
end
end
end
diff --git a/decidim-elections/lib/decidim/votings/admin_engine.rb b/decidim-elections/lib/decidim/votings/admin_engine.rb
index 4ead5a39a0fb3..44e9dc47bb3a8 100644
--- a/decidim-elections/lib/decidim/votings/admin_engine.rb
+++ b/decidim-elections/lib/decidim/votings/admin_engine.rb
@@ -53,6 +53,9 @@ class AdminEngine < ::Rails::Engine
get :share
end
resources :exports, only: :create
+ resources :imports, only: [:new, :create] do
+ get :example, on: :collection
+ end
end
end
diff --git a/decidim-elections/spec/commands/decidim/elections/admin/import_proposals_to_elections_spec.rb b/decidim-elections/spec/commands/decidim/elections/admin/import_proposals_to_elections_spec.rb
index cc2b8ce2ce075..18f887c5abc1e 100644
--- a/decidim-elections/spec/commands/decidim/elections/admin/import_proposals_to_elections_spec.rb
+++ b/decidim-elections/spec/commands/decidim/elections/admin/import_proposals_to_elections_spec.rb
@@ -81,6 +81,22 @@ module Admin
expect(first_answer.title).to eq(proposal.title)
expect(last_answer.title).to eq(proposal.title)
end
+
+ context "and the current component was not published" do
+ before { component.unpublish! }
+
+ it "doesn't import it again" do
+ expect do
+ command.call
+ end.not_to(change { Decidim::Elections::Answer.where(question: question).count })
+
+ answers = Decidim::Elections::Answer.where(question: question)
+ first_answer = answers.first
+ last_answer = answers.last
+ expect(first_answer.title).to eq(proposal.title)
+ expect(last_answer.title).to eq(proposal.title)
+ end
+ end
end
it "links the proposals" do
diff --git a/decidim-elections/spec/forms/decidim/elections/admin/setup_form_spec.rb b/decidim-elections/spec/forms/decidim/elections/admin/setup_form_spec.rb
index 61a45f149f594..3cf294ad081a8 100644
--- a/decidim-elections/spec/forms/decidim/elections/admin/setup_form_spec.rb
+++ b/decidim-elections/spec/forms/decidim/elections/admin/setup_form_spec.rb
@@ -40,6 +40,11 @@
)
end
+ it "does not validate census presence" do
+ expect(subject).not_to be_needs_census
+ expect(subject.census_validations).to be_blank
+ end
+
context "when the election is not ready for the setup" do
let(:election) { create :election }
@@ -49,11 +54,28 @@
subject.valid?
expect(subject.errors.messages).to eq({
minimum_questions: ["The election must have at least one question."],
+ minimum_answers: ["Questions must have at least two answers."],
+ max_selections: ["The questions do not have a correct value for amount of answers"],
published: ["The election is not published."]
})
end
end
+ context "when there are no answers created" do
+ let(:election) { create :election, :published }
+ let!(:question) { create :question, election: election, weight: 1 }
+
+ it { is_expected.to be_invalid }
+
+ it "shows errors" do
+ subject.valid?
+ expect(subject.errors.messages).to eq({
+ minimum_answers: ["Questions must have at least two answers."],
+ max_selections: ["The questions do not have a correct value for amount of answers"]
+ })
+ end
+ end
+
context "when there are no trustees for the election" do
let(:trustees) { [] }
@@ -84,4 +106,76 @@
it { is_expected.to match_array(trustees.pluck(:id)) }
end
+
+ context "when census is required" do
+ let(:election) { create :election, :ready_for_setup, trustee_keys: [], component: component }
+
+ let(:voting) { create :voting }
+ let(:component) { create :elections_component, participatory_space: voting }
+
+ it { is_expected.not_to be_valid }
+
+ it "validates census presence" do
+ expect(subject).to be_needs_census
+ expect(subject.census_validations).not_to be_blank
+ end
+
+ context "and census is valid" do
+ let!(:dataset) { create :dataset, :with_data, :frozen, voting: voting }
+
+ it { is_expected.to be_valid }
+
+ it "shows messages" do
+ expect(subject.census_messages).to match(
+ hash_including({
+ census_uploaded: "Census is uploaded.",
+ census_codes_generated: "Access codes for the census are generated.",
+ census_frozen: "Access codes for the census are exported and census is frozen."
+ })
+ )
+ end
+ end
+
+ context "and census is empty" do
+ let!(:dataset) { create :dataset, voting: voting }
+
+ it { is_expected.to be_invalid }
+
+ it "shows errors" do
+ subject.valid?
+ expect(subject.errors.messages).to eq({
+ census_uploaded: ["There is no census uploaded for this election."],
+ census_codes_generated: ["Access codes for the census are not generated."],
+ census_frozen: ["Access codes for the census are not exported."]
+ })
+ end
+ end
+
+ context "and census has no codes generated" do
+ let!(:dataset) { create :dataset, :with_data, voting: voting }
+
+ it { is_expected.to be_invalid }
+
+ it "shows errors" do
+ subject.valid?
+ expect(subject.errors.messages).to eq({
+ census_codes_generated: ["Access codes for the census are not generated."],
+ census_frozen: ["Access codes for the census are not exported."]
+ })
+ end
+ end
+
+ context "and census is not frozen" do
+ let!(:dataset) { create :dataset, :codes_generated, voting: voting }
+
+ it { is_expected.to be_invalid }
+
+ it "shows errors" do
+ subject.valid?
+ expect(subject.errors.messages).to eq({
+ census_frozen: ["Access codes for the census are not exported."]
+ })
+ end
+ end
+ end
end
diff --git a/decidim-elections/spec/system/admin/admin_manages_election_steps_spec.rb b/decidim-elections/spec/system/admin/admin_manages_election_steps_spec.rb
index 972186c5a2184..a5591baa45ee3 100644
--- a/decidim-elections/spec/system/admin/admin_manages_election_steps_spec.rb
+++ b/decidim-elections/spec/system/admin/admin_manages_election_steps_spec.rb
@@ -22,6 +22,9 @@
expect(page).to have_content("The setup is being done at least 3 hours before the election starts.")
expect(page).to have_content("The participatory space has at least 3 trustees with public key.")
expect(page).to have_content("has a public key", minimum: 2)
+ expect(page).not_to have_content("Census is uploaded.")
+ expect(page).not_to have_content("Census codes are generated.")
+ expect(page).not_to have_content("Codes are exported and census is frozen.")
click_button "Setup election"
end
@@ -33,6 +36,43 @@
expect(page).to have_content("Start the key ceremony")
end
end
+
+ context "when census is required" do
+ let!(:voting) { create(:voting, organization: organization) }
+ let(:participatory_space) { voting }
+
+ it "shows invalid census messages" do
+ visit_steps_page
+
+ within "form.create_election" do
+ expect(page).to have_content("The election has at least 1 question.")
+ expect(page).to have_content("Each question has at least 2 answers.")
+ expect(page).to have_content("All the questions have a correct value for maximum of answers.")
+ expect(page).to have_content("The election is published.")
+ expect(page).to have_content("The election component is published.")
+ expect(page).to have_content("The setup is being done at least 3 hours before the election starts.")
+ expect(page).to have_content("The participatory space has at least 3 trustees with public key.")
+ expect(page).to have_content("has a public key", minimum: 2)
+ expect(page).to have_content("There is no census uploaded for this election.")
+ expect(page).to have_content("Access codes for the census are not generated.")
+ expect(page).to have_content("Access codes for the census are not exported.")
+ end
+ end
+
+ context "with valid census" do
+ let!(:dataset) { create(:dataset, :codes_generated, :frozen, voting: voting) }
+
+ it "shows valid census messages" do
+ visit_steps_page
+
+ within "form.create_election" do
+ expect(page).to have_content("Census is uploaded.")
+ expect(page).to have_content("Access codes for the census are generated.")
+ expect(page).to have_content("Access codes for the census are exported and census is frozen.")
+ end
+ end
+ end
+ end
end
describe "start the key ceremony" do
diff --git a/decidim-forms/app/packs/src/decidim/forms/admin/forms.js b/decidim-forms/app/packs/src/decidim/forms/admin/forms.js
index 69a5865128652..f94709aaa9468 100644
--- a/decidim-forms/app/packs/src/decidim/forms/admin/forms.js
+++ b/decidim-forms/app/packs/src/decidim/forms/admin/forms.js
@@ -11,6 +11,7 @@ import createSortList from "src/decidim/admin/sort_list.component"
import createDynamicFields from "src/decidim/admin/dynamic_fields.component"
import createFieldDependentInputs from "src/decidim/admin/field_dependent_inputs.component"
import createQuillEditor from "src/decidim/editor"
+import initLanguageChangeSelect from "src/decidim/admin/choose_language"
export default function createEditableForm() {
const wrapperSelector = ".questionnaire-questions";
@@ -392,6 +393,8 @@ export default function createEditableForm() {
autoLabelByPosition.run();
autoButtonsByPosition.run();
+
+ initLanguageChangeSelect($field.find("select.language-change").toArray());
},
onRemoveField: ($field) => {
autoLabelByPosition.run();
diff --git a/decidim-forms/app/presenters/decidim/forms/admin/questionnaire_answer_presenter.rb b/decidim-forms/app/presenters/decidim/forms/admin/questionnaire_answer_presenter.rb
index 51f8e3c87a01f..2604e50456c06 100644
--- a/decidim-forms/app/presenters/decidim/forms/admin/questionnaire_answer_presenter.rb
+++ b/decidim-forms/app/presenters/decidim/forms/admin/questionnaire_answer_presenter.rb
@@ -46,11 +46,14 @@ def pretty_attachment(attachment)
# rubocop:disable Style/StringConcatenation
# Interpolating strings that are `html_safe` is problematic with Rails.
content_tag :li do
- link_to(translated_attribute(attachment.title), attachment.url) +
- " " +
- content_tag(:small) do
+ link_to(attachment.url, target: "_blank", rel: "noopener noreferrer") do
+ content_tag(:span) do
+ translated_attribute(attachment.title).presence ||
+ I18n.t("download_attachment", scope: "decidim.forms.questionnaire_answer_presenter")
+ end + " " + content_tag(:small) do
"#{attachment.file_type} #{number_to_human_size(attachment.file_size)}"
end
+ end
end
# rubocop:enable Style/StringConcatenation
end
diff --git a/decidim-forms/app/views/decidim/forms/questionnaires/show.html.erb b/decidim-forms/app/views/decidim/forms/questionnaires/show.html.erb
index 54d0a2f75992c..3f9b58a30e239 100644
--- a/decidim-forms/app/views/decidim/forms/questionnaires/show.html.erb
+++ b/decidim-forms/app/views/decidim/forms/questionnaires/show.html.erb
@@ -5,7 +5,7 @@
<% columns = allow_answers? && visitor_can_answer? && @form.responses.map(&:question).any?(&:matrix?) ? 9 : 6 %>
-<%= render partial: "decidim/shared/component_announcement" %>
+<%= render partial: "decidim/shared/component_announcement" if current_component.manifest_name == "surveys" %>
<%= translated_attribute questionnaire.title %>
diff --git a/decidim-forms/config/locales/ca.yml b/decidim-forms/config/locales/ca.yml
index ac48720124f36..d0ef40cabdb70 100644
--- a/decidim-forms/config/locales/ca.yml
+++ b/decidim-forms/config/locales/ca.yml
@@ -142,6 +142,8 @@ ca:
single_option: Opció única
sorting: Ordenació
title_and_description: Títol i descripció
+ questionnaire_answer_presenter:
+ download_attachment: Descarregar l'arxiu adjunt
questionnaires:
answer:
invalid: S'han produït un error en respondre el formulari.
diff --git a/decidim-forms/config/locales/cs.yml b/decidim-forms/config/locales/cs.yml
index de446832ea960..fe2c3efca2740 100644
--- a/decidim-forms/config/locales/cs.yml
+++ b/decidim-forms/config/locales/cs.yml
@@ -142,6 +142,8 @@ cs:
single_option: Jedna možnost
sorting: Třídění
title_and_description: Název a popis
+ questionnaire_answer_presenter:
+ download_attachment: Stáhnout přílohu
questionnaires:
answer:
invalid: Při odpovědi na dotazník došlo k chybám.
diff --git a/decidim-forms/config/locales/en.yml b/decidim-forms/config/locales/en.yml
index 40c3fc522ba4b..c4a6af3487397 100644
--- a/decidim-forms/config/locales/en.yml
+++ b/decidim-forms/config/locales/en.yml
@@ -143,6 +143,8 @@ en:
single_option: Single option
sorting: Sorting
title_and_description: Title and description
+ questionnaire_answer_presenter:
+ download_attachment: Download attachment
questionnaires:
answer:
invalid: There was a problem answering the form.
diff --git a/decidim-forms/config/locales/es-MX.yml b/decidim-forms/config/locales/es-MX.yml
index a61e1def75d44..054c51fb2d2b5 100644
--- a/decidim-forms/config/locales/es-MX.yml
+++ b/decidim-forms/config/locales/es-MX.yml
@@ -142,6 +142,8 @@ es-MX:
single_option: Opción única
sorting: Ordenación
title_and_description: Titulo y descripción
+ questionnaire_answer_presenter:
+ download_attachment: Descargar el archivo adjunto
questionnaires:
answer:
invalid: Ha habido errores al responder al cuestionario.
diff --git a/decidim-forms/config/locales/es-PY.yml b/decidim-forms/config/locales/es-PY.yml
index dede040e2b15e..5463cb8aa4764 100644
--- a/decidim-forms/config/locales/es-PY.yml
+++ b/decidim-forms/config/locales/es-PY.yml
@@ -142,6 +142,8 @@ es-PY:
single_option: Opción única
sorting: Ordenación
title_and_description: Titulo y descripción
+ questionnaire_answer_presenter:
+ download_attachment: Descargar el archivo adjunto
questionnaires:
answer:
invalid: Ha habido errores al responder al cuestionario.
diff --git a/decidim-forms/config/locales/es.yml b/decidim-forms/config/locales/es.yml
index 1629bf654505c..9a2260c0ef139 100644
--- a/decidim-forms/config/locales/es.yml
+++ b/decidim-forms/config/locales/es.yml
@@ -142,6 +142,8 @@ es:
single_option: Opción única
sorting: Ordenación
title_and_description: Titulo y descripción
+ questionnaire_answer_presenter:
+ download_attachment: Descargar el archivo adjunto
questionnaires:
answer:
invalid: Se ha producido un error al responder el formulario.
diff --git a/decidim-forms/config/locales/fi-plain.yml b/decidim-forms/config/locales/fi-plain.yml
index d8bd257a8c6e5..5d9aa55b7437d 100644
--- a/decidim-forms/config/locales/fi-plain.yml
+++ b/decidim-forms/config/locales/fi-plain.yml
@@ -142,6 +142,8 @@ fi-pl:
single_option: Yksi vaihtoehto
sorting: Järjestäminen
title_and_description: Otsikko ja kuvaus
+ questionnaire_answer_presenter:
+ download_attachment: Lataa liite
questionnaires:
answer:
invalid: Kyselylomakkeeseen vastatessa tapahtui virheitä.
diff --git a/decidim-forms/config/locales/fi.yml b/decidim-forms/config/locales/fi.yml
index a5d10d5623321..9f87dcb60e637 100644
--- a/decidim-forms/config/locales/fi.yml
+++ b/decidim-forms/config/locales/fi.yml
@@ -142,6 +142,8 @@ fi:
single_option: Yksi vaihtoehto
sorting: Järjestäminen
title_and_description: Otsikko ja kuvaus
+ questionnaire_answer_presenter:
+ download_attachment: Lataa liite
questionnaires:
answer:
invalid: Kyselylomakkeeseen vastaaminen epäonnistui.
diff --git a/decidim-forms/config/locales/fr-CA.yml b/decidim-forms/config/locales/fr-CA.yml
index 4b8e6f99c62f2..d6c60461e8e06 100644
--- a/decidim-forms/config/locales/fr-CA.yml
+++ b/decidim-forms/config/locales/fr-CA.yml
@@ -142,6 +142,8 @@ fr-CA:
single_option: Option unique
sorting: Tri
title_and_description: Titre et description
+ questionnaire_answer_presenter:
+ download_attachment: Télécharger la pièce jointe
questionnaires:
answer:
invalid: Il y a eu des erreurs en répondant au questionnaire.
diff --git a/decidim-forms/config/locales/fr.yml b/decidim-forms/config/locales/fr.yml
index 53a2fd1a15ffb..6bba355d9d3db 100644
--- a/decidim-forms/config/locales/fr.yml
+++ b/decidim-forms/config/locales/fr.yml
@@ -142,6 +142,8 @@ fr:
single_option: Option unique
sorting: Tri
title_and_description: Titre et description
+ questionnaire_answer_presenter:
+ download_attachment: Télécharger la pièce jointe
questionnaires:
answer:
invalid: Il y a eu des erreurs en répondant au questionnaire.
diff --git a/decidim-forms/config/locales/gn-PY.yml b/decidim-forms/config/locales/gn-PY.yml
new file mode 100644
index 0000000000000..bd442b0ad85de
--- /dev/null
+++ b/decidim-forms/config/locales/gn-PY.yml
@@ -0,0 +1 @@
+gn:
diff --git a/decidim-forms/config/locales/ja.yml b/decidim-forms/config/locales/ja.yml
index 55f50c444072a..e6fde557deeab 100644
--- a/decidim-forms/config/locales/ja.yml
+++ b/decidim-forms/config/locales/ja.yml
@@ -142,6 +142,8 @@ ja:
single_option: 単一オプション
sorting: 並び替え
title_and_description: タイトルと説明
+ questionnaire_answer_presenter:
+ download_attachment: 添付ファイルをダウンロード
questionnaires:
answer:
invalid: フォームの回答に問題がありました。
diff --git a/decidim-forms/config/locales/lo-LA.yml b/decidim-forms/config/locales/lo-LA.yml
new file mode 100644
index 0000000000000..27a02bfece429
--- /dev/null
+++ b/decidim-forms/config/locales/lo-LA.yml
@@ -0,0 +1 @@
+lo:
diff --git a/decidim-forms/config/locales/lt.yml b/decidim-forms/config/locales/lt.yml
index 6c5cb837ac8c1..81309c4dc4ab5 100644
--- a/decidim-forms/config/locales/lt.yml
+++ b/decidim-forms/config/locales/lt.yml
@@ -1 +1,189 @@
lt:
+ activemodel:
+ attributes:
+ answer:
+ body: Atsakymas
+ choices: Pasirinkimai
+ selected_choices: Pasirinkti pasirinkimai
+ question:
+ max_choices: Maksimalus pasirinkimų skaičius
+ question_type: Tipas
+ questionnaire_question:
+ mandatory: Privaloma
+ max_characters: Simbolių limitas (palikti 0 jei limito nėra)
+ errors:
+ models:
+ answer:
+ attributes:
+ add_documents:
+ needs_to_be_reattached: Reikia pridėti iš naujo
+ body:
+ too_long: per ilgas
+ choices:
+ missing: nepilnas - trūksta elementų
+ too_many: per daug
+ questionnaire:
+ request_invalid: Tvarkant prašymą įvyko klaida. Bandykite dar kartą
+ decidim:
+ forms:
+ admin:
+ models:
+ components:
+ description: Aprašymas
+ tos: Paslaugų teikimo sąlygos
+ questionnaires:
+ actions:
+ back: Grįžti į klausimus
+ show: Rodyti atsakymus
+ answer_option:
+ answer_option: Atsakymo variantas
+ free_text: Laisva forma
+ remove: Pašalinti
+ statement: Pareiškimas
+ answers:
+ actions:
+ back: Grįžti į atsakymus
+ export: Eksportuoti
+ show: Rodyti atsakymus
+ empty: Atsakymų dar nėra
+ export:
+ answer:
+ title: 'Atsakymas #%{number}'
+ export_response:
+ title: apklausa_naudotoju_atsakymai_%{token}
+ index:
+ title: "%{total} iš viso atsakymų"
+ show:
+ title: 'Atsakymas #%{number}'
+ display_condition:
+ answer_option: Atsakymo variantas
+ condition_question: Klausimas
+ condition_type: Sąlyga
+ condition_types:
+ answered: Atsakyta
+ equal: Lygu
+ match: Įskaitant tekstą
+ not_answered: Neatsakyta
+ not_equal: Nelygu
+ condition_value: Įskaitytas tekstas
+ display_condition: Rodymo sąlyga
+ mandatory: Ši sąlyga turi būti patenkinta visada, neatsižvelgiant į kitų sąlygų statusą
+ remove: Pašalinti
+ save_warning: Prieš konfigūruodami rodymo sąlygas, nepamirškite išsaugoti formos
+ select_answer_option: Pasirinkite atsakymo variantą
+ select_condition_question: Pasirinkite klausimą
+ select_condition_type: Pasirinkti sąlygos tipą
+ edit:
+ save: Išsaugoti
+ title: Redaguoti klausimyną
+ form:
+ add_question: Pridėti klausimą
+ add_separator: Pridėti skyriklį
+ add_title_and_description: Pridėti pavadinimą ir aprašymą
+ already_answered_warning: Kai kurie naudotojai jau atsakė į formos klausimus, todėl jos klausimų keisti nebegalite.
+ collapse: Suskleisti visus klausimus
+ expand: Išskleisti visus klausimus
+ preview: Peržiūra
+ title: Taisyti %{questionnaire_for} formą
+ unpublished_warning: Forma nepaskelbta. Galite keisti klausimus, tačiau tai darydami pašalinsite esamus atsakymus.
+ matrix_row:
+ matrix_row: Eilutė
+ remove: Pašalinti
+ statement: Pareiškimas
+ question:
+ add_answer_option: Pridėti atsakymo variantą
+ add_display_condition: Pridėti rodymo sąlygą
+ add_display_condition_info: Išsaugokite formą, kad galėtumėt konfiguruoti rodymo sąlygas
+ add_matrix_row: Pridėti eilutę
+ any: Bet koks
+ collapse: Suskleisti
+ description: Aprašymas
+ down: Žemyn
+ expand: Išplėsti
+ question: Klausimas
+ remove: Pašalinti
+ statement: Pareiškimas
+ up: Į viršų
+ separator:
+ down: Žemyn
+ remove: Pašalinti
+ separator: Skirtukas
+ up: Į viršų
+ title_and_description:
+ collapse: Suskleisti
+ description: Aprašymas
+ down: Žemyn
+ expand: Išplėsti
+ remove: Pašalinti
+ title: Pavadinimas
+ title_and_description: Pavadinimas ir aprašymas
+ up: Aukštyn
+ update:
+ invalid: Išsaugant šią formą iškilo problema.
+ success: Forma sėkmingai išsaugota.
+ errors:
+ answer:
+ body: Pagrindinė dalis negali būti tuščia
+ files:
+ extension_allowlist: 'Priimtini formatai:'
+ images:
+ dimensions: "%{width} x %{height} px"
+ dimensions_info: 'Šis vaizdas bus:'
+ processors:
+ resize_and_pad: Pakeisto dydžio ir užpildytas iki
+ resize_to_fit: Pakeistas dydis, kad tilptų
+ question_types:
+ files: Dokumentai
+ long_answer: Ilgas atsakymas
+ matrix_multiple: Matrica (su keliais variantais)
+ matrix_single: Matrica (vienas variantas)
+ multiple_option: Keli variantai
+ short_answer: Trumpas atsakymas
+ single_option: Vienas variantas
+ sorting: Rūšiavimas
+ title_and_description: Pavadinimas ir aprašymas
+ questionnaires:
+ answer:
+ invalid: Atsakant į šią formą iškilo problema.
+ max_choices_alert: Per daug pasirinktų variantų
+ success: Į formos klausimus atsakyta.
+ question:
+ max_choices: 'Didžiausias pasirinkčių skaičius: %{n}'
+ show:
+ answer_questionnaire:
+ anonymous_user_message: Prisijunkite su savo paskyra arba užsiregistruokite norėdami užpildyti formą.
+ title: Atsakyti į formos klausimus
+ current_step: Žingsnis %{step}
+ of_total_steps: iš%{total_steps}
+ questionnaire_answered:
+ body: Jau atsakėte iš šios formos klausimus.
+ title: Jau atsakyta
+ questionnaire_closed:
+ body: Forma uždaryta ir į ją atsakyti negalima.
+ title: Forma uždaryta
+ questionnaire_for_private_users:
+ body: Forma pateikiama tik privatiems naudotojams
+ title: Forma uždaryta
+ questionnaire_js_disabled:
+ body: Kai kurie šios formos funkcionalumai bus neaktyvūs. Kad pagerintumėte naudojimo patirtį, naršyklėje įjunkite „JavaScript“.
+ title: '„JavaScript“ išjungta'
+ questionnaire_not_published:
+ body: Ši forma dar nepaskelbta.
+ tos_agreement: Dalyvaudami sutinkate su paslaugos teikimo sąlygomis
+ step_navigation:
+ show:
+ are_you_sure: Šio veiksmo atšaukti negalima ir savo atsakymų keisti negalėsite. Ar esate įsitikinę?
+ back: Atgal
+ continue: Tęsti
+ submit: Pateikti
+ user_answers_serializer:
+ body: Atsakymas
+ completion: Užbaigimas
+ created_at: Atsakyta
+ id: Atsakymo ID
+ ip_hash: IP adreso "hash" kodas
+ question: Klausimas
+ registered: Užregistruota
+ session_token: Naudotojo identifikatorius
+ unregistered: Neregistruoti
+ user_status: Naudotojo būsena
diff --git a/decidim-forms/config/locales/oc-FR.yml b/decidim-forms/config/locales/oc-FR.yml
new file mode 100644
index 0000000000000..325b348894124
--- /dev/null
+++ b/decidim-forms/config/locales/oc-FR.yml
@@ -0,0 +1 @@
+oc:
diff --git a/decidim-forms/config/locales/pl.yml b/decidim-forms/config/locales/pl.yml
index 0a520a323644d..6f86e9dfc936b 100644
--- a/decidim-forms/config/locales/pl.yml
+++ b/decidim-forms/config/locales/pl.yml
@@ -7,10 +7,10 @@ pl:
selected_choices: Wybrane opcje
question:
max_choices: Maksymalna liczba opcji do wyboru
- question_type: Typ
+ question_type: Typ odpowiedzi
questionnaire_question:
- mandatory: Obowiązkowy
- max_characters: Limit znaków (zostaw 0 jeśli nie chcesz ustawiać limitu)
+ mandatory: Odpowiedź wymagana
+ max_characters: Limit znaków (zostaw 0, jeśli nie chcesz ustawiać limitu)
errors:
models:
answer:
@@ -37,7 +37,7 @@ pl:
show: Pokaż odpowiedzi
answer_option:
answer_option: Opcja odpowiedzi
- free_text: Dowolny tekst
+ free_text: Możliwość wpisania dowolnego tekstu
remove: Usuń
statement: Komunikat
answers:
@@ -131,6 +131,7 @@ pl:
short_answer: Krótka odpowiedź
single_option: Jedna opcja
sorting: Sortowanie
+ title_and_description: Tytuł i opis
questionnaires:
answer:
invalid: Podczas wypełniania formularza wystąpiły błędy.
diff --git a/decidim-forms/config/locales/ro-RO.yml b/decidim-forms/config/locales/ro-RO.yml
index c4f89af2b10a6..c262cdf3cf189 100644
--- a/decidim-forms/config/locales/ro-RO.yml
+++ b/decidim-forms/config/locales/ro-RO.yml
@@ -142,6 +142,8 @@ ro:
single_option: Opțiune unică
sorting: Sortare
title_and_description: Titlu și descriere
+ questionnaire_answer_presenter:
+ download_attachment: Descărcare atașament
questionnaires:
answer:
invalid: A apărut o problemă la completarea chestionarului.
diff --git a/decidim-forms/lib/decidim/forms/test/shared_examples/manage_questionnaire_answers.rb b/decidim-forms/lib/decidim/forms/test/shared_examples/manage_questionnaire_answers.rb
index 383956c40c53c..643ae3edc541b 100644
--- a/decidim-forms/lib/decidim/forms/test/shared_examples/manage_questionnaire_answers.rb
+++ b/decidim-forms/lib/decidim/forms/test/shared_examples/manage_questionnaire_answers.rb
@@ -10,8 +10,11 @@
let!(:second) do
create :questionnaire_question, questionnaire: questionnaire, position: 2, question_type: "single_option"
end
+ let!(:third) do
+ create :questionnaire_question, questionnaire: questionnaire, position: 3, question_type: "files"
+ end
let(:questions) do
- [first, second]
+ [first, second, third]
end
context "when there are no answers" do
@@ -25,6 +28,7 @@
let!(:answer1) { create :answer, questionnaire: questionnaire, question: first }
let!(:answer2) { create :answer, body: "second answer", questionnaire: questionnaire, question: first }
let!(:answer3) { create :answer, questionnaire: questionnaire, question: second }
+ let!(:file_answer) { create :answer, :with_attachments, questionnaire: questionnaire, question: third, body: nil, user: answer3.user, session_token: answer3.session_token }
it "shows the answer admin link" do
visit questionnaire_edit_path
@@ -45,7 +49,7 @@
end
it "shows the percentage" do
- expect(page).to have_content("50%")
+ expect(page).to have_content("33%")
end
it "has a detail link" do
@@ -121,6 +125,25 @@
expect(page).not_to have_link("Next ›")
expect(page).to have_link("‹ Prev")
end
+
+ it "third answer has download link for the attachments" do
+ click_link answer3.session_token, match: :first
+ expect(page).to have_content(translated(file_answer.attachments.first.title))
+ expect(page).to have_content(translated(file_answer.attachments.second.title))
+ end
+
+ context "when the file answer does not have a title for the attachment" do
+ let!(:file_answer) { create :answer, questionnaire: questionnaire, question: third, body: nil, user: answer3.user, session_token: answer3.session_token }
+
+ before do
+ create :attachment, :with_image, attached_to: file_answer, title: {}, description: {}
+ end
+
+ it "third answer has download link for the attachments" do
+ click_link answer3.session_token, match: :first
+ expect(page).to have_content("Download attachment")
+ end
+ end
end
end
end
diff --git a/decidim-forms/lib/decidim/forms/version.rb b/decidim-forms/lib/decidim/forms/version.rb
index c22f27a6d8603..29cfffe0b8507 100644
--- a/decidim-forms/lib/decidim/forms/version.rb
+++ b/decidim-forms/lib/decidim/forms/version.rb
@@ -4,7 +4,7 @@ module Decidim
# This holds the decidim-forms version.
module Forms
def self.version
- "0.26.2"
+ "0.26.4"
end
end
end
diff --git a/decidim-forms/spec/presenters/decidim/admin/questionnaire_answer_presenter_spec.rb b/decidim-forms/spec/presenters/decidim/admin/questionnaire_answer_presenter_spec.rb
index 1f97429af72a8..d8b2eb5fc7ea0 100644
--- a/decidim-forms/spec/presenters/decidim/admin/questionnaire_answer_presenter_spec.rb
+++ b/decidim-forms/spec/presenters/decidim/admin/questionnaire_answer_presenter_spec.rb
@@ -73,6 +73,23 @@ module Decidim
end
end
end
+
+ context "when the answer has an attachment" do
+ let!(:answer) { create(:answer, body: nil) }
+ let!(:attachment) { create(:attachment, :with_image, attached_to: answer) }
+
+ it "returns the download attachment link" do
+ expect(subject.body).to eq(%(
))
+ end
+
+ context "when the attachment does not have a title" do
+ let!(:attachment) { create(:attachment, :with_image, attached_to: answer, title: {}, description: {}) }
+
+ it "returns the download attachment link" do
+ expect(subject.body).to eq(%(
diff --git a/decidim-initiatives/config/locales/ca.yml b/decidim-initiatives/config/locales/ca.yml
index 17b4addfc731e..25eabf01c6f8c 100644
--- a/decidim-initiatives/config/locales/ca.yml
+++ b/decidim-initiatives/config/locales/ca.yml
@@ -2,6 +2,7 @@ ca:
activemodel:
attributes:
initiative:
+ area_id: Àrea
decidim_user_group_id: Autoria
description: Descripció
offline_votes: Signatures presencials
@@ -18,6 +19,8 @@ ca:
title: Títol
initiatives_committee_member:
user: Membre del comitè
+ initiatives_settings:
+ initiatives_order: Ordre
initiatives_type:
area_enabled: Permet a les autores triar l'àrea de la seva iniciativa
attachments_enabled: Habilitat arxius adjunts
@@ -32,6 +35,7 @@ ca:
online_signature_enabled: S'ha activat la signatura digital
only_global_scope_enabled: Permetre només la creació d'iniciatives d'àmbit global
promoting_committee_enabled: Habilita el comitè promotor
+ signature_type: Tipus de signatura
title: Títol
undo_online_signatures_enabled: Permetre a les participants desfer les seves signatures digitals
validate_sms_code_on_votes: Afegeix el pas de validació mitjançant SMS al procés de signatura
diff --git a/decidim-initiatives/config/locales/cs.yml b/decidim-initiatives/config/locales/cs.yml
index 359b3419efffe..63b70354bd8df 100644
--- a/decidim-initiatives/config/locales/cs.yml
+++ b/decidim-initiatives/config/locales/cs.yml
@@ -2,6 +2,7 @@ cs:
activemodel:
attributes:
initiative:
+ area_id: Oblast
decidim_user_group_id: Autor
description: Popis
offline_votes: Osobní fyzické podpisy
@@ -12,18 +13,20 @@ cs:
signature_type: Typ sbírky podpisu
signature_type_values:
any: Online nebo naživo
- offline: Z očí do očí
+ offline: Osobně
online: OnLine
state: Stav
title: Titul
initiatives_committee_member:
user: Člen výboru
+ initiatives_settings:
+ initiatives_order: Pořadí
initiatives_type:
area_enabled: Povolit autorům vybrat tematickou oblast pro jejich iniciativu
attachments_enabled: Povolit přílohy
banner_image: Obrázek banneru
child_scope_threshold_enabled: Povolit podpisy podřízené oblasti působnosti
- collect_user_extra_fields: Sbírejte osobní údaje uživatelů podpisem
+ collect_user_extra_fields: Shromažďovat osobní údaje účastníků při podpisu
custom_signature_end_date_enabled: Povolit autorům zvolit konec doby sběru podpisů
description: Popis
document_number_authorization_handler: Autorizace k ověření čísla dokumentu pro podpisy
@@ -32,6 +35,7 @@ cs:
online_signature_enabled: Online podpis povolen
only_global_scope_enabled: Umožnit pouze vytvoření iniciativ globálního rozsahu
promoting_committee_enabled: Povolit podporu výboru
+ signature_type: Typ podpisu
title: Titul
undo_online_signatures_enabled: Povolit účastníkům vrátit zpět své online podpisy
validate_sms_code_on_votes: Přidejte krok ověření SMS kódu do procesu podpisu
@@ -55,9 +59,9 @@ cs:
activerecord:
models:
decidim/initiative:
- one: Initativní
+ one: Iniciativa
few: Iniciativy
- many: Iniciativy
+ many: Iniciativ
other: Iniciativy
decidim/initiative_comittee:
one: Výbor
@@ -313,7 +317,7 @@ cs:
all: Vše
answered: Odpovězeno
closed: Uzavřeno
- open: otevřeno
+ open: Otevřeno
rejected: Nedostatek podpisů
filter_type_values:
all: Vše
@@ -329,7 +333,7 @@ cs:
success: Vaše žádost byla zaslána autorovi iniciativy.
content_blocks:
highlighted_initiatives:
- name: Zdůrazněné iniciativy
+ name: Zvýrazněné iniciativy
create_initiative:
fill_data:
back: Zpět
@@ -547,10 +551,10 @@ cs:
votes_blocked: Podpis zakázán
votes_count:
count:
- one: PODPIS
- few: PODPISY
- many: PODPISY
- other: PODPISY
+ one: Podpis
+ few: Podpisy
+ many: Podpisů
+ other: Podpisů
most_popular_initiative: Nejoblíbenější iniciativa
need_more_votes: Potřebujete další podpisy
initiatives_mailer:
diff --git a/decidim-initiatives/config/locales/de.yml b/decidim-initiatives/config/locales/de.yml
index dcc877ee25ea1..ff8a095d2920b 100644
--- a/decidim-initiatives/config/locales/de.yml
+++ b/decidim-initiatives/config/locales/de.yml
@@ -18,6 +18,8 @@ de:
title: Titel
initiatives_committee_member:
user: Ausschussmitglied
+ initiatives_settings:
+ initiatives_order: Reihenfolge
initiatives_type:
area_enabled: Die Auswahl des Bereichs von Initiativen für Autoren freigeben
attachments_enabled: Anhänge freigeben
@@ -404,6 +406,7 @@ de:
notification_title: %{applicant_nickname} hat sich für das Promoter-Komittee Ihrer Initiative %{resource_title} beworben. Um anzunehmen oder abzulehnen, klicken Sie hier.
form:
add_attachments: Dokumente
+ attachment_legend: "(Optional) Anhang hinzufügen"
delete_attachment: Löschen
index:
title: Initiativen
@@ -572,6 +575,9 @@ de:
menu:
initiatives: Initiativen
resources:
+ initiative:
+ actions:
+ comment: Kommentar
initiatives_type:
actions:
title: Aktionen
@@ -603,7 +609,7 @@ de:
title: Zeichen %{initiative_title}
initiatives:
initiative:
- check: Hör zu
+ check: Mehr erfahren
check_and_support: Überprüfe es und unterschreibe es
no_initiatives_yet:
no_initiatives_yet: Keine Initiativen bisher!
diff --git a/decidim-initiatives/config/locales/en.yml b/decidim-initiatives/config/locales/en.yml
index 0a781368ac5e0..db20580d61706 100644
--- a/decidim-initiatives/config/locales/en.yml
+++ b/decidim-initiatives/config/locales/en.yml
@@ -3,6 +3,7 @@ en:
activemodel:
attributes:
initiative:
+ area_id: Area
decidim_user_group_id: Author
description: Description
offline_votes: In-person signatures
@@ -19,6 +20,8 @@ en:
title: Title
initiatives_committee_member:
user: Committee member
+ initiatives_settings:
+ initiatives_order: Order
initiatives_type:
area_enabled: Enable authors to choose the area for their initiative
attachments_enabled: Enable attachments
@@ -33,6 +36,7 @@ en:
online_signature_enabled: Online signature enabled
only_global_scope_enabled: Only allow global scope initiatives creation
promoting_committee_enabled: Enable promoting committee
+ signature_type: Signature type
title: Title
undo_online_signatures_enabled: Enable participants to undo their online signatures
validate_sms_code_on_votes: Add SMS code validation step to signature process
diff --git a/decidim-initiatives/config/locales/es-MX.yml b/decidim-initiatives/config/locales/es-MX.yml
index 870b8f8a3c009..1b260aaa2c042 100644
--- a/decidim-initiatives/config/locales/es-MX.yml
+++ b/decidim-initiatives/config/locales/es-MX.yml
@@ -2,6 +2,7 @@ es-MX:
activemodel:
attributes:
initiative:
+ area_id: Área
decidim_user_group_id: Autor
description: Descripción
offline_votes: Apoyo cara a cara
@@ -18,6 +19,8 @@ es-MX:
title: Título
initiatives_committee_member:
user: Miembro del Comité
+ initiatives_settings:
+ initiatives_order: Orden
initiatives_type:
area_enabled: Permitir a las autoras elegir el área para su iniciativa
attachments_enabled: Habilitar archivos adjuntos
@@ -32,6 +35,7 @@ es-MX:
online_signature_enabled: Firma en línea habilitada
only_global_scope_enabled: Permitir sólo la creación de iniciativas de ámbito global
promoting_committee_enabled: Habilitar el comité promotor
+ signature_type: Tipo de firma
title: Título
undo_online_signatures_enabled: Permitir a los usuarios deshacer sus firmas en línea
validate_sms_code_on_votes: Añadir paso de validación de código SMS al proceso de firma
diff --git a/decidim-initiatives/config/locales/es-PY.yml b/decidim-initiatives/config/locales/es-PY.yml
index 6a9a6e6ac2670..26182fbffed66 100644
--- a/decidim-initiatives/config/locales/es-PY.yml
+++ b/decidim-initiatives/config/locales/es-PY.yml
@@ -2,6 +2,7 @@ es-PY:
activemodel:
attributes:
initiative:
+ area_id: Área
decidim_user_group_id: Autor
description: Descripción
offline_votes: Apoyo cara a cara
@@ -18,6 +19,8 @@ es-PY:
title: Título
initiatives_committee_member:
user: Miembro del Comité
+ initiatives_settings:
+ initiatives_order: Orden
initiatives_type:
area_enabled: Permitir a las autoras elegir el área para su iniciativa
attachments_enabled: Habilitar archivos adjuntos
@@ -32,6 +35,7 @@ es-PY:
online_signature_enabled: Firma en línea habilitada
only_global_scope_enabled: Permitir sólo la creación de iniciativas de ámbito global
promoting_committee_enabled: Habilitar el comité promotor
+ signature_type: Tipo de firma
title: Título
undo_online_signatures_enabled: Permitir a los usuarios deshacer sus firmas en línea
validate_sms_code_on_votes: Añadir paso de validación de código SMS al proceso de firma
diff --git a/decidim-initiatives/config/locales/es.yml b/decidim-initiatives/config/locales/es.yml
index 74db50fb071d1..6fc42d7c01257 100644
--- a/decidim-initiatives/config/locales/es.yml
+++ b/decidim-initiatives/config/locales/es.yml
@@ -2,6 +2,7 @@ es:
activemodel:
attributes:
initiative:
+ area_id: Área
decidim_user_group_id: Autoria
description: Descripción
offline_votes: Firmas presenciales
@@ -18,6 +19,8 @@ es:
title: Título
initiatives_committee_member:
user: Miembro del Comité
+ initiatives_settings:
+ initiatives_order: Orden
initiatives_type:
area_enabled: Permitir a las autoras elegir el área para su iniciativa
attachments_enabled: Habilitar archivos adjuntos
@@ -32,6 +35,7 @@ es:
online_signature_enabled: Firma digital habilitada
only_global_scope_enabled: Permitir sólo la creación de iniciativas de ámbito global
promoting_committee_enabled: Habilitar el comité promotor
+ signature_type: Tipo de firma
title: Título
undo_online_signatures_enabled: Permitir a las participantes deshacer sus firmas digitales
validate_sms_code_on_votes: Añadir paso de validación mediante SMS al proceso de firma
diff --git a/decidim-initiatives/config/locales/eu.yml b/decidim-initiatives/config/locales/eu.yml
index 40ec5a291ca38..67a2b45c16e06 100644
--- a/decidim-initiatives/config/locales/eu.yml
+++ b/decidim-initiatives/config/locales/eu.yml
@@ -2,6 +2,7 @@ eu:
activemodel:
attributes:
initiative:
+ area_id: Arloa
decidim_user_group_id: Egilea
description: deskribapena
offline_votes: Aurrez aurreko sinadurak
@@ -32,6 +33,7 @@ eu:
online_signature_enabled: Sinadura elektronikoa gaituta dago
only_global_scope_enabled: Eremu globaleko ekimenak soilik sortzeko aukera ematea
promoting_committee_enabled: Batzorde sustatzailea gaitzea
+ signature_type: Sinadura mota
title: Izenburua
undo_online_signatures_enabled: Gaitu erabiltzaileek beren sinadurak desegin ditzaten
validate_sms_code_on_votes: Gehitu SMS kodea baliozkotzeko urratsa sinadura prozesura
diff --git a/decidim-initiatives/config/locales/fi-plain.yml b/decidim-initiatives/config/locales/fi-plain.yml
index 976448fcf188e..05ae100935958 100644
--- a/decidim-initiatives/config/locales/fi-plain.yml
+++ b/decidim-initiatives/config/locales/fi-plain.yml
@@ -2,6 +2,7 @@ fi-pl:
activemodel:
attributes:
initiative:
+ area_id: Alue
decidim_user_group_id: Laatija
description: Kuvaus
offline_votes: Palvelun ulkopuolella kerätyt kannatukset
@@ -18,6 +19,8 @@ fi-pl:
title: Otsikko
initiatives_committee_member:
user: Komitean jäsen
+ initiatives_settings:
+ initiatives_order: Järjestys
initiatives_type:
area_enabled: Salli alueen valinta aloitteille
attachments_enabled: Salli liitteet
@@ -32,6 +35,7 @@ fi-pl:
online_signature_enabled: Online-allekirjoitus on käytössä
only_global_scope_enabled: Salli aloitteiden luonti ainoastaan pääteemalle
promoting_committee_enabled: Ota käyttöön kannatuskomitea
+ signature_type: Allekirjoitustapa
title: Otsikko
undo_online_signatures_enabled: Salli käyttäjien peruuttaa verkossa tehdyt allekirjoitukset
validate_sms_code_on_votes: Lisää tekstiviestikoodin validointivaihe allekirjoitusprosessiin
diff --git a/decidim-initiatives/config/locales/fi.yml b/decidim-initiatives/config/locales/fi.yml
index 729b8b369df10..092fbe8b3f917 100644
--- a/decidim-initiatives/config/locales/fi.yml
+++ b/decidim-initiatives/config/locales/fi.yml
@@ -2,6 +2,7 @@ fi:
activemodel:
attributes:
initiative:
+ area_id: Alue
decidim_user_group_id: Laatija
description: Kuvaus
offline_votes: Palvelun ulkopuolella kerätyt kannatukset
@@ -32,6 +33,7 @@ fi:
online_signature_enabled: Online-allekirjoitus on käytössä
only_global_scope_enabled: Salli aloitteiden luonti ainoastaan pääteemalle
promoting_committee_enabled: Ota käyttöön kannatuskomitea
+ signature_type: Allekirjoitustapa
title: Otsikko
undo_online_signatures_enabled: Verkossa tehtyjen allekirjoitusten peruuttaminen käytössä
validate_sms_code_on_votes: Lisää tekstiviestikoodin validointivaihe allekirjoitusprosessiin
diff --git a/decidim-initiatives/config/locales/fr-CA.yml b/decidim-initiatives/config/locales/fr-CA.yml
index ed1b8e7785f50..762110f2225b0 100644
--- a/decidim-initiatives/config/locales/fr-CA.yml
+++ b/decidim-initiatives/config/locales/fr-CA.yml
@@ -2,6 +2,7 @@ fr-CA:
activemodel:
attributes:
initiative:
+ area_id: Périmètre d'assemblée
decidim_user_group_id: Auteur
description: Description
offline_votes: Votes en présentiel
@@ -18,6 +19,8 @@ fr-CA:
title: Titre
initiatives_committee_member:
user: Membre du Comité de promotion
+ initiatives_settings:
+ initiatives_order: Ordre
initiatives_type:
area_enabled: Permettre aux auteurs de choisir la zone pour leur initiative
attachments_enabled: Autoriser les pièces jointes
@@ -32,6 +35,7 @@ fr-CA:
online_signature_enabled: Signature en ligne activée
only_global_scope_enabled: Autoriser uniquement la création d'initiatives de portée globale
promoting_committee_enabled: Activer les comités de promotion sur ce type d'initiative (témoin. s dont l'invitation par l'auteur est obligatoire pour la validation de l'initiative si cette fonctionnalité est activée)
+ signature_type: Type de signature
title: Titre
undo_online_signatures_enabled: Autoriser les utilisateurs à annuler leurs signatures en ligne
validate_sms_code_on_votes: Ajouter une étape de validation du code SMS au processus de signature
diff --git a/decidim-initiatives/config/locales/fr.yml b/decidim-initiatives/config/locales/fr.yml
index 8a88ed7cf12ef..2adb290442c22 100644
--- a/decidim-initiatives/config/locales/fr.yml
+++ b/decidim-initiatives/config/locales/fr.yml
@@ -2,6 +2,7 @@ fr:
activemodel:
attributes:
initiative:
+ area_id: Périmètre d'assemblée
decidim_user_group_id: Auteur
description: Description
offline_votes: Votes en présentiel
@@ -18,8 +19,10 @@ fr:
title: Titre
initiatives_committee_member:
user: Membre du Comité de promotion
+ initiatives_settings:
+ initiatives_order: Ordre
initiatives_type:
- area_enabled: Permettre aux auteurs de choisir le périmètre d'application pour leur pétition
+ area_enabled: Permettre aux auteurs de choisir le périmètre d'assemblée pour leur pétition
attachments_enabled: Autoriser les pièces jointes
banner_image: Image d'en-tête
child_scope_threshold_enabled: Autoriser les signatures par sous-secteur
@@ -32,6 +35,7 @@ fr:
online_signature_enabled: Signature en ligne activée
only_global_scope_enabled: Autoriser uniquement la création de pétitions de portée globale
promoting_committee_enabled: Activer les comités de promotion sur ce type de pétition (témoin.s dont l'invitation par l'auteur est obligatoire pour la validation de la pétition si cette fonctionnalité est activée)
+ signature_type: Type de signature
title: Titre
undo_online_signatures_enabled: Autoriser les utilisateurs à annuler leurs signatures en ligne
validate_sms_code_on_votes: Ajouter une étape de validation du code SMS au processus de signature
diff --git a/decidim-initiatives/config/locales/gn-PY.yml b/decidim-initiatives/config/locales/gn-PY.yml
new file mode 100644
index 0000000000000..bd442b0ad85de
--- /dev/null
+++ b/decidim-initiatives/config/locales/gn-PY.yml
@@ -0,0 +1 @@
+gn:
diff --git a/decidim-initiatives/config/locales/hu.yml b/decidim-initiatives/config/locales/hu.yml
index fa85ed15edc63..0ae9cfb2eb38e 100644
--- a/decidim-initiatives/config/locales/hu.yml
+++ b/decidim-initiatives/config/locales/hu.yml
@@ -5,6 +5,7 @@ hu:
decidim_user_group_id: Szerző
description: Leírás
offline_votes: Támogatás szemtől szembe
+ offline_votes_for_scope: 'Személyesen aláírások erre: %{scope_name}'
scope_id: Hatáskör
signature_end_date: Az aláírásgyűjtési időszak vége
signature_start_date: Az aláírásgyűjtési időszak kezdete
@@ -18,13 +19,18 @@ hu:
initiatives_committee_member:
user: Bizottsági tag
initiatives_type:
+ area_enabled: Lehetővé teszi a szerzők számára, hogy kiválasszák a kezdeményezésük területét
+ attachments_enabled: Mellékletek engedélyezése
banner_image: Banner kép
+ child_scope_threshold_enabled: A gyermek hatókör aláírásainak engedélyezése
collect_user_extra_fields: Személyes adatok gyűjtése az aláíráskor
+ custom_signature_end_date_enabled: Lehetővé teszi a szerzők számára, hogy kiválasszák az aláírásgyűjtési időszak végét
description: Leírás
document_number_authorization_handler: A dokumentum számának ellenőrzésének engedélyezése a szavazatokon
extra_fields_legal_information: Jogi információk a személyes adatok gyűjtéséről
minimum_committee_members: Bizottsági tagok minimális száma
online_signature_enabled: Online aláírás engedélyezve
+ only_global_scope_enabled: Csak globális hatókörű kezdeményezések létrehozását engedélyezze
promoting_committee_enabled: Előléptetési bizottság engedélyezése
title: Cím
undo_online_signatures_enabled: Engedélyezze a felhasználók számára az online aláírások visszavonását
@@ -38,6 +44,14 @@ hu:
address: Lakcím
id_document: Személyigazolvány
name: Teljes név
+ errors:
+ models:
+ initiative:
+ attributes:
+ attachment:
+ file: A fájl érvénytelen
+ needs_to_be_reattached: Újra kell csatolni
+ title: A cím nem lehet üres
activerecord:
models:
decidim/initiative:
@@ -68,16 +82,22 @@ hu:
validating: Technikai érvényesítés
type_id_eq:
label: Típus
+ search_placeholder:
+ title_or_description_or_id_string_or_author_name_or_author_nickname_cont: Keresés a(z) %{collection} elemei között cím, leírás, azonosító vagy szerző alapján.
menu:
+ attachments: Csatolmányok
+ committee_members: Bizottsági tagok
components: Elemek
information: Információ
initiatives: Kezdeményezések
initiatives_types: Kezdeményezések típusa
+ moderations: Moderálások
models:
initiatives:
fields:
created_at: 'Létrehozva:'
id: ID
+ published_at: Publikálás ideje
state: Állapot
supports_count: Aláírások
title: Kezdeményezések
@@ -103,6 +123,7 @@ hu:
initiative_title: Kezdeményezés címe
name_and_surname: Keresztnév és Vezetéknév
postal_code: Irányítószám
+ scope: Hatókör
time_and_date: Idő és dátum
timestamp: Időbélyeg
titles:
@@ -110,11 +131,22 @@ hu:
initiatives_types: Kezdeményezési típusai
events:
initiatives:
+ admin:
+ initiative_sent_to_technical_validation:
+ email_intro: A(z) „%{resource_title}” kezdeményezést elküldték technikai ellenőrzésre. Ellenőrizze az adminisztrációs panelen
+ email_outro: Azért kapta ezt az értesítést, mert Ön a platform adminisztrátora.
+ email_subject: A(z) „%{resource_title}” kezdeményezést elküldték technikai ellenőrzésre.
+ notification_title: A(z) „%{resource_title}” kezdeményezést elküldték technikai ellenőrzésre. Ellenőrizze az adminisztrációs panelen
initiative_extended:
email_intro: A(z) %{resource_title} kezdeményezés aláírásának határideje kitolódott!
email_outro: 'Ezt az értesítést azért kaptad, mert ezt követed: "%{resource_title}". Az értesítéseket a következő linkre kattintva kapcsolhatod ki.'
email_subject: Kezdeményezés aláírásának határideje kitolva!
notification_title: A(z) %{resource_title} kezdeményezés aláírásának határidejét kitolták.
+ initiative_sent_to_technical_validation:
+ email_intro: A(z) „%{resource_title}” kezdeményezést elküldték technikai ellenőrzésre. Ellenőrizze az adminisztrációs panelen
+ email_outro: Ezt az értesítést kaptad, mert te vagy a platform adminja.
+ email_subject: A(z) „%{resource_title}” kezdeményezést elküldték technikai ellenőrzésre.
+ notification_title: A(z) „%{resource_title}” kezdeményezést elküldték technikai ellenőrzésre. Ellenőrizze az adminisztrációs panelen
milestone_completed:
affected_user:
email_intro: A %{resource_title} kezdeményezésed elérte az aláírások %{percentage}% -át!
@@ -126,6 +158,11 @@ hu:
email_outro: Ezt az értesítést azért kaptad, mert követed ezt %{resource_title}. Leállíthathatod az értesítések fogadását az előző linkkel.
email_subject: Új mérföldkő kész áll!
notification_title: A(z) %{resource_title} kezdeményezést már %{percentage}% aláírta.
+ support_threshold_reached:
+ email_intro: A(z) %{resource_title} kezdeményezés elérte a támogatási küszöböt
+ email_outro: Ezt az értesítést kaptad, mert te vagy a platform adminja.
+ email_subject: Támogatási küszöb elérve
+ notification_title: A(z) %{resource_title} kezdeményezés elérte a támogatási küszöböt
gamification:
badges:
initiatives:
@@ -170,10 +207,17 @@ hu:
content_blocks:
highlighted_initiatives:
max_results: A megjelenítendő elemek maximális száma
+ order:
+ default: Alapértelmezett (Legutóbbi)
+ label: 'Elemek rendezése:'
+ most_recent: Legfrissebb
+ exports:
+ initiatives: Kezdeményezések
initiatives:
edit:
accept: Kezdeményezés elfogadása
confirm: Biztos vagy benne?
+ confirm_send_to_technical_validation: Biztos vagy benne?
discard: Kezdeményezés félrerakása
export_pdf_signatures: Aláírások exportálása PDF-be
export_votes: Exportálás támogatása
@@ -189,6 +233,11 @@ hu:
actions_title: Művelet
preview: Előnézet
print: Nyomtatás
+ initiative_attachments:
+ documents: Dokumentumok
+ edit: Szerkeszt
+ new: Új
+ photos: Fotók
update:
error: Hiba történt
success: Az állampolgári kezdeményezés frissítése sikeres
@@ -222,6 +271,10 @@ hu:
destroy: Törlés
update: Frissítés
form:
+ authorizations: Hitelesítési beállítások
+ child_scope_threshold_enabled_help: 'Ez a konfigurációs zászló nem támogatja az offline szavazást, engedélyezi az al-hatóköröket, és egy olyan engedélyezési kezelővel működik, amely egy hatókört társít a felhasználóhoz, győződjön meg róla, hogy ezt az engedélyezést választja ki, az engedélyezési beállításoknál. Ahhoz, hogy működjön, a hatóköröket hierarchikusan kell beállítani : 1 szülő - N gyermek. További információért arról, hogy hogyan működik ez a konfiguráció, lásd ezt a cikketlink.'
+ only_global_scope_enabled_help: Jelölje be ezt a jelölőnégyzetet, ha engedélyezte a "Gyermek hatókör aláírás" opciót, és a globális hatókörét szülő hatókörként konfigurálta. Ennek engedélyezésével a kezdeményezés típusának kiválasztása kihagyásra kerül a kezdeményezés létrehozására szolgáló varázslóban. A konfiguráció működésével kapcsolatos további információkért lásd ezt a cikketlink.
+ options: Opciók
title: Általános információk
initiative_type_scopes:
title: Kezdeményezés típusának hatásköre
@@ -238,18 +291,34 @@ hu:
unpublish: "%{user_name} elvetette a(z) %{resource_name} kezdeményezést"
update: "%{user_name} frissítette a(z) %{resource_name} kezdeményezést"
admin_states:
+ accepted: Elegendő aláírás
created: Létrehozva
discarded: Elvetve
published: Közzétéve
+ rejected: Nincs elegendő aláírás
validating: Technikai érvényesítés
application_helper:
+ filter_area_values:
+ all: Összes
+ filter_scope_values:
+ all: Összes
filter_state_values:
+ accepted: Elegendő aláírás
+ all: Összes
+ answered: Megválaszolt
closed: Lezárt
open: Megnyitás
+ rejected: Nincs elegendő aláírás
+ filter_type_values:
+ all: Összes
committee_requests:
+ approve:
+ success: A kérés jóváhagyva.
new:
continue: Tovább
help_text: Arra készülsz, hogy csatlakozz az úgynevezett kezdeményező bizottsághoz
+ revoke:
+ success: A kérédés visszavonásra került.
spawn:
success: A kérelmet elküldtük a kezdeményezés szerzőjének.
content_blocks:
@@ -259,14 +328,23 @@ hu:
fill_data:
back: Vissza
continue: Tovább
+ fill_data_help: "
Nézd meg a kezdeményezésed tartalmát. Könnyű megérteni? Tiszta a kezdeményezésed célja?
Az aláírás típusát válaszd ki. Személyes, online vagy a kombinációja mindkettőnek
Mi a földrajzi hatóköre a kezdeményezésednek?
"
initiative_type: Kezdeményezés típusa
more_information: "(További információk)"
+ select_area: Válasszon ki egy területet
select_scope: Válassz hatáskört
finish:
back: Vissza
back_to_initiatives: Vissza a kezdeményezésekhez
+ callout_text: Gratulálunk! A kezdeményezés létrehozása sikeres.
+ confirm: A kezdeményezés elküldése egy adminisztrátornak felülvizsgálat és közzététel céljából. A közzététel után már nem lesz lehetőség szerkeszteni. Biztos vagy benne?
+ edit_my_initiative: Kezdeményezésem szerkesztése
go_to_my_initiatives: Ugrás a saját kezdeményezéseimhez
more_information: "(További információk)"
+ send_my_initiative: A kezdeményezésem technikai ellenőrzésre küldése
+ finish_help:
+ access_reminder: A kezdeményezéseidet elérheted a %{link} a kezdeményezések oldalon.
+ publish_helper_text: Emlékeztetünk, hogy a kezdeményezésed publikációjához minden szükséges információt meg kell adjál és technikai ellenőrzésen kell átesnie egy adminisztrátor segítségével.
previous_form:
back: Vissza
continue: Tovább
@@ -274,12 +352,14 @@ hu:
more_information: "(További információk)"
promotal_committee:
back: Vissza
+ individual_help_text: Ezt a típusú kezdeményezést csak olyan Előterjesztő Bizottság nyújthatja be, melynek legalább %{committee_size} tagja van. A következő linket oszd meg a kezdeményezést pártolókkal. Amikor megkapják a linket, az abban jelzett lépéseket kell követniük.
more_information: "(További információk)"
select_initiative_type:
back: Vissza
choose_html: Szeretnék létrehozni egy %{title}
more_information: "(További információk)"
select: Szeretném támogatni ezt a kezdeményezést
+ select_initiative_type_help: A kezdeményezések olyan eszközök, amelyekkel a résztvevők beavatkozhatnak, hogy a szervezet a közérdek védelmében lépéseket tegyen. Milyen kezdeményezést szeretnél elindítani?
share_committee_link:
continue: Tovább
invite_to_committee_help: Link azok meghívásához, akik részt vesznek a kezdeményező bizottságban
@@ -288,7 +368,22 @@ hu:
compare_help: Ha az alábbi kezdeményezések valamelyike hasonló a tiedhez, inkább azt támogasd. Így a te ügyednek is több esélye van a megvalósításra.
continue: Más jellegű kezdeményezés
more_information: "(További információk)"
+ edit:
+ accept: Kezdeményezés elfogadása
+ back: Vissza
+ confirm: Biztos vagy benne?
+ discard: Kezdeményezés elvetése
+ export_pdf_signatures: Aláírások exportálása PDF-be
+ export_votes: Aláírások exportálása
+ reject: Kezdeményezés elutasítása
+ title: Kezdeményezésem szerkesztése
+ update: Frissítés
events:
+ approve_membership_request:
+ email_intro: "%{author_nickname} elfogadta a jelentkezésedet, hogy részt vegyen a %{resource_title} kezdeményezést előterjesztő bizottságban."
+ email_outro: 'Ezt az értesítést azért kaptad, mert jelentkeztél a %{resource_title} kezdeményezéshez'
+ email_subject: "%{author_nickname} elfogadta a jelentkezésedet az előterjesztő bizottságba"
+ notification_title: %{author_nickname} elfogadta a jelentkezésedet a %{resource_title} kezdeményezés előterjesztő bizottságába.
create_initiative_event:
email_intro: "%{author_name} %{author_nickname} (akit követsz) új kezdeményezést hozott létre, nézd meg és tegyél hozzá valamit:"
email_outro: 'Ezt az értesítést azért kaptad, mert őt követed: "%{author_nickname}". Az értesítéseket a következő linkre kattintva kapcsolhatod ki.'
@@ -299,8 +394,20 @@ hu:
email_outro: 'Ezt az értesítést azért kaptad, mert őt követed: "%{author_nickname}". Az értesítéseket a következő linkre kattintva kapcsolhatod ki.'
email_subject: '%{author_nickname} támogatta a kezdeményezést'
notification_title: 'A(z) %{resource_title}kezdeményezést támogatta: %{author_name} %{author_nickname}.'
+ revoke_membership_request:
+ email_intro: "%{author_nickname} visszautasította a jelentkezésedet, hogy részt vegyél a %{resource_title} kezdeményezést előterjesztő bizottságban."
+ email_outro: 'Ezt az értesítést azért kaptad, mert jelentkeztél a %{resource_title} kezdeményezéshez.'
+ email_subject: "%{author_nickname} visszautasította a jelentkezésedet az előterjesztő bizottságba"
+ notification_title: %{author_nickname} visszautasította a jelentkezésedet a %{resource_title} kezdeményezés előterjesztő bizottságába.
+ spawn_committee_request_event:
+ email_intro: "%{applicant_nickname} a %{resource_title} kezdeményezésed előterjesztő bizottságába jelentkezett. Az elfogadást vagy visszautasítását a kezdeményezésed szerkesztésénél teheted meg."
+ email_outro: 'Ezt az értesítést azért kaptad, mert Te vagy a %{resource_title} kezdeményezés elindítója.'
+ email_subject: "%{applicant_nickname} szeretne csatlakozni a kezdeményezésedhez"
+ notification_title: %{applicant_nickname} a %{resource_title} kezdeményezésed előterjesztő bizottságába jelentkezett. Az elfogadáshoz vagy elutasításhoz kattints ide.
form:
+ add_attachments: Dokumentumok
attachment_legend: "(Opcionális) Csatolmány hozzáadása"
+ delete_attachment: Törlés
index:
title: Kezdeményezések
initiative_signatures:
@@ -335,14 +442,23 @@ hu:
hidden_authors_count:
one: és további 1 személy
other: és még %{count} ember
+ committee_members:
+ approve: Jóváhagy
+ confirm_revoke: Biztos vagy benne?
+ invite_to_committee_help: Ossza meg ezt a hivatkozást, hogy meghívjon más résztvevőket a támogatói bizottságba
+ no_members_yet: Nincsenek tagok a támogatói bizottságban
+ revoke: Visszavonás
+ title: Bizottsági tagok
count:
title:
one: "%{count} kezdeményezést"
other: "%{count} kezdeményezést"
filters:
any: Bármely
+ area: Terület
author: Szerző
myself: Kezdeményezéseim
+ scope: Hatókör
search: Keresés
state: Állapot
type: Típus
@@ -353,6 +469,11 @@ hu:
unfold: Kibont
index_header:
new_initiative: Új kezdeményezés
+ not_authorized:
+ authorizations_page: Engedélyezések megtekintése
+ close: Bezárás
+ explanation: Ha új kezdeményezést szeretne létrehozni, el kell végezni az Ön adatainak ellenőrzését.
+ title: Engedélyezés szükséges
initiatives:
closed_initiatives_warning: Jelenleg nincs nyitott találkozó, de itt megtalálhatod az összes zárt találkozó listáját.
no_initiatives_warning: Egyik kezdeményezés sem felel meg a keresési feltételnek.
@@ -367,12 +488,40 @@ hu:
most_voted: Legtöbb aláírás
random: Véletlenszerű
recent: Legutóbbi
+ recently_published: Legfrissebben közzétett
print:
+ address: Cím
+ author_title: A kezdeményezés indítója
city: Település
+ email: Email
+ full_name: Teljes név
+ general_title: Kezdeményezés befogadása iránti kérelem
+ id_number: ID Szám
+ initiative:
+ attachments: Csatolt dokumentáció (kérem minden dokumentum nevét írja meg lentebb)
+ description: 'Leírás:'
+ title: 'Cím:'
+ type: A kezdeményezés típusa
+ legal_text: Az összegyűjtött személyes adatokat a szervezet a hatályos jogszabályoknak megfelelően beépíti és bizalmasan kezeli.
+ members_header: A kezdeményezés előterjesztő bizottságának tagjai
+ phone_number: Telefonszám
+ place_date: Hely, dátum
+ postal_code: Irányítószám
+ print: Nyomtatás
+ province: Megye
+ section: 'Ha a szervezet kéri, kérjük, nyomtassa ki és töltse ki ezt az űrlapot, és küldje be a megadott helyre:'
+ signature: Aláírás
result:
+ answer_title: A kezdeményezés megválaszolásra került
initiative_rejected_reason: A kezdeményezést a támogatás hiánya miatt elutasították.
show:
+ any_vote_method: A kezdeményezés online és személyes úton leadott aláírásokat gyűjt.
+ confirm: A kezdeményezés elküldése egy adminisztrátornak felülvizsgálat és közzététel céljából. A közzététel után már nem lesz lehetőség szerkeszteni. Biztos vagy benne?
+ edit: Szerkeszt
follow_description: Értesítést kapjon, ha ebben a kezdeményezésben vannak hírek
+ offline_method: E kezdeményezés keretében csak személyes aláírásokat gyűjtenek.
+ print: Kezdeményezés nyomtatása
+ send_to_technical_validation: Elküldés technikai ellenőrzésre
signatures_count:
one: " aláírás"
other: " aláírások"
@@ -406,13 +555,30 @@ hu:
highlighted_initiatives:
active_initiatives: Aktív kezdeményezések
see_all_initiatives: Összes kezdeményezés
+ show:
+ badge_name:
+ accepted: Elegendő aláírás
+ created: Létrehozva
+ discarded: Elvetve
+ published: Közzétéve
+ rejected: Nincs elegendő aláírás
+ validating: Technikai érvényesítés
states:
accepted: Elfogadva
expired: Lejárt
unavailable_scope: Nem áll rendelkezésre
+ update:
+ error: Hiba történt
+ success: A kezdeményezés frissítése sikeres
+ versions:
+ shared:
+ back_to_resource: Vissza a kezdeményezéshez
menu:
initiatives: Kezdeményezések
resources:
+ initiative:
+ actions:
+ comment: Megjegyzés
initiatives_type:
actions:
title: Hozzászólások
diff --git a/decidim-initiatives/config/locales/is-IS.yml b/decidim-initiatives/config/locales/is-IS.yml
index 835986f50625d..cd60d2e55238d 100644
--- a/decidim-initiatives/config/locales/is-IS.yml
+++ b/decidim-initiatives/config/locales/is-IS.yml
@@ -204,6 +204,8 @@ is-IS:
check_initiative_details: Þú getur séð frumkvæði upplýsingar
here: hér
more_information: Hér hefur þú meiri upplýsingar um frumkvöðlunarferlið.
+ last_activity:
+ new_initiative: Nýtt frumkvæði
pages:
home:
highlighted_initiatives:
diff --git a/decidim-initiatives/config/locales/ja.yml b/decidim-initiatives/config/locales/ja.yml
index a0c112826e5f3..9b1f51d4e806c 100644
--- a/decidim-initiatives/config/locales/ja.yml
+++ b/decidim-initiatives/config/locales/ja.yml
@@ -2,6 +2,7 @@ ja:
activemodel:
attributes:
initiative:
+ area_id: エリア
decidim_user_group_id: 作成者
description: 説明
offline_votes: In-personal 署名
@@ -18,6 +19,8 @@ ja:
title: タイトル
initiatives_committee_member:
user: 委員会メンバー
+ initiatives_settings:
+ initiatives_order: 順番
initiatives_type:
area_enabled: 作成者がイニシアチブの領域を選択できるようにする
attachments_enabled: 添付ファイルを有効化
@@ -32,6 +35,7 @@ ja:
online_signature_enabled: オンライン署名は有効です
only_global_scope_enabled: グローバルスコープのイニシアチブの作成のみを許可する
promoting_committee_enabled: 推進委員会を有効にする
+ signature_type: 署名の種別
title: タイトル
undo_online_signatures_enabled: 参加者がオンライン署名を取り消すことを有効にする
validate_sms_code_on_votes: 署名プロセスにSMSコード検証ステップを追加
diff --git a/decidim-initiatives/config/locales/lo-LA.yml b/decidim-initiatives/config/locales/lo-LA.yml
new file mode 100644
index 0000000000000..27a02bfece429
--- /dev/null
+++ b/decidim-initiatives/config/locales/lo-LA.yml
@@ -0,0 +1 @@
+lo:
diff --git a/decidim-initiatives/config/locales/lt.yml b/decidim-initiatives/config/locales/lt.yml
index 6c5cb837ac8c1..553611ce1494b 100644
--- a/decidim-initiatives/config/locales/lt.yml
+++ b/decidim-initiatives/config/locales/lt.yml
@@ -1 +1,634 @@
lt:
+ activemodel:
+ attributes:
+ initiative:
+ decidim_user_group_id: Autorė(-ius)
+ description: Aprašymas
+ offline_votes: Fiziniai parašai
+ offline_votes_for_scope: Fiziniai parašai%{scope_name}
+ scope_id: Apimtis
+ signature_end_date: Parašų rinkimų periodo pabaiga
+ signature_start_date: Parašų rinkimo periodo pradžia
+ signature_type: Parašų rinkimo tipas
+ signature_type_values:
+ any: Mišrūs
+ offline: Fiziniai
+ online: Internetiniai
+ state: Būsena
+ title: Pavadinimas
+ initiatives_committee_member:
+ user: Komiteto narys
+ initiatives_type:
+ area_enabled: Leisti autoriams pasirinkti savo iniciatyvos erdvę
+ attachments_enabled: Leisti priedus
+ banner_image: Reklamjuostės paveikslėlis
+ child_scope_threshold_enabled: Leisti parašus posritėse
+ collect_user_extra_fields: Surinkti dalyvio asmens duomenis gavus parašą
+ custom_signature_end_date_enabled: Suteikti autoriams galimybę pasirinkti parašų rinkimo periodo pabaigą
+ description: Aprašymas
+ document_number_authorization_handler: Leidimas tikrinti dokumento numerį gavus parašą
+ extra_fields_legal_information: Teisinė informacija apie asmens duomenų rinkimą
+ minimum_committee_members: Mažiausias komiteto narių skaičius
+ online_signature_enabled: Pasirašymas internetu įjungtas
+ only_global_scope_enabled: Leisti tik globalių apimčių iniciatyvų kūrimą
+ promoting_committee_enabled: Leisti sklaidos komitetus
+ title: Pavadinimas
+ undo_online_signatures_enabled: Suteikti dalyviams galimybę panaikinti savo skaitmeninius parašus
+ validate_sms_code_on_votes: Į pasirašymo procesą įtraukti SMS kodo patvirtinimo etapą
+ initiatives_vote:
+ date_of_birth: Gimimo data
+ document_number: Dokumento numeris
+ name_and_surname: Vardas ir pavardė
+ postal_code: Pašto kodas
+ organization_data:
+ address: Adresas
+ id_document: Asmens tapatybės dokumentas
+ name: Pilnas vardas
+ errors:
+ models:
+ initiative:
+ attributes:
+ attachment:
+ file: Rinkmena netinkama
+ needs_to_be_reattached: Reikia pridėti iš naujo
+ title: Pavadinimo laukas neturėtų būti tuščias
+ activerecord:
+ models:
+ decidim/initiative:
+ one: Iniciatyva
+ few: Iniciatyvos
+ many: Iniciatyvos
+ other: Iniciatyvos
+ decidim/initiative_comittee:
+ one: Komitetas
+ few: Komitetai
+ many: Komitetai
+ other: Komitetai
+ decidim/initiative_vote:
+ one: Parašas
+ few: Prašai
+ many: Prašai
+ other: Prašai
+ decidim:
+ admin:
+ actions:
+ new_initiative_type: Naujas iniciatyvos tipas
+ filters:
+ initiatives:
+ decidim_area_id_eq:
+ label: Aplinka
+ state_eq:
+ label: Būsena
+ values:
+ accepted: Parašų užtenka
+ created: Sukurta
+ discarded: Atmesta
+ published: Publikuota
+ rejected: Parašų neužtenka
+ validating: Techninis patvirtinimas
+ type_id_eq:
+ label: Tipas
+ search_placeholder:
+ title_or_description_or_id_string_or_author_name_or_author_nickname_cont: Ieškoti %{collection} pagal pavadinimą, aprašymą, ID ar autoriaus vardą ir pavardę.
+ menu:
+ attachments: Priedai
+ committee_members: Komiteto nariai
+ components: Komponentai
+ information: Informacija
+ initiatives: Iniciatyvos
+ initiatives_types: Iniciatyvų tipai
+ moderations: Moderavimai
+ models:
+ initiatives:
+ fields:
+ created_at: Sukurta
+ id: ID
+ published_at: Publikuota
+ state: Būsena
+ supports_count: Parašai
+ title: Iniciatyvos
+ initiatives_type_scope:
+ fields:
+ scope: Apimtis
+ supports_required: Reikalingi parašai
+ name: Iniciatyvos tipo sritis
+ initiatives_types:
+ fields:
+ created_at: Sukurta
+ title: Iniciatyvų tipai
+ name: Iniciatyvos tipas
+ initiatives_votes:
+ fields:
+ date_of_birth: Gimimo data
+ document_number: Dokumento numeris
+ hash: '"Hash" kodas'
+ initiative_end_date: Pabaigos data
+ initiative_id: Iniciatyvos ID
+ initiative_signatures_count: Parašų skaičius
+ initiative_start_date: Pradžios data
+ initiative_title: Iniciatyvos pavadinimas
+ name_and_surname: Vardas ir pavardė
+ postal_code: Pašto kodas
+ scope: Apimtis
+ time_and_date: Laikas ir data
+ timestamp: Laiko žymė
+ titles:
+ initiatives: Iniciatyvos
+ initiatives_types: Iniciatyvų tipai
+ events:
+ initiatives:
+ admin:
+ initiative_sent_to_technical_validation:
+ email_intro: Iniciatyva „%{resource_title}“ išsiųsta techniniam patvirtinimui. Peržiūrėkite tai administratoriaus srityje
+ email_outro: Šį pranešimą gavote dėl to, kad esate platformos administratorius.
+ email_subject: Iniciatyva „%{resource_title}“ išsiųsta techniniam patvirtinimui.
+ notification_title: Iniciatyva „%{resource_title}“ išsiųsta techniniam patvirtinimui. Peržiūrėkite tai administratoriaus srityje
+ initiative_extended:
+ email_intro: Pratęsta %{resource_title} iniciatyvos pasirašymo pabaigos data!
+ email_outro: Šį pranešimą gavote dėl to, kad sekate %{resource_title}. Jeigu nebenorite gauti pranešimų, spustelėkite aukščiau esančią nuorodą.
+ email_subject: Iniciatyvos pasirašymo pabaigos data pratęsta!
+ notification_title: Pratęsta iniciatyvos %{resource_title} pasirašymo pabaigos data.
+ initiative_sent_to_technical_validation:
+ email_intro: Iniciatyva „%{resource_title}“ išsiųsta techniniam patvirtinimui. Peržiūrėkite tai administratoriaus srityje
+ email_outro: Šį pranešimą gavote dėl to, kad esate platformos administratorius.
+ email_subject: Iniciatyva „%{resource_title}“ išsiųsta techniniam patvirtinimui.
+ notification_title: Iniciatyva „%{resource_title}“ išsiųsta techniniam patvirtinimui. Peržiūrėkite tai administratoriaus srityje
+ milestone_completed:
+ affected_user:
+ email_intro: Jūsų iniciatyva %{resource_title} surinko %{percentage}% parašų!
+ email_outro: Šį pranešimą gavote dėl to, kad esate %{resource_title} iniciatyvos autorius.
+ email_subject: Užbaigtas naujas etapas!
+ notification_title: Jūsų iniciatyva %{resource_title} surinko %{percentage}% parašų.
+ follower:
+ email_intro: Iniciatyva %{resource_title} surinko %{percentage}% parašų!
+ email_outro: Šį pranešimą gavote dėl to, kad sekate %{resource_title}. Jeigu nebenorite gauti pranešimų, spustelėkite aukščiau esančią nuorodą.
+ email_subject: Užbaigtas naujas etapas!
+ notification_title: Iniciatyva %{resource_title} surinko %{percentage}% parašų.
+ support_threshold_reached:
+ email_intro: Iniciatyva %{resource_title} pasiekė parašų slenkstį
+ email_outro: Šį pranešimą gavote dėl to, kad esate platformos administratorius.
+ email_subject: Prašų slenkstis pasiektas
+ notification_title: Iniciatyvos %{resource_title} parašų slenkstis pasiektas
+ gamification:
+ badges:
+ initiatives:
+ conditions:
+ - Eiti į iniciatyvų dalyvaujamąją erdvę
+ - Sekti žingsnius naujos iniciatyvos sukūrimui
+ description: Šis ženklelis suteikiamas, kai pradedate naujas iniciatyvas ir bendradarbiaujate su kitais, kad jas įgyvendintumėte.
+ description_another: Šis dalyvis paskelbė %{score} iniciatyvas (-ų).
+ description_own: Jūs paskelbėte %{score} iniciatyvas (-ų).
+ name: Paskelbtos iniciatyvos
+ next_level_in: Paskelbkite dar %{score} iniciatyvas (-ų) ir pasiekite kitą lygį!
+ unearned_another: Šis dalyvis dar nepaskelbė nė vienos iniciatyvos.
+ unearned_own: Jūs nepaskelbėte nė vienos iniciatyvos.
+ help:
+ participatory_spaces:
+ initiatives:
+ contextual: "
Iniciatyva – pasiūlymas, kurį kiekvienas gali remti savo iniciatyva (nepriklausomai nuo kitų būdų ar dalyvaujamojo proceso erdvių), jeigu organizacijai surenka (skaitmeninių) parašų, kad būtų galima vykdyti konkrečius veiksmus (keisti reglamentą, inicijuoti projektą, keisti departamento ar gatvės pavadinimą ir kt.).
Iniciatyvos rėmėjai gali apibrėžti savo tikslus, rinkti paramą, diskutuoti, užsiimti jos sklaida ir nustatyti posėdžių vietas, kuriose gali būti renkami dalyvių parašai arba diskusijos atveriamos kitiems dalyviams.
Pavyzdžiai: Iniciatyva gali būti paremta parašais, kad būtų galima surengti visų organizacijos narių konsultacijas arba sukurti ar sušaukti asamblėją, arba pradėti organizacijos teritorijos ar srities biudžeto didinimo procesą. Renkant parašus, šią iniciatyvą gali paremti daugiau žmonių ir ją įgyvendinti organizacijoje.
\n"
+ page: "
Iniciatyva – pasiūlymas, kurį kiekvienas gali remti savo iniciatyva (nepriklausomai nuo kitų būdų ar dalyvaujamojo proceso erdvių), jeigu organizacijai surenka (skaitmeninių) parašų, kad būtų galima vykdyti konkrečius veiksmus (keisti reglamentą, inicijuoti projektą, keisti departamento ar gatvės pavadinimą ir kt.).
Iniciatyvos rėmėjai gali apibrėžti savo tikslus, rinkti paramą, diskutuoti, užsiimti jos sklaida ir nustatyti posėdžių vietas, kuriose gali būti renkami dalyvių parašai arba diskusijos atveriamos kitiems dalyviams.
Pavyzdžiai: Iniciatyva gali būti paremta parašais, kad būtų galima surengti visų organizacijos narių konsultacijas arba sukurti ar sušaukti asamblėją, arba pradėti organizacijos teritorijos ar srities biudžeto didinimo procesą. Renkant parašus, šią iniciatyvą gali paremti daugiau žmonių ir ją įgyvendinti organizacijoje.
\n"
+ title: Kas yra iniciatyvos?
+ initiatives:
+ actions:
+ answer: Atsakymas
+ admin:
+ answers:
+ edit:
+ answer: Atsakymas
+ title: '%{title} atsakymas'
+ info_initiative:
+ created_at: Sukurta
+ description: Aprašymas
+ initiative_votes_count: Balsų skaičius
+ initiatives: Iniciatyvos
+ state: Būsena
+ committee_requests:
+ index:
+ approve: Patvirtinti
+ confirm_revoke: Ar esate tikri?
+ invite_to_committee_help: Bendrinkite šią nuorodą ir į projekto rėmėjų komitetą pakvieskite kitų dalyvių
+ no_members_yet: Rėmėjų komitete nėra narių
+ revoke: Atšaukti
+ title: Komiteto nariai
+ content_blocks:
+ highlighted_initiatives:
+ max_results: Didžiausias rodomų elementų skaičius
+ order:
+ default: Numatytasis (seniausias)
+ label: 'Rikiuoti elementus pagal:'
+ most_recent: Naujausia
+ exports:
+ initiatives: Iniciatyvos
+ initiatives:
+ edit:
+ accept: Priimti iniciatyvą
+ confirm: Ar esate tikri?
+ confirm_send_to_technical_validation: Ar esate tikri?
+ discard: Atmesti iniciatyvą
+ export_pdf_signatures: Eksportuoti parašus PDF formatu
+ export_votes: Eksportuoti parašus
+ reject: Atmesti iniciatyvą
+ send_to_technical_validation: Siųsti techniniam patvirtinimui
+ success: Iniciatyva išsiųsta techniniam patvirtinimui
+ update: Atnaujinti
+ form:
+ attachments: Priedai
+ settings: Nustatymai
+ title: Bendra informacija
+ index:
+ actions_title: Veiksmas
+ preview: Peržiūra
+ print: Spausdinti
+ initiative_attachments:
+ documents: Dokumentai
+ edit: Redaguoti
+ new: Naujas
+ photos: Nuotraukos
+ update:
+ error: Įvyko klaida
+ success: Iniciatyva sėkmingai atnaujinta
+ initiatives_type_scopes:
+ create:
+ error: Įvyko klaida
+ success: Sukurta nauja sritis šiam iniciatyvų tipui
+ destroy:
+ success: Sritis sėkmingai pašalinta
+ edit:
+ back: Atgal
+ confirm_destroy: Ar esate tikri?
+ destroy: Ištrinti
+ title: Redaguoti iniciatyvos tipo sritį
+ update: Atnaujinti
+ new:
+ back: Atgal
+ create: Sukurti
+ title: Sukurti iniciatyvos tipo sritį
+ update:
+ error: Įvyko klaida
+ success: Sritis atnaujinta
+ initiatives_types:
+ create:
+ error: Įvyko klaida
+ success: Naujas iniciatyvos tipas sukurtas
+ destroy:
+ success: Iniciatyvos tipas sėkmingai pašalintas
+ edit:
+ confirm_destroy: Ar esate tikri?
+ destroy: Ištrinti
+ update: Atnaujinti
+ form:
+ authorizations: Autorizacijos nustatymai
+ child_scope_threshold_enabled_help: 'Šis konfigūracijos variantas neleidžia turėti fizinių balsų. Jis leidžia turėti posrites ir dirba su autorizacijų tvarkykle kuri priskiria sritį naudotojui. Įsitikinkite, kad pasirenkate teisingą autorizaciją autorizacijų nustatymuose esančiuose žemiau. Tam, kad tai veiktų, sritys turi būti sukonfigūruotos hierarchiškai: 1. Motininis - N Jaunesnysis. Daugiau informacijos galite rasti iniciatyvų administratorių dokumentacijos puslapyje.'
+ only_global_scope_enabled_help: Pažymėkite šį laukelį, jei įjungėte "Įgalinti parašus pagal poskyrį" ir nustatėte visuotinę apimtį kaip motininę apimtį. Įjungus šį laukelį iniciatyvos tipo pasirinkimas bus praleistas iniciatyvos kūrimo vedlyje. Jei reikia daugiau informacijos apie tai, kaip veikia ši sąranka, žr. šią nuorodą.
+ options: Variantai
+ title: Bendra informacija
+ initiative_type_scopes:
+ title: Iniciatyvos rūšies sritys
+ new:
+ create: Sukurti
+ title: Naujas iniciatyvos tipas
+ update:
+ error: Įvyko klaida
+ success: Iniciatyvos tipas sėkmingai atnaujintas
+ admin_log:
+ initiative:
+ publish: "%{user_name} paskelbė %{resource_name} iniciatyvą"
+ send_to_technical_validation: "%{user_name} išsiuntė iniciatyvą %{resource_name} techniniam patvirtinimui"
+ unpublish: "%{user_name} atmetė iniciatyvą %{resource_name}"
+ update: "%{user_name} atnaujino iniciatyvą %{resource_name}"
+ admin_states:
+ accepted: Parašų užtenka
+ created: Sukurta
+ discarded: Atmesta
+ published: Paskelbta
+ rejected: Parašų neužtenka
+ validating: Techninis patvirtinimas
+ application_helper:
+ filter_area_values:
+ all: Visi
+ filter_scope_values:
+ all: Visi
+ filter_state_values:
+ accepted: Parašų užtenka
+ all: Visi
+ answered: Atsakyta
+ closed: Uždaryta
+ open: Atidaryta
+ rejected: Parašų neužtenka
+ filter_type_values:
+ all: Visi
+ committee_requests:
+ approve:
+ success: Užklausa patenkinta.
+ new:
+ continue: Tęsti
+ help_text: Jūs pateiksite prašymą tapti šios iniciatyvos rėmimo komiteto nariu
+ revoke:
+ success: Užklausa atsiimta.
+ spawn:
+ success: Jūsų prašymas išsiųstas iniciatyvos autoriui.
+ content_blocks:
+ highlighted_initiatives:
+ name: Paryškintos iniciatyvos
+ create_initiative:
+ fill_data:
+ back: Atgal
+ continue: Tęsti
+ fill_data_help: "
Peržiūrėkite savo iniciatyvos turinį. Ar jūsų pavadinimas lengvai suprantamas? Ar jūsų iniciatyvos tikslas aiškus?
Turite pasirinkti parašo rūšį. Asmeniškai, internetu, derinti abu būdus
Kokia iniciatyvos geografinė taikymo sritis?
"
+ initiative_type: Iniciatyvos tipas
+ more_information: "(Daugiau informacijos)"
+ select_area: Pasirinkti erdvę
+ select_scope: Pasirinkti apimtį
+ finish:
+ back: Atgal
+ back_to_initiatives: Grįžti į iniciatyvas
+ callout_text: Sveikiname! Jūsų iniciatyva sukurta.
+ confirm: Jūs siųsite šią iniciatyvą administratoriaus peržiūrai ir publikavimui. Paskelbus iniciatyvą jos koreguoti nebegalėsite. Ar tikrai norite ją siųsti?
+ edit_my_initiative: Redaguoti mano iniciatyvas
+ go_to_my_initiatives: Eiti į mano iniciatyvas
+ more_information: "(Daugiau informacijos)"
+ send_my_initiative: Siųsti mano iniciatyvą techniniam patvirtinimui
+ finish_help:
+ access_reminder: Galite pasiekti savo iniciatyvas per %{link} filtrą iniciatyvų puslapyje.
+ publish_helper_text: Prisiminkite, kad tam, kad iniciatyva būtų publikuota turite užpildyti būtiną informaciją ir išsiųsti ją techniniam patvirtinimui atliekamam administratorių.
+ previous_form:
+ back: Atgal
+ continue: Tęsti
+ help: Kas yra ši iniciatyva? Užrašykite pavadinimą ir aprašykite. Rekomenduojame trumpą ir glaustą pavadinimą ir glaustai aprašyti siūlomą sprendimą.
+ more_information: "(Daugiau informacijos)"
+ promotal_committee:
+ back: Atgal
+ individual_help_text: Kad būtų galima įgyvendinti tokią piliečių iniciatyvą, Rėmimo komisiją turi sudaryti ne mažiau kaip %{committee_size} nariai (vertintojai). Šią nuorodą bendrinkite su kitais šioje iniciatyvoje dalyvaujančiais asmenimis. Gavę šią nuorodą, jūsų kontaktiniai asmenys turės atlikti nurodytus veiksmus.
+ more_information: "(Daugiau informacijos)"
+ select_initiative_type:
+ back: Atgal
+ choose_html: Noriu sukurti %{title}
+ more_information: "(Daugiau informacijos)"
+ select: Noriu paremti šią iniciatyvą
+ select_initiative_type_help: Iniciatyvos yra būdas dalyviams įsitraukti ir kartu su organizacija ginti bendrąjį interesą. Kurią iniciatyvą norite pradėti Jūs?
+ share_committee_link:
+ continue: Tęsti
+ invite_to_committee_help: Nuoroda, skirta dalyviams į rėmėjų komitetą pakviesti
+ show_similar_initiatives:
+ back: Atgal
+ compare_help: Jei kuri nors iš toliau nurodomų iniciatyvų yra panaši į jūsų iniciatyvą, raginame ją pasirašyti. Bus daugiau galimybių įgyvendinti jūsų pasiūlymus.
+ continue: Mano iniciatyva skiriasi
+ more_information: "(Daugiau informacijos)"
+ edit:
+ accept: Priimti iniciatyvą
+ back: Atgal
+ confirm: Ar esate tikri?
+ discard: Atmesti iniciatyvą
+ export_pdf_signatures: Eksportuoti parašus PDF formatu
+ export_votes: Eksportuoti parašus
+ reject: Atmesti iniciatyvą
+ title: Redaguoti iniciatyvą
+ update: Atnaujinti
+ events:
+ approve_membership_request:
+ email_intro: "%{author_nickname} priėmė aplikaciją tapti remėjų komiteto dalimi %{resource_title} iniciatyvai."
+ email_outro: 'Ši pranešimą gavote nes aplikavote į iniciatyvą: %{resource_title}'
+ email_subject: "%{author_nickname} priėmė Jūsų aplikaciją į remėjų komitetą"
+ notification_title: %{author_nickname} priėmė Jūsų aplikaciją tapti remėjų komiteto dalimi šiai iniciatyvai:%{resource_title}.
+ create_initiative_event:
+ email_intro: "%{author_name}%{author_nickname} kurį sekate sukūrė naują iniciatyvą. Ją rasite čia:"
+ email_outro: Šį pranešimą gavote dėl to, kad sekate %{author_nickname}. Jeigu nebenorite gauti pranešimų, spustelėkite aukščiau esančią nuorodą.
+ email_subject: Nauja %{author_nickname} iniciatyva
+ notification_title: Iniciatyvą %{resource_title} sukūrė %{author_name} %{author_nickname}.
+ endorse_initiative_event:
+ email_intro: "%{author_name} %{author_nickname}, kurį sekate, pritarė šiai iniciatyvai. Jei norėtumėte įsitraukti į pokalbį:"
+ email_outro: Šį pranešimą gavote dėl to, kad sekate %{author_nickname}. Jeigu nebenorite gauti pranešimų, spustelėkite aukščiau esančią nuorodą.
+ email_subject: Iniciatyvai pritaria %{author_nickname}
+ notification_title: Iniciatyvai %{resource_title} pritarė %{author_name} %{author_nickname}.
+ revoke_membership_request:
+ email_intro: "%{author_nickname} atmetė Jūsų aplikaciją tapti remėjų komiteto nariu %{resource_title} iniciatyvai."
+ email_outro: 'Ši pranešimą gavote nes aplikavote į iniciatyvą: %{resource_title}.'
+ email_subject: "%{author_nickname} priėmė Jūsų aplikaciją į remėjų komitetą"
+ notification_title: %{author_nickname} atmetė Jūsų aplikaciją tapti remėjų komiteto dalimi šiai iniciatyvai:%{resource_title}.
+ spawn_committee_request_event:
+ email_intro: "%{applicant_nickname} pateikė paraišką prisijungti prie %{resource_title} iniciatyvos remėjų komiteto. Norėdami priimti ar atmesti paraišką, eikite į iniciatyvos redagavimo formą."
+ email_outro: 'Šį pranešimą gavote dėl to, kad esate %{resource_title} iniciatyvos autorius'
+ email_subject: "%{applicant_nickname} nori prisijungti prie Jūsų iniciatyvos"
+ notification_title: %{applicant_nickname} pateikė paraišką prisijungti prie %{resource_title} iniciatyvos remėjų komiteto. Norėdami priimti ar atmesti paraišką, spauskite čia.
+ form:
+ add_attachments: Dokumentai
+ attachment_legend: "(Neprivaloma) Pridėti priedą"
+ delete_attachment: Ištrinti
+ index:
+ title: Iniciatyvos
+ initiative_signatures:
+ fill_personal_data:
+ continue: Tęsti
+ date_select:
+ day: Diena
+ month: Mėnuo
+ year: Metai
+ help: Kad pasirašytumėte iniciatyvą, įrašykite savo asmens duomenis toliau nurodomuose laukeliuose
+ finish:
+ back_to_initiative: Grįžti į iniciatyvą
+ sms_code:
+ continue: Patikrinkite kodą ir tęskite
+ help: Pasitikrinkite telefone gautą SMS žinutę
+ sms_phone_number:
+ continue: Atsisiųsti SMS
+ help: Užpildykite formą su patikrintu telefono numeriu tam, kad gautumėte patvirtinimo kodą
+ initiative_votes:
+ create:
+ error: Pasirašant iniciatyvą kilo problema.
+ invalid: Iniciatyvai pasirašyti pateikti duomenys - neteisingi
+ success_html: Sveikiname! Iniciatyva %{title} pasirašyta
+ personal_data:
+ invalid: Asmens duomenys neatitinka leidimui gauti pateiktų duomenų.
+ sms_code:
+ invalid: Jūsų tikrinimo kodas nesutampa su mūsų kodu. Dar kartą patikrinkite jums atsiųstą SMS žinutę.
+ sms_phone:
+ invalid: Telefono numeris neteisingas arba laukiama leidimo. Patikrinkite savo leidimus.
+ initiatives:
+ author:
+ deleted: Ištrinta
+ author_list:
+ hidden_authors_count:
+ one: ir dar 1 žmogus
+ few: ir dar %{count} žmonės (-ių)
+ many: ir dar %{count} žmonės (-ių)
+ other: ir dar %{count} žmonės (-ių)
+ committee_members:
+ approve: Patvirtinti
+ confirm_revoke: Ar esate tikri?
+ invite_to_committee_help: Pasidalinkite šia nuoroda norėdami pakvieti kitus į remėjų komitetą
+ no_members_yet: Rėmėjų komitete nėra narių
+ revoke: Atšaukti
+ title: Komiteto nariai
+ count:
+ title:
+ one: "%{count} iniciatyva"
+ few: "%{count} iniciatyvos"
+ many: "%{count} iniciatyvos"
+ other: "%{count} iniciatyvos"
+ filters:
+ any: Bet kas
+ area: Aplinka
+ author: Autorė(-ius)
+ myself: Mano iniciatyvos
+ scope: Apimtis
+ search: Ieškoti
+ state: Būsena
+ type: Tipas
+ filters_small_view:
+ close_modal: Uždaryti langą
+ filter: Filtruoti
+ filter_by: Filtruoti pagal
+ unfold: Išskleisti
+ index_header:
+ new_initiative: Nauja iniciatyva
+ not_authorized:
+ authorizations_page: Peržiūrėti leidimus
+ close: Uždaryti
+ explanation: Norėdami sukurti naują iniciatyvą, turite būti patikrintas.
+ title: Reikalinga autorizacija
+ initiatives:
+ closed_initiatives_warning: Šiuo metu atvirų iniciatyvų nėra, tačiau čia galite rasti visų baigtų svarstyti iniciatyvų sąrašą.
+ no_initiatives_warning: Jūsų paieškos kriterijus atitinkančių iniciatyvų nerasta.
+ interactions:
+ comments_count:
+ count:
+ one: Komentaras
+ few: Komentarai
+ many: Komentarai
+ other: Komentarai
+ orders:
+ label: 'Rūšiuoti iniciatyvas pagal:'
+ most_commented: Labiausiai komentuota
+ most_voted: Surinko daugiausia parašų
+ random: Atsitiktinai
+ recent: Naujausia
+ recently_published: Naujausiai publikuota
+ print:
+ address: Adresas
+ author_title: Iniciatyvos autorė(-ius)
+ city: Miestas
+ email: El. paštas
+ full_name: Vardas ir pavardė
+ general_title: Aplikacija dėl iniciatyvos priėmimo
+ id_number: Asmens kodas
+ initiative:
+ attachments: Prisegti dokumentai (prašau įrašykite kiekvieno dokumento pavadinimą apačioje)
+ description: 'Aprašymas:'
+ title: 'Pavadinimas:'
+ type: Iniciatyvos tipas
+ legal_text: Surenkami asmens duomenys bus inkorporuojami ir tvarkomi konfidencialiai - laikantis teisės aktų.
+ members_header: Iniciatyvos remėjų komiteto nariai
+ phone_number: Telefono numeris
+ place_date: Vieta, Data
+ postal_code: Pašto kodas
+ print: Spausdinti
+ province: Provincija/Rajonas
+ section: 'Jei to reikalauja organizacija, prašome atspausdinti ir užpildyti šią formą išsiunčiamą kur nurodyta:'
+ signature: Parašas
+ result:
+ answer_title: Į iniciatyvą buvo atsakyta
+ initiative_rejected_reason: Ši iniciatyva atmesta, nes trūksta parašų.
+ show:
+ any_vote_method: Šiai piliečių iniciatyvai paremti parašai renkami tiek internetu, tiek fiziškai.
+ confirm: Jūs siųsite šią iniciatyvą administratoriaus peržiūrai ir publikavimui. Paskelbus iniciatyvą jos koreguoti nebegalėsite. Ar tikrai norite ją siųsti?
+ edit: Redaguoti
+ follow_description: Gauti pranešimą, kai atsiras su šia iniciatyva susijusių naujienų
+ offline_method: Ši iniciatyva renka tik fizinius parašus.
+ print: Spausdinti Iniciatyvą
+ send_to_technical_validation: Siųsti techniniam patvirtinimui
+ signatures_count:
+ one: " parašas"
+ few: " parašai"
+ many: " parašai"
+ other: " parašai"
+ vote_cabin:
+ already_voted: Jau pasirašyta
+ supports_required: "%{total_supports} – reikalingas parašų skaičius"
+ verification_required: Norėdami pasirašyti iniciatyvą, patvirtinkite savo paskyrą
+ vote: Pasirašyti
+ votes_blocked: Pasirašymas išjungtas
+ votes_count:
+ count:
+ one: Parašas
+ few: Parašai
+ many: Parašai
+ other: Parašai
+ most_popular_initiative: Populiariausia iniciatyva
+ need_more_votes: Reikia daugiau parašų
+ initiatives_mailer:
+ creation_subject: Jūsų iniciatyva „%{title}“ sukurta
+ initiative_link:
+ check_initiative_details: Galite matyti iniciatyvos detales
+ here: čia
+ more_information: Čia rasite daugiau informacijos apie iniciatyvos kūrimo procesą.
+ progress_report_body_for: Iniciatyva %{title} surinko %{percentage}% reikiamų parašų.
+ progress_report_for: 'Iniciatyvos santrauka: %{title}'
+ promotal_committee_help: Atminkite, kad į rėmimo komitetą turite pakviesti bent %{member_count} narius. Persiųskite šią nuorodą ir pakvieskite narių į rėmėjų komitetą
+ status_change_body_for: 'Iniciatyvos %{title} būsena pasikeitė į: %{state}'
+ status_change_for: Iniciatyvos %{title} būsena pasikeitė
+ last_activity:
+ new_initiative: Nauja iniciatyva
+ pages:
+ home:
+ highlighted_initiatives:
+ active_initiatives: Aktyvios iniciatyvos
+ see_all_initiatives: Žiūrėti visas iniciatyvas
+ show:
+ badge_name:
+ accepted: Parašų užtenka
+ created: Sukurta
+ discarded: Atmesta
+ published: Publikuota
+ rejected: Parašų neužtenka
+ validating: Techninis patvirtinimas
+ states:
+ accepted: Priimta
+ expired: Nebegalioja
+ unavailable_scope: Sritis nepasiekiama
+ update:
+ error: Įvyko klaida
+ success: Iniciatyva sėkmingai atnaujinta
+ versions:
+ shared:
+ back_to_resource: Grįžti į iniciatyvą
+ menu:
+ initiatives: Iniciatyvos
+ resources:
+ initiative:
+ actions:
+ comment: Komentaras
+ initiatives_type:
+ actions:
+ title: Veiksmai
+ vote: Pasirašyti
+ layouts:
+ decidim:
+ initiative_creation_header:
+ back: Atgal
+ fill_data: Sukurti
+ finish: Baigti
+ previous_form: Pradėti
+ promotal_committee: Rėmėjų komitetas
+ select_initiative_type: Pasirinkti
+ show_similar_initiatives: Palyginti
+ step: '%{current} žingsnis iš %{total}'
+ title: Sukurti naują iniciatyvą
+ initiative_header:
+ initiative_menu_item: Iniciatyva
+ initiative_signature_creation_header:
+ back: Atgal
+ fill_personal_data: Užpildyti savo duomenis
+ finish: Baigti
+ finished: Iniciatyvos parašas sukurtas
+ see_steps: peržiūrėti žingsnius
+ select_identity: Pasirinkite tapatybę
+ sms_code: SMS kodo tikrinimas
+ sms_phone_number: Mobilaus telefono numeris
+ step: '%{current} žingsnis iš %{total}'
+ title: Pasirašyti %{initiative_title}
+ initiatives:
+ initiative:
+ check: Peržiūrėti
+ check_and_support: Peržiūrėti ir pasirašyti
+ no_initiatives_yet:
+ no_initiatives_yet: Dar nėra iniciatyvų!
diff --git a/decidim-initiatives/config/locales/oc-FR.yml b/decidim-initiatives/config/locales/oc-FR.yml
new file mode 100644
index 0000000000000..325b348894124
--- /dev/null
+++ b/decidim-initiatives/config/locales/oc-FR.yml
@@ -0,0 +1 @@
+oc:
diff --git a/decidim-initiatives/config/locales/pl.yml b/decidim-initiatives/config/locales/pl.yml
index 054b887b82f2f..83b7f2319edd7 100644
--- a/decidim-initiatives/config/locales/pl.yml
+++ b/decidim-initiatives/config/locales/pl.yml
@@ -278,6 +278,7 @@ pl:
update: Aktualizuj
form:
authorizations: Ustawienia autoryzacji
+ child_scope_threshold_enabled_help: 'Ta konfiguracja nie pozwala na głosowania offline, zezwala na pod-zakresy i działa z procedurą autoryzacji, która łączy zakres z użytkownikiem. Upewnij się, że wybrałeś taką autoryzację w sekcji autoryzacji poniżej. Zakresy muszą być konfigurowane w hierarchii: 1 Rodzic - N element podrzędny. Więcej informacji o działaniu tej konfiguracji znajdziesz pod tym linkiem.'
options: Ustawienia
title: Informacje ogólne
initiative_type_scopes:
diff --git a/decidim-initiatives/config/locales/ru.yml b/decidim-initiatives/config/locales/ru.yml
index 599c8b3b21a56..03e2a3c3cd6d6 100644
--- a/decidim-initiatives/config/locales/ru.yml
+++ b/decidim-initiatives/config/locales/ru.yml
@@ -290,6 +290,8 @@ ru:
promotal_committee_help: Помните, что вы должны пригласить не менее %{member_count} человек в рабочую группу по продвижению. Перешлите им следующую ссылку, чтобы пригласить их в рабочую группу по продвижению
status_change_body_for: 'Состояние почина %{title} изменилось на: %{state}'
status_change_for: Состояние почина %{title} изменилось
+ last_activity:
+ new_initiative: Добавить почин
pages:
home:
highlighted_initiatives:
diff --git a/decidim-initiatives/config/locales/sv.yml b/decidim-initiatives/config/locales/sv.yml
index dca4bea0e7900..78da502ce9813 100644
--- a/decidim-initiatives/config/locales/sv.yml
+++ b/decidim-initiatives/config/locales/sv.yml
@@ -29,6 +29,7 @@ sv:
minimum_committee_members: Minsta antal kommittémedlemmar
online_signature_enabled: Digitala signaturer är aktiverade
promoting_committee_enabled: Tillåt kampanjutskott
+ signature_type: Signaturtyp
title: Titel
undo_online_signatures_enabled: Tillåt deltagare att ångra sina online-underskrifter
validate_sms_code_on_votes: Lägg till SMS-validering till signeringsprocessen
diff --git a/decidim-initiatives/config/locales/uk.yml b/decidim-initiatives/config/locales/uk.yml
index bc5e336e25545..ebc3491b4bb37 100644
--- a/decidim-initiatives/config/locales/uk.yml
+++ b/decidim-initiatives/config/locales/uk.yml
@@ -290,6 +290,8 @@ uk:
promotal_committee_help: Пам'ятайте, що ви повинні запросити щонайменше %{member_count} людей до робочого гурту з просування. Перешліть їм наступне посилання, щоб запросити їх до робочого гурту з просування
status_change_body_for: 'Стан почину %{title} змінився на: %{state}'
status_change_for: Стан почину %{title} змінився
+ last_activity:
+ new_initiative: Започаткувати почин
pages:
home:
highlighted_initiatives:
diff --git a/decidim-initiatives/decidim-initiatives.gemspec b/decidim-initiatives/decidim-initiatives.gemspec
index 96dfd89fe95ea..e7b110dffcb53 100644
--- a/decidim-initiatives/decidim-initiatives.gemspec
+++ b/decidim-initiatives/decidim-initiatives.gemspec
@@ -29,4 +29,5 @@ Gem::Specification.new do |s|
s.add_dependency "wkhtmltopdf-binary", "~> 0.12"
s.add_development_dependency "decidim-dev", Decidim::Initiatives.version
+ s.add_development_dependency "decidim-meetings", Decidim::Initiatives.version
end
diff --git a/decidim-initiatives/lib/decidim/initiatives/admin_engine.rb b/decidim-initiatives/lib/decidim/initiatives/admin_engine.rb
index d0a09b2e243b6..901a6cecd8f90 100644
--- a/decidim-initiatives/lib/decidim/initiatives/admin_engine.rb
+++ b/decidim-initiatives/lib/decidim/initiatives/admin_engine.rb
@@ -88,7 +88,8 @@ class AdminEngine < ::Rails::Engine
decidim_admin_initiatives.initiatives_path,
icon_name: "chat",
position: 2.4,
- active: :inclusive,
+ active: is_active_link?(decidim_admin_initiatives.initiatives_path) ||
+ is_active_link?(decidim_admin_initiatives.initiatives_types_path),
if: allowed_to?(:enter, :space_area, space_name: :initiatives)
end
end
diff --git a/decidim-initiatives/lib/decidim/initiatives/version.rb b/decidim-initiatives/lib/decidim/initiatives/version.rb
index 49e9bc382b39f..54ecb8b41256a 100644
--- a/decidim-initiatives/lib/decidim/initiatives/version.rb
+++ b/decidim-initiatives/lib/decidim/initiatives/version.rb
@@ -4,7 +4,7 @@ module Decidim
# This holds the decidim-initiatives version.
module Initiatives
def self.version
- "0.26.2"
+ "0.26.4"
end
end
end
diff --git a/decidim-initiatives/spec/controllers/decidim/initiatives/versions_controller_spec.rb b/decidim-initiatives/spec/controllers/decidim/initiatives/versions_controller_spec.rb
new file mode 100644
index 0000000000000..10e6dc50c620a
--- /dev/null
+++ b/decidim-initiatives/spec/controllers/decidim/initiatives/versions_controller_spec.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+module Decidim
+ module Initiatives
+ describe VersionsController, versioning: true, type: :controller do
+ routes { Decidim::Initiatives::Engine.routes }
+
+ let(:resource) { create(:initiative) }
+
+ it_behaves_like "versions controller"
+ end
+ end
+end
diff --git a/decidim-initiatives/spec/factories.rb b/decidim-initiatives/spec/factories.rb
index 7c1c46573448a..5e0ad5534d76e 100644
--- a/decidim-initiatives/spec/factories.rb
+++ b/decidim-initiatives/spec/factories.rb
@@ -2,4 +2,5 @@
require "decidim/core/test/factories"
require "decidim/comments/test/factories"
+require "decidim/meetings/test/factories"
require "decidim/initiatives/test/factories"
diff --git a/decidim-initiatives/spec/forms/vote_form_spec.rb b/decidim-initiatives/spec/forms/vote_form_spec.rb
index 81b1b1c06dd75..55d366a8cc23e 100644
--- a/decidim-initiatives/spec/forms/vote_form_spec.rb
+++ b/decidim-initiatives/spec/forms/vote_form_spec.rb
@@ -156,6 +156,21 @@ module Initiatives
it { is_expected.to eq(initiative.scope) }
end
+
+ context "when the authorization does not have metadata" do
+ let!(:authorization) do
+ create(
+ :authorization,
+ :granted,
+ name: "dummy_authorization_handler",
+ user: current_user,
+ unique_id: document_number,
+ metadata: nil
+ )
+ end
+
+ it { is_expected.to be_nil }
+ end
end
describe "authorized_scope_candidates" do
diff --git a/decidim-initiatives/spec/mailers/decidim/initiatives/initiatives_mailer_spec.rb b/decidim-initiatives/spec/mailers/decidim/initiatives/initiatives_mailer_spec.rb
index 8d74c8ee60195..cde0b0f0ee7ae 100644
--- a/decidim-initiatives/spec/mailers/decidim/initiatives/initiatives_mailer_spec.rb
+++ b/decidim-initiatives/spec/mailers/decidim/initiatives/initiatives_mailer_spec.rb
@@ -5,23 +5,57 @@
module Decidim
module Initiatives
describe InitiativesMailer, type: :mailer do
- let(:initiative) { create(:initiative) }
+ let(:organization) { create(:organization, host: "1.lvh.me") }
+ let(:initiative) { create(:initiative, organization: organization) }
+ let(:router) { Decidim::Initiatives::Engine.routes.url_helpers }
+ let(:admin_router) { Decidim::Initiatives::AdminEngine.routes.url_helpers }
context "when notifies creation" do
- let(:mail) { InitiativesMailer.notify_creation(initiative) }
+ let(:mail) { described_class.notify_creation(initiative) }
- it "renders the headers" do
- expect(mail.subject).to eq("Your initiative '#{initiative.title["en"]}' has been created")
- expect(mail.to).to eq([initiative.author.email])
+ context "when the promoting committee is enabled" do
+ it "renders the headers" do
+ expect(mail.subject).to eq("Your initiative '#{initiative.title["en"]}' has been created")
+ expect(mail.to).to eq([initiative.author.email])
+ end
+
+ it "renders the body" do
+ expect(mail.body.encoded).to match(initiative.title["en"])
+ end
+
+ it "renders the promoter committee help" do
+ expect(mail.body).to match("Forward the following link to invite people to the promoter committee")
+ end
end
- it "renders the body" do
- expect(mail.body.encoded).to match(initiative.title["en"])
+ context "when the promoting committee is disabled" do
+ let(:organization) { create(:organization) }
+ let(:initiatives_type) { create(:initiatives_type, organization: organization, promoting_committee_enabled: false) }
+ let(:scoped_type) { create(:initiatives_type_scope, type: initiatives_type) }
+ let(:initiative) { create(:initiative, organization: organization, scoped_type: scoped_type) }
+
+ it "renders the headers" do
+ expect(mail.subject).to eq("Your initiative '#{initiative.title["en"]}' has been created")
+ expect(mail.to).to eq([initiative.author.email])
+ end
+
+ it "renders the body" do
+ expect(mail.body.encoded).to match(initiative.title["en"])
+ end
+
+ it "doesn't render the promoter committee help" do
+ expect(mail.body).not_to match("Forward the following link to invite people to the promoter committee")
+ end
+ end
+
+ it "renders the correct link" do
+ expect(mail).to have_link(router.initiative_url(initiative, host: initiative.organization.host))
+ expect(mail).not_to have_link(admin_router.initiative_url(initiative, host: initiative.organization.host))
end
end
context "when notifies state change" do
- let(:mail) { InitiativesMailer.notify_state_change(initiative, initiative.author) }
+ let(:mail) { described_class.notify_state_change(initiative, initiative.author) }
it "renders the headers" do
expect(mail.subject).to eq("The initiative #{initiative.title["en"]} has changed its status")
@@ -34,7 +68,7 @@ module Initiatives
end
context "when notifies progress" do
- let(:mail) { InitiativesMailer.notify_progress(initiative, initiative.author) }
+ let(:mail) { described_class.notify_progress(initiative, initiative.author) }
it "renders the headers" do
expect(mail.subject).to eq("Summary about the initiative: #{initiative.title["en"]}")
diff --git a/decidim-initiatives/spec/system/initiative_spec.rb b/decidim-initiatives/spec/system/initiative_spec.rb
index d4277cd90012f..d099db3cc0840 100644
--- a/decidim-initiatives/spec/system/initiative_spec.rb
+++ b/decidim-initiatives/spec/system/initiative_spec.rb
@@ -100,4 +100,33 @@
it_behaves_like "has attachments"
end
end
+
+ describe "initiative components" do
+ let!(:initiative) { base_initiative }
+ let!(:meetings_component) { create(:component, :published, participatory_space: initiative, manifest_name: :meetings) }
+ let!(:proposals_component) { create(:component, :unpublished, participatory_space: initiative, manifest_name: :proposals) }
+
+ before do
+ create_list(:meeting, 3, :published, component: meetings_component)
+ allow(Decidim).to receive(:component_manifests).and_return([meetings_component.manifest, proposals_component.manifest])
+ end
+
+ context "when requesting the initiative path" do
+ before { visit decidim_initiatives.initiative_path(initiative) }
+
+ it "shows the components" do
+ within ".process-nav" do
+ expect(page).to have_content(translated(meetings_component.name, locale: :en).upcase)
+ expect(page).to have_no_content(translated(proposals_component.name, locale: :en).upcase)
+ end
+ end
+
+ it "allows visiting the components" do
+ within ".process-nav" do
+ click_link translated(meetings_component.name, locale: :en)
+ end
+ expect(page).to have_content("3 MEETINGS")
+ end
+ end
+ end
end
diff --git a/decidim-meetings/app/cells/decidim/meetings/meeting_list_item_cell.rb b/decidim-meetings/app/cells/decidim/meetings/meeting_list_item_cell.rb
index 602506cef7e34..3794cf70d4a2d 100644
--- a/decidim-meetings/app/cells/decidim/meetings/meeting_list_item_cell.rb
+++ b/decidim-meetings/app/cells/decidim/meetings/meeting_list_item_cell.rb
@@ -28,7 +28,7 @@ def resource_path
end
def title
- present(model).title
+ present(model).title(html_escape: true)
end
def resource_date_time
diff --git a/decidim-meetings/app/cells/decidim/meetings/meeting_m_cell.rb b/decidim-meetings/app/cells/decidim/meetings/meeting_m_cell.rb
index 7ef95f2eed1d4..2504847b1afce 100644
--- a/decidim-meetings/app/cells/decidim/meetings/meeting_m_cell.rb
+++ b/decidim-meetings/app/cells/decidim/meetings/meeting_m_cell.rb
@@ -24,7 +24,7 @@ def address
end
def title
- present(model).title
+ present(model).title(html_escape: true)
end
def description
diff --git a/decidim-meetings/app/cells/decidim/meetings/meeting_s_cell.rb b/decidim-meetings/app/cells/decidim/meetings/meeting_s_cell.rb
index aefbdc027a399..409c3793866c7 100644
--- a/decidim-meetings/app/cells/decidim/meetings/meeting_s_cell.rb
+++ b/decidim-meetings/app/cells/decidim/meetings/meeting_s_cell.rb
@@ -5,8 +5,6 @@ module Meetings
# This cell renders the Small (:s) meeting card
# for an given instance of a Meeting
class MeetingSCell < MeetingMCell
- delegate :title, to: :presenter
-
def meeting_path
resource_locator(model).path
end
@@ -23,10 +21,6 @@ def participatory_space_path
resource_locator(model.component.participatory_space).path
end
- def presenter
- @presenter ||= Decidim::Meetings::MeetingPresenter.new(model)
- end
-
private
def cache_hash
diff --git a/decidim-meetings/app/controllers/decidim/meetings/directory/meetings_controller.rb b/decidim-meetings/app/controllers/decidim/meetings/directory/meetings_controller.rb
index abaf64f1ab94d..04aef3c17464e 100644
--- a/decidim-meetings/app/controllers/decidim/meetings/directory/meetings_controller.rb
+++ b/decidim-meetings/app/controllers/decidim/meetings/directory/meetings_controller.rb
@@ -25,7 +25,8 @@ def calendar
private
def meetings
- @meetings ||= paginate(search.results)
+ is_past_meetings = params.dig("filter", "date")&.include?("past")
+ @meetings ||= paginate(search.results.order(start_time: is_past_meetings ? :desc : :asc))
end
def search_klass
diff --git a/decidim-meetings/app/controllers/decidim/meetings/meetings_controller.rb b/decidim-meetings/app/controllers/decidim/meetings/meetings_controller.rb
index 905b7b8fe6f1c..a16e9c985f3d1 100644
--- a/decidim-meetings/app/controllers/decidim/meetings/meetings_controller.rb
+++ b/decidim-meetings/app/controllers/decidim/meetings/meetings_controller.rb
@@ -108,7 +108,8 @@ def meeting
end
def meetings
- @meetings ||= paginate(search.results.order(start_time: :desc))
+ is_past_meetings = params.dig("filter", "date")&.include?("past")
+ @meetings ||= paginate(search.results.order(start_time: is_past_meetings ? :desc : :asc))
end
def registration
@@ -126,7 +127,7 @@ def meeting_form
def default_filter_params
{
search_text: "",
- date: %w(upcoming),
+ date: "upcoming",
activity: "all",
scope_id: default_filter_scope_params,
category_id: default_filter_category_params,
diff --git a/decidim-meetings/app/helpers/decidim/meetings/application_helper.rb b/decidim-meetings/app/helpers/decidim/meetings/application_helper.rb
index c9ffa1f4fd892..a008603313d11 100644
--- a/decidim-meetings/app/helpers/decidim/meetings/application_helper.rb
+++ b/decidim-meetings/app/helpers/decidim/meetings/application_helper.rb
@@ -41,13 +41,11 @@ def filter_type_values
end
def filter_date_values
- TreeNode.new(
- TreePoint.new("", t("decidim.meetings.meetings.filters.date_values.all")),
- [
- TreePoint.new("upcoming", t("decidim.meetings.meetings.filters.date_values.upcoming")),
- TreePoint.new("past", t("decidim.meetings.meetings.filters.date_values.past"))
- ]
- )
+ [
+ ["all", t("decidim.meetings.meetings.filters.date_values.all")],
+ ["upcoming", t("decidim.meetings.meetings.filters.date_values.upcoming")],
+ ["past", t("decidim.meetings.meetings.filters.date_values.past")]
+ ]
end
# Options to filter meetings by activity.
diff --git a/decidim-meetings/app/helpers/decidim/meetings/directory/application_helper.rb b/decidim-meetings/app/helpers/decidim/meetings/directory/application_helper.rb
index f9c52e83320d6..550484b316d4f 100644
--- a/decidim-meetings/app/helpers/decidim/meetings/directory/application_helper.rb
+++ b/decidim-meetings/app/helpers/decidim/meetings/directory/application_helper.rb
@@ -27,13 +27,11 @@ def filter_type_values
end
def filter_date_values
- TreeNode.new(
- TreePoint.new("", t("decidim.meetings.meetings.filters.date_values.all")),
- [
- TreePoint.new("upcoming", t("decidim.meetings.meetings.filters.date_values.upcoming")),
- TreePoint.new("past", t("decidim.meetings.meetings.filters.date_values.past"))
- ]
- )
+ [
+ ["all", t("decidim.meetings.meetings.filters.date_values.all")],
+ ["upcoming", t("decidim.meetings.meetings.filters.date_values.upcoming")],
+ ["past", t("decidim.meetings.meetings.filters.date_values.past")]
+ ]
end
def directory_filter_scopes_values
diff --git a/decidim-meetings/app/models/decidim/meetings/agenda_item.rb b/decidim-meetings/app/models/decidim/meetings/agenda_item.rb
index 0f9207559263a..6044650bf5824 100644
--- a/decidim-meetings/app/models/decidim/meetings/agenda_item.rb
+++ b/decidim-meetings/app/models/decidim/meetings/agenda_item.rb
@@ -11,7 +11,7 @@ class AgendaItem < Meetings::ApplicationRecord
translatable_fields :title, :description
- belongs_to :agenda, -> { order(:position) }, foreign_key: "decidim_agenda_id", class_name: "Decidim::Meetings::Agenda"
+ belongs_to :agenda, foreign_key: "decidim_agenda_id", class_name: "Decidim::Meetings::Agenda"
has_many :agenda_item_children, foreign_key: "parent_id", class_name: "Decidim::Meetings::AgendaItem", inverse_of: :parent, dependent: :destroy
belongs_to :parent, class_name: "Decidim::Meetings::AgendaItem", inverse_of: :agenda_item_children, optional: true
diff --git a/decidim-meetings/app/models/decidim/meetings/meeting.rb b/decidim-meetings/app/models/decidim/meetings/meeting.rb
index 8d447951ff6ba..d79fa1efc3500 100644
--- a/decidim-meetings/app/models/decidim/meetings/meeting.rb
+++ b/decidim-meetings/app/models/decidim/meetings/meeting.rb
@@ -63,9 +63,12 @@ class Meeting < Meetings::ApplicationRecord
scope :visible_meeting_for, lambda { |user|
(all.distinct if user&.admin?) ||
if user.present?
- spaces = Decidim.participatory_space_registry.manifests.map do |manifest|
+ spaces = Decidim.participatory_space_registry.manifests.filter_map do |manifest|
+ table_name = manifest.model_class_name.constantize.try(:table_name)
+ next if table_name.blank?
+
{
- name: manifest.model_class_name.constantize.table_name.singularize,
+ name: table_name.singularize,
class_name: manifest.model_class_name
}
end
diff --git a/decidim-meetings/app/views/decidim/meetings/admin/meetings/index.html.erb b/decidim-meetings/app/views/decidim/meetings/admin/meetings/index.html.erb
index 6a53a02ee9eed..1ebea43e96ac4 100644
--- a/decidim-meetings/app/views/decidim/meetings/admin/meetings/index.html.erb
+++ b/decidim-meetings/app/views/decidim/meetings/admin/meetings/index.html.erb
@@ -48,7 +48,7 @@
<%= meeting.id %>
<% if meeting.start_time %>
diff --git a/decidim-meetings/app/views/decidim/meetings/directory/meetings/_filters.html.erb b/decidim-meetings/app/views/decidim/meetings/directory/meetings/_filters.html.erb
index 7baa6f029a252..0280c870a46d6 100644
--- a/decidim-meetings/app/views/decidim/meetings/directory/meetings/_filters.html.erb
+++ b/decidim-meetings/app/views/decidim/meetings/directory/meetings/_filters.html.erb
@@ -15,7 +15,7 @@
<% unless @forced_past_meetings %>
- <%= form.check_boxes_tree :date, filter_date_values, legend_title: t("decidim.meetings.meetings.filters.date") %>
+ <%= form.collection_radio_buttons :date, filter_date_values, :first, :last, legend_title: t("decidim.meetings.meetings.filters.date") %>
<% end %>
<%= form.check_boxes_tree :type, filter_type_values, legend_title: t("decidim.meetings.meetings.filters.type") %>
diff --git a/decidim-meetings/app/views/decidim/meetings/meetings/_filters.html.erb b/decidim-meetings/app/views/decidim/meetings/meetings/_filters.html.erb
index e44e3962d5fc2..ee7121455ad87 100644
--- a/decidim-meetings/app/views/decidim/meetings/meetings/_filters.html.erb
+++ b/decidim-meetings/app/views/decidim/meetings/meetings/_filters.html.erb
@@ -17,7 +17,7 @@
<%= form.hidden_field "state", value: params.dig("filter", "state") %>
<% unless @forced_past_meetings %>
- <%= form.check_boxes_tree :date, filter_date_values, legend_title: t(".date") %>
+ <%= form.collection_radio_buttons :date, filter_date_values, :first, :last, legend_title: t(".date") %>
<% end %>
<%= form.check_boxes_tree :type, filter_type_values, legend_title: t(".type") %>
diff --git a/decidim-meetings/app/views/decidim/meetings/meetings/index.js.erb b/decidim-meetings/app/views/decidim/meetings/meetings/index.js.erb
index f0a3a09e4a202..a7588f69add44 100644
--- a/decidim-meetings/app/views/decidim/meetings/meetings/index.js.erb
+++ b/decidim-meetings/app/views/decidim/meetings/meetings/index.js.erb
@@ -1,12 +1,18 @@
var $meetings = $('#meetings');
var $meetingsCount = $('#meetings-count');
+// make sure that calendar modal will use the updated filter values
+var $calendarShare = $('#calendarShare');
+$calendarShare.remove();
+
$meetings.html('<%= j(render partial: "meetings").strip.html_safe %>');
$meetingsCount.html('<%= j(render partial: "count").strip.html_safe %>');
var $dropdownMenu = $('.dropdown.menu', $meetings);
$dropdownMenu.foundation();
+$("#calendarShare").foundation(); // initialize export calendar on the page
+
var markerData = JSON.parse('<%= escape_javascript meetings_data_for_map(search.results.select(&:geocoded_and_valid?)).to_json.html_safe %>');
var $map = $("#map");
diff --git a/decidim-meetings/config/locales/cs.yml b/decidim-meetings/config/locales/cs.yml
index 0d505e1a75922..a6802a59f410e 100644
--- a/decidim-meetings/config/locales/cs.yml
+++ b/decidim-meetings/config/locales/cs.yml
@@ -35,7 +35,7 @@ cs:
registration_terms: Podmínky registrace
registration_url: URL registrace
registrations_enabled: Registrace povoleny
- show_embedded_iframe: Zobrazit vloženou iframe pro tuto URL
+ show_embedded_iframe: Zobrazit vložený iframe pro tuto URL
start_time: Čas zahájení
title: Název
transparent: Transparentní
@@ -164,7 +164,7 @@ cs:
meeting_registration_confirmed:
notification_title: Vaše registrace pro schůzku %{resource_title} byla potvrzena. Váš registrační kód je %{registration_code}.
meeting_registrations_over_percentage:
- email_intro: Počet schůzek obsazených schůzem "%{resource_title}" je vyšší než %{percentage}%.
+ email_intro: Přidělených míst pro schůzku "%{resource_title}" je více než %{percentage}%.
email_outro: Toto oznámení jste obdrželi, protože jste administrátor participačního prostoru schůzky.
email_subject: Schůzky obsazené schůzkou "%{resource_title}" jsou nad %{percentage}%
notification_title: Počet obsazených slotů %{resource_title} je vyšší než %{percentage}%.
@@ -190,7 +190,7 @@ cs:
notification_title: Setkání %{resource_title} bude zahájeno za méně než 48 hodin.
forms:
meetings:
- attendees_count_help_text: Nezapomeňte uvést celkový počet účastníků na vaší schůzce, ať už osobně, online nebo hybridně.
+ attendees_count_help_text: Nezapomeňte uvést celkový počet účastníků na vaší schůzce, ať už osobní, online nebo smíšené.
gamification:
badges:
attended_meetings:
@@ -228,7 +228,7 @@ cs:
agenda_item:
add_agenda_item_child: Přidání položky agendy dítěte
agenda_item: Položka agendy
- agenda_item_children: Agenda Item Childs
+ agenda_item_children: Dílčí body programu
down: Dolů
remove: Odstranit
up: Nahoru
diff --git a/decidim-meetings/config/locales/de.yml b/decidim-meetings/config/locales/de.yml
index d536cd437b023..8988b0303014f 100644
--- a/decidim-meetings/config/locales/de.yml
+++ b/decidim-meetings/config/locales/de.yml
@@ -23,6 +23,7 @@ de:
decidim_user_group_id: Benutzergruppe
description: Beschreibung
end_time: Endzeit
+ id: ID
location: Ort
location_hints: Standorthinweise
online_meeting_url: Online Meeting URL
@@ -34,6 +35,7 @@ de:
registration_terms: Registrierungsbedingungen
registration_url: Registrierungs-URL
registrations_enabled: Registrierungen aktiviert
+ show_embedded_iframe: Eingebetteten Iframe für diese URL anzeigen
start_time: Startzeit
title: Titel
transparent: Transparent
@@ -71,6 +73,13 @@ de:
admin:
filters:
meetings:
+ category_id_eq:
+ label: Kategorie
+ closed_at_present:
+ label: Status
+ values:
+ 'false': Offen
+ 'true': Geschlossen
is_upcoming_true:
label: Datum
values:
@@ -87,6 +96,7 @@ de:
type_eq:
label: Art des Treffens
values:
+ hybrid: Hybrid
in_person: Persönlich
online: Online
meeting_copies:
@@ -100,6 +110,7 @@ de:
components:
meetings:
actions:
+ comment: Kommentar
join: Beitreten
name: Meetings
settings:
@@ -110,6 +121,7 @@ de:
creation_enabled_for_participants: Teilnehmer können Besprechungen erstellen
default_registration_terms: Standard-Registrierungsbedingungen
enable_pads_creation: Aktivieren Sie die Pads-Erstellung
+ maps_enabled: Karten aktiviert
registration_code_enabled: Registrierungscode aktiviert
resources_permissions_enabled: Aktionsberechtigungen können für jedes Meeting festgelegt werden
scope_id: Bereich
@@ -134,6 +146,7 @@ de:
email_subject: Die Sitzung "%{resource_title}" wurde geschlossen
notification_title: Die Sitzung %{resource_title} wurde geschlossen.
meeting_created:
+ button_text: Für das Treffen anmelden
email_intro: Die Sitzung "%{resource_title}" wurde zu "%{participatory_space_title}" hinzugefügt, welchem Sie folgen.
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie "%{participatory_space_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link.
email_subject: Neue Sitzung zu %{participatory_space_title} hinzugefügt
@@ -165,6 +178,9 @@ de:
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Sitzung "%{resource_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link.
email_subject: Die Sitzung "%{resource_title}" beginnt in weniger als 48 Stunden.
notification_title: Die Sitzung %{resource_title} beginnt in weniger als 48 Stunden.
+ forms:
+ meetings:
+ attendees_count_help_text: Vergessen Sie nicht, die Gesamtzahl der Teilnehmer an Ihrem Meeting anzugeben, egal ob dies persönlich, online oder hybrid stattgefunden hat.
gamification:
badges:
attended_meetings:
@@ -190,6 +206,7 @@ de:
proposals_count:
one: 'Die Besprechung kann nicht gelöscht werden, da %{count} Vorschlag mit dieser verbunden ist:'
other: 'Die Besprechung kann nicht gelöscht werden, da %{count} Vorschläge mit dieser verbunden sind:'
+ manage_poll: Umfrage verwalten
new: Neue Sitzung
preview: Vorschau
registrations: Anmeldungen
@@ -226,6 +243,7 @@ de:
invalid: Beim Aktualisieren dieser Agenda ist ein Problem aufgetreten
success: Agenda erfolgreich aktualisiert
exports:
+ answers: Antworten
meeting_comments: Kommentare
meetings: Treffen
registrations: Anmeldungen
@@ -260,6 +278,9 @@ de:
edit:
close: Schließen
title: Sitzung beenden
+ meeting_copies:
+ form:
+ select_a_meeting_type: Bitte eine Meeting-Typ auswählen
meetings:
close:
invalid: Beim Schließen dieses Meetings ist ein Problem aufgetreten
@@ -312,6 +333,9 @@ de:
update:
invalid: Beim Aktualisieren dieses Meetings ist ein Problem aufgetreten
success: Sitzung erfolgreich aktualisiert
+ meetings_poll:
+ form:
+ title: Fragebogen für %{questionnaire_for} bearbeiten
models:
meeting:
name: Treffen
@@ -410,6 +434,8 @@ de:
apple: Zu Apple Kalender hinzufügen
close_window: Fenster schließen
full_details_html: Für alle Details gehen Sie zu %{link}
+ google: Zum Google-Kalender hinzufügen
+ outlook: Zum Outlook-Kalender hinzufügen
count:
meetings_count:
one: "%{count} Besprechung"
@@ -442,6 +468,7 @@ de:
type: Art
type_values:
all: Alle
+ hybrid: Hybrid
in_person: Persönlich
online: Online
filters_small_view:
@@ -463,7 +490,10 @@ de:
select_a_registration_type: Bitte wählen Sie eine Registrierungsart aus
show_embedded_iframe_help: Nur wenige Dienste erlauben das Einbetten einer Veranstaltung oder eines Livestreams (Youtube, Twitch und Jitsi)
index:
+ click_here: Alle Treffen anzeigen
new_meeting: Neue Besprechung
+ see_all: Alle Treffen anzeigen
+ see_all_withdrawn: Alle zurückgezogenen Treffen ansehen
meeting_minutes:
related_information: Zugehörige Informationen
meetings:
@@ -487,6 +517,9 @@ de:
join: Tritt dem Treffen bei
leave: Registrierung stornieren
leave_confirmation: Sind Sie sicher dass Sie Ihre Registrierung für diese Sitzung stornieren möchten?
+ link_available_soon: Link in Kürze verfügbar
+ link_closed: Der Link, um an dem Treffen teilzunehmen, wird einige Minuten vor dem Start verfügbar sein
+ live_event: Dieses Meeting findet gerade statt
meeting_minutes: Sitzungsprotokolle
no_slots_available: Keine Steckplätze verfügbar
organizations: Teilnahme an Organisationen
@@ -498,6 +531,9 @@ de:
one: "%{count} Slot bleibt übrig"
other: "Noch %{count} Slots"
view: Anzeigen
+ visit_finished: Vergangene Treffen anzeigen
+ withdraw_btn_hint: Sie können Ihr Treffen zurückziehen, wenn Sie Ihre Meinung ändern. Das Meeting wird nicht gelöscht, es wird in der Liste der zurückgezogenen Meetings angezeigt.
+ withdraw_meeting: Treffen zurückziehen
update:
invalid: Beim Aktualisieren der Besprechung ist ein Fehler aufgetreten.
success: Sie haben die Sitzung erfolgreich aktualisiert.
@@ -518,15 +554,32 @@ de:
fields:
closed: Geschlossen
end_time: Endtermin
+ id: ID
map: Karte
official_meeting: Offizielle Besprechung
start_time: Anfangsdatum
title: Titel
polls:
questions:
+ index:
+ empty_questions: Während dieses Treffens werden einige Fragen gesendet und Sie werden sie beantworten können. Sie werden hier angezeigt.
+ index_admin:
+ admin_dashboard: Administrations-Dashboard
+ edit: Im Adminbereich bearbeiten
+ question: Frage
+ received_answer: Antwort erhalten
+ received_answers: erhaltene Antworten
+ results: Ergebnisse
+ send: Senden
+ sent: Gesendet
published_question:
+ max_choices_alert: Es wurden zu viele Auswahlmöglichkeiten ausgewählt
question: Frage
question_replied: Frage beantwortet
+ public_participants_list:
+ hidden_participants_count:
+ one: und %{count} weitere Person
+ other: und %{count} weitere Personen
read_more: "(Weiterlesen)"
registration_mailer:
confirmation:
@@ -548,14 +601,17 @@ de:
invalid: Beim Verlassen dieses Meetings ist ein Problem aufgetreten.
success: Sie haben das Meeting erfolgreich verlassen.
type_of_meeting:
+ hybrid: Hybrid
in_person: In Person
online: Online
types:
private_meeting: Private Sitzung
transparent: Transparent
+ withdraw: Zurückgezogen
versions:
back_to_resource: Zurück zur Besprechung
withdraw:
+ error: Beim Zurückziehen des Meetings ist ein Fehler aufgetreten
success: Das Meeting wurde erfolgreich zurückgezogen
metrics:
meetings:
diff --git a/decidim-meetings/config/locales/es-MX.yml b/decidim-meetings/config/locales/es-MX.yml
index 4c255f56058ad..1bb79667f19dd 100644
--- a/decidim-meetings/config/locales/es-MX.yml
+++ b/decidim-meetings/config/locales/es-MX.yml
@@ -618,7 +618,7 @@ es-MX:
invalid: Ha habido un problema al salir de esta encuentro.
success: Has salido del encuentro con éxito.
type_of_meeting:
- hybrid: Hibrida
+ hybrid: Híbrido
in_person: Presencial
online: En línea
types:
diff --git a/decidim-meetings/config/locales/es-PY.yml b/decidim-meetings/config/locales/es-PY.yml
index 06533c78bcfd7..81adebf2e3ec2 100644
--- a/decidim-meetings/config/locales/es-PY.yml
+++ b/decidim-meetings/config/locales/es-PY.yml
@@ -618,7 +618,7 @@ es-PY:
invalid: Ha habido un problema al salir de esta encuentro.
success: Has salido del encuentro con éxito.
type_of_meeting:
- hybrid: Hibrida
+ hybrid: Híbrido
in_person: Presencial
online: En línea
types:
diff --git a/decidim-meetings/config/locales/es.yml b/decidim-meetings/config/locales/es.yml
index d1e63ba74f80f..095f416f4dbf3 100644
--- a/decidim-meetings/config/locales/es.yml
+++ b/decidim-meetings/config/locales/es.yml
@@ -618,7 +618,7 @@ es:
invalid: Se ha producido un error al salir de este encuentro.
success: Has salido del encuentro con éxito.
type_of_meeting:
- hybrid: Hibrida
+ hybrid: Híbrido
in_person: Presencial
online: En línea
types:
diff --git a/decidim-meetings/config/locales/gn-PY.yml b/decidim-meetings/config/locales/gn-PY.yml
new file mode 100644
index 0000000000000..bd442b0ad85de
--- /dev/null
+++ b/decidim-meetings/config/locales/gn-PY.yml
@@ -0,0 +1 @@
+gn:
diff --git a/decidim-meetings/config/locales/hu.yml b/decidim-meetings/config/locales/hu.yml
index 1d7c06ac6058c..c440c73a2fe5e 100644
--- a/decidim-meetings/config/locales/hu.yml
+++ b/decidim-meetings/config/locales/hu.yml
@@ -17,20 +17,29 @@ hu:
meeting:
address: Lakcím
available_slots: A találkozóhoz rendelkezésre álló helyek
+ customize_registration_email: Regisztrációs email beállítása
decidim_category_id: Kategória
decidim_scope_id: Hatáskör
+ decidim_user_group_id: Felhasználói csoport
description: Leírás
end_time: Záró időpont
+ id: ID
location: Helye
location_hints: Tippek a helyre
+ online_meeting_url: Online megbeszélés URL-címe
+ organizer_gid: Létrehozás mint
organizer_id: Szervező
private_meeting: Privát találkozó
+ registration_email_custom_content: A regisztrációs email egyedi tartalma
registration_form_enabled: Regisztrációs űrlap engedélyezve
registration_terms: Regisztrációs feltételek
+ registration_url: Regisztrációs URL
registrations_enabled: Regisztráció engedélyezve
+ show_embedded_iframe: Mutassa ennek az url-nek az iframe beágyazását
start_time: Kezdő időpont
title: Cím
transparent: Átlátszó
+ type_of_meeting: Típus
errors:
models:
meeting:
@@ -68,14 +77,31 @@ hu:
admin:
filters:
meetings:
+ category_id_eq:
+ label: Kategória
+ closed_at_present:
+ label: Állapot
+ values:
+ 'false': Nyitva
+ 'true': Lezárva
+ is_upcoming_true:
+ label: Dátum
+ values:
+ 'false': Előzmények
+ 'true': Közelgő
origin_eq:
values:
citizen: Polgár
+ official: Hivatalos
user_group: Felhasználói csoportok
+ scope_id_eq:
+ label: Hatókör
type_eq:
label: Értekezlet típusa
values:
+ hybrid: Hibrid
in_person: Személyesen
+ online: Online
meeting_copies:
create:
error: Hiba történt a találkozó duplikálása során.
@@ -87,18 +113,28 @@ hu:
components:
meetings:
actions:
+ comment: Megjegyzés
join: Csatlakozás
name: Találkozók
settings:
global:
announcement: Közlemény
comments_enabled: Megjegyzések engedélyezve
+ comments_max_length: Kommentek maximális hossza (Hagyjon 0 -t az alapértékhez)
+ creation_enabled_for_participants: A résztvevők létrehozhatnak találkozókat
default_registration_terms: Alapértelmezett regisztrációs feltételek
enable_pads_creation: A közös dokumentum létrehozásának engedélyezése
+ maps_enabled: Térképek engedélyezve
+ registration_code_enabled: Regisztrációs kód engedélyezve
resources_permissions_enabled: Minden találkozóra saját műveleti engedélyt állíthat be
+ scope_id: Hatókör
+ scopes_enabled: A hatókör engedélyezett
+ terms_and_conditions_url_for_meeting_creators: A találkozó szervezői számára a felhasználás feltételek URL-je
step:
announcement: Közlemény
comments_blocked: Megjegyzések letiltva
+ creation_enabled_for_participants: Résztvevők általi találkozók engedélyezve
+ creation_enabled_for_user_groups: Felhasználói csoportok általi találkozó szervezése engedélyezve
events:
meetings:
meeting_closed:
@@ -113,6 +149,7 @@ hu:
email_subject: A(z) "%{resource_title}" ülés lezárult
notification_title: A(z) %{resource_title} ülés lezárult.
meeting_created:
+ button_text: Regisztráció a találkozóra
email_intro: 'A(z) "%{resource_title}" találkozót hozzáadtuk ehhez: "%{participatory_space_title}" (követed).'
email_outro: 'Ezt az értesítést azért kaptad, mert ezt követed: "%{participatory_space_title}". Leiratkozás az előző link segítségével.'
email_subject: 'Új találkozó hozzáadva ehhez: %{participatory_space_title}'
@@ -144,6 +181,9 @@ hu:
email_outro: 'Ezt az értesítést azért kaptad, mert követed ezt a találkozót: "%{resource_title}". Leiratkozás az előző link segítségével.'
email_subject: A(z) "%{resource_title}" találkozó kevesebb, mint 48 óra múlva kezdődik.
notification_title: A(z) %{resource_title} találkozó kevesebb, mint 48 óra múlva kezdődik.
+ forms:
+ meetings:
+ attendees_count_help_text: Ne felejtse el megadni a találkozón részt vevők teljes számát, akár személyesen, akár online, akár vegyesen.
gamification:
badges:
attended_meetings:
@@ -169,6 +209,7 @@ hu:
proposals_count:
one: 'A találkozót nem lehet megsemmisíteni, mert %{count} javaslat van társítva hozzá:'
other: 'A találkozót nem lehet megsemmisíteni, mert %{count} javaslat van társítva hozzá:'
+ manage_poll: Szavazás menedzselése
new: Új találkozó
preview: Előnézet
registrations: Regisztrációk
@@ -205,6 +246,8 @@ hu:
invalid: Probléma történt a napirend frissítése során
success: Napirend frissítése sikeres
exports:
+ answers: Válaszok
+ meeting_comments: Hozzászólások
meetings: Találkozók
registrations: Regisztrációk
invite_join_meeting_mailer:
@@ -238,12 +281,16 @@ hu:
edit:
close: Bezárás
title: Ttalálkozó lezárása
+ meeting_copies:
+ form:
+ select_a_meeting_type: Válassza ki a találkozó típusát
meetings:
close:
invalid: Probléma merült fel a találkozó lezárásakor
success: Találkozó lezárása sikeres
create:
invalid: Probléma történt a találkozó létrehozása során
+ success: A találkozó létrehozása sikeres - a nyilvánossá tételhez manuálisan kell publikálnia.
destroy:
invalid:
proposals_count:
@@ -251,11 +298,19 @@ hu:
other: A találkozót nem lehet megsemmisíteni, mert %{count} javaslat van társítva hozzá
success: Találkozó törlése sikeres
edit:
+ title: Találkozó szerkesztése
update: Frissítés
form:
address_help: 'Cím: Geocoder használata a helymeghatározáshoz'
+ available_slots_help: Hagyd "0" értéken, ha a jelentkezők száma korlátlan
+ disclaimer: 'Jogi nyilatkozat: Egy külső regisztrációs rendszer használatával Ön tudatában van annak, hogy a %{organization} szervezői nem felelősek a felhasználók által a külső szolgáltatásnak megadott adatokért.'
location_help: 'Helyszín: üzenet az adott felhasználóknak a találkozó helyéről'
+ location_hints_help: 'Helyszíni tippek: további információk. Példa: az épület emelete ha személyes találkozóról van szó, vagy a találkozó jelszava, ha korlátozott hozzáféréssel rendelkező online találkozóról van szó.'
+ online_meeting_url_help: 'Link: a résztvevők engedélyezése a találkozóhoz való közvetlen kapcsolódáshoz'
registration_email_help: Ez a szöveg a regisztrációt megerősítő e-mail közepén fog megjelenni. Épp a regisztrációs kód után.
+ registration_url_help: 'Link: lehetővé teszi a résztvevők számára, hogy a regisztrációhoz a külső szolgáltatást használják'
+ select_a_meeting_type: Válassza ki a találkozó típusát
+ select_a_registration_type: Kérjük, válassza ki a regisztráció típusát
select_an_iframe_access_level: Kérjük, válassz iframe hozzáférési szintet
show_embedded_iframe_help: Csak néhány szolgáltatás engedélyezi a beágyazást megbeszélésekbe vagy élő eseményekbe (YouTube, Twitch és Jitsi)
index:
@@ -263,6 +318,9 @@ hu:
new:
create: Létrehozás
title: Találkozó létrehozása
+ publish:
+ invalid: Hiba történt a találkozó közzététele során
+ success: A találkozó publikálásra került
service:
description: Leírás
down: Le
@@ -273,9 +331,18 @@ hu:
services:
add_service: Szolgáltatás hozzáadása
services: Szolgáltatások
+ unpublish:
+ invalid: Hiba történt a találkozó közzétételének visszavonása során
+ success: A találkozó közzétételének visszavonása sikeres
update:
invalid: Probléma történt a találkozó frissítése során
success: Találkozó frissítése sikeres
+ meetings_poll:
+ form:
+ title: A szavazáshoz kapcsolódó kérdőív szerkesztése %{questionnaire_for}
+ update:
+ invalid: Probléma történt a találkozó szavazás frissítése során
+ success: A találkozó szavazása sikeresen frissült
models:
meeting:
name: Találkozó
@@ -287,6 +354,7 @@ hu:
form:
available_slots_help: Hagyd "0" értéken, ha a jelentkezők száma korlátlan.
invites: Meghívók
+ recommendation_message: Adatvédelmi okokból javasoljuk, hogy törölje ezt az űrlapot, ha már nincs rá szüksége. Alapértelmezés szerint ez 3 hónap az ülés végét követően.
registration_form: Regisztrációs űrlap
registrations_count:
one: '%{count} regisztráció volt.'
@@ -314,6 +382,13 @@ hu:
value_types:
organizer_presenter:
not_found: 'A szervező nem található az adatbázisban (ID: %{id})'
+ application_helper:
+ filter_category_values:
+ all: Összes
+ filter_meeting_space_values:
+ all: Összes
+ filter_scope_values:
+ all: Összes
calendar_modal:
calendar_url: Naptár URL
close_window: Ablak bezárása
@@ -321,6 +396,8 @@ hu:
conference_venues: Konferencia helyszínek
content_blocks:
upcoming_meetings:
+ name: Közelgő találkozók
+ upcoming_meetings: Közelgő találkozók
view_all_meetings: Összes megtekintése
directory:
meetings:
@@ -337,7 +414,13 @@ hu:
open_in_live_event_page: Megnyitás az élő esemény oldalán (opcionális szavazásokkal)
open_in_new_tab: Megnyitás új fülön
last_activity:
+ meeting_updated_at_html: "Találkozó frissítve %{link}"
new_meeting_at_html: "Új találkozó %{link}kor"
+ layouts:
+ live_event:
+ administrate: Admin
+ close: bezár
+ questions: Kérdések
mailer:
invite_join_meeting_mailer:
invite:
@@ -347,19 +430,58 @@ hu:
subject: A találkozód regisztrációját megerősítették
meeting:
not_allowed: Nincs jogosultságod a találkozó megtekintésére
+ meeting_closes:
+ edit:
+ back: Vissza
+ close: Találkozó lezárása
+ title: Találkozó lezárása
meetings:
+ calendar_modal:
+ add_to_calendar: Hozzáadás a naptárhoz
+ apple: Küldés Apple Naptárba
+ close_window: Ablak bezárása
+ full_details_html: Az összes részletet itt találja %{link}
+ google: Hozzáadás a Google naptárhoz
+ outlook: Hozzáadás az Outlook naptárhoz
+ create:
+ invalid: Probléma történt a találkozó létrehozása során.
+ success: Sikeresen létrehoztad a találkozót.
+ edit:
+ back: Vissza
+ title: A találkozód szerkesztése
+ update: Frissítés
filters:
+ activity: Tevékenységeim
+ all: Összes
category: Kategória
date: Dátum
+ date_values:
+ all: Összes
+ past: Korábban
+ upcoming: Közelgő
+ my_meetings: Találkozóim
origin_values:
+ all: Összes
citizens: Polgárok
+ official: Hivatalos
+ user_groups: Csoportok
+ scope: Hatókör
search: Keresés
+ type: Típus
+ type_values:
+ all: Összes
+ hybrid: Hibrid
+ in_person: Személyes
+ online: Online
filters_small_view:
close_modal: Modal bezárása
filter: Szűrő
filter_by: 'Szűrés ez alapján:'
unfold: Kibont
form:
+ address_help: 'Cím: Geocoder használata a helymeghatározáshoz'
+ available_slots_help: Hagyd "0" értéken, ha a jelentkezők száma korlátlan
+ create_as: Ülés létrehozása mint
show_embedded_iframe_help: Csak néhány szolgáltatás engedélyezi a beágyazást megbeszélésekbe vagy élő eseményekbe (YouTube, Twitch és Jitsi)
meeting_minutes:
related_information: Kapcsolódó információ
@@ -405,12 +527,23 @@ hu:
map: Térkép
start_time: Kezdő dátum
title: Cím
+ polls:
+ questions:
+ published_question:
+ question_replied: Kérdés megválaszolva
+ reply_question: Válasz a kérdésre
+ public_participants_list:
+ attending_participants: Résztvevők
read_more: "(bővebben)"
registration_mailer:
confirmation:
confirmed_html: Regisztrációd a(z) %{title} találkozóra megerősítve.
details: A találkozó részletei megtalálhatók a mellékletben.
registration_code: 'Regisztrációs kódod: %{code}.'
+ registration_type:
+ on_different_platform: Egy másik platformon
+ on_this_platform: Ezen a platformon
+ registration_disabled: Regisztráció kikakpcsolva
registrations:
create:
invalid: Probléma történt a találkozóhoz való csatlakozáskor.
@@ -421,9 +554,19 @@ hu:
destroy:
invalid: Probléma történt a találkozó elhagyása közben.
success: Sikeresen elhagytad a találkozót.
+ type_of_meeting:
+ hybrid: Hibrid
+ in_person: Személyesen
+ online: Online
types:
private_meeting: Privát találkozó
transparent: Átlátszó
+ withdraw: Visszavonva
+ versions:
+ back_to_resource: Vissza a találkozóhoz
+ withdraw:
+ error: A találkozó visszavonása során hiba történt
+ success: A találkozó visszavonása sikeres
metrics:
meetings:
description: A létrehozott találkozók száma
@@ -443,6 +586,8 @@ hu:
proposals_from_meeting:
meeting_proposal: 'Kapcsolódó javaslatok:'
proposal_meeting: 'Kapcsolódó találkozók:'
+ statistics:
+ meetings_count: Találkozók
devise:
mailer:
join_meeting:
diff --git a/decidim-meetings/config/locales/lo-LA.yml b/decidim-meetings/config/locales/lo-LA.yml
new file mode 100644
index 0000000000000..27a02bfece429
--- /dev/null
+++ b/decidim-meetings/config/locales/lo-LA.yml
@@ -0,0 +1 @@
+lo:
diff --git a/decidim-meetings/config/locales/lt.yml b/decidim-meetings/config/locales/lt.yml
index 6c5cb837ac8c1..7bc6993388d32 100644
--- a/decidim-meetings/config/locales/lt.yml
+++ b/decidim-meetings/config/locales/lt.yml
@@ -1 +1,675 @@
lt:
+ activemodel:
+ attributes:
+ agenda:
+ description: Aprašymas
+ duration: Trukmė
+ title: Pavadinimas
+ close_meeting:
+ attendees_count: Dalyvių skaičius
+ attending_organizations: Dalyvavusių organizacijų sąrašas
+ audio_url: Audio nuoroda
+ closing_report: Minutės
+ closing_visible: Matomas
+ contributions_count: Prisidėjimų skaičius
+ proposal_ids: Susirinkime sukurti pasiūlymai
+ video_url: Vaizdo įrašo nuoroda
+ meeting:
+ address: Adresas
+ available_slots: Šiam susirinkimui turimi laisvi intervalai
+ customize_registration_email: Redaguoti registracijos laišką
+ decidim_category_id: Kategorija
+ decidim_scope_id: Apimtis
+ decidim_user_group_id: Naudotojų grupė
+ description: Aprašymas
+ end_time: Pabaigos laikas
+ id: ID
+ location: Vieta
+ location_hints: Vietos užuomina
+ online_meeting_url: Virtualaus susitikimo URL
+ organizer_gid: Sukurti kaip
+ organizer_id: Organizatorius
+ private_meeting: Uždaras posėdis
+ registration_email_custom_content: Suasmenintas registracijos el. laiško turinys
+ registration_form_enabled: Registracijos forma įjungta
+ registration_terms: Registracijos sąlygos
+ registration_url: Registracijos URL
+ registrations_enabled: Registracijos įjungtos
+ show_embedded_iframe: Rodyti šiame URL įterptąjį „iframe“
+ start_time: Pradžios Laikas
+ title: Pavadinimas
+ transparent: Skaidrus
+ type_of_meeting: Tipas
+ errors:
+ models:
+ meeting:
+ attributes:
+ iframe_embed_type:
+ not_embeddable: Šio URL negalima įterpti į susitikimo ar tiesioginio įvykio puslapį
+ meeting_agenda:
+ attributes:
+ base:
+ too_many_minutes: Elementų trukmė viršija posėdžio trukmę %{count} minutėmis (-čių)
+ too_many_minutes_child: Antrinių elementų trukmė viršija darbotvarkės pirminio elemento „%{parent_title}“ trukmę %{count} minutėmis (-čių)
+ meeting_registration_invite:
+ attributes:
+ email:
+ already_invited: Šio el. laiško paskyros adresatas jau buvo pakviestas
+ models:
+ decidim/meetings/close_meeting_event: Susitikimas baigtas
+ decidim/meetings/create_meeting_event: Susitikimas
+ decidim/meetings/meeting_registrations_enabled_event: Registracijos įjungtos
+ decidim/meetings/meeting_registrations_over_percentage_event: Registracijų riba viršyta
+ decidim/meetings/upcoming_meeting_event: Būsimas susitikimas
+ decidim/meetings/update_meeting_event: Susitikimas atnaujintas
+ activerecord:
+ models:
+ decidim/meetings/meeting:
+ one: Susitikimas
+ few: Susitikimai
+ many: Susitikimų
+ other: Susitikimai
+ decidim/meetings/minutes:
+ one: Minutė
+ few: Minutės
+ many: Minučių
+ other: Minutės
+ decidim/meetings/registration:
+ one: Registracija
+ few: Registracijos
+ many: Registracijos
+ other: Registracijos
+ decidim:
+ admin:
+ filters:
+ meetings:
+ category_id_eq:
+ label: Kategorija
+ closed_at_present:
+ label: Būsena
+ values:
+ 'false': Atidaryta
+ 'true': Uždaryta
+ is_upcoming_true:
+ label: Data
+ values:
+ 'false': Praėję
+ 'true': Artėjantys
+ origin_eq:
+ label: Kilmė
+ values:
+ citizen: Pilietis
+ official: Oficialus
+ user_group: Naudotojų Grupės
+ scope_id_eq:
+ label: Apimtis
+ type_eq:
+ label: Susitikimo tipas
+ values:
+ hybrid: Hibridiniai
+ in_person: Fizinis
+ online: Virtualūs
+ meeting_copies:
+ create:
+ error: Dubliuojant šį susitikimą iškilo problema.
+ success: Susitikimas dubliuotas.
+ new:
+ copy: Kopijuoti
+ select: Pasirinkite, kuriuos duomenis norėtumėte dubliuoti
+ title: Dubliuoti susirinkimą
+ components:
+ meetings:
+ actions:
+ comment: Komentuoti
+ join: Prisijungti
+ name: Susirinkimai
+ settings:
+ global:
+ announcement: Pranešimas
+ comments_enabled: Komentarai aktyvuoti
+ comments_max_length: Maksimalus komentarų ilgis (numatytoji vertė – 0)
+ creation_enabled_for_participants: Dalyviai gali sukurti susitikimus
+ default_registration_terms: Numatytos registracijos sąlygos
+ enable_pads_creation: Leisti bendrų dokumentų kūrimą
+ maps_enabled: Žemėlapiai įjungti
+ registration_code_enabled: Registracijos kodas įjungtas
+ resources_permissions_enabled: Kiekvienam posėdžiui galima nustatyti leistinus veiksmus
+ scope_id: Apimtis
+ scopes_enabled: Sritys įjungtos
+ terms_and_conditions_url_for_meeting_creators: Naudojimo taisyklių ir sąlygų URL susirinkimų kūrėjams
+ step:
+ announcement: Pranešimas
+ comments_blocked: Komentarai užblokuoti
+ creation_enabled_for_participants: Galimybė dalyviams rengti susirinkimus įjungta
+ creation_enabled_for_user_groups: Galimybė dalyvių grupėms rengti susirinkimus įjungta
+ events:
+ meetings:
+ meeting_closed:
+ affected_user:
+ email_intro: 'Jūsų susirinkimas "%{resource_title}" uždarytas. Išvadas galite perskaityti jo puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad organizavote susirinkimą „%{resource_title}“.
+ email_subject: '"%{resource_title}" susirinkimas uždarytas'
+ notification_title: %{resource_title} susirinkimas uždarytas.
+ follower:
+ email_intro: '%{resource_title} susitikimas uždarytas. Išvadas galite perskaityti šiame puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad sekate „%{resource_title}“ susirinkimą. Jūs galite jo nebesekti spustelėdami ankstesnę nuorodą.
+ email_subject: '"%{resource_title}" susirinkimas uždarytas'
+ notification_title: %{resource_title} susirinkimas uždarytas.
+ meeting_created:
+ button_text: Registruotis į susirinkimą
+ email_intro: Erdvėje „%{participatory_space_title}“, kurią sekate, pridėtas susirinkimas „%{resource_title}“.
+ email_outro: Gavote šį pranešimą nes sekate %{participatory_space_title}. Galite nebesekti paspaudę and ankstesnės nuorodos.
+ email_subject: '%{participatory_space_title} pridėtas naujas posėdis'
+ notification_title: Susirinkimas%{resource_title} pridėtas prie %{participatory_space_title}
+ meeting_registration_confirmed:
+ notification_title: Jūsų registracija į susirinkimą %{resource_title} buvo patvirtinta. Jūsų registracijos kodas yra %{registration_code}.
+ meeting_registrations_over_percentage:
+ email_intro: Susitikimui „%{resource_title}“ skirti laiko tarpsniai sudaro daugiau kaip %{percentage}%.
+ email_outro: Šį pranešimą gavote dėl to, kad esate susitikimo dalyvaujamojo proceso erdvės administratorius.
+ email_subject: Susitikimui „%{resource_title}“ skirti laiko tarpsniai sudaro daugiau kaip %{percentage}%
+ notification_title: Susitikimui %{resource_title} skirti laiko tarpsniai sudaro daugiau kaip %{percentage}%.
+ meeting_updated:
+ email_intro: '"%{resource_title}" susitikimas buvo atnaujintas. Naująją versiją galite perskaityti susitikimo puslapyje:'
+ email_outro: Gavote šį pranešimą nes sekate "%{resource_title}" susirinkimą. Galite jo nebesekti paspaudę ant ankstesnės nuorodos.
+ email_subject: '"%{resource_title}" susitikimas buvo atnaujintas'
+ notification_title: %{resource_title} susitikimas buvo atnaujintas.
+ registration_code_validated:
+ email_intro: Jūsų "%{resource_title}" susitikimo registracijos kodas "%{registration_code}" buvo patvirtintas.
+ email_outro: Šį pranešimą gavote dėl to, kad jūsų "%{resource_title}“ susitikimo registracijos kodas buvo patvirtintas.
+ email_subject: Jūsų "%{resource_title}" susitikimo registracijos kodas "%{registration_code}" buvo patvirtintas
+ notification_title: Jūsų registracijos kodas "%{registration_code}" %{resource_title} susirinkimui buvo patvirtintas.
+ registrations_enabled:
+ email_intro: '"%{resource_title}" susirinkimo registracijos įjungtos. Galite užsiregistruoti jo tinklalapyje:'
+ email_outro: Gavote šį pranešimą nes sekate "%{resource_title}" susirinkimą. Galite jo nebesekti paspaudę ant ankstesnės nuorodos.
+ email_subject: '"%{resource_title}" posėdžio registracijos įjungtos.'
+ notification_title: %{resource_title} Susirinkimas leidžia registruotis.
+ upcoming_meeting:
+ email_intro: '%{resource_title} susirinkimas prasidės už mažiau nei 48 val.'
+ email_outro: Gavote šį pranešimą nes sekate "%{resource_title}" susirinkimą. Galite jo nebesekti paspaudę ant ankstesnės nuorodos.
+ email_subject: '"%{resource_title}" susirinkimas prasidės už mažiau nei 48 val.'
+ notification_title: %{resource_title} Susirinkimas prasidės už mažiau nei 48 val.
+ forms:
+ meetings:
+ attendees_count_help_text: Nepamirškite įrašyti dalyvių susirinkime skaičiaus (tiek dalyvaujančių gyvai, tiek nuotoliniu būdu).
+ gamification:
+ badges:
+ attended_meetings:
+ conditions:
+ - Registruokitės į susirinkimus, kuriuose norite dalyvauti
+ description: Šis ženklelis suteikiamas dalyvavus keliuose tiesioginiuose susirinkimuose.
+ description_another: Šis dalyvis dalyvavo %{score} susirinkimuose (-ų).
+ description_own: Jūs dalyvavote %{score} susirinkimuose (-ų).
+ name: Dalyvauta susirinkimuose
+ next_level_in: Dalyvaukite dar %{score} susirinkimuose (-ų) ir pasiekite kitą lygį!
+ unearned_another: Šis dalyvis dar nedalyvavo nė viename susirinkime.
+ unearned_own: Jūs dar nedalyvavote nė viename susirinkime.
+ meetings:
+ actions:
+ agenda: Darbotvarkė
+ attachment_collections: Aplankai
+ attachments: Priedai
+ close: Uždaryti
+ confirm_destroy: Ar tikrai norite panaikinti šį susirinkimą?
+ destroy: Ištrinti
+ edit: Redaguoti
+ invalid_destroy:
+ proposals_count:
+ one: 'Susirinkimo negalima panaikinti, nes su juo susietas %{count} pasiūlymas:'
+ few: 'Susirinkimo negalima panaikinti, nes su juo susietas %{count} pasiūlymai:'
+ many: 'Susirinkimo negalima panaikinti, nes su juo susietas %{count} pasiūlymai:'
+ other: 'Susirinkimo negalima panaikinti, nes su juo susietas %{count} pasiūlymai:'
+ manage_poll: Tvarkyti apklausą
+ new: Naujas susirinkimas
+ preview: Peržiūra
+ registrations: Registracijos
+ title: Veiksmai
+ admin:
+ agenda:
+ agenda_item:
+ add_agenda_item_child: Pridėti darbotvarkės punktą
+ agenda_item: Darbotvarkės klausimas
+ agenda_item_children: Darbotvarkės po-punktčiai
+ down: Žemyn
+ remove: Pašalinti
+ up: Aukštyn
+ agenda_item_child:
+ agenda_item_child: Darbotvarkės po-punktčiai
+ down: Žemyn
+ remove: Pašalinti
+ up: Aukštyn
+ create:
+ invalid: Kuriant šią darbotvarkę iškilo problema
+ success: Darbotvarkė sukurta
+ edit:
+ title: Redaguoti darbotvarkę
+ update: Atnaujinti
+ form:
+ add_agenda_item: Pridėti darbotvarkės klausimą
+ agenda_items: Darbotvarkės klausimai
+ end_date: Pabaigos data
+ start_date: Pradžios data
+ new:
+ create: Sukurti
+ title: Nauja darbotvarkė
+ update:
+ invalid: Atnaujinant šią darbotvarkę iškilo problema
+ success: Darbotvarkė atnaujinta
+ exports:
+ answers: Atsakymai
+ meeting_comments: Komentarai
+ meetings: Susirinkimai
+ registrations: Registracijos
+ invite_join_meeting_mailer:
+ invite:
+ decline: Atmesti kvietimą
+ invited_you_to_join_a_meeting: "%{invited_by} jus pakvietė dalyvauti susirinkime %{application}. Kvietimą galite atmesti arba priimti spustelėję toliau pateikiamą nuorodą."
+ join: Dalyvauti susirinkime „%{meeting_title}“
+ invites:
+ create:
+ error: Kviečiant dalyvį dalyvauti susirinkime iškilo problema.
+ success: Dalyvis pakviestas dalyvauti susirinkime.
+ form:
+ attendee_type: Dalyvio tipas
+ existing_user: Egzistuojantis dalyvis
+ invite: Pakviesti
+ invite_explanation: Dalyvis bus pakviestas dalyvauti ne tik susirinkime, bet ir organizacijoje.
+ non_user: Neegzistuojantis dalyvis
+ select_user: Pasirinkti dalyvį
+ index:
+ filter:
+ accepted: Priimtas
+ all: Visi
+ rejected: Atmestas
+ sent: Išsiųstas
+ filter_by: Filtruoti pagal
+ invite_attendee: Kviesti dalyvį
+ invites: Pakvietimai
+ registrations_disabled: Negalite kviesti dalyvio, nes registracija išjungta.
+ search: Ieškoti
+ meeting_closes:
+ edit:
+ close: Uždaryti
+ title: Baigti susirinkimą
+ meeting_copies:
+ form:
+ select_a_meeting_type: Prašome pasirinkti susirinkimo tipą
+ meetings:
+ close:
+ invalid: Užbaigiant šį susirinkimą iškilo problema
+ success: Susirinkimas uždarytas
+ create:
+ invalid: Kuriant šį susirinkimą iškilo problema
+ success: Susirinkimas sėkmingai sukurtas. Jis dar nepublikuotas, tai turite padaryti rankiniu būdu.
+ destroy:
+ invalid:
+ proposals_count:
+ one: Susirinkimo negalima panaikinti, nes su juo susietas %{count} pasiūlymas
+ few: Susirinkimo negalima panaikinti, nes su juo susietas %{count} pasiūlymai
+ many: Susirinkimo negalima panaikinti, nes su juo susietas %{count} pasiūlymai
+ other: Susirinkimo negalima panaikinti, nes su juo susietas %{count} pasiūlymai
+ success: Susirinkimas sėkmingai pašalintas
+ edit:
+ title: Redaguoti susirinkimą
+ update: Atnaujinti
+ form:
+ address_help: 'Adresas: jį naudoja „Geocoder“, kad rastų vietą'
+ available_slots_help: Jei nėra ribojimų įrašykite 0
+ disclaimer: 'Perspėjimas: Naudodami išorinę registracijos sistemą, %{organization} nėra atsakinga už dalyvių duomenų tvarkymą.'
+ location_help: 'Vieta: naudotojams skirtas pranešimas, kuriame nurodoma susitikimo vieta'
+ location_hints_help: 'Vietos priedėliai: papildoma informacija kaip pvz. buto numeris, iš kurios pusės įeiti ir t. t.'
+ online_meeting_url_help: 'Nuoroda: leisti dalyviams tiesiai prisijungti prie susirinkimo'
+ registration_email_help: Šis tekstas bus rodomas registracijos patvirtinimo el. laiško viduryje. Iš karto po registracijos kodo.
+ registration_url_help: 'Nuoroda: leisti dalyviams eiti į išorinę registracijos sistemą'
+ select_a_meeting_type: Prašome pasirinkti susirinkimo tipą
+ select_a_registration_type: Prašome pasirinkti registracijos tipą
+ select_an_iframe_access_level: Pasirinkite iframe prieigos lygį
+ show_embedded_iframe_help: Tik kelios paslaugos gali būti integruotos susitikimuose (YouTube, Twitch, Jitsi)
+ index:
+ title: Susirinkimai
+ new:
+ create: Sukurti
+ title: Sukurti susirinkimą
+ publish:
+ invalid: Skelbiant šį susirinkimą iškilo problema
+ success: Susirinkimas sėkmingai paskelbtas
+ service:
+ description: Aprašymas
+ down: Žemyn
+ remove: Pašalinti
+ service: Paslauga
+ title: Pavadinimas
+ up: Į viršų
+ services:
+ add_service: Pridėti paslaugą
+ services: Paslaugos
+ unpublish:
+ invalid: Depublikuojant šį susirinkimą iškilo problema
+ success: Susirinkimas sėkmingai depublikuotas
+ update:
+ invalid: Atnaujinat šį susirinkimą iškilo problema
+ success: Posėdis sėkmingai atnaujintas
+ meetings_poll:
+ form:
+ title: Redaguoti klausimyną %{questionnaire_for}
+ update:
+ invalid: Atnaujinat šio susirinkimo klausimyną iškilo problema
+ success: Susirinkimo klausimynas sėkmingai atnaujintas
+ models:
+ meeting:
+ name: Susirinkimas
+ registrations:
+ edit:
+ save: Išsaugoti
+ validate: Patvirtinti
+ validate_registration_code: Patvirtinti registracijos kodą
+ form:
+ available_slots_help: Jei nėra ribojimų įrašykite 0.
+ invites: Pakvietimai
+ recommendation_message: Dėl privatumo priežasčių rekomenduojame ištrinti šią įrašo formą, kai jos nebereikės. Pagal numatytuosius parametrus, ji ištrinama praėjus 3 mėnesiams nuo susirinkimo pabaigos.
+ registration_form: Registracijos forma
+ registrations_count:
+ one: Yra %{count} registracija.
+ few: Yra %{count} registracijų.
+ many: Yra %{count} registracijų.
+ other: Yra %{count} registracijų.
+ reserved_slots_help: Palikite 0, jei vietos nerezervuotos
+ reserved_slots_less_than: Turi būti ne didesnis kaip %{count} arba jam lygus
+ title: Registracijos
+ update:
+ invalid: Išsaugant registracijos nuostatas iškilo problema.
+ success: Susirinkimo registracijų nuostatos išsaugotos.
+ validate_registration_code:
+ invalid: Šis registracijos kodas negalioja.
+ success: Registracijos kodas patvirtintas.
+ admin_log:
+ invite:
+ create: "%{user_name} pakvietė %{attendee_name} į susirinkimą %{resource_name} %{space_name} erdvėje"
+ deleted: "%{user_name} panaikino %{attendee_name} kvietimą į susirinkimą %{resource_name} %{space_name} erdvėje"
+ update: "%{user_name} pakvietė %{attendee_name} į susirinkimą %{resource_name} %{space_name} erdvėje"
+ meeting:
+ close: "%{user_name} baigė susirinkimą %{resource_name} %{space_name} erdvėje"
+ create: "%{user_name} atnaujino %{resource_name} susirinkimą %{space_name} erdvėje"
+ delete: "%{user_name} pašalino susirinkimą %{resource_name} %{space_name} erdvėje"
+ export_registrations: "%{user_name} eksportavo susirinkimo %{resource_name} registracijas %{space_name} erdvėje"
+ update: "%{user_name} atnaujino susirinkimą %{resource_name} %{space_name} erdvėje"
+ value_types:
+ organizer_presenter:
+ not_found: 'Organizatorius duomenų bazėje nerastas (ID: %{id})'
+ application_helper:
+ filter_category_values:
+ all: Visi
+ filter_meeting_space_values:
+ all: Visi
+ filter_scope_values:
+ all: Visi
+ calendar_modal:
+ calendar_url: Kalendoriaus URL
+ close_window: Uždaryti langą
+ export_calendar: Eksportuoti kalendorių
+ conference_venues: Konferencijos vietos
+ content_blocks:
+ upcoming_meetings:
+ name: Artėjantys susirinkimai
+ upcoming_meetings: Artėjantys susirinkimai
+ view_all_meetings: Peržiūrėti visus
+ directory:
+ meetings:
+ index:
+ meetings: Susirinkimai
+ space_type: Dalyvaujamoji erdvė
+ iframe_access_level:
+ all: Visi lankytojai
+ registered: Registruoti dalyviai
+ signed_in: Tik prisijungę dalyviai
+ iframe_embed_type:
+ embed_in_meeting_page: Integruoti į susirinkimo puslapį
+ none: Nėra
+ open_in_live_event_page: Atidaryti renginio puslapyje (pasirinktinai - su apklausomis)
+ open_in_new_tab: Atidaryti naujame skirtuke
+ last_activity:
+ meeting_updated_at_html: "Diskusija atnaujinta %{link}"
+ new_meeting_at_html: "Naujas susirinkimas %{link}"
+ layouts:
+ live_event:
+ administrate: Administruoti
+ close: uždaryti
+ questions: Klausimai
+ mailer:
+ invite_join_meeting_mailer:
+ invite:
+ subject: Kvietimas dalyvauti susirinkime
+ registration_mailer:
+ confirmation:
+ subject: Jūsų registracija į susirinkimą buvo patvirtinta
+ meeting:
+ not_allowed: Jūs negalite peržiūrėti šio susirinkimo
+ meeting_closes:
+ edit:
+ back: Atgal
+ close: Uždaryti susirinkimą
+ title: Uždaryti susirinkimą
+ meetings:
+ calendar_modal:
+ add_to_calendar: Pridėti į kalendorių
+ apple: Įtraukti į Apple kalendorių
+ close_window: Uždaryti langą
+ full_details_html: Pilnas aprašymas - %{link}
+ google: Įtraukti į „Google“ kalendorių
+ outlook: Įtraukti į „Outlook“ kalendorių
+ count:
+ meetings_count:
+ one: "%{count} susirinkimas"
+ few: "%{count} susirinkimai"
+ many: "%{count} susirinkimai"
+ other: "%{count} susirinkimai"
+ create:
+ invalid: Kuriant šį susirinkimą iškilo problema.
+ success: Jūs sukūrėte susirinkimą.
+ edit:
+ back: Atgal
+ title: Redaguoti susirinkimą
+ update: Atnaujinti
+ filters:
+ activity: Mano veikla
+ all: Visi
+ category: Kategorija
+ date: Data
+ date_values:
+ all: Visi
+ past: Praėję
+ upcoming: Artėjantys
+ my_meetings: Susirinkimai
+ origin: Kilmė
+ origin_values:
+ all: Visi
+ citizens: Piliečiai
+ official: Oficialus
+ user_groups: Grupės
+ scope: Apimtis
+ search: Ieškoti
+ type: Tipas
+ type_values:
+ all: Visi
+ hybrid: Hibridiniai
+ in_person: Fiziniai
+ online: Virtualūs
+ filters_small_view:
+ close_modal: Uždaryti modalinį langą
+ filter: Filtras
+ filter_by: Filtruoti pagal
+ unfold: Išskleisti
+ form:
+ address_help: 'Adresas: jį naudoja „Geocoder“, kad rastų vietą'
+ available_slots_help: Jei nėra ribojimų įrašykite 0
+ create_as: Sukurti posėdį kaip
+ disclaimer: 'Perspėjimas: Naudodami išorinę registracijos sistemą jūs suprantate, kad %{organization} organizatoriai nėra atsakingi už naudotojų išorinei paslaugai pateiktus duomenis.'
+ location_help: 'Vieta: naudotojams skirtas pranešimas, kuriame nurodoma susitikimo vieta'
+ location_hints_help: 'Vietos užuominos: papildoma informacija. Pavyzdžiui: pastato aukštas, jei tai yra susitikimas gyvai, arba susitikimo slaptažodis, jei tai virtualus susitikimas su ribota prieiga.'
+ online_meeting_url_help: 'Nuoroda: leiskite dalyviams tiesiai prisijungti prie susitikimo'
+ registration_url_help: 'Nuoroda: leiskite dalyviams prisijungti prie išorinės paslaugos, kurią naudojate registracijai'
+ select_a_category: Pasirinkite kategoriją
+ select_a_meeting_type: Pasirinkite susitikimo tipą
+ select_a_registration_type: Pasirinkite registracijos tipą
+ select_an_iframe_access_level: Pasirinkite iframe prieigos lygį
+ show_embedded_iframe_help: Tik kelios paslaugos gali būti integruotos susitikimuose (YouTube, Twitch, Jitsi)
+ index:
+ click_here: Žiūrėti visus susitikimus
+ new_meeting: Naujas susitikimas
+ see_all: Žiūrėti visus susitikimus
+ see_all_withdrawn: Žiūrėti visus atšauktus susitikimus
+ text_banner: Jūs žiūrite susitikimų, kuriuos atšaukė jų autoriai, sąrašą. %{go_back_link}.
+ meeting_minutes:
+ related_information: Susijusi informacija
+ meetings:
+ no_meetings_warning: Nei vienas susitikimas neatitinka jūsų paieškos kriterijų arba nėra suplanuotų susitikimų.
+ upcoming_meetings_warning: Šiuo metu suplanuotų susitikimų nėra, tačiau čia galite rasti visus buvusius susitikimus.
+ new:
+ back: Atgal
+ create: Sukurti
+ title: Sukurkite savo susitikimą
+ registration_confirm:
+ cancel: Atšaukti
+ confirm: Patvirtinti
+ show:
+ attendees: Dalyvių skaičius
+ back: Grįžti į sąrašą
+ close_meeting: Uždaryti susitikimą
+ contributions: Nuomonių skaičius
+ date: Data
+ edit_close_meeting: Redaguoti susitikimo ataskaitą
+ edit_meeting: Redaguoti susitikimą
+ going: Jūs užsiregistravote šiame susitikime
+ join: Prisijunkite prie susitikimo
+ leave: Atšaukti registraciją
+ leave_confirmation: Ar tikrai norite atšaukti savo registraciją į šį susirinkimą?
+ link_available_soon: Nuoroda bus prieinama neužilgo
+ link_closed: Nuoroda bus prieinama kelias minutes prieš susirinkimą
+ live_event: Susirinkimas vyksta šiuo metu
+ meeting_minutes: Susirinkimo Protokolas
+ micro_camera_permissions_warning: Kai paspausite ant žemiau esančio mygtuko, Jūsų paprašys leidimo naudoti mikrofoną ir kamerą, bei prisijungsite prie susirinkimo
+ no_slots_available: Nebėra vietų
+ organizations: Dalyvaujančios organizacijos
+ registration_code_help_text: Jūsų registracijos kodas
+ registration_state:
+ validated: PATIKRINTA
+ validation_pending: VYKSTA PATIKRINIMAS
+ remaining_slots:
+ one: "Liko %{count} vieta"
+ few: "Liko %{count} vietos"
+ many: "Liko %{count} vietos"
+ other: "Liko %{count} vietos"
+ view: Peržiūrėti
+ visit_finished: Peržiūrėti susirinkimą
+ withdraw_btn_hint: Galite išimti susirinkimą jei apsigalvojoje. Susirinkimas nebus ištrintas - jis atsidurs išimtų susirinkimų sąraše.
+ withdraw_confirmation_html: Ar tikrai norite išimti šį susirinkimą?
Šio veiksmo atšaukti negalima!
+ withdraw_meeting: Išimti susirinkimą
+ update:
+ invalid: Atnaujinant susirinkimą iškilo problema.
+ success: Sėkmingai atnaujinote susirinkimą.
+ meetings_map:
+ view_meeting: Peržiūrėti susirinkimą
+ models:
+ invite:
+ fields:
+ email: El. paštas
+ name: Vardas
+ sent_at: Išsiųsta
+ status: Būsena
+ status:
+ accepted: Priimta (%{at})
+ rejected: Atmesta (%{at})
+ sent: Išsiųstas
+ meeting:
+ fields:
+ closed: Uždaryta
+ end_time: Pabaigos data
+ id: ID
+ map: Žemėlapis
+ official_meeting: Oficialus susirinkimas
+ start_time: Pradžios data
+ title: Pavadinimas
+ polls:
+ questions:
+ closed_question:
+ question_results: Klausimų rezultatai
+ index:
+ empty_questions: Viso šio susitikimo metu bus siunčiami klausimai ir galėsite į juos atsakyti. Jie bus rodomi čia.
+ index_admin:
+ admin_dashboard: Administratoriaus skydelis
+ edit: Redaguoti administratoriaus skydelyje
+ question: Klausimas
+ received_answer: gautas atsakymas
+ received_answers: gauti atsakymai
+ results: Rezultatai
+ send: Siųsti
+ sent: Išsiųsta
+ published_question:
+ max_choices_alert: Per daug pasirinktų variantų
+ question: Klausimas
+ question_replied: Klausimas atsakytas
+ reply_question: Atsakyti į klausimą
+ public_participants_list:
+ attending_participants: Dalyviai
+ hidden_participants_count:
+ one: ir dar %{count} žmogus
+ few: ir dar %{count} žmonės (-ių)
+ many: ir dar %{count} žmonės (-ių)
+ other: ir dar %{count} žmonės (-ių)
+ read_more: "(skaityti toliau)"
+ registration_mailer:
+ confirmation:
+ confirmed_html: Jūsų registracija į susirinkimą %{title} buvo patvirtinta.
+ details: Išsamią susirinkimo informaciją rasite priede.
+ registration_code: Jūsų registracijos kodas yra %{code}.
+ registration_type:
+ on_different_platform: Kitoje platformoje
+ on_this_platform: Šioje platformoje
+ registration_disabled: Registracijos išjungtos
+ registrations:
+ create:
+ invalid: Jungiantis prie šio susirinkimo iškilo problema.
+ success: Jūs prisijungėte prie susirinkimo. Kadangi užsiregistravote šiame posėdyje, jums bus pranešta, jeigu jo informacija bus atnaujinta.
+ decline_invitation:
+ invalid: Atmetant kvietimą iškilo problema.
+ success: Jūs atmetėte kvietimą.
+ destroy:
+ invalid: Paliekant šį susirinkimą iškilo problema.
+ success: Sėkmingai palikote susirinkimą.
+ type_of_meeting:
+ hybrid: Hibridinis
+ in_person: Fizinis
+ online: Virtualus
+ types:
+ private_meeting: Uždaras posėdis
+ transparent: Skaidrus
+ withdraw: Atsiimta
+ versions:
+ back_to_resource: Grįžti į susirinkimą
+ withdraw:
+ error: Išimant susirinkimą įvyko klaida
+ success: Susirinkimas sėkmingai išimtas
+ metrics:
+ meetings:
+ description: Sukurtų susirinkimų skaičius
+ object: susirinkimai
+ title: Susirinkimai
+ participatory_spaces:
+ highlighted_meetings:
+ past_meetings: Įvykę susirinkimai
+ see_all: Žiūrėti visus susirinkimus (%{count})
+ upcoming_meetings: Artėjantys susirinkimai
+ upcoming_meeting_for_card:
+ upcoming_meeting: Būsimas susirinkimas
+ resource_links:
+ meetings_through_proposals:
+ meeting_result: 'Susiję rezultatai:'
+ result_meeting: 'Susiję susirinkimai:'
+ proposals_from_meeting:
+ meeting_proposal: 'Susiję pasiūlymai:'
+ proposal_meeting: 'Susiję susirinkimai:'
+ statistics:
+ meetings_count: Susirinkimai
+ devise:
+ mailer:
+ join_meeting:
+ subject: Kvietimas dalyvauti susirinkime
diff --git a/decidim-meetings/config/locales/nl.yml b/decidim-meetings/config/locales/nl.yml
index 968bdf8db27f7..adc9dfce80b8e 100644
--- a/decidim-meetings/config/locales/nl.yml
+++ b/decidim-meetings/config/locales/nl.yml
@@ -42,6 +42,10 @@ nl:
type_of_meeting: Type
errors:
models:
+ meeting:
+ attributes:
+ iframe_embed_type:
+ not_embeddable: Deze URL kan niet worden ingesloten in vergadering of live evenement pagina
meeting_agenda:
attributes:
base:
@@ -89,13 +93,14 @@ nl:
label: Oorsprong
values:
citizen: Inwoners
- official: Officiële
+ official: Officieel
user_group: Gebruikersgroepen
scope_id_eq:
label: Scope
type_eq:
label: Type vergadering
values:
+ hybrid: Hybride
in_person: Fysiek
online: Online
meeting_copies:
@@ -121,6 +126,7 @@ nl:
default_registration_terms: Standaard registratievoorwaarden
enable_pads_creation: Schakel het maken van pads in
maps_enabled: Kaarten ingeschakeld
+ registration_code_enabled: Inschrijvingsformulier ingeschakeld
resources_permissions_enabled: Actiemachtigingen kunnen voor elke vergadering worden ingesteld
scope_id: Scope
scopes_enabled: Scopes ingeschakeld
@@ -134,37 +140,37 @@ nl:
meetings:
meeting_closed:
affected_user:
- email_intro: 'Uw vergadering "%{resource_title}" is gesloten. U kunt de conclusies lezen op de pagina:'
- email_outro: U heeft deze melding ontvangen omdat u de vergadering "%{resource_title}" heeft georganiseerd.
- email_subject: Het event "%{resource_title}" is afgelopen
- notification_title: Het %{resource_title} event is afgelopen.
+ email_intro: 'Je vergadering "%{resource_title}" is afgesloten. Je kunt de conclusies lezen op de pagina:'
+ email_outro: Je hebt deze melding ontvangen omdat je de vergadering "%{resource_title}" hebt georganiseerd.
+ email_subject: De vergadering "%{resource_title}" is afgesloten
+ notification_title: De vergadering %{resource_title} is afgesloten.
follower:
- email_intro: 'Het event "%{resource_title}" is afgelopen. Je kan het besluit hier lezen:'
- email_outro: Je hebt deze melding ontvangen omdat je de bijeenkomst "%{resource_title}" volgt. Je kan stoppen met deze te volgen via vorige link.
- email_subject: Het event "%{resource_title}" is afgelopen
- notification_title: Het %{resource_title} event is afgelopen.
+ email_intro: 'Je vergadering "%{resource_title}" is afgesloten. Je kunt de conclusies lezen op de pagina:'
+ email_outro: Je hebt deze melding ontvangen omdat je de vergadering "%{resource_title}" volgt. Je kan stoppen met deze te volgen via vorige link.
+ email_subject: De vergadering "%{resource_title}" is afgesloten
+ notification_title: De vergadering %{resource_title} is afgesloten.
meeting_created:
button_text: Schrijf in voor de bijeenkomst
email_intro: Het event "%{resource_title}" is toegevoegd aan "%{participatory_space_title}" dat je volgt.
email_outro: Je ontvangt deze melding omdat je "%{participatory_space_title}" volgt. Je kan dit ontvolgen door te klikken op de voorgaande link.
- email_subject: Nieuw event toegevoegd aan %{participatory_space_title}
+ email_subject: Nieuwe vergadering toegevoegd aan %{participatory_space_title}
notification_title: Het event %{resource_title} is toegevoegd aan %{participatory_space_title}
meeting_registration_confirmed:
- notification_title: Uw registratie voor de vergadering %{resource_title} is bevestigd. Uw registratiecode is %{registration_code}.
+ notification_title: Je registratie voor de vergadering %{resource_title} is bevestigd. Je registratiecode is %{registration_code}.
meeting_registrations_over_percentage:
email_intro: Het aantal ingenomen plaatsen voor de vergadering "%{resource_title}" is groter dan %{percentage}%.
email_outro: Je ontvangt deze melding omdat je beheerder bent voor het event van de burgerinspraak.
- email_subject: De "%{resource_title}" vergadering bezet meer plaatsen dan %{percentage}%
+ email_subject: Het aantal ingenomen plaatsen voor de vergadering "%{resource_title}" is groter dan %{percentage}%
notification_title: Het aantal ingenomen plaatsen voor de vergadering %{resource_title} is groter dan %{percentage}%.
meeting_updated:
email_intro: 'Het event "%{resource_title}" is bijgewerkt. Je kan de nieuwe versie hier lezen:'
email_outro: Je ontvangt deze omdat je het event "%{resource_title}" volgt. Ontvolgen kan door te klikken op de voorgaande ink.
- email_subject: Het event "%{resource_title}" is bijgewerkt
+ email_subject: De vergadering "%{resource_title}" is bijgewerkt
notification_title: Het %{resource_title} event is bijgewerkt.
registration_code_validated:
email_intro: Uw registratiecode "%{registration_code}" voor de "%{resource_title}" vergadering is gevalideerd.
- email_outro: U heeft deze melding ontvangen omdat uw registratiecode voor de "%{resource_title}" vergadering is gevalideerd.
- email_subject: Uw registratiecode "%{registration_code}" voor de "%{resource_title}" vergadering is gevalideerd
+ email_outro: Je ontvangt deze melding omdat je registratiecode voor de "%{resource_title}" vergadering is gevalideerd.
+ email_subject: Je registratiecode "%{registration_code}" voor de "%{resource_title}" vergadering is gevalideerd
notification_title: Uw registratiecode "%{registration_code}" voor de %{resource_title} vergadering is gevalideerd.
registrations_enabled:
email_intro: 'Het event ''%{resource_title}'' heeft registraties ingeschakeld. Je kan jezelf registreren op zijn pagina:'
@@ -176,27 +182,34 @@ nl:
email_outro: Je ontvangt deze melding omdat je het event "%{resource_title}" volgt. Ontvolgen kan door te klikken op de voorgaande link.
email_subject: Het "%{resource_title}" event start in minder dan 48 uur.
notification_title: Het %{resource_title} event begint over minder dan 48 uur.
+ forms:
+ meetings:
+ attendees_count_help_text: Vergeet niet om het totale aantal deelnemers aan je vergadering toe te voegen, of het nu een fysieke, online of hybride bijeenkomst is.
gamification:
badges:
attended_meetings:
conditions:
- - Registreer u voor de vergaderingen die u wilt bijwonen
- description: Deze badge wordt toegekend wanneer u verschillende vergaderingen persoonlijk bijwoont.
+ - Registreer je voor de vergaderingen die je wil bijwonen
+ description: Deze badge wordt toegekend wanneer je verschillende vergaderingen persoonlijk bijwoont.
description_another: Deze gebruiker heeft %{score} vergaderingen bijgewoond.
description_own: U hebt %{score} vergaderingen bijgewoond.
name: Bijgewoonde vergaderingen
next_level_in: Woon nog %{score} vergaderingen bij om het volgende niveau te bereiken!
unearned_another: Deze gebruiker heeft nog geen enkele vergadering bijgewoond.
- unearned_own: U heeft nog geen vergadering bijgewoond.
+ unearned_own: Je hebt nog geen vergadering bijgewoond.
meetings:
actions:
agenda: Agenda
- attachment_collections: folders
+ attachment_collections: Mappen
attachments: Bijlagen
close: Sluit
confirm_destroy: Weet u zeker dat u deze vergadering wilt verwijderen?
destroy: Verwijderen
edit: Bewerk
+ invalid_destroy:
+ proposals_count:
+ one: 'De vergadering kan niet worden verwijderd omdat er %{count} voorstel aan verbonden is:'
+ other: 'De vergadering kan niet worden verwijderd omdat er %{count} voorstellen aan verbonden zijn:'
manage_poll: Beheer poll
new: Nieuwe vergadering
preview: Voorbeeld
@@ -207,18 +220,18 @@ nl:
agenda_item:
add_agenda_item_child: Agenda-item kind toevoegen
agenda_item: Agendapunt
- agenda_item_children: Agenda sub-punten
+ agenda_item_children: Subrubrieken agendapunt
down: naar beneden
remove: Verwijderen
up: omhoog
agenda_item_child:
- agenda_item_child: Agenda sub-punten
- down: naar beneden
+ agenda_item_child: Subrubriek agendapunt
+ down: Naar beneden
remove: Verwijderen
- up: omhoog
+ up: Omhoog
create:
invalid: Er is een probleem opgetreden bij het maken van deze agenda
- success: Agenda succesvol gemaakt
+ success: Agenda succesvol aangemaakt
edit:
title: Agenda bewerken
update: Bijwerken
@@ -228,7 +241,7 @@ nl:
end_date: Einddatum
start_date: Begindatum
new:
- create: creëren
+ create: Aanmaken
title: Nieuwe agenda
update:
invalid: Er is een probleem opgetreden bij het bijwerken van deze agenda
@@ -236,12 +249,12 @@ nl:
exports:
answers: Antwoorden
meeting_comments: Reacties
- meetings: vergaderingen
+ meetings: Vergaderingen
registrations: registraties
invite_join_meeting_mailer:
invite:
decline: Uitnodiging afwijzen
- invited_you_to_join_a_meeting: "%{invited_by} heeft u uitgenodigd om deel te nemen aan een vergadering op %{application}. U kunt weigeren of accepteren via de onderstaande link."
+ invited_you_to_join_a_meeting: "%{invited_by} heeft je uitgenodigd om deel te nemen aan een vergadering op %{application}. Je kunt weigeren of accepteren via de onderstaande links."
join: Word lid van '%{meeting_title}'
invites:
create:
@@ -258,7 +271,7 @@ nl:
filter:
accepted: Aanvaard
all: Alle
- rejected: Verworpen
+ rejected: Afgewezen
sent: Verzonden
filter_by: Filteren op
invite_attendee: Nodig een deelnemer uit
@@ -280,8 +293,13 @@ nl:
invalid: Er is een probleem opgetreden met het maken van deze vergadering
success: Vergadering met succes aangemaakt. Merk op dat deze nog niet gepubliceerd is, je moet deze nog handmatig publiceren.
destroy:
+ invalid:
+ proposals_count:
+ one: De vergadering kan niet worden verwijderd omdat er %{count} voorstel aan verbonden is
+ other: De vergadering kan niet worden verwijderd omdat er %{count} voorstellen aan verbonden zijn
success: Vergadering succesvol verwijderd
edit:
+ title: Vergadering bewerken
update: Bijwerken
form:
address_help: 'Adres: gebruikt door Geocoder om de locatie te vinden'
@@ -294,6 +312,7 @@ nl:
registration_url_help: 'Link: verleen deelnemers toegang tot de externe dienst die je gebruikt voor registraties'
select_a_meeting_type: Selecteer een vergaderingstype
select_a_registration_type: Selecteer een registratietype
+ select_an_iframe_access_level: Selecteer een iframe toegangsniveau
index:
title: Events
new:
@@ -335,7 +354,7 @@ nl:
form:
available_slots_help: Laat het op 0 indien u onbeperkt beschikbare plaatsen hebt.
invites: Uitnodigingen
- recommendation_message: Om privacyredenen raden we je aan dit inscriptformulier te verwijderen als je het niet meer nodig hebt. Standaard is dit 3 maanden na afloop van de vergadering.
+ recommendation_message: Om privacyredenen raden we je aan dit inschrijvingsformulier te verwijderen als je het niet meer nodig hebt. Standaard is dit 3 maanden na afloop van de vergadering.
registration_form: Registratieformulier
registrations_count:
one: Er is %{count} registratie geweest.
@@ -351,9 +370,9 @@ nl:
success: Registratiecode succesvol gevalideerd.
admin_log:
invite:
- create: "%{user_name} heeft %{attendee_name} uitgenodigd om deel te nemen aan %{resource_name} vergadering op de %{space_name} ruimte"
- deleted: "%{user_name} heeft de uitnodiging van %{attendee_name} voor deelname aan %{resource_name} vergadering op de %{space_name} ruimte ingetrokken"
- update: "%{user_name} heeft %{attendee_name} uitgenodigd om deel te nemen aan %{resource_name} bijeenkomst op de %{space_name} ruimte"
+ create: "%{user_name} heeft %{attendee_name} uitgenodigd om deel te nemen aan %{resource_name} vergadering van %{space_name}"
+ deleted: "%{user_name} heeft de uitnodiging van %{attendee_name} voor deelname aan %{resource_name} vergadering van %{space_name} ingetrokken"
+ update: "%{user_name} heeft %{attendee_name} uitgenodigd om deel te nemen aan %{resource_name} bijeenkomst van %{space_name}"
meeting:
close: "%{user_name} sloot het %{resource_name} event in de %{space_name} ruimte"
create: "%{user_name} heeft het %{resource_name} event gemaakt in de %{space_name} ruimte"
@@ -385,6 +404,15 @@ nl:
index:
meetings: vergaderingen
space_type: Participatieve ruimte
+ iframe_access_level:
+ all: Alle bezoekers
+ registered: Geregistreerde deelnemers aan deze vergadering
+ signed_in: Alleen ingelogde deelnemers
+ iframe_embed_type:
+ embed_in_meeting_page: Insluiten in vergaderpagina
+ none: Geen
+ open_in_live_event_page: Open in live event pagina (met optionele polls)
+ open_in_new_tab: Open link in een nieuw tabblad
last_activity:
meeting_updated_at_html: "Vergadering bijgewerkt op %{link}"
new_meeting_at_html: "Nieuwe vergadering op %{link}"
@@ -421,32 +449,33 @@ nl:
other: "%{count} vergaderingen"
create:
invalid: Er is een fout opgetreden bij het maken van deze vergadering.
- success: U heeft de vergadering succesvol aangemaakt.
+ success: Je hebt de vergadering succesvol aangemaakt.
edit:
- back: Achterzijde
+ back: Terug
title: Bewerk je vergadering
- update: Vernieuwen
+ update: Bijwerken
filters:
activity: Mijn activiteit
all: Alle
category: Categorie
date: Datum
date_values:
- all: Allemaal
- past: Verleden
- upcoming: Aankomende
+ all: Alle
+ past: Voorbij
+ upcoming: Toekomstige
my_meetings: Mijn vergaderingen
origin: Oorsprong
origin_values:
- all: Allemaal
+ all: Alles
citizens: Burgers
- official: Officiële
+ official: Officieel
user_groups: Groepen
- scope: Bereik
+ scope: Scope
search: Zoeken
type: Type
type_values:
all: Alle
+ hybrid: Hybride
in_person: Fysiek
online: Online
filters_small_view:
@@ -459,7 +488,7 @@ nl:
available_slots_help: Laat op 0 staan als je onbeperkt aantal tijdsblokken beschikbaar hebt
create_as: Maak vergadering als
disclaimer: 'Disclaimer: Door gebruik te maken van een extern registratiesysteem, ben je op de hoogte dat de organisatoren van %{organization} niet verantwoordelijk zijn voor de gegevens die door gebruikers aan de externe dienst worden verstrekt.'
- location_help: 'Locatie: bericht gericht naar de gebruikers die de plek om elkaar te ontmoeten impliceren'
+ location_help: 'Locatie: bericht over de ontmoetingsplek gericht naar de gebruikers'
location_hints_help: 'Locatie hints: aanvullende informatie. Bijvoorbeeld: de verdieping van het gebouw als het een fysieke vergadering is, of het vergaderwachtwoord als het een online vergadering is met beperkte toegang.'
online_meeting_url_help: 'Link: laat deelnemers direct verbinding maken met je vergadering'
registration_url_help: 'Link: verleen deelnemers toegang tot de externe dienst die je gebruikt voor registraties'
@@ -490,8 +519,9 @@ nl:
back: Terug naar het overzicht
close_meeting: Vergadering sluiten
contributions: Aantal bijdragen
- date: 'Datum:'
- edit_meeting: Bewerk vergadering
+ date: Datum
+ edit_close_meeting: Bewerk vergaderverslag
+ edit_meeting: Vergadering bewerken
going: Je hebt je ingeschreven voor deze vergadering
join: Deelnemen aan bijeenkomst
leave: Inschrijving annuleren
@@ -503,13 +533,13 @@ nl:
micro_camera_permissions_warning: Als je op de knop hieronder klikt, wordt toestemming gevraagd voor het gebruik van je microfoon en/of camera en neem je deel aan de videoconferentie
no_slots_available: Geen plaatsen beschikbaar
organizations: Bijwonen van organisaties
- registration_code_help_text: Uw registratiecode
+ registration_code_help_text: Jouw registratiecode
registration_state:
validated: GOEDGEKEURD
validation_pending: WACHTEN OP GOEDKEURING
remaining_slots:
one: "%{count} resterende plaats"
- other: "%{count} slots over"
+ other: "%{count} resterende plaatsen"
view: Bekijk
visit_finished: Bekijk voorbije vergadering
withdraw_btn_hint: Je kunt je vergadering afgelasten indien nodig. De vergadering wordt niet verwijderd, deze verschijnt in de lijst met afgelaste vergaderingen.
@@ -517,7 +547,7 @@ nl:
withdraw_meeting: Vergadering afgelasten
update:
invalid: Er was een probleem bij het bijwerken van de vergadering.
- success: U heeft de vergadering succesvol bijgewerkt.
+ success: De vergadering is succesvol bijgewerkt.
meetings_map:
view_meeting: Bekijk vergadering
models:
@@ -535,6 +565,7 @@ nl:
fields:
closed: Gesloten
end_time: Einddatum
+ id: ID
map: Kaart
official_meeting: Officiële vergadering
start_time: Startdatum
@@ -547,6 +578,7 @@ nl:
empty_questions: Tijdens deze vergadering worden er enkele vragen verzonden en je kan ze beantwoorden. Ze zullen hier worden weergegeven.
index_admin:
admin_dashboard: Beheer Dashboard
+ edit: Bewerk in admin
question: Vraag
received_answer: antwoord ontvangen
received_answers: ontvangen antwoorden
@@ -584,6 +616,7 @@ nl:
invalid: Er is een probleem opgetreden bij het verlaten van deze vergadering.
success: U heeft de vergadering succesvol verlaten.
type_of_meeting:
+ hybrid: Hybride
in_person: Fysiek
online: Online
types:
@@ -603,7 +636,7 @@ nl:
participatory_spaces:
highlighted_meetings:
past_meetings: Vorige events
- see_all: Alles zien (%{count})
+ see_all: Alle vergaderingen bekijken (%{count})
upcoming_meetings: Aankomende vergaderingen
upcoming_meeting_for_card:
upcoming_meeting: Aankomende vergadering
diff --git a/decidim-meetings/config/locales/oc-FR.yml b/decidim-meetings/config/locales/oc-FR.yml
new file mode 100644
index 0000000000000..325b348894124
--- /dev/null
+++ b/decidim-meetings/config/locales/oc-FR.yml
@@ -0,0 +1 @@
+oc:
diff --git a/decidim-meetings/config/locales/pl.yml b/decidim-meetings/config/locales/pl.yml
index 513da4b143fac..9e848c7bd243c 100644
--- a/decidim-meetings/config/locales/pl.yml
+++ b/decidim-meetings/config/locales/pl.yml
@@ -296,6 +296,7 @@ pl:
registration_url_help: 'Link: zezwól użytkownikom na korzystanie z usługi zewnętrznej, której używasz do rejestracji'
select_a_meeting_type: Wybierz typ spotkania
select_a_registration_type: Wybierz typ rejestracji
+ show_embedded_iframe_help: Tylko kilka usług pozwala na osadzanie w spotkaniu lub wydarzeniu na żywo (YouTube, Twitch i Jitsi)
index:
title: Spotkania
new:
@@ -404,7 +405,7 @@ pl:
count:
meetings_count:
one: "%{count} spotkanie"
- few: "%{count} spotkań"
+ few: "%{count} spotkania"
many: "%{count} spotkań"
other: "%{count} spotkań"
create:
@@ -454,6 +455,7 @@ pl:
select_a_category: Wybierz kategorię
select_a_meeting_type: Wybierz typ spotkania
select_a_registration_type: Wybierz typ rejestracji
+ show_embedded_iframe_help: Tylko kilka usług pozwala na osadzanie w spotkaniu lub wydarzeniu na żywo (YouTube, Twitch i Jitsi)
index:
new_meeting: Nowe spotkanie
meeting_minutes:
@@ -544,6 +546,7 @@ pl:
invalid: Wystąpił błąd podczas próby opuszczenia tego spotkania.
success: Opuściłeś spotkanie.
type_of_meeting:
+ hybrid: Hybrydowe
in_person: Osobiście
online: Online
types:
diff --git a/decidim-meetings/config/locales/ro-RO.yml b/decidim-meetings/config/locales/ro-RO.yml
index c86a1b9515a23..3c247c428089d 100644
--- a/decidim-meetings/config/locales/ro-RO.yml
+++ b/decidim-meetings/config/locales/ro-RO.yml
@@ -42,6 +42,10 @@ ro:
type_of_meeting: Tip
errors:
models:
+ meeting:
+ attributes:
+ iframe_embed_type:
+ not_embeddable: Această adresă URL nu poate fi încorporată în ședință sau în pagina de evenimente live
meeting_agenda:
attributes:
base:
@@ -99,6 +103,7 @@ ro:
type_eq:
label: Tip de întâlnire
values:
+ hybrid: Hibrid
in_person: În persoană
online: Online
meeting_copies:
@@ -180,6 +185,9 @@ ro:
email_outro: Ai primit această notificare deoarece te-ai înregistrate pentru întâlnirea „%{resource_title}”. O puteți anula de la link-ul anterior.
email_subject: Întâlnirea „%{resource_title}” va începe în mai puțin de 48 de ore.
notification_title: Ședința %{resource_title} va începe în mai puțin de 48 de ore.
+ forms:
+ meetings:
+ attendees_count_help_text: Nu uitați să includeți numărul total de participanți la întâlnire, fie că este vorba de persoane fizice, online sau hibride.
gamification:
badges:
attended_meetings:
@@ -309,6 +317,7 @@ ro:
registration_url_help: 'Link: permite participanților să acceseze serviciul extern pe care îl utilizezi pentru înregistrare'
select_a_meeting_type: Te rugăm să selectezi un tip de ședință
select_a_registration_type: Te rugăm să selectezi un tip de înregistrare
+ select_an_iframe_access_level: Vă rugăm să selectați un nivel de acces iframe
index:
title: Întâlniri
new:
@@ -406,6 +415,7 @@ ro:
registered: Participanții înregistrați la acest eveniment
iframe_embed_type:
embed_in_meeting_page: Incorporează în pagina de şedinţe
+ none: Niciunul
open_in_live_event_page: Deschide în pagina de evenimente live (cu sondaje opționale)
open_in_new_tab: Deschideți în filă nouă
last_activity:
@@ -471,6 +481,7 @@ ro:
type: Tip
type_values:
all: Toate
+ hybrid: Hibrid
in_person: În persoană
online: Online
filters_small_view:
@@ -572,6 +583,7 @@ ro:
empty_questions: Pe parcursul acestei întâlniri, vor fi trimise câteva întrebări și vei putea răspunde la acestea. Acestea vor fi afișate aici.
index_admin:
admin_dashboard: Panou de administrare
+ edit: Editează în panoul de administrare
question: Întrebare
received_answer: răspuns primit
received_answers: răspunsuri primite
@@ -610,6 +622,7 @@ ro:
invalid: A existat o problemă la părăsirea acestei reuniuni.
success: Ai părăsit şedinţa cu succes.
type_of_meeting:
+ hybrid: Hibrid
in_person: În persoană
online: Online
types:
diff --git a/decidim-meetings/config/locales/sv.yml b/decidim-meetings/config/locales/sv.yml
index bca49f16121cc..a0e467a5fa82f 100644
--- a/decidim-meetings/config/locales/sv.yml
+++ b/decidim-meetings/config/locales/sv.yml
@@ -100,6 +100,7 @@ sv:
type_eq:
label: Mötestyp
values:
+ hybrid: Hybrid
in_person: Fysiska
online: Online
meeting_copies:
@@ -472,6 +473,7 @@ sv:
type: Typ
type_values:
all: Allt
+ hybrid: Hybrid
in_person: Fysiska
online: Online
filters_small_view:
@@ -562,6 +564,7 @@ sv:
fields:
closed: Stängd
end_time: Slutdatum
+ id: ID
map: Karta
official_meeting: Officiellt möte
start_time: Startdatum
@@ -611,6 +614,7 @@ sv:
invalid: Det gick inte att lämna mötet.
success: Du har lämnat mötet.
type_of_meeting:
+ hybrid: Hybrid
in_person: Fysiska
online: Online
types:
diff --git a/decidim-meetings/lib/decidim/meetings/component.rb b/decidim-meetings/lib/decidim/meetings/component.rb
index 76f018497a7eb..89974ef98be24 100644
--- a/decidim-meetings/lib/decidim/meetings/component.rb
+++ b/decidim-meetings/lib/decidim/meetings/component.rb
@@ -127,7 +127,7 @@
end
2.times do
- start_time = [rand(1..20).weeks.from_now, rand(1..20).weeks.ago].sample
+ start_time = Faker::Date.between(from: 20.weeks.ago, to: 20.weeks.from_now)
end_time = start_time + [rand(1..4).hours, rand(1..20).days].sample
params = {
component: component,
@@ -282,7 +282,7 @@
author = user_group.users.sample
end
- start_time = [rand(1..20).weeks.from_now, rand(1..20).weeks.ago].sample
+ start_time = Faker::Date.between(from: 20.weeks.ago, to: 20.weeks.from_now)
params = {
component: component,
scope: Faker::Boolean.boolean(true_ratio: 0.5) ? global : scopes.sample,
diff --git a/decidim-meetings/lib/decidim/meetings/version.rb b/decidim-meetings/lib/decidim/meetings/version.rb
index e26f03b63003e..857fad944e0df 100644
--- a/decidim-meetings/lib/decidim/meetings/version.rb
+++ b/decidim-meetings/lib/decidim/meetings/version.rb
@@ -4,7 +4,7 @@ module Decidim
# This holds the decidim-meetings version.
module Meetings
def self.version
- "0.26.2"
+ "0.26.4"
end
end
end
diff --git a/decidim-meetings/spec/cells/decidim/meetings/meeting_highlighted_list_item_cell_spec.rb b/decidim-meetings/spec/cells/decidim/meetings/meeting_highlighted_list_item_cell_spec.rb
new file mode 100644
index 0000000000000..03628480cfe62
--- /dev/null
+++ b/decidim-meetings/spec/cells/decidim/meetings/meeting_highlighted_list_item_cell_spec.rb
@@ -0,0 +1,33 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+module Decidim::Meetings
+ describe MeetingHighlightedListItemCell, type: :cell do
+ controller Decidim::Meetings::MeetingsController
+
+ subject { my_cell.call }
+
+ let!(:meeting) { create(:meeting, :published) }
+ let(:my_cell) { cell("decidim/meetings/meeting_highlighted_list_item", meeting) }
+
+ context "when rendering" do
+ it "renders the card" do
+ expect(subject).to have_css(".card")
+ end
+ end
+
+ context "when title contains special html entities" do
+ let!(:original_title) { meeting.title["en"] }
+
+ before do
+ meeting.update!(title: { en: "#{original_title} &'<" })
+ meeting.reload
+ end
+
+ it "escapes them correctly" do
+ expect(subject.to_s).to include("<strong>#{original_title}</strong> &'<")
+ end
+ end
+ end
+end
diff --git a/decidim-meetings/spec/cells/decidim/meetings/meeting_list_item_cell_spec.rb b/decidim-meetings/spec/cells/decidim/meetings/meeting_list_item_cell_spec.rb
index c19c5d974817a..79ec0adbb1f88 100644
--- a/decidim-meetings/spec/cells/decidim/meetings/meeting_list_item_cell_spec.rb
+++ b/decidim-meetings/spec/cells/decidim/meetings/meeting_list_item_cell_spec.rb
@@ -4,12 +4,27 @@
module Decidim::Meetings
describe MeetingListItemCell, type: :cell do
+ subject { my_cell.call }
+
let!(:meeting) { create(:meeting, :published) }
+ let(:my_cell) { cell("decidim/meetings/meeting_list_item", meeting) }
context "when rendering" do
it "renders the card" do
- html = cell("decidim/meetings/meeting_list_item", meeting).call
- expect(html).to have_css(".card--list__item")
+ expect(subject).to have_css(".card--list__item")
+ end
+ end
+
+ context "when title contains special html entities" do
+ let!(:original_title) { meeting.title["en"] }
+
+ before do
+ meeting.update!(title: { en: "#{original_title} &'<" })
+ meeting.reload
+ end
+
+ it "escapes them correctly" do
+ expect(subject.to_s).to include("<strong>#{original_title}</strong> &'<")
end
end
end
diff --git a/decidim-meetings/spec/cells/decidim/meetings/meeting_m_cell_spec.rb b/decidim-meetings/spec/cells/decidim/meetings/meeting_m_cell_spec.rb
index 5789269cba436..998d02ec2b1dd 100644
--- a/decidim-meetings/spec/cells/decidim/meetings/meeting_m_cell_spec.rb
+++ b/decidim-meetings/spec/cells/decidim/meetings/meeting_m_cell_spec.rb
@@ -16,6 +16,8 @@ module Decidim::Meetings
context "when rendering" do
let(:show_space) { false }
+ it_behaves_like "m-cell", :meeting
+
it "renders the card" do
expect(cell_html).to have_css(".card--meeting")
end
@@ -55,7 +57,7 @@ module Decidim::Meetings
end
it "escapes them correctly" do
- expect(the_cell.title).not_to eq("#{@original_title} &'<")
+ expect(the_cell.title).to eq("#{@original_title} &'<")
# as the `cell` test helper wraps content in a Capybara artifact that already converts html entities
# we should compare with the expected visual result, as we were checking the DOM instead of the html
expect(cell_html).to have_content("#{@original_title} &'<")
diff --git a/decidim-meetings/spec/controllers/decidim/meetings/versions_controller_spec.rb b/decidim-meetings/spec/controllers/decidim/meetings/versions_controller_spec.rb
new file mode 100644
index 0000000000000..d31a6c4d1562b
--- /dev/null
+++ b/decidim-meetings/spec/controllers/decidim/meetings/versions_controller_spec.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+module Decidim
+ module Meetings
+ describe VersionsController, versioning: true, type: :controller do
+ routes { Decidim::Meetings::Engine.routes }
+
+ let(:resource) { create(:meeting) }
+
+ it_behaves_like "versions controller"
+ end
+ end
+end
diff --git a/decidim-meetings/spec/models/decidim/meetings/agenda_item_spec.rb b/decidim-meetings/spec/models/decidim/meetings/agenda_item_spec.rb
index f7ee67c17ef9a..0ac3248f6f63c 100644
--- a/decidim-meetings/spec/models/decidim/meetings/agenda_item_spec.rb
+++ b/decidim-meetings/spec/models/decidim/meetings/agenda_item_spec.rb
@@ -30,6 +30,7 @@ module Meetings
it "has an associated agenda" do
expect(agenda_item.agenda).to be_a(Decidim::Meetings::Agenda)
+ expect(Decidim::Meetings::AgendaItem.last.agenda).to be_a(Decidim::Meetings::Agenda)
end
describe ".first_class" do
diff --git a/decidim-meetings/spec/models/meeting_spec.rb b/decidim-meetings/spec/models/meeting_spec.rb
index fb2e086dd15d1..e0ecdbc32b855 100644
--- a/decidim-meetings/spec/models/meeting_spec.rb
+++ b/decidim-meetings/spec/models/meeting_spec.rb
@@ -66,6 +66,35 @@ module Decidim::Meetings
end
end
+ describe "#visible_meeting_for" do
+ subject { Decidim::Meetings::Meeting.visible_meeting_for(user) }
+
+ let(:meeting) { create :meeting, :published }
+ let(:user) { create :user, organization: meeting.component.organization }
+
+ it "returns published meetings" do
+ expect(subject).to include(meeting)
+ end
+
+ context "when the meeting is not published" do
+ let(:meeting) { create :meeting }
+
+ it "does not returns the meeting" do
+ expect(subject).not_to include(meeting)
+ end
+ end
+
+ context "when some participatory space does not have a model" do
+ before do
+ allow(Decidim::Assembly).to receive(:table_name).and_return(nil)
+ end
+
+ it "does not return an exception" do
+ expect(subject).to include(meeting)
+ end
+ end
+ end
+
describe "#can_be_joined_by?" do
subject { meeting.can_be_joined_by?(user) }
diff --git a/decidim-meetings/spec/system/admin/admin_manages_meetings_spec.rb b/decidim-meetings/spec/system/admin/admin_manages_meetings_spec.rb
index 430ac3d17e45b..79c9a4dc8a9bc 100644
--- a/decidim-meetings/spec/system/admin/admin_manages_meetings_spec.rb
+++ b/decidim-meetings/spec/system/admin/admin_manages_meetings_spec.rb
@@ -51,6 +51,17 @@
expect(page).to have_css(".action-icon--unpublish")
end
end
+
+ context "with enriched content" do
+ before do
+ meeting.update!(title: { en: "Meeting title" })
+ visit current_path
+ end
+
+ it "displays the correct title" do
+ expect(page.html).to include("Meeting <strong>title</strong>")
+ end
+ end
end
describe "admin form" do
diff --git a/decidim-meetings/spec/system/explore_meeting_directory_spec.rb b/decidim-meetings/spec/system/explore_meeting_directory_spec.rb
index 789a6e887edff..90c104ba1762d 100644
--- a/decidim-meetings/spec/system/explore_meeting_directory_spec.rb
+++ b/decidim-meetings/spec/system/explore_meeting_directory_spec.rb
@@ -3,9 +3,7 @@
require "spec_helper"
describe "Explore meeting directory", type: :system do
- let(:directory) do
- Decidim::Meetings::DirectoryEngine.routes.url_helpers.root_path
- end
+ let(:directory) { Decidim::Meetings::DirectoryEngine.routes.url_helpers.root_path }
let(:organization) { create(:organization) }
let(:participatory_process) { create :participatory_process, organization: organization }
let(:components) do
@@ -22,12 +20,30 @@
visit directory
end
- it "shows all the upcoming meetings" do
- within "#meetings" do
- expect(page).to have_css(".card--meeting", count: 6)
+ describe "with default filter" do
+ let!(:past_meeting) { create(:meeting, :published, start_time: 2.weeks.ago, component: components.first) }
+ let!(:upcoming_meeting) { create(:meeting, :published, :not_official, component: components.first) }
+
+ it "shows all the upcoming meetings" do
+ visit directory
+
+ within ".date_collection_radio_buttons_filter" do
+ expect(find("input[value='upcoming']").checked?).to be(true)
+ end
+
+ within "#meetings" do
+ expect(page).to have_css(".card--meeting", count: 7)
+ end
+
+ expect(page).to have_css("#meetings-count", text: "7 MEETINGS")
+ expect(page).to have_content(translated(upcoming_meeting.title))
end
- expect(page).to have_css("#meetings-count", text: "6 MEETINGS")
+ it "doesn't show past meetings" do
+ within "#meetings" do
+ expect(page).not_to have_content(translated(past_meeting.title))
+ end
+ end
end
describe "category filter" do
@@ -143,12 +159,8 @@
describe "type filter" do
context "when there are only online meetings" do
- let!(:online_meeting1) do
- create(:meeting, :published, :online, component: components.last)
- end
- let!(:online_meeting2) do
- create(:meeting, :published, :online, component: components.last)
- end
+ let!(:online_meeting1) { create(:meeting, :published, :online, component: components.last) }
+ let!(:online_meeting2) { create(:meeting, :published, :online, component: components.last) }
it "allows filtering by type 'online'" do
within ".type_check_boxes_tree_filter" do
@@ -163,9 +175,7 @@
end
context "when there are only in-person meetings" do
- let!(:in_person_meeting) do
- create(:meeting, :published, :in_person, component: components.last)
- end
+ let!(:in_person_meeting) { create(:meeting, :published, :in_person, component: components.last) }
it "allows filtering by type 'in-person'" do
within ".type_check_boxes_tree_filter" do
@@ -179,9 +189,7 @@
end
context "when there are hybrid meetings" do
- let!(:online_meeting) do
- create(:meeting, :published, :hybrid, component: components.last)
- end
+ let!(:online_meeting) { create(:meeting, :published, :hybrid, component: components.last) }
it "allows filtering by type 'both'" do
within ".type_check_boxes_tree_filter" do
@@ -194,19 +202,59 @@
end
end
- context "when there's a past meeting" do
- let!(:past_meeting) do
- create(:meeting, :published, component: components.last, start_time: 1.week.ago)
+ describe "date filter" do
+ let!(:past_meeting1) { create(:meeting, :published, component: components.last, start_time: 1.week.ago) }
+ let!(:past_meeting2) { create(:meeting, :published, component: components.last, start_time: 3.months.ago) }
+ let!(:past_meeting3) { create(:meeting, :published, component: components.last, start_time: 2.days.ago) }
+ let!(:upcoming_meeting1) { create(:meeting, :published, component: components.last, start_time: 1.week.from_now) }
+ let!(:upcoming_meeting2) { create(:meeting, :published, component: components.last, start_time: 3.months.from_now) }
+ let!(:upcoming_meeting3) { create(:meeting, :published, component: components.last, start_time: 2.days.from_now) }
+
+ context "with all meetings" do
+ it "orders them by start date" do
+ visit directory
+
+ within ".date_collection_radio_buttons_filter" do
+ choose "All"
+ end
+
+ expect(page).to have_css("#meetings-count", text: "12 MEETINGS")
+
+ result = page.find("#meetings .card-grid").text
+ expect(result.index(translated(past_meeting2.title))).to be < result.index(translated(past_meeting1.title))
+ expect(result.index(translated(past_meeting1.title))).to be < result.index(translated(past_meeting3.title))
+ expect(result.index(translated(past_meeting2.title))).to be < result.index(translated(upcoming_meeting1.title))
+ expect(result.index(translated(upcoming_meeting3.title))).to be < result.index(translated(upcoming_meeting1.title))
+ expect(result.index(translated(upcoming_meeting1.title))).to be < result.index(translated(upcoming_meeting2.title))
+ end
end
- it "allows filtering by past events" do
- within ".date_check_boxes_tree_filter" do
- uncheck "All"
- check "Past"
+ context "with past meetings" do
+ it "orders them by start date" do
+ visit directory
+
+ within ".date_collection_radio_buttons_filter" do
+ choose "Past"
+ end
+
+ expect(page).to have_css("#meetings-count", text: "3 MEETINGS")
+
+ result = page.find("#meetings .card-grid").text
+ expect(result.index(translated(past_meeting3.title))).to be < result.index(translated(past_meeting1.title))
+ expect(result.index(translated(past_meeting1.title))).to be < result.index(translated(past_meeting2.title))
end
+ end
- expect(page).to have_content(past_meeting.title["en"])
- expect(page).to have_css("#meetings-count", text: "1 MEETING")
+ context "with upcoming meetings" do
+ it "orders them by start date" do
+ visit directory
+
+ expect(page).to have_css("#meetings-count", text: "9 MEETINGS")
+
+ result = page.find("#meetings .card-grid").text
+ expect(result.index(translated(upcoming_meeting3.title))).to be < result.index(translated(upcoming_meeting1.title))
+ expect(result.index(translated(upcoming_meeting1.title))).to be < result.index(translated(upcoming_meeting2.title))
+ end
end
end
@@ -232,9 +280,8 @@
# have_content to wait for the card list to change. This is a hack to
# reset the contents to no meetings at all, and then showing only the upcoming
# assembly meetings.
- within ".date_check_boxes_tree_filter" do
- uncheck "All"
- check "Past"
+ within ".date_collection_radio_buttons_filter" do
+ choose "Past"
end
expect(page).to have_no_css(".card--meeting")
@@ -243,8 +290,8 @@
check "Assemblies"
end
- within ".date_check_boxes_tree_filter" do
- check "Upcoming"
+ within ".date_collection_radio_buttons_filter" do
+ choose "Upcoming"
end
expect(page).to have_content(assembly_meeting.title["en"])
diff --git a/decidim-meetings/spec/system/explore_meetings_spec.rb b/decidim-meetings/spec/system/explore_meetings_spec.rb
index f8125bddc0b75..476a51e3cd566 100644
--- a/decidim-meetings/spec/system/explore_meetings_spec.rb
+++ b/decidim-meetings/spec/system/explore_meetings_spec.rb
@@ -27,6 +27,66 @@
end
end
+ context "with default filter" do
+ let!(:past_meeting) { create(:meeting, :published, start_time: 2.weeks.ago, component: component) }
+ let!(:upcoming_meeting) { create(:meeting, :published, :not_official, component: component) }
+
+ it "shows all the upcoming meetings" do
+ visit_component
+ within ".date_collection_radio_buttons_filter" do
+ expect(find("input[value='upcoming']").checked?).to be(true)
+ end
+
+ within "#meetings" do
+ expect(page).to have_css(".card--meeting", count: 6)
+ end
+
+ expect(page).to have_css("#meetings-count", text: "6 MEETINGS")
+ expect(page).to have_content(translated(upcoming_meeting.title))
+ end
+
+ it "doesn't show past meetings" do
+ visit_component
+ within "#meetings" do
+ expect(page).not_to have_content(translated(past_meeting.title))
+ end
+ end
+ end
+
+ context "when checking withdrawn meetings" do
+ context "when there are no withrawn meetings" do
+ let!(:meeting) { create_list(:meeting, 3, :published, component: component) }
+
+ before do
+ visit_component
+ click_link "See all withdrawn meetings"
+ end
+
+ it "shows an empty page with a message" do
+ expect(page).to have_content("No meetings match your search criteria or there isn't any meeting scheduled.")
+ within ".callout.warning", match: :first do
+ expect(page).to have_content("You are viewing the list of meetings withdrawn by their authors.")
+ end
+ end
+ end
+
+ context "when there are withrawn meetings" do
+ let!(:withdrawn_meetings) { create_list(:meeting, 3, :withdrawn, :published, component: component) }
+
+ before do
+ visit_component
+ click_link "See all withdrawn meetings"
+ end
+
+ it "shows all the withdrawn meetings" do
+ expect(page).to have_css(".card--meeting.alert", count: 3)
+ within ".callout.warning", match: :first do
+ expect(page).to have_content("You are viewing the list of meetings withdrawn by their authors.")
+ end
+ end
+ end
+ end
+
context "with hidden meetings" do
let(:meeting) { meetings.last }
@@ -143,24 +203,123 @@
expect(page).to have_content(translated(meetings.first.title))
end
- it "allows filtering by date" do
+ context "when filtering by date" do
+ let!(:past_meeting1) { create(:meeting, :published, component: component, start_time: 1.week.ago) }
+ let!(:past_meeting2) { create(:meeting, :published, component: component, start_time: 3.months.ago) }
+ let!(:past_meeting3) { create(:meeting, :published, component: component, start_time: 2.days.ago) }
+ let!(:upcoming_meeting1) { create(:meeting, :published, component: component, start_time: 1.week.from_now) }
+ let!(:upcoming_meeting2) { create(:meeting, :published, component: component, start_time: 3.months.from_now) }
+ let!(:upcoming_meeting3) { create(:meeting, :published, component: component, start_time: 2.days.from_now) }
+
+ it "lists filtered meetings" do
+ visit_component
+
+ within ".date_collection_radio_buttons_filter" do
+ choose "Past"
+ end
+
+ expect(page).to have_css(".card--meeting", count: 3)
+ expect(page).to have_content(translated(past_meeting1.title))
+ expect(page).not_to have_content(translated(upcoming_meeting1.title))
+
+ within ".date_collection_radio_buttons_filter" do
+ choose "Upcoming"
+ end
+
+ expect(page).to have_content(translated(upcoming_meeting1.title))
+ expect(page).not_to have_content(translated(past_meeting1.title))
+
+ expect(page).to have_css(".card--meeting", count: 8)
+
+ within ".date_collection_radio_buttons_filter" do
+ choose "All"
+ end
+
+ expect(page).to have_css(".card--meeting", count: 8)
+ expect(page).to have_content(translated(past_meeting1.title))
+ expect(page).to have_content(translated(upcoming_meeting1.title))
+ end
+
+ context "when there are multiple past meetings" do
+ it "orders them by start date" do
+ visit_component
+ within ".date_collection_radio_buttons_filter" do
+ choose "Past"
+ end
+
+ expect(page).to have_css("#meetings-count", text: "3 MEETINGS")
+
+ result = page.find("#meetings .card-grid").text
+ expect(result.index(translated(past_meeting3.title))).to be < result.index(translated(past_meeting1.title))
+ expect(result.index(translated(past_meeting1.title))).to be < result.index(translated(past_meeting2.title))
+ end
+ end
+
+ context "when there are multiple upcoming meetings" do
+ it "orders them by start date" do
+ visit_component
+ within ".date_collection_radio_buttons_filter" do
+ choose "Upcoming"
+ end
+
+ expect(page).to have_css("#meetings-count", text: "8 MEETINGS")
+
+ result = page.find("#meetings .card-grid").text
+ expect(result.index(translated(upcoming_meeting3.title))).to be < result.index(translated(upcoming_meeting1.title))
+ expect(result.index(translated(upcoming_meeting1.title))).to be < result.index(translated(upcoming_meeting2.title))
+ end
+ end
+
+ context "when there are multiple meetings" do
+ it "orders them by start date" do
+ visit_component
+ within ".date_collection_radio_buttons_filter" do
+ choose "All"
+ end
+
+ expect(page).to have_css("#meetings-count", text: "11 MEETINGS")
+
+ result = page.find("#meetings .card-grid").text
+ expect(result.index(translated(past_meeting2.title))).to be < result.index(translated(past_meeting1.title))
+ expect(result.index(translated(past_meeting1.title))).to be < result.index(translated(past_meeting3.title))
+ expect(result.index(translated(past_meeting2.title))).to be < result.index(translated(upcoming_meeting1.title))
+ expect(result.index(translated(upcoming_meeting3.title))).to be < result.index(translated(upcoming_meeting1.title))
+ expect(result.index(translated(upcoming_meeting1.title))).to be < result.index(translated(upcoming_meeting2.title))
+ end
+ end
+ end
+
+ it "allows linking to the filtered view using a short link" do
past_meeting = create(:meeting, :published, component: component, start_time: 1.day.ago)
visit_component
- within ".date_check_boxes_tree_filter" do
- uncheck "All"
- check "Past"
+ within ".date_collection_radio_buttons_filter" do
+ choose "Past"
end
expect(page).to have_css(".card--meeting", count: 1)
expect(page).to have_content(translated(past_meeting.title))
- within ".date_check_boxes_tree_filter" do
- uncheck "All"
- check "Upcoming"
+ filter_params = CGI.parse(URI.parse(page.current_url).query)
+ base_url = "http://#{organization.host}"
+
+ click_button "Export calendar"
+ expect(page).to have_content("Calendar URL:")
+ expect(page).to have_css("#calendarShare", visible: :visible)
+ share_url = nil
+ within "#calendarShare" do
+ input = find("input[readonly]")
+ share_url = input.value
+ expect(share_url).to match(%r{^#{base_url}:[0-9]+/processes/#{participatory_process.slug}/f/#{component.id}/calendar$})
end
- expect(page).to have_css(".card--meeting", count: 5)
+ visit share_url
+ expect(page).to have_css(".card--meeting", count: 1)
+ expect(page).to have_content(translated(past_meeting.title))
+ expect(page).to have_current_path(/^#{main_component_path(component)}/)
+
+ current_params = CGI.parse(URI.parse(page.current_url).query)
+ expect(current_params).to eq(filter_params)
end
it "allows filtering by scope" do
diff --git a/decidim-meetings/spec/system/meeting_registrations_spec.rb b/decidim-meetings/spec/system/meeting_registrations_spec.rb
index ee4e7b94ba54e..048d1c730d3a2 100644
--- a/decidim-meetings/spec/system/meeting_registrations_spec.rb
+++ b/decidim-meetings/spec/system/meeting_registrations_spec.rb
@@ -37,6 +37,9 @@ def questionnaire_public_path
available_slots: available_slots,
registration_terms: registration_terms
)
+
+ # Make static map requests not to fail with HTTP 500 (causes JS error)
+ stub_request(:get, Regexp.new(Decidim.maps.fetch(:static).fetch(:url))).to_return(body: "")
end
context "when meeting registrations are not enabled" do
@@ -339,6 +342,26 @@ def questionnaire_public_path
expect(page).to have_content("Needs to be reattached")
end
+
+ context "and the announcement for the meeting is configured" do
+ before do
+ component.update!(
+ settings: {
+ announcement: {
+ en: "An important announcement",
+ es: "Un aviso muy importante",
+ ca: "Un avís molt important"
+ }
+ }
+ )
+ end
+
+ it "the user should not see it" do
+ visit questionnaire_public_path
+
+ expect(page).not_to have_content("An important announcement")
+ end
+ end
end
end
diff --git a/decidim-pages/app/serializers/decidim/pages/data_importer.rb b/decidim-pages/app/serializers/decidim/pages/data_importer.rb
new file mode 100644
index 0000000000000..473f3fc2fde20
--- /dev/null
+++ b/decidim-pages/app/serializers/decidim/pages/data_importer.rb
@@ -0,0 +1,27 @@
+# frozen_string_literal: true
+
+module Decidim
+ module Pages
+ # Importer for Pages specific data (i.e. its page content).
+ class DataImporter < Decidim::Importers::Importer
+ def initialize(component)
+ @component = component
+ end
+
+ # Creates a new Decidim::Pages::Page associated to the given **component**
+ # for the serialized page object.
+ #
+ # @param serialized [Hash] The serialized data read from the import file.
+ # @param _user [Decidim::User] The user performing the import.
+ # @return [Decidim::Pages::Page] The imported page
+ def import(serialized, _user)
+ return unless serialized
+
+ Page.create!(
+ component: @component,
+ body: serialized["body"]
+ )
+ end
+ end
+ end
+end
diff --git a/decidim-pages/app/serializers/decidim/pages/data_serializer.rb b/decidim-pages/app/serializers/decidim/pages/data_serializer.rb
new file mode 100644
index 0000000000000..9c4cbe4a85bf8
--- /dev/null
+++ b/decidim-pages/app/serializers/decidim/pages/data_serializer.rb
@@ -0,0 +1,22 @@
+# frozen_string_literal: true
+
+module Decidim
+ module Pages
+ # This class serializes the specific data in each Page. This is the page
+ # data outside of the component settings.
+ class DataSerializer < Decidim::Exporters::Serializer
+ include Decidim::TranslationsHelper
+
+ # Serializes the page data for this component.
+ #
+ # @return [Hash] The serialized data
+ def serialize
+ page = Page.find_by(component: resource)
+
+ {
+ body: page&.body || empty_translatable
+ }
+ end
+ end
+ end
+end
diff --git a/decidim-pages/config/locales/ca.yml b/decidim-pages/config/locales/ca.yml
index a5b3001637a83..85d0f563fee57 100644
--- a/decidim-pages/config/locales/ca.yml
+++ b/decidim-pages/config/locales/ca.yml
@@ -30,6 +30,6 @@ ca:
success: Pàgina desada correctament.
home:
hero:
- participate_title: Participeu en els processos de la plataforma
+ participate_title: Participa en els processos de la plataforma
sub_hero:
register_title: Registra't per tenir un compte
diff --git a/decidim-pages/config/locales/de.yml b/decidim-pages/config/locales/de.yml
index 7aaaedbf6c523..d0e0fb5f576cb 100644
--- a/decidim-pages/config/locales/de.yml
+++ b/decidim-pages/config/locales/de.yml
@@ -29,5 +29,7 @@ de:
invalid: Beim Speichern der Seite sind Fehler aufgetreten.
success: Seite erfolgreich gespeichert
home:
+ hero:
+ participate_title: Beteiligen Sie sich an den Prozessen auf dieser Plattform
sub_hero:
register_title: Registrieren
diff --git a/decidim-pages/config/locales/es-MX.yml b/decidim-pages/config/locales/es-MX.yml
index a7a816c65f3d2..e7298d4f6f483 100644
--- a/decidim-pages/config/locales/es-MX.yml
+++ b/decidim-pages/config/locales/es-MX.yml
@@ -30,6 +30,6 @@ es-MX:
success: Página guardada correctamente.
home:
hero:
- participate_title: Participar en los procesos de la plataforma
+ participate_title: Participa en los procesos de la plataforma
sub_hero:
register_title: Regístrate para tener una cuenta
diff --git a/decidim-pages/config/locales/es-PY.yml b/decidim-pages/config/locales/es-PY.yml
index 9ee312df3122d..2d47b1ff03c87 100644
--- a/decidim-pages/config/locales/es-PY.yml
+++ b/decidim-pages/config/locales/es-PY.yml
@@ -30,6 +30,6 @@ es-PY:
success: Página guardada correctamente.
home:
hero:
- participate_title: Participar en los procesos de la plataforma
+ participate_title: Participa en los procesos de la plataforma
sub_hero:
register_title: Regístrate para tener una cuenta
diff --git a/decidim-pages/config/locales/es.yml b/decidim-pages/config/locales/es.yml
index 1c91722c752cc..0b0ffef6c2742 100644
--- a/decidim-pages/config/locales/es.yml
+++ b/decidim-pages/config/locales/es.yml
@@ -30,6 +30,6 @@ es:
success: Página guardada correctamente.
home:
hero:
- participate_title: Participar en los procesos de la plataforma
+ participate_title: Participa en los procesos de la plataforma
sub_hero:
register_title: Regístrate para tener una cuenta
diff --git a/decidim-pages/config/locales/gn-PY.yml b/decidim-pages/config/locales/gn-PY.yml
new file mode 100644
index 0000000000000..bd442b0ad85de
--- /dev/null
+++ b/decidim-pages/config/locales/gn-PY.yml
@@ -0,0 +1 @@
+gn:
diff --git a/decidim-pages/config/locales/hu.yml b/decidim-pages/config/locales/hu.yml
index 48a75ced047f5..d426ea1830f76 100644
--- a/decidim-pages/config/locales/hu.yml
+++ b/decidim-pages/config/locales/hu.yml
@@ -28,3 +28,8 @@ hu:
update:
invalid: Hiba történt az oldal mentése során.
success: Oldal mentése sikeres.
+ home:
+ hero:
+ participate_title: Részvétel a platform folyamataiban
+ sub_hero:
+ register_title: A fiók létrehozásához iratkozz fel
diff --git a/decidim-pages/config/locales/lo-LA.yml b/decidim-pages/config/locales/lo-LA.yml
new file mode 100644
index 0000000000000..27a02bfece429
--- /dev/null
+++ b/decidim-pages/config/locales/lo-LA.yml
@@ -0,0 +1 @@
+lo:
diff --git a/decidim-pages/config/locales/lt.yml b/decidim-pages/config/locales/lt.yml
index 6c5cb837ac8c1..963fa3086c51d 100644
--- a/decidim-pages/config/locales/lt.yml
+++ b/decidim-pages/config/locales/lt.yml
@@ -1 +1,37 @@
lt:
+ activerecord:
+ models:
+ decidim/pages/page:
+ one: Puslapis
+ few: Puslapiai
+ many: Puslapiai
+ other: Puslapiai
+ decidim:
+ admin_log:
+ page:
+ update: "%{user_name} atnaujino %{resource_name} puslapį %{space_name}"
+ components:
+ pages:
+ name: Puslapis
+ settings:
+ global:
+ announcement: Pranešimas
+ step:
+ announcement: Pranešimas
+ pages:
+ admin:
+ models:
+ components:
+ body: Pagrindinė dalis
+ pages:
+ edit:
+ save: Atnaujinimas
+ title: Redaguoti puslapį
+ update:
+ invalid: Išsaugant šį puslapį iškilo problema.
+ success: Puslapis išsaugotas.
+ home:
+ hero:
+ participate_title: Dalyvauti platformos procesuose
+ sub_hero:
+ register_title: Užsiregistruokite norėdami susikurti paskyrą
diff --git a/decidim-pages/config/locales/oc-FR.yml b/decidim-pages/config/locales/oc-FR.yml
new file mode 100644
index 0000000000000..325b348894124
--- /dev/null
+++ b/decidim-pages/config/locales/oc-FR.yml
@@ -0,0 +1 @@
+oc:
diff --git a/decidim-pages/config/locales/ro-RO.yml b/decidim-pages/config/locales/ro-RO.yml
index f41129cbfb9b3..626d870fd3465 100644
--- a/decidim-pages/config/locales/ro-RO.yml
+++ b/decidim-pages/config/locales/ro-RO.yml
@@ -30,5 +30,7 @@ ro:
invalid: A apărut o eroare la salvarea paginii.
success: Pagina a fost salvată cu succes.
home:
+ hero:
+ participate_title: Participă la procesele platformei
sub_hero:
register_title: Înregistrează-te pentru a crea un cont
diff --git a/decidim-pages/lib/decidim/pages/component.rb b/decidim-pages/lib/decidim/pages/component.rb
index f17c7e4ae4060..ccee39c862347 100644
--- a/decidim-pages/lib/decidim/pages/component.rb
+++ b/decidim-pages/lib/decidim/pages/component.rb
@@ -6,6 +6,9 @@
component.engine = Decidim::Pages::Engine
component.admin_engine = Decidim::Pages::AdminEngine
component.icon = "media/images/decidim_pages.svg"
+ component.serializes_specific_data = true
+ component.specific_data_serializer_class_name = "Decidim::Pages::DataSerializer"
+ component.specific_data_importer_class_name = "Decidim::Pages::DataImporter"
component.permissions_class_name = "Decidim::Pages::Permissions"
component.query_type = "Decidim::Pages::PagesType"
diff --git a/decidim-pages/lib/decidim/pages/version.rb b/decidim-pages/lib/decidim/pages/version.rb
index 2c9e2ec046488..bdde9b730b52e 100644
--- a/decidim-pages/lib/decidim/pages/version.rb
+++ b/decidim-pages/lib/decidim/pages/version.rb
@@ -4,7 +4,7 @@ module Decidim
# This holds the decidim-pages version.
module Pages
def self.version
- "0.26.2"
+ "0.26.4"
end
end
end
diff --git a/decidim-pages/spec/serializers/decidim/pages/data_importer_spec.rb b/decidim-pages/spec/serializers/decidim/pages/data_importer_spec.rb
new file mode 100644
index 0000000000000..b46cee7f32425
--- /dev/null
+++ b/decidim-pages/spec/serializers/decidim/pages/data_importer_spec.rb
@@ -0,0 +1,54 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+module Decidim::Pages
+ describe DataImporter do
+ let(:importer) { described_class.new(component) }
+
+ let(:organization) { create(:organization) }
+ let(:user) { create(:user, :admin, :confirmed, organization: organization) }
+ let(:participatory_process) { create(:participatory_process, organization: organization) }
+ let(:component) { create(:component, manifest_name: "pages", participatory_space: participatory_process) }
+
+ describe "#import" do
+ subject { importer.import(as_json, user) }
+
+ context "with body" do
+ let(:as_json) do
+ JSON.parse(
+ <<~JSON
+ {
+ "body": {
+ "en": "English content",
+ "ca": "Catalan content",
+ "es": "Spanish content"
+ }
+ }
+ JSON
+ )
+ end
+
+ it "imports the page" do
+ expect(subject).to be_a(Decidim::Pages::Page)
+ expect(subject.id).to eq(Page.find_by(component: component).id)
+ expect(subject.body).to eq(
+ {
+ "en" => "English content",
+ "ca" => "Catalan content",
+ "es" => "Spanish content"
+ }
+ )
+ end
+ end
+
+ context "without body" do
+ let(:as_json) { nil }
+
+ it "doesn't import the page" do
+ expect(subject).to be_nil
+ end
+ end
+ end
+ end
+end
diff --git a/decidim-pages/spec/serializers/decidim/pages/data_serializer_spec.rb b/decidim-pages/spec/serializers/decidim/pages/data_serializer_spec.rb
new file mode 100644
index 0000000000000..2fde0b376386e
--- /dev/null
+++ b/decidim-pages/spec/serializers/decidim/pages/data_serializer_spec.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+module Decidim::Pages
+ describe DataSerializer do
+ let!(:page) { create(:page) }
+ let(:serializer) { described_class.new(page.component) }
+
+ describe "#serialize" do
+ subject { serializer.serialize }
+
+ it "serializes the page data" do
+ expect(subject).to eq({ body: page.body })
+ end
+ end
+ end
+end
diff --git a/decidim-participatory_processes/app/cells/decidim/participatory_process_groups/content_blocks/title_cell.rb b/decidim-participatory_processes/app/cells/decidim/participatory_process_groups/content_blocks/title_cell.rb
index aac0268651a5d..7822ca626070e 100644
--- a/decidim-participatory_processes/app/cells/decidim/participatory_process_groups/content_blocks/title_cell.rb
+++ b/decidim-participatory_processes/app/cells/decidim/participatory_process_groups/content_blocks/title_cell.rb
@@ -43,11 +43,18 @@ def decidim_participatory_processes
end
def participatory_processes_count
- @participatory_processes_count ||= participatory_process_group.participatory_processes.count
+ @participatory_processes_count ||= processes.count
end
private
+ def processes
+ @processes ||= Decidim::ParticipatoryProcesses::GroupPublishedParticipatoryProcesses.new(
+ participatory_process_group,
+ current_user
+ ).query
+ end
+
def group_uri
@group_uri = URI.parse(group_url)
end
diff --git a/decidim-participatory_processes/app/serializers/decidim/participatory_processes/participatory_process_importer.rb b/decidim-participatory_processes/app/serializers/decidim/participatory_processes/participatory_process_importer.rb
index 3c05c9ca2b2bf..d02f1a90ecb52 100644
--- a/decidim-participatory_processes/app/serializers/decidim/participatory_processes/participatory_process_importer.rb
+++ b/decidim-participatory_processes/app/serializers/decidim/participatory_processes/participatory_process_importer.rb
@@ -44,8 +44,9 @@ def import(attributes, _user, opts)
scopes_enabled: attributes["scopes_enabled"],
participatory_process_group: import_process_group(attributes["participatory_process_group"])
)
- @imported_process.remote_hero_image_url = attributes["remote_hero_image_url"] if remote_file_exists?(attributes["remote_hero_image_url"])
- @imported_process.remote_banner_image_url = attributes["remote_banner_image_url"] if remote_file_exists?(attributes["remote_banner_image_url"])
+ @imported_process.attached_uploader(:hero_image).remote_url = attributes["remote_hero_image_url"] if attributes["remote_hero_image_url"].present?
+ @imported_process.attached_uploader(:banner_image).remote_url = attributes["remote_banner_image_url"] if attributes["remote_banner_image_url"].present?
+
@imported_process.save!
@imported_process
end
@@ -54,7 +55,7 @@ def import(attributes, _user, opts)
def import_process_group(attributes)
Decidim.traceability.perform_action!("create", ParticipatoryProcessGroup, @user) do
group = ParticipatoryProcessGroup.find_or_initialize_by(
- title: attributes["title"],
+ title: attributes["title"] || attributes["name"],
description: attributes["description"],
organization: @organization
)
diff --git a/decidim-participatory_processes/config/locales/cs.yml b/decidim-participatory_processes/config/locales/cs.yml
index e9b30a8baa95f..5294cf9d663de 100644
--- a/decidim-participatory_processes/config/locales/cs.yml
+++ b/decidim-participatory_processes/config/locales/cs.yml
@@ -78,9 +78,9 @@ cs:
other: Participativní procesy
decidim/participatory_process_group:
one: Skupina účastnických procesů
- few: Skupiny zúčastněných procesů
- many: Skupiny zúčastněných procesů
- other: Skupiny zúčastněných procesů
+ few: Skupiny účastnických procesů
+ many: Skupiny účastnických procesů
+ other: Skupiny účastnických procesů
decidim/participatory_process_step:
one: Krok
few: Kroky
@@ -122,7 +122,7 @@ cs:
info: Info
moderations: Moderování
private_users: Soukromí uživatelé
- process_admins: Zpracovat uživatele
+ process_admins: Administrátoři procesu
steps: Kroky
models:
participatory_process:
@@ -268,7 +268,7 @@ cs:
error: Došlo k chybě při vytváření nové skupiny účastnických procesů.
success: Skupina úspěšně vytvořená skupina účastníků.
titles:
- participatory_process_groups: Skupiny zúčastněných procesů
+ participatory_process_groups: Skupiny účastnických procesů
participatory_processes: Participativní procesy
users:
resend_invitation:
@@ -305,7 +305,7 @@ cs:
email_subject: Aktualizace na %{participatory_space_title}
notification_title: Krok %{resource_title} je nyní aktivní pro %{participatory_space_title}
step_changed:
- email_intro: 'Byly aktualizovány datumy pro krok %{resource_title} v %{participatory_space_title}. Můžete je vidět z této stránky:'
+ email_intro: 'Data pro %{resource_title} fáze na %{participatory_space_title} byly aktualizovány. Můžete si je prohlédnout na této stránce:'
email_outro: Toto oznámení jste obdrželi, protože jste sledovali %{participatory_space_title}. Po předchozím propojení můžete přestat přijímat oznámení.
email_subject: Aktualizace na %{participatory_space_title}
notification_title: Byly aktualizovány data pro krok %{resource_title} ve %{participatory_space_title}.
@@ -352,7 +352,7 @@ cs:
many: "%{count} procesů"
other: "%{count} procesy"
show:
- title: Skupiny zúčastněných procesů
+ title: Skupiny účastnických procesů
participatory_process_steps:
index:
process_steps: Procesní kroky
@@ -386,9 +386,9 @@ cs:
announcement_help: Text, který zde zadáte, se uživateli zobrazí přímo pod informacemi o procesu.
duration: Doba trvání
filters: Filtry
- images: snímky
+ images: Obrázky
metadata: Metadata
- other: jiný
+ other: Ostatní
related_processes: Související procesy
scope_type_max_depth_help: Omezit hloubku filtru rozsahu. Filtr se zobrazí od obecného k vybranému typu rozsahu.
select_an_area: Vyberte oblast
diff --git a/decidim-participatory_processes/config/locales/fr.yml b/decidim-participatory_processes/config/locales/fr.yml
index 98b725c9b4883..6820a5ff9dfbe 100644
--- a/decidim-participatory_processes/config/locales/fr.yml
+++ b/decidim-participatory_processes/config/locales/fr.yml
@@ -25,7 +25,7 @@ fr:
related_process_ids: Concertations liées
scope_id: Périmètre d'application
scope_type_max_depth_id: Profondeur du filtre de portée
- scopes_enabled: Périmètres d'application activés
+ scopes_enabled: Secteurs activés
short_description: Résumé
show_metrics: Afficher les métriques
show_statistics: Montrer les statistiques
diff --git a/decidim-participatory_processes/config/locales/gn-PY.yml b/decidim-participatory_processes/config/locales/gn-PY.yml
new file mode 100644
index 0000000000000..bd442b0ad85de
--- /dev/null
+++ b/decidim-participatory_processes/config/locales/gn-PY.yml
@@ -0,0 +1 @@
+gn:
diff --git a/decidim-participatory_processes/config/locales/hu.yml b/decidim-participatory_processes/config/locales/hu.yml
index a44bc5afbdaa4..15859342e4d81 100644
--- a/decidim-participatory_processes/config/locales/hu.yml
+++ b/decidim-participatory_processes/config/locales/hu.yml
@@ -34,10 +34,20 @@ hu:
subtitle: Felirat
target: Ki vesz részt benne
title: Cím
+ weight: Pozíció sorrend
participatory_process_group:
description: Leírás
+ developer_group: Előterjesztő csoport
+ group_url: Weboldal
+ hashtag: Hashtag
hero_image: Kép
+ local_area: Szervezeti terület
+ meta_scope: Hatókör-metaadatok
participatory_process_ids: Kapcsolódó folyamatok
+ participatory_scope: Miről születik döntés
+ participatory_structure: Hogyan születik döntés
+ target: Ki részt vesz
+ title: Cím
participatory_process_step:
cta_path: Hívás cselekvés útjára
cta_text: Call to Action szöveg
@@ -93,6 +103,9 @@ hu:
unpublish: Közzététel visszavonása
menu:
participatory_process_groups: Folyamat csoportok
+ participatory_process_groups_submenu:
+ info: Info
+ landing_page: Landing oldal
participatory_processes: Folyamatok
participatory_processes_submenu:
attachment_collections: Mappák
@@ -115,6 +128,8 @@ hu:
title: Cím
name: Részvételi folyamat
participatory_process_group:
+ fields:
+ title: Cím
name: Folyamat csoport
participatory_process_step:
fields:
@@ -142,6 +157,13 @@ hu:
copy: Másolás
select: Válaszd ki, mely adatokat szeretnéd duplikálni
title: Részvételi folyamat duplikálása
+ participatory_process_group_landing_page:
+ edit:
+ active_content_blocks: Aktív tartalom blokkok
+ inactive_content_blocks: Inaktív tartalomblokkok
+ participatory_process_group_landing_page_content_blocks:
+ edit:
+ update: Frissítés
participatory_process_groups:
destroy:
error: Hiba történt a részvételi folyamatcsoport törlése során.
@@ -266,6 +288,11 @@ hu:
update: "%{user_name} megváltoztatta %{resource_name} szerepét a(z) %{space_name} részvételi folyamatban"
events:
participatory_process:
+ role_assigned:
+ email_intro: Önt a(z) %{role} szerephez rendelték a következő részvételi folyamatban "%{resource_title}".
+ email_outro: Azért kapta ezt az értesítést, mert a(z) "%{resource_title}" részvételi folyamatban ön %{role}.
+ email_subject: 'Önt a(z) %{role} szerephez rendelték itt: "%{resource_title}".'
+ notification_title: 'A(z) %{role} szerephez rendelték a részvételi folyamatban: %{resource_title}.'
step_activated:
email_intro: 'A(z) %{resource_title} lépés aktiválva itt: %{participatory_space_title}. További részleteket itt találsz:'
email_outro: 'Ezt az értesítést azért kaptad, mert ezt követed: "%{participatory_space_title}". Az értesítéseket a következő linkre kattintva kapcsolhatod ki.'
@@ -289,10 +316,30 @@ hu:
description: A részvételi folyamatok száma ebben a szervezetben
object: részvételi folyamatok
title: Részvételi folyamatok
+ participatory_process:
+ show:
+ related_assemblies: Kapcsolódó gyűlések
participatory_process_groups:
content_blocks:
+ html_1:
+ name: Első HTML block
+ html_2:
+ name: Második HTML block
+ html_3:
+ name: Harmadik HTML block
+ metadata:
+ developer_group: Kezdeményezve
+ name: Metaadatok
+ participatory_scope: Miről születik döntés
+ participatory_structure: Hogyan születik döntés
+ target: Ki vesz részt benne
+ participatory_processes:
+ name: Részvételi folyamatok
stats:
name: Tevékenység
+ title:
+ meta_scope: Hatókör
+ name: Cím, leírás és hashtag
show:
title: Részvételi folyamat csoportok
participatory_process_steps:
@@ -304,9 +351,17 @@ hu:
content_blocks:
highlighted_processes:
max_results: A megjelenítendő elemek maximális száma
+ new_import:
+ accepted_types:
+ json: JSON
participatory_process_copies:
form:
slug_help: 'Az URL slugok a folyamatok linkjeinek generáláshoz szükségesek. Csak betűket, számokat és kötőjeleket használhatsz. Betűvel kell kezdened. Példa: %{url}'
+ participatory_process_groups:
+ form:
+ metadata: Metaadat
+ title: Általános információ
+ visibility: Láthatóság
participatory_process_imports:
form:
document_legend: Dokumentum hozzáadása
@@ -344,7 +399,12 @@ hu:
active_step: Aktív lépés
more_information: További információk
participate: Részvétel
+ participate_in: Részvétel a(z) %{resource_name} folyamatban
+ processes_button_title: Link a Folyamatok oldalra, ahol az összes folyamat látható
see_all_processes: Összes folyamat
+ participatory_process_steps:
+ index:
+ back_to_process: Vissza a folyamatok oldalára
participatory_processes:
filters:
counters:
@@ -372,8 +432,12 @@ hu:
see: Lásd
index:
loading: Eredmények betöltése...
+ show:
+ title: Erről a folyamatról
show:
area: Terület
+ belongs_to_group: Ide tartozik ez a folyamat
+ dates: Dátumok
developer_group: Kezdeményező csoport
end_date: Befejezés dátuma
local_area: Szervezet területe
@@ -385,11 +449,14 @@ hu:
start_date: Kezdő dátum
target: Ki részt vesz
unspecified: Nem meghatározott
+ statistics:
+ processes_count: Folyamatok
layouts:
decidim:
participatory_process_groups:
participatory_process_group:
browse: Böngészés
+ browse_resource: '%{resource_name} folyamatcsoport böngészése'
processes_count: 'Folyamatok:'
participatory_process_widgets:
show:
@@ -401,11 +468,17 @@ hu:
participatory_process:
active_step: 'Aktuális lépés:'
more_info: Több információ
+ more_info_about: További információ a(z) %{resource_name} folyamatról
take_part: Vegyél részt
+ take_part_in: Részvétel a(z) %{resource_name} folyamatban
promoted_process:
active_step: 'Aktuális lépés:'
more_info: További információ
+ more_info_about: További információ a(z) %{resource_name} folyamatról
take_part: Vegyél részt
+ take_part_in: Részvétel a(z) %{resource_name} folyamatban
+ promoted_process_group:
+ more_info: Több információ
process_header_steps:
step: '%{current}. lépés ennyiből: %{total}'
view_steps: Lépések megtekintése
diff --git a/decidim-participatory_processes/config/locales/lo-LA.yml b/decidim-participatory_processes/config/locales/lo-LA.yml
new file mode 100644
index 0000000000000..27a02bfece429
--- /dev/null
+++ b/decidim-participatory_processes/config/locales/lo-LA.yml
@@ -0,0 +1 @@
+lo:
diff --git a/decidim-participatory_processes/config/locales/lt.yml b/decidim-participatory_processes/config/locales/lt.yml
index 6c5cb837ac8c1..05f6e5ff0ae52 100644
--- a/decidim-participatory_processes/config/locales/lt.yml
+++ b/decidim-participatory_processes/config/locales/lt.yml
@@ -1 +1,505 @@
lt:
+ activemodel:
+ attributes:
+ participatory_process:
+ announcement: Pranešimas
+ area_id: Aplinka
+ banner_image: Reklamjuostės paveikslėlis
+ copy_categories: Kopijuoti kategorijas
+ copy_components: Kopijuoti komponentus
+ copy_steps: Kopijuoti veiksmus
+ decidim_area_id: Aplinka
+ description: Aprašymas
+ developer_group: Rėmėjų grupė
+ domain: Domenas
+ end_date: Pabaigos data
+ hashtag: Grotažymė
+ hero_image: Pradžios paveikslėlis
+ local_area: Organizacijos aplinka
+ meta_scope: Srities metaduomenys
+ participatory_process_group_id: Procesų grupė
+ participatory_scope: Kas nuspręsta
+ participatory_structure: Kaip nuspręsta
+ promoted: Paaukštintas/a
+ published_at: Publikuota
+ related_process_ids: Susiję procesai
+ scope_id: Apimtis
+ scope_type_max_depth_id: Srities filtro gylis
+ scopes_enabled: Sritys įjungtos
+ short_description: Trumpas aprašymas
+ show_metrics: Rodyti metriką
+ show_statistics: Rodyti statistiką
+ slug: URL priedas
+ start_date: Pradžios data
+ subtitle: Paantraštė
+ target: Kas dalyvauja
+ title: Pavadinimas
+ weight: Vieta eilėje
+ participatory_process_group:
+ description: Aprašymas
+ developer_group: Rėmėjų grupė
+ group_url: Tinklalapis
+ hashtag: Grotažymė
+ hero_image: Paveikslėlis
+ local_area: Organizacijos aplinka
+ meta_scope: Srities metaduomenys
+ participatory_process_ids: Susiję procesai
+ participatory_scope: Kas nuspręsta
+ participatory_structure: Kaip nuspręsta
+ target: Kas dalyvauja
+ title: Pavadinimas
+ participatory_process_step:
+ cta_path: Mygtuko „Raginti imtis veiksmų“ kelias
+ cta_text: Mygtuko „Raginti imtis veiksmų“ tekstas
+ description: Aprašymas
+ end_date: Pabaigos data
+ short_description: Trumpas aprašymas
+ start_date: Pradžios data
+ title: Pavadinimas
+ participatory_process_user_role:
+ email: El. paštas
+ name: Vardas
+ role: Rolė
+ errors:
+ models:
+ participatory_process:
+ attributes:
+ document:
+ invalid_document_type: 'Netinkamas dokumento tipas. Priimtini formatai: %{valid_mime_types}'
+ models:
+ decidim/participatory_process_step_activated_event: Etapas aktyvuotas
+ decidim/participatory_process_step_changed_event: Eatapas pakeistas
+ activerecord:
+ models:
+ decidim/participatory_process:
+ one: Dalyvaujamasis procesas
+ few: Dalyvaujamieji procesai
+ many: Dalyvaujamieji procesai
+ other: Dalyvaujamieji procesai
+ decidim/participatory_process_group:
+ one: Dalyvaujamojo proceso grupė
+ few: Dalyvaujamojo proceso grupės
+ many: Dalyvaujamojo proceso grupės
+ other: Dalyvaujamojo proceso grupės
+ decidim/participatory_process_step:
+ one: Etapas
+ few: Etapai
+ many: Etapai
+ other: Etapai
+ decidim:
+ admin:
+ actions:
+ activate: Aktyvuoti
+ configure: Konfigūruoti
+ confirm_destroy: Patvirtinti ištrynimą
+ destroy: Ištrinti
+ duplicate: Sukurti kopiją
+ edit: Redaguoti
+ filter:
+ all_processes: Rodyti visus procesus
+ process_groups: Procesų grupės
+ import_process: Importuoti
+ new_process: Naujas procesas
+ new_process_group: Nauja procesų grupė
+ new_process_step: Naujas etapas
+ new_process_user_role: Naujas proceso administratorius
+ preview: Peržiūra
+ publish: Publikuoti
+ resend_invitation: Persiųsti pakvietimą
+ unpublish: Depublikuoti
+ menu:
+ participatory_process_groups: Procesų grupės
+ participatory_process_groups_submenu:
+ info: Informacija
+ landing_page: Pagrindinis puslapis
+ participatory_processes: Procesai
+ participatory_processes_submenu:
+ attachment_collections: Aplankai
+ attachment_files: Dokumentai
+ attachments: Priedai
+ categories: Kategorijos
+ components: Komponentai
+ info: Informacija
+ moderations: Moderavimai
+ private_users: Privatūs dalyviai
+ process_admins: Proceso administratoriai
+ steps: Etapai
+ models:
+ participatory_process:
+ fields:
+ created_at: Sukurta
+ private: Privatu
+ promoted: Paryškinta
+ published: Paskelbta
+ title: Pavadinimas
+ name: Dalyvaujamasis procesas
+ participatory_process_group:
+ fields:
+ title: Pavadinimas
+ name: Procesų grupė
+ participatory_process_step:
+ fields:
+ end_date: Pabaigos data
+ start_date: Pradžios data
+ title: Pavadinimas
+ name: Dalyvaujamojo proceso etapas
+ participatory_process_user_role:
+ fields:
+ email: El. paštas
+ name: Vardas
+ role: Rolė
+ name: Dalyvaujamojo proceso administratorius
+ roles:
+ admin: Administratorius
+ collaborator: Bendraautorius
+ moderator: Moderatorius
+ valuator: Vertintojas
+ user:
+ fields:
+ invitation_accepted_at: Kvietimas priimtas
+ invitation_sent_at: Kvietimas išsiųstas
+ participatory_process_copies:
+ new:
+ copy: Kopijuoti
+ select: Pasirinkite, kuriuos duomenis norėtumėte dubliuoti
+ title: Dubliuoti dalyvaujamąjį procesą
+ participatory_process_group_landing_page:
+ edit:
+ active_content_blocks: Aktyvūs turinio blokai
+ inactive_content_blocks: Neaktyvūs turinio blokai
+ participatory_process_group_landing_page_content_blocks:
+ edit:
+ update: Atnaujinti
+ participatory_process_groups:
+ destroy:
+ error: Naikinant Dalyvaujamojo proceso grupę įvyko klaida.
+ success: Dalyvaujamojo proceso grupė pašalinta.
+ edit:
+ title: Keisti procesų grupę
+ update: Atnaujinti
+ new:
+ create: Sukurti
+ title: Nauja procesų grupė
+ update:
+ error: Atnaujinant šio dalyvaujamojo proceso grupę iškilo problema.
+ success: Dalyvaujamojo proceso grupė atnaujinta.
+ participatory_process_imports:
+ create:
+ error: Importuojant šį dalyvaujamąjį procesą iškilo problema.
+ success: Dalyvaujamasis procesas importuotas.
+ new:
+ import: Importuoti
+ select: Pasirinkite, kuriuos duomenis norėtumėte importuoti
+ title: Importuoti dalyvaujamąjį procesą
+ participatory_process_publications:
+ create:
+ error: Skelbiant šį dalyvaujamąjį procesą iškilo problema.
+ success: Dalyvaujamasis procesas paskelbtas.
+ destroy:
+ error: Naikinant šio dalyvaujamojo proceso skelbimą iškilo problema.
+ success: Dalyvaujamojo proceso skelbimas pašalintas.
+ participatory_process_step_activations:
+ create:
+ error: Aktyvuojant šio dalyvaujamojo proceso etapą iškilo problema.
+ success: Dalyvaujamojo proceso etapas aktyvuotas.
+ participatory_process_steps:
+ create:
+ error: Kuriant naują dalyvaujamojo proceso etapą iškilo problema.
+ success: Dalyvaujamojo proceso etapas sukurtas.
+ default_title: Įžanga
+ destroy:
+ error:
+ active_step: Negalima pašalinti aktyviojo etapo.
+ last_step: Negalima pašalinti proceso paskutinio etapo.
+ success: Dalyvaujamojo proceso etapas pašalintas.
+ edit:
+ title: Redaguoti dalyvaujamojo proceso etapą
+ update: Atnaujinti
+ index:
+ steps_title: Etapai
+ new:
+ create: Sukurti
+ title: Naujas dalyvaujamojo proceso etapas
+ ordering:
+ error: Pertvarkant šiuos dalyvaujamojo proceso etapus iškilo problema.
+ update:
+ error: Atnaujinant šio dalyvaujamojo proceso etapą iškilo problema.
+ success: Dalyvaujamasis etapas atnaujintas.
+ participatory_process_user_roles:
+ create:
+ error: Pridedant dalyvį prie dalyvaujamojo proceso iškilo problema.
+ success: Administratorius sėkmingai pridėtas prie šio dalyvaujamojo proceso.
+ destroy:
+ success: Šio dalyvaujamojo proceso administratorius pašalintas.
+ edit:
+ title: Atnaujinti dalyvaujamojo proceso administratorių
+ update: Atnaujinti
+ index:
+ process_admins_title: Dalyvaujamojo proceso administratoriai
+ new:
+ create: Sukurti
+ title: Naujas dalyvaujamojo proceso administratorius
+ update:
+ error: Atnaujinant šio dalyvaujamojo proceso administratorių iškilo problema.
+ success: Šio dalyvaujamojo proceso administratorius atnaujintas.
+ participatory_processes:
+ create:
+ error: Kuriant naują dalyvaujamąjį procesą iškilo problema.
+ success: Dalyvaujamasis procesas sukurtas. Dabar konfiguruokite jo etapus.
+ edit:
+ update: Atnaujinti
+ index:
+ not_published: Nepaskelbta
+ private: Privatu
+ public: Vieša
+ published: Paskelbta
+ new:
+ create: Sukurti
+ title: Naujas dalyvaujamasis procesas
+ update:
+ error: Atnaujinant šį dalyvaujamąjį procesą iškilo problema.
+ success: Dalyvaujamasis procesas atnaujintas.
+ participatory_processes_copies:
+ create:
+ error: Dubliuojant šį dalyvaujamąjį procesą iškilo problema.
+ success: Dalyvaujamasis procesas dubliuotas.
+ participatory_processes_group:
+ create:
+ error: Kuriant naują dalyvaujamojo proceso grupę iškilo problema.
+ success: Dalyvaujamojo proceso grupė sukurta.
+ titles:
+ participatory_process_groups: Dalyvaujamojo proceso grupės
+ participatory_processes: Dalyvaujamieji procesai
+ users:
+ resend_invitation:
+ error: Dar kartą siunčiant šį kvietimą iškilo problema.
+ success: Kvietimas išsiųstas iš naujo.
+ admin_log:
+ participatory_process:
+ create: "%{user_name} sukūrė %{resource_name} dalyvaujamąjį procesą"
+ publish: "%{user_name} paskelbė %{resource_name} dalyvaujamąjį procesą"
+ unpublish: "%{user_name} panaikino %{resource_name} dalyvaujamojo proceso skelbimą"
+ update: "%{user_name} atnaujino %{resource_name} dalyvaujamąjį procesą"
+ participatory_process_group:
+ create: "%{user_name} sukūrė %{resource_name} dalyvaujamojo proceso grupę"
+ update: "%{user_name} atnaujino %{resource_name} dalyvaujamojo proceso grupę"
+ participatory_process_step:
+ activate: "%{user_name} aktyvavo %{space_name} dalyvaujamojo proceso %{resource_name} etapą"
+ create: "%{user_name} sukūrė %{space_name} dalyvaujamojo proceso %{resource_name} etapą"
+ delete: "%{user_name} pašalino %{space_name} dalyvaujamojo proceso %{resource_name} etapą"
+ update: "%{user_name} atnaujino %{space_name} dalyvaujamojo proceso %{resource_name} etapą"
+ participatory_process_user_role:
+ create: "%{user_name} pakvietė %{resource_name} dalyvį į %{space_name} dalyvaujamąjį procesą"
+ delete: "%{user_name} pašalino %{resource_name} dalyvį iš %{space_name} dalyvaujamojo proceso"
+ update: "%{user_name} pakeitė %{resource_name} dalyvio vaidmenį %{space_name} dalyvaujamajame procese"
+ events:
+ participatory_process:
+ role_assigned:
+ email_intro: Jūs paskirtas "%{resource_title}“ dalyvaujamojo proceso %{role}.
+ email_outro: Šį pranešimą gavote dėl to, kad esate "%{resource_title}" dalyvaujamojo proceso %{role}.
+ email_subject: Jūs paskirtas „%{resource_title}“ %{role}.
+ notification_title: Jūs paskirtas %{resource_title} dalyvaujamojo proceso %{role}.
+ step_activated:
+ email_intro: '%{participatory_space_title} %{resource_title} etapas dabar aktyvus. Jį galite pamatyti šiame puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad sekate %{participatory_space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą.
+ email_subject: '%{participatory_space_title} atnaujinimas'
+ notification_title: '%{resource_title} etapas dabar įjungtas %{participatory_space_title}'
+ step_changed:
+ email_intro: '%{participatory_space_title} %{resource_title} etapo datos buvo atnaujintos. Tai galite pamatyti šiame puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad sekate %{participatory_space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą.
+ email_subject: '%{participatory_space_title} atnaujinimas'
+ notification_title: %{participatory_space_title}%{resource_title} etapo datos buvo atnaujintos.
+ help:
+ participatory_spaces:
+ participatory_processes:
+ contextual: "
dalyvaujamasis procesas – dalyvaujamųjų veiklų seka (pvz., visų pirma surengiama apklausa, tada pateikiami pasiūlymai, jie aptariami tiesioginiuose susitikimuose arba vaizdo konferencijose ir galiausiai nustatomi pasiūlymų prioritetai). Šios veiklos tikslas – nustatyti ir priimti sprendimus konkrečia tema.
Dalyvaujamojo proceso pavyzdžiai: komiteto narių rinkimo procesas (pirmiausia pateikiamos kandidatūros, po to diskutuojama ir galiausiai pasirenkamas kandidatas), dalyvaujamojo biudžeto nustatymas (teikiami pasiūlymai, jie vertinami ekonomiškai ir dėl jų balsuojama remiantis turimomis lėšomis), strateginio planavimo procesas, bendras reglamento ar standarto rengimas, miesto erdvės planavimas arba viešosios politikos plano rengimas.
\n"
+ page: "
dalyvaujamasis procesas – dalyvaujamųjų veiklų seka (pvz., visų pirma surengiama apklausa, tada pateikiami pasiūlymai, jie aptariami tiesioginiuose susitikimuose arba vaizdo konferencijose ir galiausiai nustatomi pasiūlymų prioritetai). Šios veiklos tikslas – nustatyti ir priimti sprendimus konkrečia tema.
Dalyvaujamojo proceso pavyzdžiai: komiteto narių rinkimo procesas (pirmiausia pateikiamos kandidatūros, po to diskutuojama ir galiausiai pasirenkamas kandidatas), dalyvaujamojo biudžeto nustatymas (teikiami pasiūlymai, jie vertinami ekonomiškai ir dėl jų balsuojama remiantis turimomis lėšomis), strateginio planavimo procesas, bendras reglamento ar standarto rengimas, miesto erdvės planavimas arba viešosios politikos plano rengimas.
\n"
+ title: Kas yra dalyvaujamasis procesas?
+ menu:
+ processes: Procesai
+ metrics:
+ participatory_processes:
+ description: Dalyvaujamųjų procesų skaičius šioje organizacijoje
+ object: dalyvaujamieji procesai
+ title: Dalyvaujamieji procesai
+ participatory_process:
+ show:
+ related_assemblies: Susijusios asamblėjos
+ participatory_process_groups:
+ content_blocks:
+ html_1:
+ name: Pirmas HTML blokas
+ html_2:
+ name: Antras HTML blokas
+ html_3:
+ name: Trečias HTML blokas
+ metadata:
+ developer_group: Paaukštintas/a
+ name: Metaduomenys
+ participatory_scope: Kas nuspręsta
+ participatory_structure: Kaip nuspręsta
+ target: Kas dalyvauja
+ participatory_processes:
+ name: Dalyvaujamieji procesai
+ stats:
+ name: Statistika
+ title:
+ meta_scope: Apimtis
+ name: Pavadinimas, aprašymas ir grotažymė
+ participatory_processes:
+ one: 1 procesas
+ few: "%{count} procesai"
+ many: "%{count} procesų"
+ other: "%{count} procesai"
+ show:
+ title: Dalyvaujamojo proceso grupės
+ participatory_process_steps:
+ index:
+ process_steps: Proceso etapai
+ title: Dalyvaujamojo proceso etapai
+ participatory_processes:
+ admin:
+ content_blocks:
+ highlighted_processes:
+ max_results: Didžiausias rodomų elementų skaičius
+ new_import:
+ accepted_types:
+ json: JSON
+ participatory_process_copies:
+ form:
+ slug_help: 'Nuorodos priedėliai nukreipia į šią konkrečią asamblėją. Priedėliai sudaromi iš raidžių, skaičių, brukšnių ir turi prasidėti nuo raidės. Pavyzdys: %{url}'
+ participatory_process_groups:
+ form:
+ metadata: Metaduomenys
+ title: Bendroji informacija
+ visibility: Matomumas
+ participatory_process_imports:
+ form:
+ document_legend: Pridėti dokumentą
+ slug_help: 'Nuorodos priedėliai nukreipia į šią konkrečią asamblėją. Priedėliai sudaromi iš raidžių, skaičių, brukšnių ir turi prasidėti nuo raidės. Pavyzdys: %{url}'
+ participatory_process_steps:
+ form:
+ cta_path_help: 'Naudokite dalines, ne pilnas, nuorodas. Galima naudoti raides, skaičius, brūkšnius ir pasviruosius brūkšnius, tačiau pradėti būtina raide. Pavyzdys: %{url}'
+ cta_text_help: Jei nenustatyta, mygtukas nebus matomas.
+ participatory_processes:
+ form:
+ announcement_help: Čia įrašytas tekstas naudotojui bus rodomas iš karto po informacijos apie procesą.
+ duration: Trukmė
+ filters: Filtrai
+ images: Paveikslėliai
+ metadata: Metaduomenys
+ other: Kita
+ related_processes: Susiję procesai
+ scope_type_max_depth_help: Riboti srities filtro dydį; Filtras parodys nuo bendros iki pasirinktos apimties tipo.
+ select_an_area: Pasirinkti aplinką
+ select_process_group: Pasirinkti procesų grupę
+ slug_help: 'Nuorodos priedėliai nukreipia į šią konkretų procesą. Priedėliai sudaromi iš raidžių, skaičių, brukšnių ir turi prasidėti nuo raidės. Pavyzdys: %{url}'
+ title: Bendroji informacija
+ visbility: Matomumas
+ content_blocks:
+ highlighted_processes:
+ name: Paryškinti procesai
+ index:
+ title: Dalyvaujamieji procesai
+ last_activity:
+ new_participatory_process: Naujas dalyvaujamasis procesas
+ pages:
+ home:
+ highlighted_processes:
+ active_processes: Aktyvūs procesai
+ active_step: Aktyvusis etapas
+ more_information: Daugiau informacijos
+ participate: Dalyvauti
+ participate_in: Dalyvauti procese %{resource_name}
+ processes_button_title: Nuoroda į puslapį „Procesai“, kuriame pateikiami visi procesai
+ see_all_processes: Žiūrėti visus procesus
+ participatory_process_steps:
+ index:
+ back_to_process: Grįžti į procesų puslapį
+ participatory_processes:
+ filters:
+ counters:
+ active:
+ one: 1 aktyvus procesas
+ few: "%{count} aktyvūs procesai"
+ many: "%{count} aktyvūs procesai"
+ other: "%{count} aktyvūs procesai"
+ all:
+ one: 1 procesas
+ few: "%{count} procesai"
+ many: "%{count} procesai"
+ other: "%{count} procesai"
+ past:
+ one: 1 buvęs procesas
+ few: "%{count} buvę procesai"
+ many: "%{count} buvę procesai"
+ other: "%{count} buvę procesai"
+ upcoming:
+ one: 1 būsimas procesas
+ few: "%{count} būsimi procesai"
+ many: "%{count} būsimi procesai"
+ other: "%{count} būsimi procesai"
+ explanations:
+ no_active: Aktyvių procesų nėra
+ no_active_nor_upcoming: Nei aktyvių, nei būsimų procesų nėra
+ no_active_nor_upcoming_callout: Nei aktyvių, nei būsimų procesų nėra. Čia pateikiamas buvusių procesų sąrašas.
+ names:
+ active: Aktyvūs
+ all: Visi
+ past: Praėję
+ upcoming: Artėjantys
+ see: Žiūrėti
+ index:
+ loading: Įkeliami rezultatai...
+ show:
+ title: Apie šį procesą
+ show:
+ area: Aplinka
+ belongs_to_group: Šis procesas priklauso
+ dates: Datos
+ developer_group: Rėmėjų grupė
+ end_date: Pabaigos data
+ local_area: Organizacijos vietovė
+ participatory_scope: Kas nuspręsta
+ participatory_structure: Kaip nuspręsta
+ private_space: Tai yra uždaras procesas
+ related_processes: Susiję procesai
+ scope: Apimtis
+ start_date: Pradžios data
+ target: Kas dalyvauja
+ unspecified: Nepatikslinta
+ statistics:
+ processes_count: Procesai
+ layouts:
+ decidim:
+ participatory_process_groups:
+ participatory_process_group:
+ browse: Naršyti
+ browse_resource: Naršyti proceso grupėje %{resource_name}
+ processes_count: 'Procesai:'
+ participatory_process_widgets:
+ show:
+ active_step: Aktyvusis etapas
+ take_part: Dalyvaukite
+ participatory_processes:
+ index:
+ promoted_processes: Paryškinti procesai
+ participatory_process:
+ active_step: 'Dabartinis etapas:'
+ more_info: Daugiau informacijos
+ more_info_about: Daugiau informacijos apie procesą %{resource_name}
+ take_part: Dalyvaukite
+ take_part_in: Dalyvaukite procese %{resource_name}
+ promoted_process:
+ active_step: 'Dabartinis etapas:'
+ more_info: Daugiau informacijos
+ more_info_about: Daugiau informacijos apie procesą %{resource_name}
+ take_part: Dalyvaukite
+ take_part_in: Dalyvaukite procese %{resource_name}
+ promoted_process_group:
+ more_info: Daugiau informacijos
+ process_header_steps:
+ step: '%{current} etapas iš %{total}'
+ view_steps: Proceso etapai
+ process_navigation:
+ process_menu_item: Procesas
diff --git a/decidim-participatory_processes/config/locales/oc-FR.yml b/decidim-participatory_processes/config/locales/oc-FR.yml
new file mode 100644
index 0000000000000..325b348894124
--- /dev/null
+++ b/decidim-participatory_processes/config/locales/oc-FR.yml
@@ -0,0 +1 @@
+oc:
diff --git a/decidim-participatory_processes/lib/decidim/participatory_processes/test/factories.rb b/decidim-participatory_processes/lib/decidim/participatory_processes/test/factories.rb
index 78c4bc3a6ab19..65cc785e67bf1 100644
--- a/decidim-participatory_processes/lib/decidim/participatory_processes/test/factories.rb
+++ b/decidim-participatory_processes/lib/decidim/participatory_processes/test/factories.rb
@@ -134,6 +134,7 @@
end
organization { participatory_process.organization }
+ admin_terms_accepted_at { Time.current }
after(:create) do |user, evaluator|
create :participatory_process_user_role,
diff --git a/decidim-participatory_processes/lib/decidim/participatory_processes/version.rb b/decidim-participatory_processes/lib/decidim/participatory_processes/version.rb
index c6e1e67d50991..c6d9857c53f7d 100644
--- a/decidim-participatory_processes/lib/decidim/participatory_processes/version.rb
+++ b/decidim-participatory_processes/lib/decidim/participatory_processes/version.rb
@@ -4,7 +4,7 @@ module Decidim
# This holds the decidim-participatory_processes version.
module ParticipatoryProcesses
def self.version
- "0.26.2"
+ "0.26.4"
end
end
end
diff --git a/decidim-participatory_processes/spec/cells/decidim/participatory_process_groups/content_blocks/title_cell_spec.rb b/decidim-participatory_processes/spec/cells/decidim/participatory_process_groups/content_blocks/title_cell_spec.rb
index 532bad0162a9f..fd584bff7717a 100644
--- a/decidim-participatory_processes/spec/cells/decidim/participatory_process_groups/content_blocks/title_cell_spec.rb
+++ b/decidim-participatory_processes/spec/cells/decidim/participatory_process_groups/content_blocks/title_cell_spec.rb
@@ -69,5 +69,14 @@
expect(subject).to have_no_selector("svg.icon--globe")
end
end
+
+ context "when there are unpublished processes in the group" do
+ let!(:published_processes) { create_list(:participatory_process, 2, :published, organization: organization, participatory_process_group: participatory_process_group) }
+ let!(:unpublished_processes) { create_list(:participatory_process, 2, :unpublished, organization: organization, participatory_process_group: participatory_process_group) }
+
+ it "shows correct participatory processes count" do
+ expect(subject).to have_content("2 processes")
+ end
+ end
end
end
diff --git a/decidim-participatory_processes/spec/commands/decidim/participatory_processes/admin/import_participatory_process_spec.rb b/decidim-participatory_processes/spec/commands/decidim/participatory_processes/admin/import_participatory_process_spec.rb
index 516415dfe1a4e..94c88b325978e 100644
--- a/decidim-participatory_processes/spec/commands/decidim/participatory_processes/admin/import_participatory_process_spec.rb
+++ b/decidim-participatory_processes/spec/commands/decidim/participatory_processes/admin/import_participatory_process_spec.rb
@@ -4,6 +4,8 @@
module Decidim::ParticipatoryProcesses
describe Admin::ImportParticipatoryProcess do
+ include Decidim::ComponentTestHelpers
+
subject { described_class.new(form) }
let(:organization) { create :organization }
@@ -38,7 +40,14 @@ module Decidim::ParticipatoryProcesses
let(:import_attachments) { false }
let(:import_categories) { false }
+ def stub_calls_to_external_files
+ stub_get_request_with_format("http://localhost:3000/uploads/decidim/participatory_process/hero_image/1/city.jpeg", "image/jpeg")
+ stub_get_request_with_format("http://localhost:3000/uploads/decidim/participatory_process/banner_image/1/city2.jpeg", "image/jpeg")
+ end
+
shared_examples "import participatory_process succeeds" do
+ before { stub_calls_to_external_files }
+
it "broadcasts ok and create the process" do
expect { subject.call }.to(
broadcast(:ok) &&
@@ -80,6 +89,7 @@ module Decidim::ParticipatoryProcesses
let(:import_components) { true }
it "imports a participatory process and the steps" do
+ stub_calls_to_external_files
expect { subject.call }.to change { Decidim::Component.count }.by(3)
expect(Decidim::Component.where(participatory_space_id: Decidim::ParticipatoryProcess.last).count).to eq 3
end
@@ -95,6 +105,7 @@ module Decidim::ParticipatoryProcesses
let(:import_steps) { true }
it "imports a participatory process and the steps" do
+ stub_calls_to_external_files
expect { subject.call }.to change { Decidim::ParticipatoryProcessStep.count }.by(1)
expect(Decidim::ParticipatoryProcessStep.distinct.pluck(:decidim_participatory_process_id).count).to eq 1
@@ -115,6 +126,8 @@ module Decidim::ParticipatoryProcesses
let(:import_categories) { true }
it "imports a participatory process and the categories" do
+ stub_calls_to_external_files
+
expect { subject.call }.to change { Decidim::Category.count }.by(8)
expect(Decidim::Category.unscoped.distinct.pluck(:decidim_participatory_space_id).count).to eq 1
@@ -139,6 +152,8 @@ module Decidim::ParticipatoryProcesses
context "when attachment collections exists" do
it "imports a participatory process and the collections" do
+ stub_calls_to_external_files
+
expect { subject.call }.to change { Decidim::AttachmentCollection.count }.by(1)
imported_participatory_process_collection = Decidim::AttachmentCollection.first
expect(imported_participatory_process_collection.name).to eq("ca" => "assumenda", "en" => "cumque", "es" => "rem")
diff --git a/decidim-participatory_processes/spec/presenters/decidim/participatory_processes/participatory_process_stats_presenter_spec.rb b/decidim-participatory_processes/spec/presenters/decidim/participatory_processes/participatory_process_stats_presenter_spec.rb
index 147c69490d93f..bed819e8cc60f 100644
--- a/decidim-participatory_processes/spec/presenters/decidim/participatory_processes/participatory_process_stats_presenter_spec.rb
+++ b/decidim-participatory_processes/spec/presenters/decidim/participatory_processes/participatory_process_stats_presenter_spec.rb
@@ -51,7 +51,7 @@ module Decidim
end
end
- describe "comments count stat" do
+ describe "count stats from multiple components" do
let(:manifest_proposals) do
Decidim::ComponentManifest.new.tap do |manifest|
manifest.name = "proposals"
@@ -66,14 +66,17 @@ module Decidim
before do
manifest_meetings.stats.register :comments_count, tag: :comments, &proc { 10 }
+ manifest_meetings.stats.register :endorsements_count, tag: :endorsements, priority: Decidim::StatsRegistry::MEDIUM_PRIORITY, &proc { 5 }
manifest_proposals.stats.register :comments_count, tag: :comments, &proc { 5 }
+ manifest_proposals.stats.register :endorsements_count, tag: :endorsements, priority: Decidim::StatsRegistry::MEDIUM_PRIORITY, &proc { 3 }
I18n.backend.store_translations(
:en,
decidim: {
participatory_processes: {
statistics: {
- comments_count: "Comments"
+ comments_count: "Comments",
+ endorsements_count: "Endorsements"
}
}
}
@@ -82,16 +85,20 @@ module Decidim
allow(Decidim).to receive(:component_manifests).and_return([manifest_meetings, manifest_proposals])
end
- it "return the sum of all the comments from proposals and meetings" do
- data = subject.collection.first
+ it "returns the sum of all the comments from proposals and meetings" do
+ data = subject.collection.find { |stat| stat[:stat_title] == :comments_count }
expect(data).not_to be_nil
- expect(data[:stat_title]).to eq :comments_count
expect(data[:stat_number]).to eq 15
end
- it "contains only one stat" do
- data = subject.collection.second
- expect(data).to be_nil
+ it "returns the sum of all the endorsements from proposals and meetings" do
+ data = subject.collection.find { |stat| stat[:stat_title] == :endorsements_count }
+ expect(data).not_to be_nil
+ expect(data[:stat_number]).to eq 8
+ end
+
+ it "contains only two stats" do
+ expect(subject.collection.count).to be(2)
end
end
end
diff --git a/decidim-participatory_processes/spec/serializers/decidim/participatory_processes/participatory_process_importer_spec.rb b/decidim-participatory_processes/spec/serializers/decidim/participatory_processes/participatory_process_importer_spec.rb
new file mode 100644
index 0000000000000..e0ddfae1b103d
--- /dev/null
+++ b/decidim-participatory_processes/spec/serializers/decidim/participatory_processes/participatory_process_importer_spec.rb
@@ -0,0 +1,99 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+module Decidim::ParticipatoryProcesses
+ describe ParticipatoryProcessImporter do
+ subject { importer }
+
+ let(:organization) { create(:organization) }
+ let(:user) { create(:user, :confirmed, :admin, organization: organization) }
+ let(:importer) { described_class.new(organization, user) }
+
+ describe "#import" do
+ subject { importer.import(import_data, user, options) }
+
+ let(:options) do
+ {
+ title: generate_localized_title,
+ slug: "imported"
+ }
+ end
+ let(:import_data) do
+ {
+ "subtitle" => Decidim::Faker::Localized.sentence(word_count: 3),
+ "hashtag" => "hashtag",
+ "description" => Decidim::Faker::Localized.wrapped("
- <%= link_to :back do %>
+ <%= link_to collaborative_drafts_path do %>
<%= icon "chevron-left", class: "icon--small", role: "img", "aria-hidden": true %>
<%= t("back_from_collaborative_draft", scope: "decidim.proposals.collaborative_drafts.wizard_aside").html_safe %>
<% end %>
diff --git a/decidim-proposals/config/locales/ar.yml b/decidim-proposals/config/locales/ar.yml
index 9eeb187b3003c..ef65cfcc61052 100644
--- a/decidim-proposals/config/locales/ar.yml
+++ b/decidim-proposals/config/locales/ar.yml
@@ -206,7 +206,6 @@ ar:
affected_user:
email_intro: 'تم رفض اقتراحك "%{resource_title}". يمكنك قراءة الإجابة في هذه الصفحة:'
email_outro: لقد تلقيت هذا الإشعار لأنك مؤلف "%{resource_title}".
- email_subject: تم رفض اقتراحك
notification_title: تم رفض اقتراحك %{resource_title}.
proposal_update_category:
email_intro: 'قام المشرف بتحديث فئة اقتراحك "%{resource_title}" ، تحقق من ذلك في هذه الصفحة:'
@@ -476,7 +475,6 @@ ar:
many: "%{count} مسودات تعاونية"
other: "%{count} مسودات تعاونية"
create:
- error: كانت هناك مشكلة في إنشاء هذه المسودات التعاونية
success: تم إنشاء مشروع تعاوني بنجاح.
edit:
attachment_legend: "(اختياري) إضافة مرفق"
diff --git a/decidim-proposals/config/locales/ca.yml b/decidim-proposals/config/locales/ca.yml
index 384043a48ef43..52a3e98356e4d 100644
--- a/decidim-proposals/config/locales/ca.yml
+++ b/decidim-proposals/config/locales/ca.yml
@@ -213,6 +213,7 @@ ca:
endorsements_enabled: Adhesions habilitades
proposal_answering_enabled: Resposta a propostes activada
publish_answers_immediately: Publica les respostes a les propostes immediatament
+ publish_answers_immediately_help_html: 'Tingues present que si respons alguna proposta sense que això estigui habilitat, l''hauràs de publicar-les manualment seleccionant-les i fent servir l''acció de publicar. Per a més informació sobre el funcionament, consulta la pàgina de documentació de les respostes a les propostes.'
suggested_hashtags: Hashtags suggerits a les participants per a noves propostes
votes_blocked: Suports bloquejats
votes_enabled: Suports habilitats
@@ -302,6 +303,7 @@ ca:
email_outro: Has rebut aquesta notificació perquè estàs seguint "%{participatory_space_title}". Pots deixar de rebre notificacions seguint l'enllaç anterior.
email_subject: Nova proposta "%{resource_title}" afegida a %{participatory_space_title}
notification_title: '%{author} ha afegit la proposta %{resource_title} a %{participatory_space_title}'
+ notification_title_official: S'ha afegit la proposta oficial %{resource_title} a %{participatory_space_title}
proposal_rejected:
affected_user:
email_intro: 'La teva proposta "%{resource_title}" ha estat rebutjada. Pots llegir la resposta en aquesta pàgina:'
@@ -400,8 +402,21 @@ ca:
proposals: Propostes
imports:
help:
- answers: 'El document d''importació ha tenir les columnes següents: id, estat (acceptada, en avaluació, rebutjada) resposta/es (en els diferents idiomes habilitats a la plataforma).'
- proposals: L'arxiu ha d'incloure els noms de columna title/ca i body/ca (o un altre idioma de preferència per exemple, title/es i body/es). També s'admeten les columnes scope/id i category/id.
+ answers: |
+ El document d'importació ha de contindre els següents noms de columna i en cas d'arxius CSV o Excel o noms de claus en el cas d'arxius JSON:
+
+
id: ID de la proposta a responder
+
state: Un d'aquests "acceptada", "en avaluació" o "rebutjada"
+
answer/en Resposta en idioma inglés. Això dependrà de la configuració d'idioma predeterminat a la teva plataforma.
+
+ proposals: |
+ El document ha de contindre els següents noms de columna en cas d'arxius CSV o Excel o noms de claus en el cas d'arxius JSON:
+
+
title/ca: Títol en català. Això dependrà de la configuració d'idioma predeterminat a la teva plataforma.
+
body/ca: Descripció en català. Això dependrà de la configuració d'idioma predeterminat a la teva plataforma.
+
scope/id: ID de l'Àmbit
+
category/id: ID de la Categoria
+
label:
answers: Importar respostes des d'un fitxer
proposals: Importar propostes des d'un fitxer
@@ -433,14 +448,14 @@ ca:
info_1: Les seccions següents s'han convertit a propostes. Ara pots revisar-les i ajustar-les abans de publicar.
publish_document: Publicar el document
save_draft: Desa l'esborrany
- title: PREVISUALITZAR EL TEXT PARTICIPATIU
+ title: Previsualitzar el text participatiu
new_import:
accepted_mime_types:
md: Markdown
odt: ODT
bottom_hint: "(Podràs previsualitzar i ordenar les seccions del document)"
document_legend: 'Afegeix un document de menys de 2 Mb, cadascuna de les seccions (fins a 3 nivells de profunditat) es convertiran a propostes. Els formats suportats són: %{valid_mime_types}'
- title: AFEGIR DOCUMENT
+ title: Afegir document
upload_document: Puja el document
publish:
invalid: No s'han pogut publicar propostes
@@ -634,7 +649,7 @@ ca:
one: "%{count} esborrany de col·laboració"
other: "%{count} esborrany de col·laboració"
create:
- error: S'ha produït un error en crear aquest esborrany col·laboratiu
+ error: S'ha produït un error en crear aquest esborrany col·laboratiu.
success: Esborrany col·laboratiu creat correctament.
edit:
attachment_legend: "(Opcional) Afegeix un fitxer adjunt"
diff --git a/decidim-proposals/config/locales/cs.yml b/decidim-proposals/config/locales/cs.yml
index 74b38d293e92f..b7de4de8efac9 100644
--- a/decidim-proposals/config/locales/cs.yml
+++ b/decidim-proposals/config/locales/cs.yml
@@ -15,14 +15,14 @@ cs:
address: Adresa
answer: Odpovědět
answered_at: Odpovězeno na
- automatic_hashtags: Hashtags se automaticky přidali
+ automatic_hashtags: Hashtagy automaticky přidány
body: Tělo
category_id: Kategorie
decidim_scope_id: Rozsah
has_address: Má adresu
scope_id: Oblast působnosti
state: Stav
- suggested_hashtags: Navrhované hashtags
+ suggested_hashtags: Navrhované hashtagy
title: Titul
user_group_id: Vytvořit návrh jako
proposal_answer:
@@ -148,12 +148,12 @@ cs:
amendments_wizard_help_text: Nápověda průvodce k Pozměňovacím návrhům
announcement: Oznámení
attachments_allowed: Povolit přílohy
- can_accumulate_supports_beyond_threshold: Mohou hromadit podpěry za prahem
+ can_accumulate_supports_beyond_threshold: Mohou hromadit podpory za prahem
collaborative_drafts_enabled: Společné koncepty povoleny
comments_enabled: Komentáře povoleny
comments_max_length: Maximální délka komentáře (ponechte 0 pro výchozí hodnotu)
default_sort_order: Výchozí řazení návrhu
- default_sort_order_help: Výchozí znamená, že pokud jsou podporované funkce povoleny, budou návrhy zobrazeny náhodně, a pokud jsou opory blokovány, pak budou seřazeny podle nejpodporovanější.
+ default_sort_order_help: Výchozí znamená, že pokud jsou podporované funkce povoleny, budou návrhy zobrazeny náhodně, a pokud jsou podpory blokovány, pak budou seřazeny podle nejpodporovanější.
default_sort_order_options:
default: Výchozí
most_commented: Nejvíce komentované
@@ -205,9 +205,9 @@ cs:
automatic_hashtags: Do všech návrhů byly přidány značky Hashtags
comments_blocked: Komentáře byly blokovány
creation_enabled: Účastníci mohou vytvářet návrhy
- creation_enabled_readonly: Toto nastavení je zakázáno, pokud aktivujete funkci účastnických textů. Chcete-li nahrát návrhy jako participativní text, klikněte na tlačítko Participatory Texts a postupujte podle pokynů.
+ creation_enabled_readonly: Toto nastavení je zakázáno, když aktivujete funkci Participativní texty. Chcete-li návrhy nahrát jako participativní text, klikněte na tlačítko Participativní texty a postupujte podle pokynů.
default_sort_order: Výchozí řazení návrhu
- default_sort_order_help: Výchozí znamená, že pokud jsou podporované funkce povoleny, budou návrhy zobrazeny náhodně, a pokud jsou opory blokovány, pak budou seřazeny podle nejpodporovanější.
+ default_sort_order_help: Ve výchozím nastavení to znamená, že pokud jsou podpory povoleny, budou návrhy zobrazeny náhodně seřazené, a pokud jsou podpory blokovány, budou seřazeny podle nejvíce podporovaných.
default_sort_order_options:
default: Výchozí
most_commented: Nejvíce komentované
@@ -221,6 +221,7 @@ cs:
endorsements_enabled: Schvalování povoleno
proposal_answering_enabled: Odpovídání návrhu je povoleno
publish_answers_immediately: Okamžitě publikovat odpovědi návrhu
+ publish_answers_immediately_help_html: 'Mějte na paměti, že pokud odpovíte na jakýkoli návrh bez tohoto povolení, budete je muset publikovat ručně jejich výběrem a použitím publikační akce. Více informací o tom, jak to funguje, naleznete na stránce odpovědi návrhů.'
suggested_hashtags: Hashtagy navržené uživatelům pro nové návrhy
votes_blocked: Hlasování bylo blokováno
votes_enabled: Hlasování povoleno
@@ -310,11 +311,12 @@ cs:
email_outro: Toto oznámení jste obdrželi, protože jste sledovali "%{participatory_space_title}". Můžete jej odhlásit od předchozího odkazu.
email_subject: Nový návrh "%{resource_title}" byl přidán k %{participatory_space_title}
notification_title: Návrh %{resource_title} byl přidán do %{participatory_space_title} uživatelem %{author}
+ notification_title_official: Oficiální návrh %{resource_title} byl přidán do %{participatory_space_title}
proposal_rejected:
affected_user:
email_intro: 'Váš návrh "%{resource_title}" byl zamítnut. Odpověď můžete číst na této stránce:'
email_outro: Toto oznámení jste obdrželi, protože jste autorem položky "%{resource_title}".
- email_subject: Váš návrh byl zamítnut
+ email_subject: Váš návrh byl odmítnut
notification_title: Váš návrh %{resource_title} byl zamítnut.
follower:
email_intro: 'Návrh "%{resource_title}" byl zamítnut. Odpověď můžete číst na této stránce:'
@@ -355,11 +357,11 @@ cs:
- Podpořte návrhy, které se vám líbí nebo které jsou zajímavé
description: Tento odznak je udělen při podpoře návrhů jiných lidí.
description_another: Tento uživatel podpořil %{score} návrhů.
- description_own: Podporili jste %{score} návrhů.
+ description_own: Podpořili jste %{score} návrhů.
name: Podpora návrhů
next_level_in: Poskytněte podporu %{score} dalších návrhů, abyste dosáhli další úrovně!
unearned_another: Tento uživatel zatím nepodporoval žádné návrhy.
- unearned_own: Podporili jste ještě žádné návrhy.
+ unearned_own: Zatím jste nepodpořili žádné návrhy.
proposals:
conditions:
- Zvolte participační prostor pro účast vašeho zájmu s povoleným podáním návrhů
@@ -407,9 +409,6 @@ cs:
proposal_comments: Komentáře
proposals: Návrhy
imports:
- help:
- answers: 'Importní dokument by měl obsahovat následující sloupce: id, state (accepted, evaluating, rejected), answer/cs (a další jazyky povolené pro organizaci).'
- proposals: Soubor musí mít názvy sloupců title/en a body/en (nebo jiné lokalizace, které dáváte. title/cs a body/cs). Podporovány jsou také sloupce pro scope/id a category/id.
label:
answers: Importovat odpovědi ze souboru
proposals: Importovat návrhy ze souboru
@@ -500,7 +499,7 @@ cs:
actions: Akce
assign_to_valuator: Přiřadit hodnotiteli
assign_to_valuator_button: Přiřadit
- cancel: zrušení
+ cancel: Zrušit
change_category: Změnit kategorii
change_scope: Změnit rozsah
merge: Sloučit do nového
@@ -630,7 +629,7 @@ cs:
error: Při publikování konceptu spolupráce došlo k chybám.
irreversible_action_modal:
body: Po zveřejnění návrhu jako návrhu návrh již nebude upravitelný. Návrh nepřijme nové autory ani příspěvky.
- cancel: zrušení
+ cancel: Zrušit
ok: Publikovat jako návrh
title: Následující akce je nevratná
success: Projekt spolupráce byl úspěšně zveřejněn jako návrh.
@@ -639,7 +638,7 @@ cs:
error: Došlo k chybě při uzavření návrhu spolupráce.
irreversible_action_modal:
body: Po uzavření konceptu již návrh nebude upravitelný. Návrh nepřijme nové autory nebo příspěvky.
- cancel: zrušení
+ cancel: Zrušit
ok: Vyjměte návrh spolupráce
title: Následující akce je nevratná
success: Kolaborativní návrh byl úspěšně zrušen.
@@ -650,7 +649,7 @@ cs:
many: "%{count} návrh spolupráce"
other: "%{count} návrh spolupráce"
create:
- error: Při vytváření tohoto konceptu spolupráce došlo k potížím
+ error: Při vytváření tohoto konceptu spolupráce došlo k chybě.
success: Projekt spolupráce byl úspěšně vytvořen.
edit:
attachment_legend: "(Volitelné) Přidání přílohy"
@@ -662,7 +661,7 @@ cs:
all: Vše
amendment: Změny
category: Kategorie
- open: otevřeno
+ open: Otevřeno
published: Publikováno
related_to: Související s
scope: Rozsah
@@ -707,7 +706,7 @@ cs:
few: a %{count} dalších lidí
many: a %{count} dalších lidí
other: a %{count} dalších lidí
- info-message: Jedná se o kolaborativní návrh k návrhu. To znamená, že můžete pomoci jejich autorům formovat návrh pomocí níže uvedené poznámky nebo je vylepšit přímo tím, že požádáte o přístup k jeho úpravám. Jakmile vám autoři udělí přístup, budete moci tento návrh provést.
+ info-message: Toto je kolaborativní návrh k návrhu. To znamená, že můžete pomoci jejich autorům formovat návrh pomocí níže uvedené poznámky nebo je vylepšit přímo tím, že požádáte o přístup k jeho úpravám. Jakmile vám autoři udělí přístup, budete moci tento návrh provést.
publish: Publikovat
publish_info: Publikujte tuto verzi konceptu nebo
published_proposal: zveřejněný návrh
@@ -716,7 +715,7 @@ cs:
version_history: viz historii verzí tohoto návrhu
withdraw: stáhnout návrh
states:
- open: otevřeno
+ open: Otevřeno
published: Publikováno
withdrawn: Staženo
update:
@@ -914,10 +913,10 @@ cs:
votes_blocked: Hlasování je zakázáno
votes_count:
count:
- one: HLASOVÁNÍ
- few: HLASOVÁNÍ
- many: HLASOVÁNÍ
- other: HLASOVÁNÍ
+ one: Podpora
+ few: Podpory
+ many: Podpor
+ other: Podpor
most_popular_proposal: Nejoblíbenější návrh
need_more_votes: Potřebujete více hlasů
voting_rules:
diff --git a/decidim-proposals/config/locales/de.yml b/decidim-proposals/config/locales/de.yml
index f212f2ae26184..96b023bc74d3e 100644
--- a/decidim-proposals/config/locales/de.yml
+++ b/decidim-proposals/config/locales/de.yml
@@ -57,6 +57,14 @@ de:
identical: UND Titel dürfen nicht identisch sein
title:
identical: Der UND-Körper kann nicht identisch sein
+ proposals_merge:
+ attributes:
+ base:
+ not_official: Sind nicht offiziell
+ proposals_split:
+ attributes:
+ base:
+ not_official: Sind nicht offiziell
models:
decidim/proposals/accepted_proposal_event: Vorschlag angenommen
decidim/proposals/admin/update_proposal_category_event: Vorschlagskategorie geändert
@@ -134,6 +142,16 @@ de:
collaborative_drafts_enabled: Kollaborative Entwürfe aktiviert
comments_enabled: Kommentare aktiviert
comments_max_length: Maximale Länge der Kommentare (0 für Standardwert)
+ default_sort_order: Standardsortierung für Vorschläge
+ default_sort_order_options:
+ default: Standard
+ most_commented: Am häufigsten kommentiert
+ most_endorsed: Am häufigsten befürwortet
+ most_followed: Am häufigsten gefolgt
+ most_voted: Am meisten unterstützt
+ random: Zufällig
+ recent: Neueste
+ with_more_authors: Mit mehr Autoren
geocoding_enabled: Geocoding aktiviert
minimum_votes_per_user: Mindeststimmen pro Nutzer
new_proposal_body_template: Textvorlage für neuen Vorschlag
@@ -175,6 +193,17 @@ de:
answers_with_costs: Kosten für Vorschlagsantworten aktivieren
automatic_hashtags: Hashtags wurden allen Vorschlägen hinzugefügt
comments_blocked: Kommentare blockiert
+ creation_enabled: Teilnehmer können Vorschläge erstellen
+ default_sort_order: Standardsortierung für Vorschläge
+ default_sort_order_options:
+ default: Standard
+ most_commented: Am meisten kommentiert
+ most_endorsed: Am meisten befürwortet
+ most_followed: Am häufigsten gefolgt
+ most_voted: Am häufigsten unterstützt
+ random: Zufällig
+ recent: Neueste
+ with_more_authors: Mit mehr Autoren
endorsements_blocked: Zustimmungen blockiert
endorsements_enabled: Bestätigungen aktiviert
proposal_answering_enabled: Vorschlagsantworten aktiviert
@@ -259,7 +288,6 @@ de:
affected_user:
email_intro: 'Ihr Vorschlag "%{resource_title}" wurde abgelehnt. Sie können die Antwort auf dieser Seite lesen:'
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Autor von "%{resource_title}" sind.
- email_subject: Ihr Vorschlag wurde abgelehnt
notification_title: Ihr Vorschlag %{resource_title} wurde abgelehnt.
follower:
email_intro: 'Der Vorschlag "%{resource_title}" wurde abgelehnt. Sie können die Antwort auf dieser Seite lesen:'
@@ -351,6 +379,16 @@ de:
exports:
proposal_comments: Kommentare
proposals: Vorschläge
+ imports:
+ label:
+ answers: Antworten aus einer Datei importieren
+ proposals: Vorschläge aus einer Datei importieren
+ resources:
+ proposals:
+ one: Vorschlag
+ other: Vorschläge
+ title:
+ proposals: Vorschläge importieren
models:
proposal:
name: Vorschlag
@@ -392,6 +430,7 @@ de:
accepted: Angenommen
answer_proposal: Antworten
evaluating: In Bewertung
+ not_answered: Unbeantwortet
rejected: Abgelehnt
title: Antwort auf Vorschlag %{title}
proposal_notes:
@@ -567,7 +606,6 @@ de:
one: "%{count} kollaborativer Entwurf"
other: "%{count} kollaborativer Entwurf"
create:
- error: Beim Erstellen dieser kollaborativen Entwürfe ist ein Problem aufgetreten
success: Collaborative Draft wurde erfolgreich erstellt.
edit:
attachment_legend: "(Optional) Fügen Sie einen Anhang hinzu"
@@ -698,6 +736,8 @@ de:
proposals_count:
one: "%{count} Vorschlag"
other: "%{count} Vorschläge"
+ dynamic_map_instructions:
+ instructions: Sie können den Marker auf der Karte verschieben.
edit:
add_documents: Unterlagen
add_images: Datei
@@ -733,8 +773,10 @@ de:
filter_by: Filtern nach
unfold: Aufklappen
index:
+ click_here: Alle Vorschläge ansehen
collaborative_drafts_list: Greifen Sie auf gemeinsame Entwürfe zu
new_proposal: Neuer Vorschlag
+ see_all: Alle Vorschläge ansehen
see_all_withdrawn: Sehen Sie sich alle zurückgezogenen Vorschläge an
view_proposal: Vorschlag anzeigen
linked_proposals:
@@ -743,6 +785,7 @@ de:
other: Stimmen
new:
send: Fortsetzen
+ title: Ihren Vorschlag erstellen
orders:
label: 'Vorschläge sortieren nach:'
most_commented: Am meisten kommentiert
diff --git a/decidim-proposals/config/locales/el.yml b/decidim-proposals/config/locales/el.yml
index bfa8296276694..c2111dcaf91e6 100644
--- a/decidim-proposals/config/locales/el.yml
+++ b/decidim-proposals/config/locales/el.yml
@@ -224,7 +224,6 @@ el:
affected_user:
email_intro: 'Η πρότασή σας «%{resource_title}» απορρίφθηκε. Μπορείτε να διαβάσετε την απάντηση σε αυτήν τη σελίδα:'
email_outro: Λάβατε αυτήν την ειδοποίηση επειδή είστε συντάκτης του στοιχείου «%{resource_title}».
- email_subject: Η πρότασή σας απορρίφθηκε
notification_title: Η πρότασή σας %{resource_title} απορρίφθηκε.
follower:
email_intro: 'Η πρόταση «%{resource_title}» απορρίφθηκε. Μπορείτε να διαβάσετε την απάντηση σε αυτήν τη σελίδα:'
@@ -527,7 +526,6 @@ el:
one: "%{count} προσχέδιο συνεργασίας"
other: "%{count} προσχέδια συνεργασίας"
create:
- error: Υπήρξε ένα πρόβλημα κατά τη δημιουργία αυτού του προσχεδίου συνεργασίας
success: Το προσχέδιο συνεργασίας δημιουργήθηκε με επιτυχία.
edit:
attachment_legend: "(Προαιρετικά) Προσθήκη συνημμένου"
diff --git a/decidim-proposals/config/locales/en.yml b/decidim-proposals/config/locales/en.yml
index 638919dd2a01a..6a8d13ec0d970 100644
--- a/decidim-proposals/config/locales/en.yml
+++ b/decidim-proposals/config/locales/en.yml
@@ -214,6 +214,7 @@ en:
endorsements_enabled: Endorsements enabled
proposal_answering_enabled: Proposal answering enabled
publish_answers_immediately: Publish proposal answers immediately
+ publish_answers_immediately_help_html: Mind that if you answer any proposal without this enabled, you'll need to publish them manually by selecting them and using the action for publication. For more info on how this works, see proposals' answers documentation page.
suggested_hashtags: Hashtags suggested to participants for new proposals
votes_blocked: Supports blocked
votes_enabled: Supports enabled
@@ -303,11 +304,12 @@ en:
email_outro: You have received this notification because you are following "%{participatory_space_title}". You can stop receiving notifications following the previous link.
email_subject: New proposal "%{resource_title}" added to %{participatory_space_title}
notification_title: The proposal %{resource_title} has been added to %{participatory_space_title} by %{author}
+ notification_title_official: The official proposal %{resource_title} has been added to %{participatory_space_title}
proposal_rejected:
affected_user:
email_intro: 'Your proposal "%{resource_title}" has been rejected. You can read the answer in this page:'
email_outro: You have received this notification because you are an author of "%{resource_title}".
- email_subject: Your proposal been rejected
+ email_subject: Your proposal has been rejected
notification_title: Your proposal %{resource_title} has been rejected.
follower:
email_intro: 'The proposal "%{resource_title}" has been rejected. You can read the answer in this page:'
@@ -401,8 +403,21 @@ en:
proposals: Proposals
imports:
help:
- answers: 'The import document should contain the following columns: id, state (accepted, evaluating, rejected), answer/en (and other languages enabled for the organization).'
- proposals: The file must have column names title/en and body/en (or another locale which you prefer eg. title/ca and body/ca). Also scope/id and category/id columns are supported.
+ answers: |
+ The import document should contain the following column names in case of CSV or Excel files, or key names in case of JSON files:
+
+
id: ID of the proposal to answer
+
state: One of "accepted", "evaluating", or "rejected"
+
answer/en: Answer on English language. This will depend on your platform language configuration.
+
+ proposals: |
+ The file must have the following column names in case of CSV or Excel files, or key names in case of JSON files:
+
+
title/en: Title on English language. This will depend on your platform language configuration.
+
body/en: Body on English language. This will depend on your platform language configuration.
+
scope/id: ID for the Scope
+
category/id: ID for the Category
+
label:
answers: Import answers from a file
proposals: Import proposals from a file
@@ -635,7 +650,7 @@ en:
one: "%{count} collaborative draft"
other: "%{count} collaborative drafts"
create:
- error: There was a problem creating this collaborative drafts
+ error: There was a problem creating this collaborative draft.
success: Collaborative draft successfully created.
edit:
attachment_legend: "(Optional) Add an attachment"
diff --git a/decidim-proposals/config/locales/es-MX.yml b/decidim-proposals/config/locales/es-MX.yml
index 83b102d628819..6a692a757fd5b 100644
--- a/decidim-proposals/config/locales/es-MX.yml
+++ b/decidim-proposals/config/locales/es-MX.yml
@@ -197,7 +197,7 @@ es-MX:
automatic_hashtags: Hashtags añadidos a todas las propuestas.
comments_blocked: Comentarios bloqueados
creation_enabled: Las participantes pueden crear propuestas
- creation_enabled_readonly: Esta opción se desactiva cuando activas la funcionalidad de Textos Participativos. Para subir propuestas como texto participativo haga clic en el botón Textos Participativos y siga las instrucciones.
+ creation_enabled_readonly: Esta opción se desactiva cuando activas la funcionalidad de Textos Participativos. Para subir propuestas como texto participativo haz clic en el botón Textos Participativos y sigue las instrucciones.
default_sort_order: Orden predeterminado de propuestas
default_sort_order_help: Por defecto significa que si los apoyos están habilitados, las propuestas se mostrarán en orden aleatorio, y si los apoyos están bloqueados, se ordenarán por las más apoyadas.
default_sort_order_options:
@@ -213,6 +213,7 @@ es-MX:
endorsements_enabled: Adhesiones habilitadas
proposal_answering_enabled: Respuesta a propuestas activadas
publish_answers_immediately: Publicar respuestas a las propuestas inmediatamente
+ publish_answers_immediately_help_html: 'Ten en cuenta que si respondes a alguna propuesta sin que esto esté habilitado, tendrás que publicarlas manualmente seleccionándolas y utilizando la acción de publicar. Para más información sobre el funcionamiento, consulta la página de documentación de respuestas a las propuestas.'
suggested_hashtags: Hashtags sugeridos a los usuarios para nuevas propuestas.
votes_blocked: Votación deshabilitada
votes_enabled: Votación habilitada
@@ -302,11 +303,12 @@ es-MX:
email_outro: Recibiste esta notificación porque estás siguiendo "%{participatory_space_title}". Puedes dejar de seguirlo desde el enlace anterior.
email_subject: Nueva propuesta "%{resource_title}" añadida a %{participatory_space_title}
notification_title: La propuesta %{resource_title} ha sido añadida a %{participatory_space_title} por %{author}
+ notification_title_official: Se ha añadido la propuesta oficial %{resource_title} en %{participatory_space_title}
proposal_rejected:
affected_user:
email_intro: 'Su propuesta "%{resource_title}" ha sido rechazada. Puedes leer la respuesta en esta página:'
email_outro: Has recibido esta notificación porque eres autor de "%{resource_title}".
- email_subject: Su propuesta ha sido rechazada
+ email_subject: Tu propuesta ha sido rechazada
notification_title: Su propuesta %{resource_title} ha sido rechazada.
follower:
email_intro: 'La propuesta "%{resource_title}" ha sido rechazada. Puedes leer la respuesta en esta página:'
@@ -400,8 +402,21 @@ es-MX:
proposals: Propuestas
imports:
help:
- answers: 'El documento de importación debe contener las siguientes columnas: id, estado (aceptado, evaluación, rechazado), respuesta/es (y otros idiomas habilitados por la organización).'
- proposals: El archivo debe incluir los nombres de columna title/en y body/en (u otro idioma de tu preferencia, por ejemplo title/es y body/es). También se admiten las columnas scope/id y category/id.
+ answers: |
+ El documento de importación debe contener los siguientes nombres de columna en caso de archivos CSV o Excel. o nombres de claves en caso de archivos JSON:
+
+
id: ID de la propuesta a responder
+
estado: Uno de estos "aceptada", "en evaluación" o "rechazada"
+
respuesta/en: Respuesta en idioma inglés. Esto dependerá de la configuración de idioma predeterminado de tu plataforma.
+
+ proposals: |
+ El documento de importación debe contener los siguientes nombres de columna en caso de archivos CSV o Excel. o nombres de claves en caso de archivos JSON:
+
+
title/es: Título en castellano. Esto dependerá de la configuración de idioma predeterminado de tu plataforma.
+
body/en: Descripció en castellano. Esto dependerá de la configuración de idioma predeterminado de tu plataforma.
+
scope/id: ID de l'Ámbito
+
category/id: ID de la Categoria
+
label:
answers: Importar respuestas desde un archivo
proposals: Importar propuestas desde un archivo
@@ -634,7 +649,7 @@ es-MX:
one: "%{count} borrador colaborativo"
other: "%{count} borrador colaborativo"
create:
- error: Ha habido un problema al crear este borradores colaborativo
+ error: Se ha producido un error al crear este borrador colaborativo.
success: Borrador colaborativo creado con éxito.
edit:
attachment_legend: "(Opcional) Añadir un archivo adjunto"
diff --git a/decidim-proposals/config/locales/es-PY.yml b/decidim-proposals/config/locales/es-PY.yml
index d79521c211fae..ba190965b114b 100644
--- a/decidim-proposals/config/locales/es-PY.yml
+++ b/decidim-proposals/config/locales/es-PY.yml
@@ -197,7 +197,7 @@ es-PY:
automatic_hashtags: Hashtags añadidos a todas las propuestas.
comments_blocked: Comentarios bloqueados
creation_enabled: Las participantes pueden crear propuestas
- creation_enabled_readonly: Esta opción se desactiva cuando activas la funcionalidad de Textos Participativos. Para subir propuestas como texto participativo haga clic en el botón Textos Participativos y siga las instrucciones.
+ creation_enabled_readonly: Esta opción se desactiva cuando activas la funcionalidad de Textos Participativos. Para subir propuestas como texto participativo haz clic en el botón Textos Participativos y sigue las instrucciones.
default_sort_order: Orden predeterminado de propuestas
default_sort_order_help: Por defecto significa que si los apoyos están habilitados, las propuestas se mostrarán en orden aleatorio, y si los apoyos están bloqueados, se ordenarán por las más apoyadas.
default_sort_order_options:
@@ -213,6 +213,7 @@ es-PY:
endorsements_enabled: Adhesiones habilitados
proposal_answering_enabled: Contestación de propuesta habilitada
publish_answers_immediately: Publicar respuestas a las propuestas inmediatamente
+ publish_answers_immediately_help_html: 'Ten en cuenta que si respondes a alguna propuesta sin que esto esté habilitado, tendrás que publicarlas manualmente seleccionándolas y utilizando la acción de publicar. Para más información sobre el funcionamiento, consulta la página de documentación de respuestas a las propuestas.'
suggested_hashtags: Hashtags sugeridos a los usuarios para nuevas propuestas.
votes_blocked: Votación bloqueada
votes_enabled: Votación habilitada
@@ -302,11 +303,12 @@ es-PY:
email_outro: Recibiste esta notificación porque estás siguiendo "%{participatory_space_title}". Puedes dejar de seguirlo desde el enlace anterior.
email_subject: Nueva propuesta "%{resource_title}" añadida a %{participatory_space_title}
notification_title: La propuesta %{resource_title} ha sido añadida a %{participatory_space_title} por %{author}
+ notification_title_official: Se ha añadido la propuesta oficial %{resource_title} en %{participatory_space_title}
proposal_rejected:
affected_user:
email_intro: 'Su propuesta "%{resource_title}" ha sido rechazada. Puedes leer la respuesta en esta página:'
email_outro: Has recibido esta notificación porque eres autor de "%{resource_title}".
- email_subject: Su propuesta ha sido rechazada
+ email_subject: Tu propuesta ha sido rechazada
notification_title: Su propuesta %{resource_title} ha sido rechazada.
follower:
email_intro: 'La propuesta "%{resource_title}" ha sido rechazada. Puedes leer la respuesta en esta página:'
@@ -400,8 +402,21 @@ es-PY:
proposals: Propuestas
imports:
help:
- answers: 'El documento de importación debe contener las siguientes columnas: id, estado (aceptado, evaluación, rechazado), respuesta/es (y otros idiomas habilitados por la organización).'
- proposals: El archivo debe incluir los nombres de columna title/en y body/en (u otro idioma de tu preferencia, por ejemplo title/es y body/es). También se admiten las columnas scope/id y category/id.
+ answers: |
+ El documento de importación debe contener los siguientes nombres de columna en caso de archivos CSV o Excel. o nombres de claves en caso de archivos JSON:
+
+
id: ID de la propuesta a responder
+
estado: Uno de estos "aceptada", "en evaluación" o "rechazada"
+
respuesta/en: Respuesta en idioma inglés. Esto dependerá de la configuración de idioma predeterminado de tu plataforma.
+
+ proposals: |
+ El documento de importación debe contener los siguientes nombres de columna en caso de archivos CSV o Excel. o nombres de claves en caso de archivos JSON:
+
+
title/es: Título en castellano. Esto dependerá de la configuración de idioma predeterminado de tu plataforma.
+
body/en: Descripció en castellano. Esto dependerá de la configuración de idioma predeterminado de tu plataforma.
+
scope/id: ID de l'Ámbito
+
category/id: ID de la Categoria
+
label:
answers: Importar respuestas desde un archivo
proposals: Importar propuestas desde un archivo
@@ -634,7 +649,7 @@ es-PY:
one: "%{count} borrador colaborativo"
other: "%{count} borrador colaborativo"
create:
- error: Ha habido un problema al crear este borradores colaborativo
+ error: Hubo un problema al crear este borrador colaborativo.
success: Borrador colaborativo creado con éxito.
edit:
attachment_legend: "(Opcional) Añadir un archivo adjunto"
diff --git a/decidim-proposals/config/locales/es.yml b/decidim-proposals/config/locales/es.yml
index 29a6bbe18c5eb..c3489b7e5499c 100644
--- a/decidim-proposals/config/locales/es.yml
+++ b/decidim-proposals/config/locales/es.yml
@@ -197,7 +197,7 @@ es:
automatic_hashtags: Hashtags añadidos a todas las propuestas.
comments_blocked: Comentarios bloqueados
creation_enabled: Las participantes pueden crear propuestas
- creation_enabled_readonly: Esta opción se desactiva cuando activas la funcionalidad de Textos Participativos. Para subir propuestas como texto participativo haga clic en el botón Textos Participativos y siga las instrucciones.
+ creation_enabled_readonly: Esta opción se desactiva cuando activas la funcionalidad de Textos Participativos. Para subir propuestas como texto participativo haz clic en el botón Textos Participativos y sigue las instrucciones.
default_sort_order: Orden predeterminado de propuestas
default_sort_order_help: Por defecto significa que si los apoyos están habilitados, las propuestas se mostrarán en orden aleatorio, y si los apoyos están bloqueados, se ordenarán por las más apoyadas.
default_sort_order_options:
@@ -213,6 +213,7 @@ es:
endorsements_enabled: Adhesiones habilitadas
proposal_answering_enabled: Respuesta a propuestas activadas
publish_answers_immediately: Publicar respuestas a las propuestas inmediatamente
+ publish_answers_immediately_help_html: 'Ten en cuenta que si respondes a alguna propuesta sin que esto esté habilitado, tendrás que publicarlas manualmente seleccionándolas y utilizando la acción de publicar. Para más información sobre el funcionamiento, consulta la página de documentación de respuestas a las propuestas.'
suggested_hashtags: Hashtags sugeridos a las participantes para nuevas propuestas
votes_blocked: Apoyos bloqueados
votes_enabled: Apoyos habilitados
@@ -302,6 +303,7 @@ es:
email_outro: Recibiste esta notificación porque estás siguiendo "%{participatory_space_title}". Puedes dejar de recibir notificaciones siguiendo el enlace anterior.
email_subject: Nueva propuesta "%{resource_title}" añadida a %{participatory_space_title}
notification_title: La propuesta %{resource_title} ha sido añadida a %{participatory_space_title} por %{author}
+ notification_title_official: Se ha añadido la propuesta oficial %{resource_title} en %{participatory_space_title}
proposal_rejected:
affected_user:
email_intro: 'Tu propuesta "%{resource_title}" ha sido rechazada. Puedes leer la respuesta en esta página:'
@@ -400,8 +402,21 @@ es:
proposals: Propuestas
imports:
help:
- answers: 'El documento de importación debe contener las siguientes columnas: id, estado (aceptado, evaluación, rechazado), respuesta/es (y otros idiomas habilitados por la organización).'
- proposals: El archivo debe incluir los nombres de columna title/en y body/en (u otro idioma de tu preferencia, por ejemplo title/es y body/es). También se admiten las columnas scope/id y category/id.
+ answers: |
+ El documento de importación debe contener los siguientes nombres de columna en caso de archivos CSV o Excel. o nombres de claves en caso de archivos JSON:
+
+
id: ID de la propuesta a responder
+
estado: Uno de estos "aceptada", "en evaluación" o "rechazada"
+
respuesta/en: Respuesta en idioma inglés. Esto dependerá de la configuración de idioma predeterminado de tu plataforma.
+
+ proposals: |
+ El documento de importación debe contener los siguientes nombres de columna en caso de archivos CSV o Excel. o nombres de claves en caso de archivos JSON:
+
+
title/es: Título en castellano. Esto dependerá de la configuración de idioma predeterminado de tu plataforma.
+
body/en: Descripció en castellano. Esto dependerá de la configuración de idioma predeterminado de tu plataforma.
+
scope/id: ID de l'Ámbito
+
category/id: ID de la Categoria
+
label:
answers: Importar respuestas desde un archivo
proposals: Importar propuestas desde un archivo
@@ -634,7 +649,7 @@ es:
one: "%{count} borrador colaborativo"
other: "%{count} borrador colaborativo"
create:
- error: Se ha producido un error al crear este borrador colaborativo
+ error: Se ha producido un error al crear este borrador colaborativo.
success: Borrador colaborativo creado correctamente.
edit:
attachment_legend: "(Opcional) Añadir un archivo adjunto"
diff --git a/decidim-proposals/config/locales/eu.yml b/decidim-proposals/config/locales/eu.yml
index 2a54546c2bc33..370a71b9027da 100644
--- a/decidim-proposals/config/locales/eu.yml
+++ b/decidim-proposals/config/locales/eu.yml
@@ -286,7 +286,7 @@ eu:
affected_user:
email_intro: 'Zure proposamena "%{resource_title}" baztertu egin da. Orri honetan erantzun dezakezu:'
email_outro: Jakinarazpen hau jaso duzu "%{resource_title}" egilearena delako.
- email_subject: Zure proposamena baztertu da
+ email_subject: Zure proposamena ez da onartu
notification_title: Zure proposamena %{resource_title} baztertu egin da.
follower:
email_intro: '"%{resource_title}" proposamena baztertu egin da. Orri honetan erantzun dezakezu:'
@@ -599,7 +599,6 @@ eu:
one: "%{count} lankidetza zirriborroa"
other: "%{count} lankidetza zirriborroa"
create:
- error: Arazo bat izan da lankidetza-zirriborroak sortzea
success: Kolaborazio zirriborroa sortu da.
edit:
attachment_legend: "(Aukerakoa) Gehitu eranskina"
diff --git a/decidim-proposals/config/locales/fi-plain.yml b/decidim-proposals/config/locales/fi-plain.yml
index 5c8bf0aa33bd8..b81543799c760 100644
--- a/decidim-proposals/config/locales/fi-plain.yml
+++ b/decidim-proposals/config/locales/fi-plain.yml
@@ -213,6 +213,7 @@ fi-pl:
endorsements_enabled: Suositukset käytössä
proposal_answering_enabled: Ehdotukseen vastaaminen käytössä
publish_answers_immediately: Julkaise ehdotusten vastaukset heti
+ publish_answers_immediately_help_html: 'Huomioithan, että jos vastaat mihin tahansa ehdotukseen ilman tätä asetusta, sinun on julkaistava vastaukset manuaalisesti valitsemalla vastaukset sisältävät ehdotukset ja käyttämällä julkaisutoimintoa. Lisätietoja, miten tämä toimii, löytyy dokumentaation osiosta ehdotuksiin vastaaminen.'
suggested_hashtags: Käyttäjille ehdotettavat hashtagit uusille ehdotuksille
votes_blocked: Äänestys estetty
votes_enabled: Äänestys käytössä
@@ -302,6 +303,7 @@ fi-pl:
email_outro: Tämä ilmoitus on lähetetty sinulle, koska seuraat kohdetta "%{participatory_space_title}". Voit lopettaa seuraamisen edellä esitetyn linkin kautta.
email_subject: Uusi ehdotus "%{resource_title}" lisätty kohteeseen %{participatory_space_title}
notification_title: '%{author} on lisännyt ehdotuksen %{resource_title} kohteeseen %{participatory_space_title}'
+ notification_title_official: Virallinen ehdotus %{resource_title} on lisätty kohteeseen %{participatory_space_title}
proposal_rejected:
affected_user:
email_intro: 'Ehdotuksesi "%{resource_title}" on hylätty. Voit lukea vastauksen täältä:'
@@ -400,8 +402,20 @@ fi-pl:
proposals: Ehdotukset
imports:
help:
- answers: 'Tuontitiedostossa on oltava sarakenimet id, state tilalle (accepted, evaluating, rejected), answer/fi vastaukselle (sekä muihin kieliin viittaavat sarakenimet, kuten answer/en).'
- proposals: Tuontitiedostossa on oltava sarakenimet title/fi otsikolle ja body/fi kuvaustekstille (sekä muihin kieliin viittaavat sarakenimet, kuten title/en ja body/en). Tuettuja sarakkeita ovat myös scope/id (teemalle) ja category/id (aihepiirille).
+ answers: |
+ CSV- tai Excel-tuontitiedostossa on oltava seuraavat sarakenimet ja JSON-tuontitiedostossa vastaavat avainten nimet:
+
+
id: Vastattavan ehdotuksen ID-tunniste
+
state: Jokin vaihtoehdoista "accepted", "evaluating", tai "rejected"
+
answer/fi: Vastaus suomeksi. Tämän sarakkeen nimi riippuu alustalle määritetyistä kielistä.
+
+ proposals: |
+ CSV- tai Excel-tiedostossa on oltava seuraavat sarakenimet ja JSON-tiedostossa vastaavat avainten nimet:
+
title/fi: Otsikko suomeksi. Tämän sarakkeen nimi riippuu alustalle määritetyistä kielistä.
+
body/fi: Kuvaus suomeksi. Tämän sarakkeen nimi riippuu alustalle määritetyistä kielistä.
+
scope/id: Teeman ID-tunniste
+
category/id: Aihepiirin ID-tunniste
+
label:
answers: Tuo vastaukset tiedostosta
proposals: Tuo ehdotuksia tiedostosta
@@ -634,7 +648,7 @@ fi-pl:
one: "%{count} yhteistyöluonnos"
other: "%{count} yhteistyöluonnosta"
create:
- error: Tämän yhteistyöluonnoksen luomisessa on esiintynyt ongelma
+ error: Yhteistyöluonnoksen luominen epäonnistui.
success: Yhteistyöluonnos luotu onnistuneesti.
edit:
attachment_legend: "(Valinnainen) Lisää liite"
diff --git a/decidim-proposals/config/locales/fi.yml b/decidim-proposals/config/locales/fi.yml
index ebf20f378818a..9772ee02af8fe 100644
--- a/decidim-proposals/config/locales/fi.yml
+++ b/decidim-proposals/config/locales/fi.yml
@@ -213,6 +213,7 @@ fi:
endorsements_enabled: Suositukset käytössä
proposal_answering_enabled: Ehdotukseen vastaaminen käytössä
publish_answers_immediately: Julkaise ehdotusten vastaukset heti
+ publish_answers_immediately_help_html: 'Huomioithan, että jos vastaat mihin tahansa ehdotukseen ilman tätä asetusta, sinun on julkaistava vastaukset manuaalisesti valitsemalla vastaukset sisältävät ehdotukset ja käyttämällä julkaisutoimintoa. Lisätietoja, miten tämä toimii, löytyy dokumentaation osiosta ehdotuksiin vastaaminen.'
suggested_hashtags: Käyttäjille ehdotettavat aihetunnisteet (hashtag) uusille ehdotuksille
votes_blocked: Kannatukset estetty
votes_enabled: Kannatukset käytössä
@@ -302,6 +303,7 @@ fi:
email_outro: Tämä ilmoitus on lähetetty sinulle, koska seuraat kohdetta "%{participatory_space_title}". Voit lopettaa seuraamisen edellä esitetyn linkin kautta.
email_subject: Uusi ehdotus "%{resource_title}" lisätty kohteeseen %{participatory_space_title}
notification_title: '%{author} on lisännyt ehdotuksen %{resource_title} kohteeseen %{participatory_space_title}'
+ notification_title_official: Virallinen ehdotus %{resource_title} on lisätty kohteeseen %{participatory_space_title}
proposal_rejected:
affected_user:
email_intro: 'Ehdotuksesi "%{resource_title}" on hylätty. Voit lukea vastauksen täältä:'
@@ -400,8 +402,20 @@ fi:
proposals: Ehdotukset
imports:
help:
- answers: 'Tuontitiedostossa on oltava sarakenimet id, state tilalle (accepted, evaluating, rejected), answer/fi vastaukselle (sekä muihin kieliin viittaavat sarakenimet, kuten answer/en).'
- proposals: Tuontitiedostossa on oltava sarakenimet title/fi otsikolle ja body/fi kuvaustekstille (sekä muihin kieliin viittaavat sarakenimet, kuten title/en ja body/en). Tuettuja sarakkeita ovat myös scope/id (teemalle) ja category/id (aihepiirille).
+ answers: |
+ CSV- tai Excel-tuontitiedostossa on oltava seuraavat sarakenimet ja JSON-tuontitiedostossa vastaavat avainten nimet:
+
+
id: Vastattavan ehdotuksen ID-tunniste
+
state: Jokin vaihtoehdoista "accepted", "evaluating", tai "rejected"
+
answer/fi: Vastaus suomeksi. Tämän sarakkeen nimi riippuu alustalle määritetyistä kielistä.
+
+ proposals: |
+ CSV- tai Excel-tiedostossa on oltava seuraavat sarakenimet ja JSON-tiedostossa vastaavat avainten nimet:
+
title/fi: Otsikko suomeksi. Tämän sarakkeen nimi riippuu alustalle määritetyistä kielistä.
+
body/fi: Kuvaus suomeksi. Tämän sarakkeen nimi riippuu alustalle määritetyistä kielistä.
+
scope/id: Teeman ID-tunniste
+
category/id: Aihepiirin ID-tunniste
+
label:
answers: Tuo vastaukset tiedostosta
proposals: Tuo ehdotuksia tiedostosta
@@ -634,7 +648,7 @@ fi:
one: "%{count} yhteistyöluonnos"
other: "%{count} yhteistyöluonnosta"
create:
- error: Yhteistyöluonnoksen luonti epäonnistui
+ error: Yhteistyöluonnoksen luominen epäonnistui.
success: Yhteistyöluonnoksen luonti onnistui.
edit:
attachment_legend: "(Valinnainen) Lisää liite"
diff --git a/decidim-proposals/config/locales/fr-CA.yml b/decidim-proposals/config/locales/fr-CA.yml
index 17fcaacd5807c..8a0aaac6dde8b 100644
--- a/decidim-proposals/config/locales/fr-CA.yml
+++ b/decidim-proposals/config/locales/fr-CA.yml
@@ -197,6 +197,7 @@ fr-CA:
automatic_hashtags: Hashtags ajoutés à toutes les propositions
comments_blocked: Bloquer la création de nouveaux commentaires
creation_enabled: Les participants peuvent créer des propositions
+ creation_enabled_readonly: Ce paramètre est désactivé lorsque vous activez la fonctionnalité Textes participatifs. Pour télécharger des propositions sous forme de texte participatif, cliquez sur le bouton Textes participatifs et suivez les instructions.
default_sort_order: Tri des propositions par défaut
default_sort_order_help: Par défaut, si les aides sont activés, les propositions seront affichées par ordre aléatoire, et si les aides sont bloqués, alors ils seront triés par l’aide le plus soutenu.
default_sort_order_options:
@@ -212,6 +213,7 @@ fr-CA:
endorsements_enabled: Activer le module de soutiens
proposal_answering_enabled: Autoriser la réponse officielle aux propositions
publish_answers_immediately: Publier immédiatement les réponses à la proposition
+ publish_answers_immediately_help_html: 'N''oubliez pas que si vous répondez à une proposition sans cette option, vous devrez la publier manuellement en les sélectionnant et en utilisant l''action de publication. Pour plus d''informations sur comment cela fonctionne, voir la page de documentation de propositions.'
suggested_hashtags: Hashtags suggérés aux utilisateurs pour de nouvelles propositions
votes_blocked: Bloquer les votes
votes_enabled: Activer le module de vote simple
@@ -301,6 +303,7 @@ fr-CA:
email_outro: Vous avez reçu cette notification parce que vous suivez "%{participatory_space_title}". Vous pouvez cesser de le suivre en cliquant sur le lien précédent.
email_subject: Nouvelle proposition "%{resource_title}" ajoutée à %{participatory_space_title}
notification_title: La proposition %{resource_title} a été ajoutée à %{participatory_space_title} par %{author}
+ notification_title_official: La proposition officielle %{resource_title} a été ajoutée à %{participatory_space_title}
proposal_rejected:
affected_user:
email_intro: 'Votre proposition "%{resource_title}" a été rejetée. Vous pouvez lire la réponse sur cette page:'
@@ -399,8 +402,21 @@ fr-CA:
proposals: Propositions
imports:
help:
- answers: 'Le document d''importation doit contenir les colonnes suivantes : Id, État (accepté, évaluation, rejeté), réponse/fr (et d''autres langues activées pour l''organisme).'
- proposals: Le fichier doit comprendre les colonnes title/fr et corps/fr (ou une autre locale de votre choix, par ex. titre/de et corps/de). Les colonnes scope/id et category/id sont également pris en charge.
+ answers: |
+ Le document d'importation doit contenir les noms de colonnes suivants en cas de fichiers CSV ou Excel ou noms de clés suivants dans le cas de fichiers JSON :
+
+
id: ID de la proposition auquel on répond
+
state:"accepted", "evaluating", ou "rejected"
+
answer/en: Réponse en langue anglaise. Cela dépendra de la configuration de langue de votre plateforme.
+
+ proposals: |
+ Le fichier doit avoir les noms de colonnes suivants en cas de fichiers CSV ou Excel ou noms de clés suivants en cas de fichiers JSON :
+
+
title/en: Titre en langue anglaise. Cela dépendra de la configuration de la langue de votre plateforme.
+
corps/en: Corps en langue anglaise. Cela dépendra de la configuration de la langue de votre plateforme.
+
scope/id : ID du périmêtre d'application
+
category/id : ID de la catégorie
+
label:
answers: Importer des valeurs depuis un fichier
proposals: Importer des propositions depuis un fichier
@@ -633,7 +649,7 @@ fr-CA:
one: "%{count} brouillon collaboratif"
other: "%{count} brouillons collaboratifs"
create:
- error: Il y a eu un problème lors de la création de ces brouillons collaboratifs
+ error: Il y a eu un problème lors de la création de ce brouillon collaboratif.
success: Brouillon collaboratif créé avec succès.
edit:
attachment_legend: "(Facultatif) Ajouter une pièce jointe"
diff --git a/decidim-proposals/config/locales/fr.yml b/decidim-proposals/config/locales/fr.yml
index 3c6d99dd2acff..ad22362b435cb 100644
--- a/decidim-proposals/config/locales/fr.yml
+++ b/decidim-proposals/config/locales/fr.yml
@@ -197,6 +197,7 @@ fr:
automatic_hashtags: Hashtags ajoutés à toutes les propositions
comments_blocked: Bloquer la création de nouveaux commentaires
creation_enabled: Les participants peuvent créer des propositions
+ creation_enabled_readonly: Ce paramètre est désactivé lorsque vous activez la fonctionnalité Textes participatifs. Pour télécharger des propositions sous forme de texte participatif, cliquez sur le bouton Textes participatifs et suivez les instructions.
default_sort_order: Tri des propositions par défaut
default_sort_order_help: L'option par défaut signifie que si les votes sont activés, les propositions seront affichées par ordre aléatoire, et si les votes sont bloqués, alors elles seront triées par nombre de votes.
default_sort_order_options:
@@ -212,6 +213,7 @@ fr:
endorsements_enabled: Activer le module de soutiens
proposal_answering_enabled: Autoriser la réponse officielle aux propositions
publish_answers_immediately: Publier immédiatement les réponses à la proposition
+ publish_answers_immediately_help_html: 'N''oubliez pas que si vous répondez à une proposition sans cette option, vous devrez la publier manuellement en les sélectionnant et en utilisant l''action de publication. Pour plus d''informations sur comment cela fonctionne, voir la page de documentation de propositions.'
suggested_hashtags: Hashtags suggérés aux utilisateurs pour de nouvelles propositions
votes_blocked: Bloquer les votes
votes_enabled: Activer le module de vote simple
@@ -301,6 +303,7 @@ fr:
email_outro: Vous avez reçu cette notification parce que vous suivez "%{participatory_space_title}". Si vous souhaitez vous désabonner des notifications, connectez-vous à la plateforme, puis rendez-vous dans l'onglet “Mon compte” > “Paramètres des notifications”.
email_subject: Nouvelle proposition "%{resource_title}" ajoutée à %{participatory_space_title}
notification_title: La proposition %{resource_title} a été ajoutée à %{participatory_space_title} par %{author}
+ notification_title_official: La proposition officielle %{resource_title} a été ajoutée à %{participatory_space_title}
proposal_rejected:
affected_user:
email_intro: 'Votre proposition "%{resource_title}" a été rejetée. Vous pouvez lire la réponse sur cette page:'
@@ -399,8 +402,21 @@ fr:
proposals: Propositions
imports:
help:
- answers: 'Le document d''import doit contenir les colonnes suivantes : id, state (accepted, evaluating, rejected), answer/fr (et les autres langues activées pour l''organisation le cas échéant).'
- proposals: Le fichier doit comprendre les colonnes title/fr et body/fr (ou une autre locale de votre choix, par ex. title/de et body/de). Les colonnes scope/id et category/id sont également prises en charge.
+ answers: |
+ Le document d'importation doit contenir les noms de colonnes suivants en cas de fichiers CSV ou Excel ou noms de clés suivants dans le cas de fichiers JSON :
+
+
id: ID de la proposition auquel on répond
+
state:"accepted", "evaluating", ou "rejected"
+
answer/en: Réponse en langue anglaise. Cela dépendra de la configuration de langue de votre plateforme.
+
+ proposals: |
+ Le fichier doit avoir les noms de colonnes suivants en cas de fichiers CSV ou Excel ou noms de clés suivants en cas de fichiers JSON :
+
+
title/en: Titre en langue anglaise. Cela dépendra de la configuration de la langue de votre plateforme.
+
corps/en: Corps en langue anglaise. Cela dépendra de la configuration de la langue de votre plateforme.
+
scope/id : ID du périmêtre d'application
+
category/id : ID de la catégorie
+
label:
answers: Importer des réponses depuis un fichier
proposals: Importer des propositions depuis un fichier
@@ -633,7 +649,7 @@ fr:
one: "%{count} brouillon collaboratif"
other: "%{count} brouillons collaboratifs"
create:
- error: Il y a eu un problème lors de la création de ces brouillons collaboratifs
+ error: Il y a eu un problème lors de la création de ce brouillon collaboratif.
success: Brouillon collaboratif créé avec succès.
edit:
attachment_legend: "(Facultatif) Ajouter une pièce jointe"
diff --git a/decidim-proposals/config/locales/gl.yml b/decidim-proposals/config/locales/gl.yml
index 56bbae68b61b9..5ae86b350d79d 100644
--- a/decidim-proposals/config/locales/gl.yml
+++ b/decidim-proposals/config/locales/gl.yml
@@ -257,7 +257,6 @@ gl:
affected_user:
email_intro: 'A túa proposta "%{resource_title}" foi rexeitada. Podes ler a resposta nesta páxina:'
email_outro: Recibiches esta notificación porque es un autor de "%{resource_title}".
- email_subject: A túa proposta foi rexeitada
notification_title: A túa proposta %{resource_title} foi rexeitada.
follower:
email_intro: 'A proposta "%{resource_title}" foi rexeitada. Podes ler a resposta nesta páxina:'
@@ -347,8 +346,6 @@ gl:
proposal_comments: Comentarios
proposals: Propostas
imports:
- help:
- answers: 'O documento a importar ten de conter as seguintes columnas: id, state (aceptado, avaliando, rexeitado), resposta (e outros idiomas habilitados pola organización).'
label:
answers: Importar respostas dende un ficheiro
proposals: Importar propostas dende un ficheiro
@@ -548,7 +545,6 @@ gl:
one: "%{count} borrador colaborativo"
other: "%{count} borrador colaborativo"
create:
- error: Produciuse un problema creando estes borradores colaborativos
success: Creouse un borrador colaborativo.
edit:
attachment_legend: "(Opcional) Engada un anexo"
diff --git a/decidim-proposals/config/locales/gn-PY.yml b/decidim-proposals/config/locales/gn-PY.yml
new file mode 100644
index 0000000000000..bd442b0ad85de
--- /dev/null
+++ b/decidim-proposals/config/locales/gn-PY.yml
@@ -0,0 +1 @@
+gn:
diff --git a/decidim-proposals/config/locales/hu.yml b/decidim-proposals/config/locales/hu.yml
index 610956e97ca1b..d5fc46d8b24c1 100644
--- a/decidim-proposals/config/locales/hu.yml
+++ b/decidim-proposals/config/locales/hu.yml
@@ -239,7 +239,6 @@ hu:
affected_user:
email_intro: 'Javaslata "%{resource_title}" elutasításra került. A válasz ezen az oldalon olvasható:'
email_outro: Ezt az értesítést megkapta, mert a "%{resource_title}" szerzője.
- email_subject: Javaslata elutasításra került
notification_title: Javaslata %{resource_title} elutasításra került.
follower:
email_intro: 'A(z) "%{resource_title}" című javaslat elutasítva. További részletek a következő oldalon:'
@@ -543,7 +542,6 @@ hu:
one: "%{count} közös vázlat"
other: "%{count} együttműködési tervezet"
create:
- error: Hiba a közösen szerkesztett vázlatok létrehozásakor
success: Közös vázlat létrehozása sikeres.
edit:
attachment_legend: "(Nem kötelező) Melléklet hozzáadása"
@@ -671,8 +669,11 @@ hu:
other: "%{count} javaslatot"
edit:
add_documents: Dokumentumok
+ add_images: Fájl
attachment_legend: "(Nem kötelező) Melléklet hozzáadása"
back: Vissza
+ delete_document: Dokumentum törlése
+ delete_image: Kép törlése
select_a_category: Válassz kategóriát
send: Küldés
title: Javaslat szerkesztése
diff --git a/decidim-proposals/config/locales/id-ID.yml b/decidim-proposals/config/locales/id-ID.yml
index ec9822a35713f..7300e85ebbaf8 100644
--- a/decidim-proposals/config/locales/id-ID.yml
+++ b/decidim-proposals/config/locales/id-ID.yml
@@ -179,7 +179,6 @@ id:
affected_user:
email_intro: 'Proposal Anda "%{resource_title}" telah ditolak. Anda dapat membaca jawabannya di halaman ini:'
email_outro: Anda telah menerima pemberitahuan ini karena Anda adalah pengarang "%{resource_title}".
- email_subject: Proposal Anda ditolak
notification_title: Proposal Anda %{resource_title} telah ditolak.
follower:
email_intro: 'Proposal "%{resource_title}" telah ditolak. Anda dapat membaca jawabannya di halaman ini:'
@@ -430,7 +429,6 @@ id:
drafts_count:
other: "%{count} draf kolaboratif"
create:
- error: Ada masalah saat membuat draf kolaboratif ini
success: Draf kolaboratif berhasil dibuat.
edit:
attachment_legend: "(Opsional) Tambahkan lampiran"
diff --git a/decidim-proposals/config/locales/it.yml b/decidim-proposals/config/locales/it.yml
index 12b174753d76f..b822e6bb417d8 100644
--- a/decidim-proposals/config/locales/it.yml
+++ b/decidim-proposals/config/locales/it.yml
@@ -272,7 +272,6 @@ it:
affected_user:
email_intro: 'La tua proposta "%{resource_title}" è stata respinta. Puoi leggere la risposta in questa pagina:'
email_outro: Hai ricevuto questa notifica perché sei un autore di "%{resource_title}".
- email_subject: La tua proposta è stata respinta
notification_title: La tua proposta %{resource_title} è stata respinta.
follower:
email_intro: 'La proposta "%{resource_title}" è stata respinta. Puoi leggere la risposta in questa pagina:'
@@ -580,7 +579,6 @@ it:
one: "%{count} bozza collaborativa"
other: "%{count} bozza collaborativa"
create:
- error: Si è verificato un problema durante la creazione di queste bozze collaborative
success: Bozza collaborativa creata con successo.
edit:
attachment_legend: "(Opzionale) Aggiungi un allegato"
diff --git a/decidim-proposals/config/locales/ja.yml b/decidim-proposals/config/locales/ja.yml
index 267d129890e88..90896a6cda044 100644
--- a/decidim-proposals/config/locales/ja.yml
+++ b/decidim-proposals/config/locales/ja.yml
@@ -10,7 +10,7 @@ ja:
scope_id: 対象範囲
state: 都道府県:
title: タイトル
- user_group_id: 以下として共同ドラフトを作成します。
+ user_group_id: 共同草案として作成します
proposal:
address: 住所
answer: 回答
@@ -209,6 +209,7 @@ ja:
endorsements_enabled: オススメを有効にする
proposal_answering_enabled: 提案への回答を有効にする
publish_answers_immediately: 提案の回答をすぐに公開
+ publish_answers_immediately_help_html: 'これが有効になっていない提案に答える場合は、公開する項目を選択し、アクションを使用して手動で公開する必要があることに注意してください。 これがどのように機能するかについての詳細は、 提案の回答ドキュメント ページ を参照してください。'
suggested_hashtags: 提案作成時に参加者に提案するハッシュタグ
votes_blocked: サポートをブロック
votes_enabled: サポートを有効にする
@@ -222,34 +223,34 @@ ja:
email_subject: 誰かが提案 %{resource_title} にメモを残しました。
notification_title: 誰かが提案 %{resource_title}にメモを残しました。 管理者パネル で確認してください
collaborative_draft_access_accepted:
- email_intro: '%{requester_name} は、 %{resource_title} の共同ドラフトのコントリビューターとして承認されました。'
+ email_intro: '%{requester_name} は、 %{resource_title} の共同草案のコントリビューターとして承認されました。'
email_outro: %{resource_title} のコラボレーターであるため、この通知を受け取りました。
email_subject: "%{requester_name} は %{resource_title} の貢献者としてアクセスできるようになりました。"
- notification_title: %{requester_name} %{requester_nickname} は、 コントリビューターとして%{resource_title} 共同ドラフトのコントリビューターとしてアクセスできるようになりました。
+ notification_title: %{requester_name} %{requester_nickname} は、 コントリビューターとして%{resource_title} 共同草案のコントリビューターとしてアクセスできるようになりました。
collaborative_draft_access_rejected:
- email_intro: '%{requester_name} は、 %{resource_title} の共同ドラフトのコントリビューターとしてのアクセスを拒否されました。'
+ email_intro: '%{requester_name} は、 %{resource_title} の共同草案のコントリビューターとしてのアクセスを拒否されました。'
email_outro: %{resource_title} のコラボレーターであるため、この通知を受け取りました。
- email_subject: "%{requester_name} は、 %{resource_title} の共同ドラフトの貢献者としてアクセスするために拒否されました。"
- notification_title: %{requester_name} %{requester_nickname} が コントリビューターとしてアクセスを拒否されました %{resource_title} 共同ドラフトのコントリビューター
+ email_subject: "%{requester_name} は、 %{resource_title} の共同草案の貢献者としてアクセスするために拒否されました。"
+ notification_title: %{requester_name} %{requester_nickname} が コントリビューターとしてアクセスを拒否されました %{resource_title} 共同草案のコントリビューター
collaborative_draft_access_requested:
- email_intro: '%{requester_name} がコントリビューターとしてアクセスをリクエストしました。 %{resource_title} の共同ドラフトページからリクエストを承認または拒否できます。'
+ email_intro: '%{requester_name} がコントリビューターとしてアクセスをリクエストしました。 %{resource_title} の共同草案ページからリクエストを承認または拒否できます。'
email_outro: %{resource_title} のコラボレーターであるため、この通知を受け取りました。
email_subject: "%{requester_name} が %{resource_title} に貢献するためにアクセスをリクエストしました。"
- notification_title: %{requester_name} %{requester_nickname} は、 %{resource_title} の共同ドラフトにアクセスをリクエストしました。 リクエストを承認または拒否してください。
+ notification_title: %{requester_name} %{requester_nickname} は、 %{resource_title} の共同草案にアクセスをリクエストしました。 リクエストを承認または拒否してください。
collaborative_draft_access_requester_accepted:
- email_intro: %{resource_title} の共同ドラフトのコントリビューターとして承認されました。
+ email_intro: %{resource_title} の共同草案のコントリビューターとして承認されました。
email_outro: %{resource_title} のコラボレーターになることをリクエストしたため、この通知を受け取りました。
email_subject: '%{resource_title} の貢献者として承認されました。'
- notification_title: あなたは %{resource_title} の共同ドラフトの貢献者としてアクセスすることを受け入れられました。
+ notification_title: あなたは %{resource_title} の共同草案の貢献者としてアクセスすることを受け入れられました。
collaborative_draft_access_requester_rejected:
- email_intro: %{resource_title} の共同ドラフトのコントリビューターとしてのアクセスは拒否されました。
+ email_intro: %{resource_title} の共同草案のコントリビューターとしてのアクセスは拒否されました。
email_outro: %{resource_title} のコラボレーターになることをリクエストしたため、この通知を受け取りました。
email_subject: '%{resource_title} の貢献者として拒否されました。'
notification_title: 共同草稿%{resource_title}の投稿者としてのアクセスを拒否されました。
collaborative_draft_withdrawn:
- email_intro: %{author_name} %{author_nickname} は、 %{resource_title} の共同ドラフトを撤回しました。
+ email_intro: %{author_name} %{author_nickname} は、 %{resource_title} の共同草案を撤回しました。
email_outro: %{resource_title} のコラボレーターであるため、この通知を受け取りました。
- email_subject: "%{author_name} %{author_nickname} は %{resource_title} の共同ドラフトを撤回しました。"
+ email_subject: "%{author_name} %{author_nickname} は %{resource_title} の共同草案を撤回しました。"
notification_title: %{author_name} %{author_nickname} が、共同草稿 %{resource_title} を撤回しました。
creation_enabled:
email_intro: '%{participatory_space_title}で新しい提案を作成できるようになりました! このページに参加してください:'
@@ -298,6 +299,7 @@ ja:
email_outro: '「%{participatory_space_title}」をフォローしているため、この通知を受け取りました。前のリンクに続く通知の受信を停止できます。'
email_subject: 新しい提案 "%{resource_title}" が %{participatory_space_title} に追加されました
notification_title: 提案 %{resource_title} が %{author} によって %{participatory_space_title} に追加されました
+ notification_title_official: 公式の提案 %{resource_title} が %{participatory_space_title} に追加されました
proposal_rejected:
affected_user:
email_intro: 'あなたの提案 "%{resource_title}" は拒否されました。このページで回答を読むことができます:'
@@ -395,9 +397,6 @@ ja:
proposal_comments: コメント
proposals: 提案
imports:
- help:
- answers: 'インポートドキュメントは、id、状態 (受け入れられた、評価、拒否された)、answer/en (および組織で使える他の言語) の列を含む必要があります。'
- proposals: 'ファイルには、カラム名「title/en」と「body/en」(または、あなたが好む別のロケール、例: 「title/ja」と「body/ja」) が必要です。また、カラム名「scope/id」と「category/id」にも対応しています。'
label:
answers: ファイルから回答をインポート
proposals: ファイルから提案をインポート
@@ -606,34 +605,34 @@ ja:
collaborative_drafts:
collaborative_draft:
publish:
- error: 共同作業のドラフトを公開する際に問題が発生しました。
+ error: 共同草案を公開する際に問題が発生しました。
irreversible_action_modal:
- body: 提案としてドラフトを公開した後、ドラフトは編集できなくなります。提案は新しい著者や貢献者を受け入れません。
+ body: 提案として草案を公開した後、草案は編集できなくなります。提案は新しい著者や貢献者を受け入れません。
cancel: キャンセル
ok: 提案として公開
title: 次のアクションは取り消せません
- success: 共同ドラフトは提案として正常に公開されました。
- view_collaborative_draft: 共同作業のドラフトを表示
+ success: 共同草案は提案として正常に公開されました。
+ view_collaborative_draft: 共同草案を表示
withdraw:
- error: 共同作業のドラフトを閉じる際に問題が発生しました。
+ error: 共同草案を閉じる際に問題が発生しました。
irreversible_action_modal:
- body: ドラフトを閉じた後、ドラフトは編集できなくなります。ドラフトは新しい投稿者や投稿を受け入れません。
+ body: 草案を閉じた後、草案は編集できなくなります。草案は新しい投稿者や投稿を受け入れません。
cancel: キャンセル
- ok: 共同作業の下書きを撤回する
+ ok: 共同草案を撤回する
title: 次のアクションは取り消せません
- success: 共同ドラフトは正常に撤回されました。
+ success: 共同草案は正常に撤回されました。
count:
drafts_count:
- other: "%{count} 件の共同の下書きです"
+ other: "%{count} 件の共同草案"
create:
- error: 共同作業の下書き作成中に問題が発生しました
- success: 共同作業の下書きを作成しました。
+ error: 共同草案の作成中に問題が発生しました.
+ success: 共同草案を作成しました。
edit:
attachment_legend: "(オプション) 添付ファイルを追加"
back: 戻る
select_a_category: カテゴリを選択してください
send: 送信
- title: 共同作業の下書きを編集
+ title: 共同草案を編集
filters:
all: すべて
amendment: 修正
@@ -653,9 +652,9 @@ ja:
new:
send: 続ける
new_collaborative_draft_button:
- new_collaborative_draft: 新しい共同作業の下書きを作成
+ new_collaborative_draft: 新しい共同草案を作成
orders:
- label: '下書きの注文:'
+ label: '草案の依頼:'
most_contributed: 最も貢献したもの
random: ランダム
recent: 最近のもの
@@ -675,31 +674,31 @@ ja:
success: "@%{user} はコラボレーターとして正常に拒否されました"
show:
back: 戻る
- edit: 共同作業の下書きを編集
+ edit: 共同草案を編集
final_proposal: 最終的な提案
- final_proposal_help_text: このドラフトは終了しました。最終提案を確認してください。
+ final_proposal_help_text: この草案は終了しました。最終提案を確認してください。
hidden_authors_count:
other: '%{count} 人以上'
- info-message: これは提案のための 共同ドラフト です。 これは、以下のコメントセクションを使用して提案を作成したり、編集するためのアクセスを要求することで、提案を改善したりすることができることを意味します。 作成者がアクセスを許可すると、このドラフトを変更することができます。
+ info-message: これは提案のための 共同草案 です。 これは、以下のコメントセクションを使用して提案を作成したり、編集するためのアクセスを要求することで、提案を改善したりできることを意味します。 作成者がアクセスを許可すると、この草案を変更できます。
publish: 公開
- publish_info: このバージョンの下書きを公開するか、
+ publish_info: このバージョンの草案を公開するか、
published_proposal: 公開された提案
request_access: アクセスを要求する
requested_access: アクセスがリクエストされました
version_history: この提案のバージョン履歴を見る
- withdraw: ドラフトを撤回する
+ withdraw: 草案を撤回する
states:
open: 開く
published: 公開済み
withdrawn: 撤回
update:
- error: 共同作業のドラフトを保存する際に問題が発生しました。
- success: 共同作業の下書きが正常に更新されました。
+ error: 共同草案を保存する際に問題が発生しました。
+ success: 共同草案が正常に更新されました。
wizard_aside:
back_from_collaborative_draft: 共同草案に戻る
- info: 共同ドラフトを作成しています。
+ info: 共同草案を作成しています。
wizard_header:
- title: 共同作業の下書きを作成する
+ title: 共同草案を作成する
content_blocks:
highlighted_proposals:
proposals: 提案
@@ -707,7 +706,7 @@ ja:
error: 提案を保存する際に問題がありました。
success: 提案は正常に作成されました。ドラフトとして保存されました。
destroy_draft:
- error: 共同作業のドラフトを削除する際に問題が発生しました。
+ error: 共同草案を削除する際に問題が発生しました。
success: 提案の下書きは正常に削除されました。
last_activity:
new_proposal_at_html: " %{link}で新しい提案"
@@ -794,7 +793,7 @@ ja:
unfold: 展開する
index:
click_here: すべての提案を見る
- collaborative_drafts_list: 共同作業の下書きにアクセスする
+ collaborative_drafts_list: 共同草案にアクセスする
new_proposal: 新しい提案
see_all: すべての提案を見る
see_all_withdrawn: すべての撤回された提案を見る
@@ -847,8 +846,8 @@ ja:
estimated_cost: 推定コスト
hidden_endorsers_count:
other: '%{count} 人以上'
- link_to_collaborative_draft_help_text: この提案は共同ドラフトの結果です。履歴を確認してください
- link_to_collaborative_draft_text: 共同作業の下書きを見る
+ link_to_collaborative_draft_help_text: この提案は共同草案の結果です。履歴を確認してください
+ link_to_collaborative_draft_text: 共同草案を見る
link_to_promoted_emendation_help_text: この提案は奨励された提案です
link_to_promoted_emendation_text: 拒否されたemendationを参照してください。
link_to_proposal_from_emendation_help_text: これが拒否されました
@@ -924,7 +923,7 @@ ja:
error: 提案を保存する際に問題がありました。
success: 提案が正常に更新されました。
update_draft:
- error: 共同作業のドラフトを保存する際に問題が発生しました。
+ error: 共同草案を保存する際に問題が発生しました。
success: 提案ドラフトが正常に更新されました。
versions:
collaborative_drafts:
diff --git a/decidim-proposals/config/locales/lo-LA.yml b/decidim-proposals/config/locales/lo-LA.yml
new file mode 100644
index 0000000000000..27a02bfece429
--- /dev/null
+++ b/decidim-proposals/config/locales/lo-LA.yml
@@ -0,0 +1 @@
+lo:
diff --git a/decidim-proposals/config/locales/lt.yml b/decidim-proposals/config/locales/lt.yml
index 6c5cb837ac8c1..2750bceb4d801 100644
--- a/decidim-proposals/config/locales/lt.yml
+++ b/decidim-proposals/config/locales/lt.yml
@@ -1 +1,989 @@
lt:
+ activemodel:
+ attributes:
+ collaborative_draft:
+ address: Adresas
+ body: Pagrindinė dalis
+ category_id: Kategorija
+ decidim_scope_id: Apimtis
+ has_address: Turi adresą
+ scope_id: Apimtis
+ state: Būsena
+ title: Pavadinimas
+ user_group_id: Sukurti bendrą projektą kaip
+ proposal:
+ address: Adresas
+ answer: Atsakyti
+ answered_at: Atsakyta
+ automatic_hashtags: Grotažymės pridėtos automatiškai
+ body: Pagrindinė dalis
+ category_id: Kategorija
+ decidim_scope_id: Apimtis
+ has_address: Turi adresą
+ scope_id: Apimtis
+ state: Būsena
+ suggested_hashtags: Pasiūlytos grotažymės
+ title: Pavadinimas
+ user_group_id: Sukurti pasiūlymą kaip
+ proposal_answer:
+ answer: Atsakymas
+ cost: Kaina
+ cost_report: Kaštų ataskaita
+ execution_period: Vykdymo periodas
+ proposals_copy:
+ copy_proposals: Suprantu, kad visi pasiūlymai bus perkelti iš pasirinkto komponento į dabartinį ir kad šio veiksmo negalima atšaukti.
+ origin_component_id: Komponentas, skirtas kopijuoti pasiūlymams iš
+ proposals_import:
+ import_proposals: Importuoti pasiūlymus
+ keep_answers: Išlaikyti būseną ir atsakymus
+ keep_authors: Išlaikyti originalius autorius
+ valuation_assignment:
+ admin_log:
+ valuator_role_id: Vertintojo vardas ir pavardė
+ errors:
+ models:
+ participatory_text:
+ attributes:
+ document:
+ invalid_document_type: 'Netinkamas dokumento tipas. Priimtini formatai: %{valid_mime_types}'
+ proposal:
+ attributes:
+ add_documents:
+ needs_to_be_reattached: Reikia pridėti iš naujo
+ add_photos:
+ needs_to_be_reattached: Reikia pridėti iš naujo
+ body:
+ cant_be_equal_to_template: negali prilygti šablonui
+ identical: IR pavadinimas negali sutapti
+ title:
+ identical: IR pagrindinė dalis negali sutapti
+ proposals_merge:
+ attributes:
+ base:
+ not_official: Nėra oficialūs
+ supported: Gavo palaikymo ar pritarimo
+ proposals_split:
+ attributes:
+ base:
+ not_official: Nėra oficialūs
+ supported: Gavo palaikymo ar pritarimo
+ models:
+ decidim/proposals/accepted_proposal_event: Pasiūlymas priimtas
+ decidim/proposals/admin/update_proposal_category_event: Pasiūlymo kategorija pakeista
+ decidim/proposals/admin/update_proposal_scope_event: Pasiūlymo sritis pakeista
+ decidim/proposals/creation_enabled_event: Pasiūlymo sukūrimas aktyvintas
+ decidim/proposals/endorsing_enabled_event: Parama pasiūlymui aktyvinta
+ decidim/proposals/evaluating_proposal_event: Pasiūlymas šiuo metu vertinamas
+ decidim/proposals/proposal_mentioned_event: Pasiūlymas paminėtas
+ decidim/proposals/publish_proposal_event: Pasiūlymas paskelbtas
+ decidim/proposals/rejected_proposal_event: Pasiūlymas atmestas
+ decidim/proposals/voting_enabled_event: Balsavimas už pasiūlymą aktyvintas
+ activerecord:
+ models:
+ decidim/proposals/collaborative_draft:
+ one: Bendras juodraštis
+ few: Bendri projektai
+ many: Bendri projektai
+ other: Bendri projektai
+ decidim/proposals/proposal:
+ one: Pasiūlymas
+ few: Pasiūlymai
+ many: Pasiūlymai
+ other: Pasiūlymai
+ decidim/proposals/proposal_note:
+ one: Užrašas
+ few: Užrašai
+ many: Užrašai
+ other: Užrašai
+ decidim/proposals/proposal_vote:
+ one: Palaikymas
+ few: Palaikymai
+ many: Palaikymai
+ other: Palaikymai
+ decidim:
+ admin:
+ filters:
+ proposals:
+ category_id_eq:
+ label: Kategorija
+ is_emendation_true:
+ label: Tipas
+ values:
+ 'false': Pasiūlymai
+ 'true': Pataisos
+ scope_id_eq:
+ label: Apimtis
+ state_eq:
+ label: Būsena
+ values:
+ accepted: Priimta
+ evaluating: Vertinamas
+ published: Paskelbta
+ rejected: Atmesta
+ validating: Techninis patvirtinimas
+ withdrawn: Atsiimta
+ state_null:
+ label: Būsena
+ values:
+ 'true': Neatsakyta
+ valuator_role_ids_has:
+ label: Pavesta vertintojui
+ search_placeholder:
+ id_string_or_title_cont: Ieškoti %{collection} pagal ID arba pavadinimą.
+ components:
+ proposals:
+ actions:
+ amend: Pakeisti
+ comment: Komentuoti
+ create: Sukurti
+ endorse: Palaikyti
+ vote: Paremti
+ vote_comment: Balsuoti už komentarą
+ withdraw: Atsiimti
+ name: Pasiūlymai
+ settings:
+ global:
+ amendments_enabled: Pataisos leidžiamos
+ amendments_enabled_help: Jeigu jie aktyvūs, sukonfigūruokite kiekvieno etapo pakeitimo požymius.
+ amendments_wizard_help_text: Pakeitimų vedlio pagalbos tekstas
+ announcement: Pranešimas
+ attachments_allowed: Leisti failų prisegimus
+ can_accumulate_supports_beyond_threshold: Gali kaupti paramą virš numatytos ribos
+ collaborative_drafts_enabled: Bendri projektai įjungti
+ comments_enabled: Komentarai įjungti
+ comments_max_length: Maksimalus komentarų ilgis (Palikite 0 kaip numatytą vertę)
+ default_sort_order: Numatytas pasiūlymų rikiavimas
+ default_sort_order_help: Numatytasis reiškia, kad įjungus paramą, pasiūlymai bus surūšiuotjami atsitiktine tvarka, o jeigu paramos blokuojamos – pagal labiausiai palaikomus.
+ default_sort_order_options:
+ default: Numatytasis
+ most_commented: Labiausiai komentuojamas
+ most_endorsed: Labiausiai pritarta
+ most_followed: Labiausiai sekė
+ most_voted: Labiausiai parėmė
+ random: Atsitiktinai
+ recent: Naujausi
+ with_more_authors: Turintys daugiausia autorių
+ geocoding_enabled: Geokodavimas įjungtas
+ minimum_votes_per_user: Mažiausia parama vienam naudotojui
+ new_proposal_body_template: Naujo pasiūlymo pagrindinės dalies šablonas
+ new_proposal_body_template_help: Galite nustatyti naujiuose pasiūlymuose būsimą iš anksto užpildytą tekstą
+ new_proposal_help_text: Naujo pasiūlymo pagalbos tekstas
+ official_proposals_enabled: Oficialūs pasiūlymai aktyvuoti
+ participatory_texts_enabled: Dalyvaujamieji tekstai aktyvuoti
+ participatory_texts_enabled_readonly: Jei yra pasiūlymų, negalima sąveika su šia nuostata. Sukurkite naują „Pasiūlymų komponentą“, jei norite aktyvinti šią funkciją arba, jei norite išjungti šią funkciją, visus importuotus pasiūlymus pašalinkite iš laukelio „Bendri tekstai“ meniu.
+ proposal_answering_enabled: Atsakymas į pasiūlymą aktyvintas
+ proposal_edit_before_minutes: Kol nepraeis nurodytas skaičius minučių, autoriai gali keisti pasiūlymus
+ proposal_edit_time: Pasiūlymų koregavimas
+ proposal_edit_time_choices:
+ infinite: Lesti redaguoti pasiūlymus neribotą laiką
+ limited: Leisti redaguoti pasiūlymus nustatytame laiko intervale
+ proposal_length: Ilgiausia įmanoma pasiūlymo pagrindinė dalis
+ proposal_limit: Pasiūlymų skaičiaus limitas vienam dalyviui
+ proposal_wizard_step_1_help_text: Pasiūlymo vedlio etapo „Sukurti“ pagalbos tekstas
+ proposal_wizard_step_2_help_text: Pasiūlymo vedlio etapo „Palyginti“ pagalbos tekstas
+ proposal_wizard_step_3_help_text: Pasiūlymo vedlio etapo „Užbaigti“ pagalbos tekstas
+ proposal_wizard_step_4_help_text: Pasiūlymo vedlio etapo „Paskelbti“ pagalbos tekstas
+ resources_permissions_enabled: Kiekvienam pasiūlymui galima nustatyti leistinus veiksmus
+ scope_id: Apimtis
+ scopes_enabled: Sritys įjungtos
+ threshold_per_proposal: Vienam pasiūlymui nustatyta riba
+ vote_limit: Paramos riba vienam dalyviui
+ step:
+ amendment_creation_enabled: Pataisų kūrimas leidžiamas
+ amendment_creation_enabled_help: Dalyvis gali pataisyti pasiūlymus.
+ amendment_promotion_enabled: Pataisų paaukštinimai įjungti
+ amendment_promotion_enabled_help: Pataisymų autoriai galės paaukštinti atmestą pataisymą į pasiūlymą.
+ amendment_reaction_enabled: Pataisų reakcijos įjungtos
+ amendment_reaction_enabled_help: Pasiūlymo autoriai galės priimti arba atmesti dalyvių pataisas.
+ amendments_visibility: Pataisų matomumas
+ amendments_visibility_choices:
+ all: Pataisos matomos visiems
+ participants: Pakeitimai matomi tik jų autoriams
+ amendments_visibility_help: Jeigu pasirenkama „Pakeitimai matomi tik jų autoriams“, dalyvis turi būti prisijungęs, kad galėtų matyti padarytus pakeitimus.
+ announcement: Pranešimas
+ answers_with_costs: Įjungti atsakymų į pasiūlymus išlaidų funkciją
+ automatic_hashtags: Grotažymės pridėtos prie visų pasiūlymų
+ comments_blocked: Komentarai užblokuoti
+ creation_enabled: Dalyviai gali kurti pasiūlymus
+ creation_enabled_readonly: Šis nustatymas išjungiamas, kai suaktyvinate Dalyvaujančių Tekstų funkciją. Norėdami įkelti pasiūlymus kaip dalyvaujamąjį tekstą, spustelėkite mygtuką Dalyvaujantys Tekstai ir vadovaukitės instrukcijomis.
+ default_sort_order: Numatytasis pasiūlymų rūšiavimas
+ default_sort_order_help: Numatytasis reiškia, kad įjungus palaikymus pasiūlymai bus rodomi surūšiuoti atsitiktine tvarka, o jei palaikymai yra blokuojami – pagal labiausiai palaikomus.
+ default_sort_order_options:
+ default: Numatytasis
+ most_commented: Labiausiai komentuojamas
+ most_endorsed: Labiausiai pritarta
+ most_followed: Labiausiai sekamas
+ most_voted: Labiausiai paremtas
+ random: Atsitiktinis
+ recent: Naujausi
+ with_more_authors: Turintys daug autorių
+ endorsements_blocked: Pritarimai užblokuoti
+ endorsements_enabled: Pritarimai aktyvuoti
+ proposal_answering_enabled: Atsakymas į pasiūlymą suaktyvintas
+ publish_answers_immediately: Skelbti atsakymus į pasiūlymius nedelsiant
+ publish_answers_immediately_help_html: 'Atminkite, kad jei atsakysite į bet kurį pasiūlymą neįjungę šio funkcijos, turėsite atsakymus paskelbti rankiniu būdu, pasirinkdami ir naudodami paskelbimo veiksmą. Norėdami gauti daugiau informacijos apie tai, kaip tai veikia, aplankykite pasiūlymų atsakymų dokumentacijos puslapį.'
+ suggested_hashtags: Dalyviams pasiūlytos grotažymės naujiems pasiūlymams
+ votes_blocked: Blokuoti balsai
+ votes_enabled: Parama aktyvuota
+ votes_hidden: Balsai paslėpti (jei balsavimo funkcija įjungta, pažymėjus šį pasirinkimą, balsų kiekis bus paslėptas)
+ events:
+ proposals:
+ admin:
+ proposal_note_created:
+ email_intro: Kažkas paliko pastabą dėl pasiūlymo „%{resource_title}“. Patikrinkite tai administratoriaus srityje
+ email_outro: Šį pranešimą gavote dėl to, kad galite vertinti pasiūlymą.
+ email_subject: Kažkas paliko pastabą dėl pasiūlymo „%{resource_title}“.
+ notification_title: Kažkas paliko pastabą dėl pasiūlymo %{resource_title}. Peržiūrėkite ją administratoriaus srityje
+ collaborative_draft_access_accepted:
+ email_intro: '%{requester_name} buvo priimtas kaip %{resource_title} bendradarbiavimo juodraščio bendradarbis.'
+ email_outro: Šį pranešimą gavote dėl to, kad esate %{resource_title} bendraautorius.
+ email_subject: "%{requester_name}, kaip %{resource_title} bendraautoriui, suteikta prieiga."
+ notification_title: %{requester_name} %{requester_nickname}, , kaip bendro juodraščio %{resource_title} bendraautoriui, suteikta prieiga.
+ collaborative_draft_access_rejected:
+ email_intro: '%{requester_name} buvo atmestas kaip %{resource_title} bendradarbiavimo juodraščio bendradarbis.'
+ email_outro: Šį pranešimą gavote dėl to, kad esate %{resource_title} bendraautorius.
+ email_subject: "%{requester_name} nesuteikta prieigos prie bendro juodraščio %{resource_title} kaip bendraautoriui."
+ notification_title: %{requester_name} %{requester_nickname} nesuteikta prieigos kaip juodraščio %{resource_title} bendraautoriui.
+ collaborative_draft_access_requested:
+ email_intro: '%{requester_name} paprašė prieigos kaip bendraautorius. Galite priimti arba atmesti užklausą iš bendro juodraščio %{resource_title} puslapio.'
+ email_outro: Šį pranešimą gavote dėl to, kad esate %{resource_title} bendraautorius.
+ email_subject: "%{requester_name} paprašė prieigos, kad galėtų prisidėti prie %{resource_title}."
+ notification_title: %{requester_name} %{requester_nickname} paprašė prieigos, kad galėtų prisidėti prie bendro juodraščio %{resource_title}. Užklausą priimkite arba atmeskite.
+ collaborative_draft_access_requester_accepted:
+ email_intro: Jums suteikta prieiga kaip bendro juodraščio %{resource_title} bendraautoriui.
+ email_outro: Šį pranešimą gavote dėl to, kad pateikėte prašymą tapti %{resource_title} bendraautoriumi.
+ email_subject: Jūs patvirtintas %{resource_title} bendraautoriumi.
+ notification_title: Jums suteikta prieiga kaip bendro juodraščio %{resource_title} bendraautoriui.
+ collaborative_draft_access_requester_rejected:
+ email_intro: Jums nesuteikta prieiga kaip bendro juodraščio %{resource_title} bendraautoriui.
+ email_outro: Šį pranešimą gavote dėl to, kad pateikėte prašymą tapti %{resource_title} bendraautoriumi.
+ email_subject: Jūs prašymas tapti %{resource_title} bendraautoriumi atmestas.
+ notification_title: Jums nesuteikta prieiga prie juodraščio %{resource_title}.
+ collaborative_draft_withdrawn:
+ email_intro: %{author_name} %{author_nickname} atsiėmė %{resource_title} juodraštį.
+ email_outro: Šį pranešimą gavote dėl to, kad esate %{resource_title} bendraautorius.
+ email_subject: "%{author_name} %{author_nickname} atsiėmė juodraštį %{resource_title}."
+ notification_title: %{author_nickname} atsiėmė%{resource_title} juodraštį.
+ creation_enabled:
+ email_intro: 'Dabar galite kurti naujus pasiūlymus %{participatory_space_title}! Pradėti dalyvauti šiame puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad sekate %{participatory_space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą.
+ email_subject: Dabar su pasiūlymais galima susipažinti in %{participatory_space_title}
+ notification_title: Dabar galite pateikti naujų pasiūlymų %{participatory_space_title}
+ endorsing_enabled:
+ email_intro: 'Galite pritarti pasiūlymams %{participatory_space_title}! Pradėkite dalyvauti šiame puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad sekate %{participatory_space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą.
+ email_subject: Pritarimas pasiūlymams %{participatory_space_title} prasidėjo
+ notification_title: Dabar galite pradėti pritarti pasiūlymams%{participatory_space_title}
+ proposal_accepted:
+ affected_user:
+ email_intro: 'Jūsų pasiūlymas "%{resource_title}" priimtas. Atsakymą galite perskaityti šiame puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad esate „%{resource_title}“ autorius.
+ email_subject: Jūsų pasiūlymas priimtas
+ notification_title: Jūsų pasiūlymas %{resource_title} priimtas.
+ follower:
+ email_intro: 'Pasiūlymas "%{resource_title}" priimtas. Atsakymą galite perskaityti šiame puslapyje:'
+ email_outro: Gavote šį pranešimą, nes sekate %{resource_title}. Galite nebesekti paspaudę ant aukščiau esančios nuorodos.
+ email_subject: Pasiūlymas, kurį sekate, buvo priimtas
+ notification_title: %{resource_title} pasiūlymas priimtas.
+ proposal_evaluating:
+ affected_user:
+ email_intro: 'Jūsų pasiūlymas "%{resource_title}" šiuo metu vertinamas. Atsakymą galite pasitikrinti šiame puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad esate „%{resource_title}“ autorius.
+ email_subject: Jūsų pasiūlymas šiuo metu vertinamas
+ notification_title: Jūsų pasiūlymas %{resource_title} šiuo metu vertinamas.
+ follower:
+ email_intro: 'Pasiūlymas "%{resource_title}" šiuo metu vertinamas. Atsakymą galite patikrinti šiame puslapyje:'
+ email_outro: Gavote šį pranešimą, nes sekate %{resource_title}. Galite nebesekti paspaudę ant aukščiau esančios nuorodos.
+ email_subject: Pasiūlymas, kurį sekate, šiuo metu vertinamas
+ notification_title: %{resource_title} pasiūlymas šiuo metu vertinamas.
+ proposal_mentioned:
+ email_intro: Jūsų pasiūlymas „%{mentioned_proposal_title}“ buvo paminėtas šioje erdvėje komentaruose.
+ email_outro: Šį pranešimą gavote dėl to, kad esate „%{resource_title}“ autorius.
+ email_subject: Jūsų pasiūlymas „%{mentioned_proposal_title}“ buvo paminėtas
+ notification_title: Jūsų pasiūlymas „%{mentioned_proposal_title}“ buvo paminėtas šioje erdvėje komentaruose.
+ proposal_published:
+ email_intro: '%{author_name} %{author_nickname}, kurį sekate, paskelbė naują pasiūlymą, pavadintą „%{resource_title}“. Peržiūrėkite ir prisidėkite:'
+ email_outro: Šį pranešimą gavote dėl to, kad sekate %{author_nickname}. Jeigu nebenorite gauti pranešimų, spustelėkite aukščiau esančią nuorodą.
+ email_subject: '%{author_nickname} pateikė naują pasiūlymą "%{resource_title}"'
+ notification_title: %{author_name} %{author_nickname} paskelbė pasiūlymą %{resource_title}.
+ proposal_published_for_space:
+ email_intro: Erdvėje „%{participatory_space_title}“, kurią sekate, pridėtas pasiūlymas „%{resource_title}“.
+ email_outro: Šį pranešimą gavote dėl to, kad sekate „%{participatory_space_title}“. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą.
+ email_subject: '%{participatory_space_title} pridėtas naujas pasiūlymas „%{resource_title}“'
+ notification_title: '%{author} dalyvaujamojoje erdvėje %{participatory_space_title} pridėjo pasiūlymą %{resource_title}'
+ notification_title_official: Erdvėje %{participatory_space_title} pridėtas oficialus pasiūlymas %{resource_title}
+ proposal_rejected:
+ affected_user:
+ email_intro: 'Jūsų pasiūlymas „%{resource_title}“ atmestas. Atsakymą galite perskaityti šiame puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad esate „%{resource_title}“ autorius.
+ notification_title: Jūsų pasiūlymas %{resource_title} atmestas.
+ follower:
+ email_intro: 'Pasiūlymas „%{resource_title}“ atmestas. Atsakymą galite perskaityti šiame puslapyje:'
+ email_outro: Gavote šį pranešimą, nes sekate %{resource_title}. Galite nebesekti paspaudę ant aukščiau esančios nuorodos.
+ email_subject: Pasiūlymas, kurį sekate, buvo atmestas
+ notification_title: Pasiūlymas %{resource_title} buvo atmestas.
+ proposal_update_category:
+ email_intro: 'Administratorius atnaujino jūsų pasiūlymo „%{resource_title}“ kategoriją, patikrinkite tai šiame puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad esate pasiūlymo autorius.
+ email_subject: '%{resource_title} pasiūlymo kategorija buvo atnaujinta'
+ notification_title: Administratorius atnaujino %{resource_title} pasiūlymo kategoriją.
+ proposal_update_scope:
+ email_intro: 'Administratorius atnaujino jūsų pasiūlymo „%{resource_title}“ apimtį, patikrinkite tai šiame puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad esate pasiūlymo autorius.
+ email_subject: '%{resource_title} pasiūlymo apimtis buvo atnaujinta'
+ notification_title: Administratorius atnaujino %{resource_title} pasiūlymo apimtį.
+ voting_enabled:
+ email_intro: 'Galite paremti pasiūlymus %{participatory_space_title} erdvėje! Prisidėkite šiame puslapyje:'
+ email_outro: Šį pranešimą gavote dėl to, kad sekate %{participatory_space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą.
+ email_subject: Balsavimas %{participatory_space_title} prasidėjo
+ notification_title: Dabar galite pradėti balsuoti už pasiūlymus%{participatory_space_title}erdvėje
+ gamification:
+ badges:
+ accepted_proposals:
+ conditions:
+ - Pasirinkite jus dominančią dalyvavimo erdvę, kurioje įjungta pasiūlymų teikimo funkcija
+ - Pabandykite teikti pasiūlymus, kuriuos būtų galima įgyvendinti. Taip labiau tikėtina, kad jie bus priimti.
+ description: Šis ženklelis suteikiamas, kai aktyviai teikiate naujus pasiūlymus ir jie yra priimami.
+ description_another: Priimti (-a) %{score} šio dalyvio pasiūlymai (-ų).
+ description_own: Priimti (-a) %{score} jūsų pasiūlymai (-ų).
+ name: Priimti pasiūlymai
+ next_level_in: Pasistenkite, kad būtų priimti (-a) dar %{score} pasiūlymai (-ų) ir pasiekite kitą lygį!
+ unearned_another: Dar nepriimtas nė vienas šio dalyvio pasiūlymas.
+ unearned_own: Dar nepriimtas nė vienas jūsų pasiūlymas.
+ proposal_votes:
+ conditions:
+ - Naršykite ir praleiskite šiek tiek laiko skaitydami kitų žmonių pasiūlymus
+ - Palaikykite pasiūlymus, kurie jums patinka arba kurie jums atrodo įdomūs
+ description: Šis ženklelis suteikiamas, kai paremiate kitų žmonių pasiūlymus.
+ description_another: Šis dalyvis parėmė %{score} pasiūlymus (-ų).
+ description_own: Jūs parėmėte %{score} pasiūlymus (-ų).
+ name: Pasiūlymą palaiko
+ next_level_in: Paremkite dar %{score} pasiūlymus (-ų) ir pasiekite kitą lygį!
+ unearned_another: Šis dalyvis dar neparėmė jokių pasiūlymų.
+ unearned_own: Jūs dar neparėmėte jokių pasiūlymų.
+ proposals:
+ conditions:
+ - Pasirinkite jus dominančią dalyvavimo erdvę, kurioje įjungta pasiūlymų teikimo funkcija
+ - Sukurti naują pasiūlymą
+ description: Šis ženklelis suteikiamas, kai aktyviai teikiate naujus pasiūlymus.
+ description_another: Šis dalyvis sukūrė %{score} pasiūlymus (-ų).
+ description_own: Jūs parengėte %{score} pasiūlymus (-ų).
+ name: Pasiūlymai
+ next_level_in: Parenkite dar %{score} pasiūlymus (-ų) ir pasiekite kitą lygį!
+ unearned_another: Šis dalyvis dar neparengė jokių pasiūlymų.
+ unearned_own: Jūs dar neparengėte jokių pasiūlymų.
+ metrics:
+ accepted_proposals:
+ description: Priimtų pasiūlymų skaičius
+ object: pasiūlymai
+ title: Priimti pasiūlymai
+ endorsements:
+ description: Pritarimų pasiūlymams skaičius
+ object: pritarimai
+ title: Pritarimai
+ proposals:
+ description: Pasiūlymų skaičius
+ object: pasiūlymai
+ title: Pasiūlymai
+ votes:
+ description: Paramos pasiūlymams skaičius
+ object: balsai
+ title: Balsai
+ participatory_spaces:
+ highlighted_proposals:
+ see_all: Žiūrėti visus pasiūlymus (%{count})
+ proposals:
+ actions:
+ answer_proposal: Atsakyti į pasiūlymą
+ edit_proposal: Redaguoti pasiūlymą
+ import: Importuoti pasiūlymus iš kito komponento
+ new: Naujas pasiūlymas
+ participatory_texts: Dalyvaujamieji tekstai
+ show: Rodyti pasiūlymą
+ title: Veiksmai
+ admin:
+ actions:
+ preview: Peržiūra
+ exports:
+ proposal_comments: Komentarai
+ proposals: Pasiūlymai
+ imports:
+ label:
+ answers: Importuoti atsakymus iš failo
+ proposals: Importuoti pasiūlymus iš failo
+ resources:
+ answers:
+ one: pasiūlymo atsakymas
+ few: pasiūlymo atsakymai
+ many: pasiūlymo atsakymų
+ other: pasiūlymo atsakymai
+ proposals:
+ one: pasiūlymas
+ few: pasiūlymai
+ many: pasiūlymų
+ other: pasiūlymai
+ title:
+ answers: Importuoti atsakymus į pasiūlymus
+ proposals: Importuoti pasiūlymus
+ models:
+ proposal:
+ name: Pasiūlymas
+ participatory_texts:
+ bulk-actions:
+ are_you_sure: Ar tikrai norite išmesti visą dalyvaujamojo teksto juodraštį?
+ discard_all: Pašalinti visus
+ import_doc: Importuoti dokumentą
+ discard:
+ success: Visi dalyvaujamųjų tekstų juodraščiai ištrinti.
+ import:
+ invalid: Forma netinkama!
+ invalid_file: Rinkmenoje yra klaidų, pabandykite redaguoti rinkmenos turinį ir dar kartą ją įkelti.
+ success: Sveikiname! Šie skirsniai tapo pasiūlymais. Dabar galite juos peržiūrėti ir patikslinti prieš paskelbdami.
+ index:
+ info_1: Šie skirsniai tapo pasiūlymais. Dabar galite juos peržiūrėti ir patikslinti prieš paskelbdami.
+ publish_document: Skelbti dokumentą
+ save_draft: Išsaugoti juodraštį
+ title: Peržiūrėti dalyvaujamąjį tekstą
+ new_import:
+ accepted_mime_types:
+ md: Markdown
+ odt: ODT
+ bottom_hint: "(Dokumentų skirsnius galėsite peržiūrėti ir rūšiuoti)"
+ document_legend: 'Pridėkite mažesnį nei 2MB dokumentą, kiekvienas ne didesnio kaip 3 lygių gylio skirsnis bus išanalizuotas ir įkeltas į „Pasiūlymus“. Priimtini formatai: %{valid_mime_types}'
+ title: Pridėti dokumentą
+ upload_document: Įkelti dokumentą
+ publish:
+ invalid: Nepavyko paskelbti pasiūlymų
+ success: Visi pasiūlymai paskelbti
+ sections:
+ article: "Straipsnis"
+ section: "Skirsnis:%{title}"
+ sub-section: "Poskirsnis: %{title}"
+ update:
+ success: Dalyvaujamasis tekstas atnaujintas.
+ proposal_answers:
+ form:
+ accepted: Priimta
+ answer_proposal: Atsakyti
+ evaluating: Vertinama
+ not_answered: Neatsakyta
+ rejected: Atmesta
+ title: Atsakymai į %{title} pasiūlymą
+ proposal_notes:
+ create:
+ error: Kuriant šią pastabą prie pasiūlymo iškilo problema
+ success: Pastaba prie pasiūlymo sukurta
+ form:
+ note: Pastaba
+ submit: Pateikti
+ leave_your_note: Palikite pastabą
+ title: Privačios pastabos
+ proposals:
+ answer:
+ invalid: Atsakant į šį pasiūlymą iškilo problema
+ success: Į pasiūlymą atsakyta
+ create:
+ invalid: Kuriant šį pasiūlymą iškilo problema
+ success: Pasiūlymas sukurtas
+ edit:
+ title: Atnaujinti pasiūlymą
+ update: Atnaujinti
+ form:
+ attachment_legend: "(Neprivaloma) Pridėti priedą"
+ created_in_meeting: Šis pasiūlymas iškeltas susirinkime
+ delete_attachment: Ištrinti prikabintą failą
+ select_a_category: Pasirinkite kategoriją
+ select_a_meeting: Pasirinkite susitikimą
+ index:
+ actions: Veiksmai
+ assign_to_valuator: Priskirti vertintojui
+ assign_to_valuator_button: Priskirti
+ cancel: Atšaukti
+ change_category: Keisti kategoriją
+ change_scope: Keisti apimtį
+ merge: Sulieti į vieną
+ merge_button: Sulieti
+ publish: Publikuoti
+ publish_answers: Skelbti atsakymus
+ select_component: Pasirinkite komponentą
+ selected: pasirinkta
+ split: Išskaidyti pasiūlymus
+ split_button: Skaidyti
+ title: Pasiūlymai
+ unassign_from_valuator: Panaikinti vertintojui pavestą užduotį
+ unassign_from_valuator_button: Atšaukti priskyrimą
+ update: Atnaujinti
+ update_scope_button: Atnaujinti apimtį
+ new:
+ create: Sukurti
+ title: Sukurti pasiūlymą
+ publish_answers:
+ number_of_proposals: Bus paskelbti atsakymai į %{number} pasiūlymus (-ų).
+ select_a_proposal: Pasirinkite pasiūlymą
+ show:
+ amendments_count: Pakeitimų skaičius
+ assigned_valuators: Paskirti vertintojai
+ authors: Autoriai
+ body: Pagrindinė dalis
+ comments_count: Komentarų skaičius
+ comments_negative_count: Prieš
+ comments_neutral_count: Neutralūs
+ comments_positive_count: Už
+ created_at: Sukūrimo data
+ documents: Dokumentai
+ endorsements_count: Palaikymų skaičius
+ endorsements_ranking: Reitingavimas pagal pritarimus
+ endorsers: Pritariantieji
+ link: Nuoroda
+ n_more_endorsers:
+ one: ir dar vienas
+ few: ir dar %{count}
+ many: ir dar %{count} daugiau
+ other: ir dar %{count} daugiau
+ photos: Nuotraukos
+ proposals: Pasiūlymai
+ ranking: "%{ranking} iš %{total}"
+ related_meetings: Susiję susitikimai
+ remove_assignment: Pašalinti užduotį
+ remove_assignment_confirmation: Ar tikrai norite nušalinti vertintoją nuo šio pasiūlymo?
+ valuators: Vertintojai
+ votes_count: Balsų skaičius
+ votes_ranking: Reitingavimas pagal balsų skaičių
+ update_category:
+ invalid: 'Šie pasiūlymai jau priskirti kategorijai %{subject_name}: %{proposals}.'
+ select_a_category: Pasirinkite kategoriją
+ select_a_proposal: Pasirinkite pasiūlymą
+ success: 'Pasiūlymas atnaujintas ir priskirtas kategorijai %{subject_name}: %{proposals}.'
+ update_scope:
+ invalid: 'Šie pasiūlymai jau turi %{subject_name} apimtį: %{proposals}.'
+ select_a_proposal: Pasirinkite pasiūlymą
+ select_a_scope: Pasirinkite apimtį
+ success: 'Pasiūlymai sėkmingai atnaujinti į %{subject_name} sritį: %{proposals}.'
+ proposals_imports:
+ create:
+ invalid: Importuojant pasiūlymus iškilo problema
+ success: "%{number} pasiūlymai (-ų) importuoti"
+ new:
+ create: Importuoti pasiūlymus
+ no_components: Šioje dalyvaujamojo proceso erdvėje nėra kitų pasiūlymų komponentų, iš kurių būtų galima importuoti pasiūlymus.
+ select_component: Pasirinkite komponentą
+ select_states: Patikrinti importuoti skirtų pasiūlymų būseną
+ title: Importuoti pasiūlymus
+ proposals_merges:
+ create:
+ invalid: 'Suliejant pasirinktus pasiūlymus iškilo problema, nes kai kurie iš jų:'
+ success: Pasiūlymai sulieti į vieną naują pasiūlymą.
+ proposals_splits:
+ create:
+ invalid: 'Iškilo problema skaidant pasirinktus pasiūlymus, nes kai kurie iš jų:'
+ success: Pasiūlymai išskaidyti į naujus.
+ valuation_assignments:
+ create:
+ invalid: Pavedant pasiūlymus vertintojui įvyko klaida
+ success: Pasiūlymai pavesti vertintojui
+ delete:
+ invalid: Naikinant vertintojui pavestus pasiūlymus įvyko klaida
+ success: Vertintojas sėkmingai pašalintas nuo pasiūlymų
+ admin_log:
+ proposal:
+ answer: "%{user_name} atsakė į pasiūlymą %{resource_name} %{space_name} erdvėje"
+ create: "%{user_name} sukūrė %{resource_name} pasiūlymą kaip oficialų pasiūlymą %{space_name} erdvėje"
+ publish_answer: "%{user_name} paskelbė atsakymą į pasiūlymą %{resource_name} %{space_name} erdvėje"
+ update: "%{user_name} atnaujino %{resource_name} oficialų pasiūlymą %{space_name} erdvėje"
+ proposal_note:
+ create: "%{user_name} paliko privačią pastabą dėl pasiūlymo %{resource_name} %{space_name} erdvėje"
+ valuation_assignment:
+ create: "%{user_name} pavedė %{resource_name} pasiūlymą vertintojui"
+ delete: "%{user_name} pašalino vertintoją nuo %{proposal_title} pasiūlymo"
+ answers:
+ accepted: Priimta
+ evaluating: Vertinama
+ not_answered: Neatsakyta
+ rejected: Atmesta
+ withdrawn: Atsiimta
+ application_helper:
+ filter_category_values:
+ all: Visi
+ filter_origin_values:
+ all: Visi
+ citizens: Piliečiai
+ meetings: Susitikimai
+ official: Oficialūs
+ user_groups: Grupės
+ filter_scope_values:
+ all: Visi
+ filter_state_values:
+ accepted: Priimta
+ all: Visi
+ evaluating: Vertinama
+ not_answered: Neatsakyta
+ rejected: Atmesta
+ filter_type_values:
+ all: Visi
+ amendments: Pakeitimai
+ proposals: Pasiūlymai
+ collaborative_drafts:
+ collaborative_draft:
+ publish:
+ error: Skelbiant bendrąjį juodraštį iškilo problema.
+ irreversible_action_modal:
+ body: Paskelbus juodraštį, kaip pasiūlymą, jo nebebus galima redaguoti. Į pasiūlymo kūrimą negalės įsitraukti nauji autoriai ir nebus galima pateikti naujų nuomonių.
+ cancel: Atšaukti
+ ok: Paskelbti kaip Pasiūlymą
+ title: Tai yra negrįžtamas veiksmas
+ success: Bendrasis juodraštis paskelbtas kaip pasiūlymas.
+ view_collaborative_draft: Peržiūrėti Bendrąjį Juodraštį
+ withdraw:
+ error: Uždarant bendrąjį juodraštį iškilo problema.
+ irreversible_action_modal:
+ body: Uždarius juodraštį, jo nebebus galima redaguoti. Į juodraščio kūrimą negalės įsitraukti nauji autoriai ir nebus galima pateikti naujų nuomonių.
+ cancel: Atšaukti
+ ok: Atsiimti bendrąjį juodraštį
+ title: Tai yra negrįžtamas veiksmas
+ success: Bendrasis juodraštis atsiimtas.
+ count:
+ drafts_count:
+ one: "%{count} bendras projektas"
+ few: "%{count} bendri projektai"
+ many: "%{count} bendri projektai"
+ other: "%{count} bendri projektai"
+ create:
+ success: Bendrasis juodraštis sukurtas.
+ edit:
+ attachment_legend: "(Neprivaloma) Pridėti priedą"
+ back: Atgal
+ select_a_category: Pasirinkite kategoriją
+ send: Siųsti
+ title: Redaguoti bendrąjį juodraštį
+ filters:
+ all: Visi
+ amendment: Pataisos
+ category: Kategorija
+ open: Atidaryta
+ published: Paskelbta
+ related_to: Susiję su
+ scope: Apimtis
+ search: Ieškoti
+ state: Būsena
+ withdrawn: Atsiimta
+ filters_small_view:
+ close_modal: Uždaryti modalinį langą
+ filter: Filtruoti
+ filter_by: Filtruoti pagal
+ unfold: Išskleisti
+ new:
+ send: Tęsti
+ new_collaborative_draft_button:
+ new_collaborative_draft: Naujas bendrasis projektas
+ orders:
+ label: 'Juodraščių rikiavimo kriterijai:'
+ most_contributed: Prie kurio labiausiai prisidėta
+ random: Atsitiktinai
+ recent: Naujausi
+ requests:
+ accepted_request:
+ error: Nepavyko patvirtinti bendraautoriumi. Bandykite dar kartą vėliau.
+ success: "@%{user} patvirtintas bendraautoriumi"
+ access_requested:
+ error: Jūsų užklausos įvykdyti nepavyko. Bandykite dar kartą vėliau.
+ success: Jūsų bendradarbiavimo užklausa išsiųsta
+ collaboration_requests:
+ accept_request: Sutikti
+ reject_request: Atmesti
+ title: Bendradarbiavimo užklausos
+ rejected_request:
+ error: Nepavyko atmesti kaip bendraautoriaus. Bandykite dar kartą vėliau.
+ success: "@%{user} atmestas kaip bendraautorius"
+ show:
+ back: Atgal
+ edit: Redaguoti bendrąjį juodraštį
+ final_proposal: galutinis pasiūlymas
+ final_proposal_help_text: Šis juodraštis baigtas. Patikrinkite galutinį pasiūlymą
+ hidden_authors_count:
+ one: ir dar %{count} žmogus
+ few: ir dar %{count} žmonės (-ių)
+ many: ir dar %{count} žmonės (-ių)
+ other: ir dar %{count} žmonės (-ių)
+ info-message: Tai bendras pasiūlymo projektas (juodraštis). Tai reiškia, kad galite padėti jo autoriams parengti pasiūlymą naudodamiesi komentarų skirsniu arba tiesiogiai jį patobulinti, prašydami prieigos jį keisti. Kai autoriai jums suteiks prieigą, galėsite keisti šį juodraštį.
+ publish: Paskelbti
+ publish_info: Skelbti šią juodraščio versiją arba
+ published_proposal: paskelbtas pasiūlymas
+ request_access: Prašyti prieigos
+ requested_access: Prieigos prašymas pateiktas
+ version_history: peržiūrėti šio pasiūlymo ankstesnes versijas
+ withdraw: atsiimti juodraštį
+ states:
+ open: Atviras
+ published: Paskelbtas
+ withdrawn: Atsiimtas
+ update:
+ error: Išsaugant bendrąjį juodraštį iškilo problema.
+ success: Bendrasis juodraštis atnaujintas.
+ wizard_aside:
+ back_from_collaborative_draft: Grįžti į bendruosius juodraščius
+ info: Rengiate bendrąjį juodraštį.
+ wizard_header:
+ title: Sukurkite savo bendrąjį juodraštį
+ content_blocks:
+ highlighted_proposals:
+ proposals: Pasiūlymai
+ create:
+ error: Išsaugant šį pasiūlymą iškilo problema.
+ success: Pasiūlymas sukurtas. Išsaugotas kaip Juodraštis.
+ destroy_draft:
+ error: Šalinant bendrąjį juodraštį iškilo problema.
+ success: Pasiūlymo projektas pašalintas.
+ last_activity:
+ new_proposal_at_html: "Naujas pasiūlymas %{link}"
+ proposal_updated_at_html: "Pasiūlymas atnaujintas %{link}"
+ models:
+ collaborative_draft:
+ fields:
+ authors: Autoriai
+ comments: Komentarai
+ contributions: Papildymai
+ proposal:
+ fields:
+ category: Kategorija
+ comments: Komentarai
+ id: ID
+ notes: Užrašai
+ official_proposal: Oficialus pasiūlymas
+ published_answer: Paskelbtas atsakymas
+ published_at: Paskelbta
+ scope: Apimtis
+ state: Būsena
+ title: Pavadinimas
+ valuator: Vertintojas
+ valuators: Vertintojai
+ votes: Balsai
+ new:
+ limit_reached: Naujų pasiūlymų rengti negalite, nes viršijote nustatytą ribą.
+ participatory_text_proposal:
+ alternative_title: Šiuo metu dalyvaujamųjų tekstų nėra
+ buttons:
+ amend: Pakeisti
+ comment: Komentuoti
+ comments: Komentarai
+ proposal_votes:
+ create:
+ error: Išreiškiant paramą pasiūlymui įvyko klaidų.
+ proposals:
+ compare:
+ continue: Tęsti
+ no_similars_found: Puiku! Panašių pasiūlymų nerasta
+ title: Panašūs Pasiūlymai
+ complete:
+ send: Siųsti
+ title: Užbaikite savo pasiūlymą
+ count:
+ proposals_count:
+ one: "%{count} pasiūlymas"
+ few: "%{count} pasiūlymai"
+ many: "%{count} pasiūlymų"
+ other: "%{count} pasiūlymai"
+ dynamic_map_instructions:
+ description: Koordinatės bus atnaujintos paspaudus mygtuką „Peržiūrėti“. Tačiau adresas nesikeičia.
+ instructions: Galite perkelti tašką žemėlapyje.
+ edit:
+ add_documents: Dokumentai
+ add_images: Rinkmena
+ attachment_legend: "(Neprivaloma) Pridėti priedą"
+ back: Atgal
+ delete_document: Ištrinti Dokumentą
+ delete_image: Pašalinti Paveikslėlį
+ gallery_legend: "(Neprivaloma) Pridėkite vaizdą prie pasiūlymo kortelės"
+ select_a_category: Pasirinkite kategoriją
+ send: Siųsti
+ title: Redaguoti pasiūlymą
+ edit_draft:
+ discard: Ištrinti šį juodraštį
+ discard_confirmation: Ar tikrai norite ištrinti šį pasiūlymo juodraštį?
+ send: Peržiūrėti
+ title: Redaguoti pasiūlymo projektą
+ filters:
+ activity: Mano veikla
+ all: Visi
+ amendment_type: Tipas
+ category: Kategorija
+ my_proposals: Mano pasiūlymai
+ origin: Kilmė
+ related_to: Susiję su
+ scope: Apimtis
+ search: Ieškoti
+ state: Būsena
+ type: Tipas
+ voted: Balsuota
+ filters_small_view:
+ close_modal: Uždaryti modalinį langą
+ filter: Filtruoti
+ filter_by: Filtruoti pagal
+ unfold: Išskleisti
+ index:
+ click_here: Žiūrėti visus pasiūlymus
+ collaborative_drafts_list: Prieiga prie bendrų projektų (juodraščių)
+ new_proposal: Naujas pasiūlymas
+ see_all: Žiūrėti visus pasiūlymus
+ see_all_withdrawn: Žiūrėti visus atsiimtus pasiūlymus
+ text_banner: Jūs žiūrite autorių atsiimtų pasiūlymų sąrašą. %{go_back_link}.
+ view_proposal: Žiūrėti pasiūlymą
+ linked_proposals:
+ proposal_votes:
+ one: balsas
+ few: balsai
+ many: balsų
+ other: balsai
+ new:
+ send: Tęsti
+ title: Sukurti savo pasiūlymą
+ orders:
+ label: 'Rikiuoti pasiūlymus pagal:'
+ most_commented: Labiausiai komentuojamas
+ most_endorsed: Labiausiai paremtas
+ most_followed: Labiausiai sekamas
+ most_voted: Labiausiai balsuotas
+ random: Atsitiktinai
+ recent: Naujausi
+ with_more_authors: Turintys daug autorių
+ participatory_texts:
+ index:
+ document_index: Dokumentų rodyklė
+ view_index:
+ see_index: Žiūrėti rodyklę
+ placeholder:
+ address: 37 Homewood Drive Brownsburg, IN 46112
+ preview:
+ announcement_body: Jūsų pasiūlymas buvo išsaugotas kaip juodraštis. Jis turi būti paskelbtas, kad jis būtų rodomas svetainėje.
+ announcement_title: Jūsų pasiūlymas dar nepaskelbtas
+ modify: Modifikuoti pasiūlymą
+ proposal_edit_before_minutes:
+ one: Šį pasiūlymą galėsite keisti pirmą minutę po pasiūlymo paskelbimo. Šiam laiko intervalui pasibaigus, pasiūlymo keisti nebegalėsite.
+ few: Šį pasiūlymą galėsite keisti pirmąsias %{count} minutes (-čių) po pasiūlymo paskelbimo. Šiam laiko intervalui pasibaigus, pasiūlymo keisti nebegalėsite.
+ many: Šį pasiūlymą galėsite keisti pirmąsias %{count} minutes (-čių) po pasiūlymo paskelbimo. Šiam laiko intervalui pasibaigus, pasiūlymo keisti nebegalėsite.
+ other: Šį pasiūlymą galėsite keisti pirmąsias %{count} minutes (-čių) po pasiūlymo paskelbimo. Šiam laiko intervalui pasibaigus, pasiūlymo keisti nebegalėsite.
+ publish: Paskelbti
+ title: Paskelbkite savo pasiūlymą
+ proposal:
+ creation_date: 'Sukūrimo data: %{date}'
+ view_proposal: Žiūrėti pasiūlymą
+ proposals:
+ empty: Pasiūlymų dar nėra
+ empty_filters: Pagal šį kriterijų nėra nė vieno pasiūlymo
+ show:
+ answer: Atsakymas
+ back_to: Grįžti į
+ back_to_list: Grįžti į sąrašą
+ changes_at_title: '„%{title}“ pakeitimas'
+ comments: Komentarai
+ edit_proposal: Redaguoti pasiūlymą
+ endorsements_list: Pritarimų Sąrašas
+ estimated_cost: Numatomos išlaidos
+ hidden_endorsers_count:
+ one: ir dar %{count} žmogus
+ few: ir dar %{count} žmonės (-ių)
+ many: ir dar %{count} žmonės (-ių)
+ other: ir dar %{count} žmonės (-ių)
+ link_to_collaborative_draft_help_text: Šis pasiūlymas yra bendro projekto rezultatas. Peržiūrėkite istoriją
+ link_to_collaborative_draft_text: Peržiūrėti bendrą projektą (juodraštį)
+ link_to_promoted_emendation_help_text: Šis pasiūlymas yra remiamas pakeitimas
+ link_to_promoted_emendation_text: Žiūrėti atmestą pakeitimą.
+ link_to_proposal_from_emendation_help_text: Tai yra atmestas pakeitimas
+ link_to_proposal_from_emendation_text: Žiūrėti Pasiūlymą
+ proposal_accepted_reason: 'Šis pasiūlymas buvo priimtas, nes:'
+ proposal_in_evaluation_reason: Šis pasiūlymas šiuo metu vertinamas
+ proposal_rejected_reason: 'Šis pasiūlymas buvo atmestas, nes:'
+ read_less: Suskleisti
+ read_more: Skaityti toliau
+ report: Pranešti
+ withdraw_btn_hint: Persigalvoję galėsite atsiimti savo pasiūlymą, jeigu niekas už jį dar nebalsavo. Pasiūlymas nepašalinamas. Jis bus rodomas atsiimtų pasiūlymų sąraše.
+ withdraw_confirmation_html: Ar tikrai norite atsiimti šį pasiūlymą?
Šio veiksmo atšaukti negalima!
+ withdraw_proposal: Atsiimti pasiūlymą
+ tags:
+ changed_from: "(administratorius pakeitė iš %{previous_name})"
+ update:
+ title: Atnaujinti pasiūlymą
+ vote_button:
+ already_voted: Jau balsuota
+ already_voted_hover: Atsiimti balsą
+ maximum_votes_reached: Pasiektas maksimalus balsų skaičius
+ no_votes_remaining: Balsų neliko
+ vote: Balsuoti
+ votes_blocked: Balsavimas išjungtas
+ votes_count:
+ count:
+ one: Balsas
+ few: Balsai
+ many: Balsų
+ other: Balsai
+ most_popular_proposal: Populiariausias pasiūlymas
+ need_more_votes: Reikia daugiau balsų
+ voting_rules:
+ can_accumulate_supports_beyond_threshold:
+ description: Kiekvienas pasiūlymas gali sukaupti daugiau nei %{limit} balsų
+ minimum_votes_per_user:
+ description: Turite paskirstyti mažiausiai %{votes} balsų tarp skirtingų pasiūlymų.
+ given_enough_votes: Jūs suteikėte pakankamai paramos.
+ supports_remaining: Kad į jūsų balsus būtų atsižvelgta, turite paremti dar %{remaining_votes} pasiūlymus (-ų).
+ proposal_limit:
+ description: Galite parengti iki %{limit} pasiūlymų.
+ threshold_per_proposal:
+ description: Kad pasiūlymai būtų priimti, jie turi surinkti %{limit} balsų
+ title: 'Paramai taikomos šios taisyklės:'
+ vote_limit:
+ description: Galite paremti iki %{limit} pasiūlymų.
+ left: Liko
+ votes: Balsai
+ wizard_aside:
+ back: Grįžti
+ back_from_step_1: Grįžti į pasiūlymus
+ back_from_step_2: Grįžti į pasiūlymus
+ back_from_step_3: Grįžti į pasiūlymų palyginimą
+ back_from_step_4: Grįžti į juodraščio redagavimą
+ info: Jūs kuriate pasiūlymą.
+ wizard_steps:
+ current_step: Dabartinis veiksmas
+ see_steps: peržiūrėti žingsnius
+ step_1: Sukurkite savo pasiūlymą
+ step_2: Palyginti
+ step_3: Baigti
+ step_4: Paskelbkite savo pasiūlymą
+ step_of: '%{current_step_num} žingsnis iš %{total_steps}'
+ title: Pasiūlymo sukūrimo etapai
+ proposals_picker:
+ choose_proposals: Pasirinkti pasiūlymus
+ close: Uždaryti
+ more_proposals: Yra dar %{number} pasiūlymai (-ų). Kad nustatytumėte jų vietą, patikslinkite savo paiešką.
+ no_proposals: Jūsų paieškos kriterijus atitinkančių pasiūlymų nerasta arba pasiūlymų nėra.
+ publish:
+ error: Skelbiant šį pasiūlymą iškilo problema.
+ success: Pasiūlymas paskelbtas.
+ publish_answers:
+ success: Pasiūlymų atsakymai paskelbti.
+ update:
+ error: Išsaugant šį pasiūlymą iškilo problema.
+ success: Pasiūlymas atnaujintas.
+ update_draft:
+ error: Išsaugant bendrąjį juodraštį iškilo problema.
+ success: Pasiūlymo juodraštis atnaujintas.
+ versions:
+ collaborative_drafts:
+ back_to_resource: Grįžti į bendrąjį juodraštį
+ index:
+ title: Versijos
+ proposals:
+ back_to_resource: Grįžti į pasiūlymą
+ withdraw:
+ errors:
+ has_supports: Šio pasiūlymo negalima atsiimti, nes jau yra už jį balsavusių.
+ resource_links:
+ copied_from_component:
+ proposal_proposal: Susiję pasiūlymai
+ included_projects:
+ project_result: 'Pasiekimai šiame projekte:'
+ included_proposals:
+ proposal_project: 'Šiuose projektuose pateikiamas pasiūlymas:'
+ proposal_result: 'Pasiūlymas įtrauktas į šiuos rezultatus:'
+ statistics:
+ proposals_accepted: Priimti Pasiūlymai
+ proposals_count: Pasiūlymai
+ supports_count: Palaikymai
diff --git a/decidim-proposals/config/locales/lv.yml b/decidim-proposals/config/locales/lv.yml
index fe727bc007957..78ac29a2f964c 100644
--- a/decidim-proposals/config/locales/lv.yml
+++ b/decidim-proposals/config/locales/lv.yml
@@ -226,7 +226,6 @@ lv:
affected_user:
email_intro: 'Jūsu priekšlikums "%{resource_title}" tika noraidīts. Jūs varat izlasīt atbildi šajā lapā:'
email_outro: Jūs saņēmāt šo paziņojumu, jo esat "%{resource_title}" autors.
- email_subject: Jūsu priekšlikums tika noraidīts
notification_title: Jūsu priekšlikums %{resource_title} tika noraidīts.
follower:
email_intro: 'Priekšlikums "%{resource_title}" tika noraidīts. Jūs varat izlasīt atbildi šajā lapā:'
@@ -526,7 +525,6 @@ lv:
one: "%{count} sadarbības projekts"
other: "%{count} sadarbības projekti"
create:
- error: Šo sadarbības projektu izveides laikā radās problēma
success: Sadarbības projekts ir veiksmīgi izveidots.
edit:
attachment_legend: "(Pēc izvēles) Pievienojiet pielikumu"
diff --git a/decidim-proposals/config/locales/nl.yml b/decidim-proposals/config/locales/nl.yml
index d59d3b7456073..fc60628359769 100644
--- a/decidim-proposals/config/locales/nl.yml
+++ b/decidim-proposals/config/locales/nl.yml
@@ -271,7 +271,6 @@ nl:
affected_user:
email_intro: 'Uw voorstel "%{resource_title}" is afgewezen. U kunt het antwoord op deze pagina lezen:'
email_outro: U hebt deze melding ontvangen omdat u een auteur bent van "%{resource_title}".
- email_subject: Uw voorstel is afgewezen
notification_title: Uw voorstel %{resource_title} is afgewezen.
follower:
email_intro: 'Het voorstel "%{resource_title}" is afgewezen. Je kan de reden hier lezen:'
@@ -364,9 +363,6 @@ nl:
proposal_comments: Reacties
proposals: Voorstellen
imports:
- help:
- answers: 'Het importdocument moet de volgende kolommen bevatten: id, status (geaccepteerd, evalueren, afgewezen), antwoord/nl (en andere talen ingeschakeld voor de organisatie).'
- proposals: Het bestand moet kolomnamen title/nl en body/nl bevatten (of een andere locale die jij verkiest, bijv. title/fr en body/fr). Ook scope/id en category/id kolommen worden ondersteund.
label:
answers: Importeer antwoorden vanuit een bestand
proposals: Importeer voorstellen vanuit een bestand
@@ -597,7 +593,6 @@ nl:
one: "%{count} gezamenlijk ontwerp"
other: "%{count} gezamenlijke ontwerpen"
create:
- error: Er is een probleem opgetreden bij het maken van dit gezamenlijk ontwerp
success: Gezamenlijk ontwerp met succes gemaakt.
edit:
attachment_legend: "(Optioneel) Voeg een bijlage toe"
diff --git a/decidim-proposals/config/locales/no.yml b/decidim-proposals/config/locales/no.yml
index af40975e982f8..d30293f599ed7 100644
--- a/decidim-proposals/config/locales/no.yml
+++ b/decidim-proposals/config/locales/no.yml
@@ -283,7 +283,6 @@
affected_user:
email_intro: 'Forslaget ditt "%{resource_title}" er blitt avvist. Du kan lese svaret på denne siden:'
email_outro: Du har mottatt denne varslingen fordi du er en forfatter av "%{resource_title}".
- email_subject: Forslaget ditt har blitt avvist
notification_title: Forslaget ditt %{resource_title} har blitt avvist.
follower:
email_intro: 'Forslaget "%{resource_title}" er blitt avvist. Du kan lese svaret på denne siden:'
@@ -577,7 +576,6 @@
one: "%{count} samarbeids utkast"
other: "%{count} samarbeids utkaster"
create:
- error: Det oppsto et problem med å lage disse samarbeidsutkastene
success: Samarbeids utkast opprettet.
edit:
attachment_legend: "(Valgfritt) Legg til et vedlegg"
diff --git a/decidim-proposals/config/locales/oc-FR.yml b/decidim-proposals/config/locales/oc-FR.yml
new file mode 100644
index 0000000000000..325b348894124
--- /dev/null
+++ b/decidim-proposals/config/locales/oc-FR.yml
@@ -0,0 +1 @@
+oc:
diff --git a/decidim-proposals/config/locales/pl.yml b/decidim-proposals/config/locales/pl.yml
index 3d886ea7927de..8acabd02d8937 100644
--- a/decidim-proposals/config/locales/pl.yml
+++ b/decidim-proposals/config/locales/pl.yml
@@ -266,7 +266,6 @@ pl:
affected_user:
email_intro: 'Twoja propozycja "%{resource_title}" została odrzucona. Możesz przeczytać odpowiedź na tej stronie:'
email_outro: Otrzymałeś to powiadomienie, ponieważ jesteś autorem "%{resource_title}".
- email_subject: Twoja propozycja została odrzucona
notification_title: Twoja propozycja %{resource_title} została odrzucona.
follower:
email_intro: 'Propozycja "%{resource_title}" została odrzucona. Możesz przeczytać odpowiedź na tej stronie:'
@@ -578,7 +577,6 @@ pl:
many: "%{count} wspólne szkice"
other: "%{count} wspólne szkice"
create:
- error: Podczas tworzenia wspólnych szkiców wystąpił błąd
success: Utworzono wspólny szkic.
edit:
attachment_legend: "(Opcjonalnie) Dodaj załącznik"
diff --git a/decidim-proposals/config/locales/pt-BR.yml b/decidim-proposals/config/locales/pt-BR.yml
index 32027b63dd86c..97178be069cd0 100644
--- a/decidim-proposals/config/locales/pt-BR.yml
+++ b/decidim-proposals/config/locales/pt-BR.yml
@@ -259,7 +259,6 @@ pt-BR:
affected_user:
email_intro: 'Sua proposta "%{resource_title}" foi rejeitada. Você pode ler a resposta nesta página:'
email_outro: Você recebeu esta notificação porque é um autor de "%{resource_title}".
- email_subject: Sua proposta foi rejeitada
notification_title: Sua proposta %{resource_title} foi rejeitada.
follower:
email_intro: 'A proposta "%{resource_title}" foi rejeitada. Você pode ler a resposta nesta página:'
@@ -567,7 +566,6 @@ pt-BR:
one: "%{count} rascunho colaborativo"
other: "%{count} rascunho colaborativo"
create:
- error: Houve um problema ao criar esses rascunhos colaborativos
success: Rascunho colaborativo criado com sucesso.
edit:
attachment_legend: "(Opcional) Adicione um anexo"
diff --git a/decidim-proposals/config/locales/pt.yml b/decidim-proposals/config/locales/pt.yml
index 77819cbebef0d..b9fe227aa1823 100644
--- a/decidim-proposals/config/locales/pt.yml
+++ b/decidim-proposals/config/locales/pt.yml
@@ -291,7 +291,6 @@ pt:
affected_user:
email_intro: 'A sua proposta "%{resource_title}" foi rejeitada. Pode ler a resposta nesta página:'
email_outro: Recebeu esta notificação porque é um autor de "%{resource_title}".
- email_subject: A sua proposta foi rejeitada
notification_title: A sua proposta %{resource_title} foi rejeitada.
follower:
email_intro: 'A proposta "%{resource_title}" foi rejeitada. Pode ler a resposta nesta página:'
@@ -601,7 +600,6 @@ pt:
one: "%{count} rascunho colaborativo"
other: "%{count} rascunhos colaborativos"
create:
- error: Ocorreu um problema ao criar estes rascunhos colaborativos
success: Rascunho colaborativo criado corretamente.
edit:
attachment_legend: "(Opcional) Adicione um anexo"
diff --git a/decidim-proposals/config/locales/ro-RO.yml b/decidim-proposals/config/locales/ro-RO.yml
index 5cbffe5495f63..ec1d1f717a72c 100644
--- a/decidim-proposals/config/locales/ro-RO.yml
+++ b/decidim-proposals/config/locales/ro-RO.yml
@@ -297,7 +297,6 @@ ro:
affected_user:
email_intro: 'Propunerea ta "%{resource_title}" a fost respinsă. Poți citi răspunsul în această pagină:'
email_outro: Ai primit această notificare deoarece ești autor al propunerii "%{resource_title}".
- email_subject: Propunerea ta a fost respinsă
notification_title: Propunerea ta %{resource_title} a fost respinsă.
follower:
email_intro: 'Propunerea "%{resource_title}" a fost respinsă. Poţi citi răspunsul în această pagină:'
@@ -390,9 +389,6 @@ ro:
proposal_comments: Comentarii
proposals: Propuneri
imports:
- help:
- answers: 'Documentul importat trebuie să conțină următoarele coloane: id, stadiu (acceptat, în evaluare, respins), răspuns/ro (și alte limbi activate pentru organizație).'
- proposals: Fişierul trebuie să aibă titlu/ro şi conținut/ro (sau o altă configurație pe care o preferi, de exemplu titlu/en și conținut/en). De asemenea, sunt acceptate coloane de domeniu de interes/id și categorie/id.
label:
answers: Importă răspunsuri dintr-un fişier
proposals: Importă propuneri dintr-un fişier
@@ -628,7 +624,6 @@ ro:
few: "%{count} ciorne colaborative"
other: "%{count} ciorne colaborative"
create:
- error: A apărut o problemă la crearea acestor ciorne colaborative
success: Ciorna colaborativă a fost creată cu succes.
edit:
attachment_legend: "(Opțional) Adaugă un atașament"
diff --git a/decidim-proposals/config/locales/sk.yml b/decidim-proposals/config/locales/sk.yml
index 3ca623b4cda0b..d90f3227d8a0e 100644
--- a/decidim-proposals/config/locales/sk.yml
+++ b/decidim-proposals/config/locales/sk.yml
@@ -224,7 +224,6 @@ sk:
affected_user:
email_intro: 'Váš návrh "%{resource_title}" bol zamietnutý. Odpoveď môžete čítať na tejto stránke: '
email_outro: Toto oznámenie ste dostali, pretože ste autorom položky "%{resource_title}".
- email_subject: Váš návrh bol zamietnutý
notification_title: Váš návrh %{resource_title} bol zamietnutý.
follower:
email_intro: 'Návrh "%{resource_title}" bol zamietnutý. Odpoveď môžete čítať na tejto stránke: '
@@ -531,7 +530,6 @@ sk:
many: "%{count} návrh spolupráce"
other: "%{count} návrh spolupráce"
create:
- error: Pri vytváraní tohto konceptu spolupráce vyskytol problém
success: Projekt spolupráce bol úspešne vytvorený.
edit:
attachment_legend: "(Voliteľné) Pridanie prílohy"
diff --git a/decidim-proposals/config/locales/sv.yml b/decidim-proposals/config/locales/sv.yml
index a590c8b4e25ce..f4165f3209508 100644
--- a/decidim-proposals/config/locales/sv.yml
+++ b/decidim-proposals/config/locales/sv.yml
@@ -293,7 +293,6 @@ sv:
affected_user:
email_intro: 'Ditt förslag "%{resource_title}" har avslagits. Du kan läsa svaret på den här sidan:'
email_outro: Du har fått det här meddelandet eftersom du är en författare av %{resource_title}".
- email_subject: Ditt förslag har avslagits
notification_title: Ditt förslag %{resource_title} har avslagits.
follower:
email_intro: 'Förslaget "%{resource_title}" har avslagits. Du kan läsa svaret på den här sidan:'
@@ -386,9 +385,6 @@ sv:
proposal_comments: Kommentarer
proposals: Förslag
imports:
- help:
- answers: 'Importdokumentet ska innehålla följande kolumner: id, state (accepterat, utvärderat, avvisat), answer/sv, answer/en (och andra språk aktiverade för organisationen).'
- proposals: Filen måste ha kolumnnamn title/sv och body/sv (eller ett annat språk som du föredrar t. ex.. title/en och body/en). Även scope/id och category/id kolumner stöds.
label:
answers: Importera svar från en fil
proposals: Importerar förslag från en fil
@@ -465,7 +461,7 @@ sv:
title: Uppdatera förslag
update: Uppdatera
form:
- attachment_legend: "(Valfritt) Lägg till en bilaga"
+ attachment_legend: "(Frivilligt) Lägg till en bilaga"
created_in_meeting: Detta förslag kommer från ett möte
delete_attachment: Ta bort bilaga
select_a_category: Välj en kategori
@@ -620,10 +616,9 @@ sv:
one: "%{count} gemensamt utkast"
other: "%{count} gemensamma utkast"
create:
- error: Det gick inte att skapa det gemensamma utkastet
success: Det gemensamma utkastet har skapats.
edit:
- attachment_legend: "(Valfritt) Lägg till en bilaga"
+ attachment_legend: "(Frivilligt) Lägg till en bilaga"
back: Tillbaka
select_a_category: Välj en kategori
send: Skicka
@@ -757,7 +752,7 @@ sv:
edit:
add_documents: Dokument
add_images: Bild
- attachment_legend: "(Valfritt) Lägg till en bilaga"
+ attachment_legend: "(Frivilligt) Lägg till en bilaga"
back: Tillbaka
delete_document: Radera dokument
delete_image: Radera bild
diff --git a/decidim-proposals/config/locales/tr-TR.yml b/decidim-proposals/config/locales/tr-TR.yml
index 9f31f370d4b30..9040a184cfdb1 100644
--- a/decidim-proposals/config/locales/tr-TR.yml
+++ b/decidim-proposals/config/locales/tr-TR.yml
@@ -252,7 +252,6 @@ tr:
affected_user:
email_intro: 'Teklifiniz "%{resource_title}" reddedildi. Cevabı bu sayfada okuyabilirsiniz:'
email_outro: Bu bildirimi, "%{resource_title}" ın bir yazarı olduğunuz için aldınız.
- email_subject: Teklifiniz reddedildi
notification_title: Teklifiniz %{resource_title} reddedildi.
follower:
email_intro: '"%{resource_title}" teklifi reddedildi. Cevabı bu sayfada okuyabilirsiniz:'
@@ -559,7 +558,6 @@ tr:
one: "%{count} ortak taslak"
other: "%{count} ortak taslak"
create:
- error: Bu ortak çalışma taslakları oluşturulurken bir sorunla karşılaşıldı
success: Ortak taslak başarıyla oluşturuldu.
edit:
attachment_legend: "(İsteğe bağlı) Bir ek ekleyin"
diff --git a/decidim-proposals/config/locales/zh-CN.yml b/decidim-proposals/config/locales/zh-CN.yml
index 81a581a34b16d..fd3511ab16753 100644
--- a/decidim-proposals/config/locales/zh-CN.yml
+++ b/decidim-proposals/config/locales/zh-CN.yml
@@ -239,7 +239,6 @@ zh-CN:
affected_user:
email_intro: '您的提议 "%{resource_title}" 已被拒绝。您可以在此页中读取答案:'
email_outro: 您收到此通知是因为您是"%{resource_title} "的作者。
- email_subject: 您的建议已被拒绝
notification_title: 您的提议 %{resource_title} 已被拒绝
follower:
email_intro: '提议 "%{resource_title}" 已被拒绝。您可以在此页中读取答案:'
@@ -538,7 +537,6 @@ zh-CN:
drafts_count:
other: "%{count} 协作草稿"
create:
- error: 创建这个合作草稿时出现问题
success: 协作草稿成功创建。
edit:
attachment_legend: "(可选) 添加附件"
diff --git a/decidim-proposals/lib/decidim/proposals/version.rb b/decidim-proposals/lib/decidim/proposals/version.rb
index 253d7067d1cc1..44e2aed1bf912 100644
--- a/decidim-proposals/lib/decidim/proposals/version.rb
+++ b/decidim-proposals/lib/decidim/proposals/version.rb
@@ -4,7 +4,7 @@ module Decidim
# This holds decidim-proposals version.
module Proposals
def self.version
- "0.26.2"
+ "0.26.4"
end
end
end
diff --git a/decidim-proposals/spec/cells/decidim/proposals/proposal_m_cell_spec.rb b/decidim-proposals/spec/cells/decidim/proposals/proposal_m_cell_spec.rb
index be43cc19d47f0..677555c20119b 100644
--- a/decidim-proposals/spec/cells/decidim/proposals/proposal_m_cell_spec.rb
+++ b/decidim-proposals/spec/cells/decidim/proposals/proposal_m_cell_spec.rb
@@ -28,6 +28,8 @@ module Decidim::Proposals
context "when rendering" do
let(:show_space) { false }
+ it_behaves_like "m-cell", :proposal
+
it "renders the card" do
expect(subject).to have_css(".card--proposal")
end
diff --git a/decidim-proposals/spec/commands/decidim/proposals/admin/import_proposals_spec.rb b/decidim-proposals/spec/commands/decidim/proposals/admin/import_proposals_spec.rb
index d6718b9544021..d08967d95e895 100644
--- a/decidim-proposals/spec/commands/decidim/proposals/admin/import_proposals_spec.rb
+++ b/decidim-proposals/spec/commands/decidim/proposals/admin/import_proposals_spec.rb
@@ -88,6 +88,19 @@ module Admin
titles = Proposal.where(component: current_component).map(&:title)
expect(titles).to match_array([proposal.title, second_proposal.title])
end
+
+ context "and the current component was not published" do
+ before { current_component.unpublish! }
+
+ it "doesn't import it again" do
+ expect do
+ command.call
+ end.to change { Proposal.where(component: current_component).count }.by(1)
+
+ titles = Proposal.where(component: current_component).map(&:title)
+ expect(titles).to match_array([proposal.title, second_proposal.title])
+ end
+ end
end
it "links the proposals" do
diff --git a/decidim-proposals/spec/commands/decidim/proposals/update_proposal_spec.rb b/decidim-proposals/spec/commands/decidim/proposals/update_proposal_spec.rb
index 3fdee750967b3..dbc65d171b422 100644
--- a/decidim-proposals/spec/commands/decidim/proposals/update_proposal_spec.rb
+++ b/decidim-proposals/spec/commands/decidim/proposals/update_proposal_spec.rb
@@ -94,7 +94,7 @@ module Proposals
end
end
- context "when the author changinng the author to one that has reached the proposal limit" do
+ context "when the author changing the author to one that has reached the proposal limit" do
let!(:other_proposal) { create :proposal, component: component, users: [author], user_groups: [user_group] }
let(:component) { create(:proposal_component, :with_proposal_limit) }
diff --git a/decidim-proposals/spec/controllers/decidim/proposals/versions_controller_spec.rb b/decidim-proposals/spec/controllers/decidim/proposals/versions_controller_spec.rb
new file mode 100644
index 0000000000000..662a8a5eddfb0
--- /dev/null
+++ b/decidim-proposals/spec/controllers/decidim/proposals/versions_controller_spec.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+module Decidim
+ module Proposals
+ describe VersionsController, versioning: true, type: :controller do
+ routes { Decidim::Proposals::Engine.routes }
+
+ let(:resource) { create(:proposal) }
+
+ it_behaves_like "versions controller"
+ end
+ end
+end
diff --git a/decidim-proposals/spec/events/decidim/proposals/publish_proposal_event_spec.rb b/decidim-proposals/spec/events/decidim/proposals/publish_proposal_event_spec.rb
index d2db5c188c6f3..151625cfc51e6 100644
--- a/decidim-proposals/spec/events/decidim/proposals/publish_proposal_event_spec.rb
+++ b/decidim-proposals/spec/events/decidim/proposals/publish_proposal_event_spec.rb
@@ -59,6 +59,18 @@ module Proposals
end
end
+ context "when the proposal is official" do
+ let(:resource) { create :proposal, :official, title: "A nice proposal" }
+ let(:extra) { { participatory_space: resource.participatory_space } }
+
+ describe "notification_title" do
+ it "is generated correctly" do
+ expect(subject.notification_title)
+ .to include("The official proposal #{resource_title} has been added to #{participatory_space_title}")
+ end
+ end
+ end
+
context "when the target are the participatory space followers" do
let(:event_name) { "decidim.events.proposals.proposal_published_for_space" }
let(:extra) { { participatory_space: true } }
diff --git a/decidim-proposals/spec/events/decidim/resource_endorsed_event_spec.rb b/decidim-proposals/spec/events/decidim/resource_endorsed_event_spec.rb
new file mode 100644
index 0000000000000..599483491eae7
--- /dev/null
+++ b/decidim-proposals/spec/events/decidim/resource_endorsed_event_spec.rb
@@ -0,0 +1,11 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+describe Decidim::ResourceEndorsedEvent do
+ let(:resource) { create :proposal, :citizen_author, title: { en: "My proposal" } }
+ let(:resource_type) { "Proposal" }
+ let(:resource_text) { resource.body }
+
+ it_behaves_like "resource endorsed event"
+end
diff --git a/decidim-proposals/spec/factories.rb b/decidim-proposals/spec/factories.rb
index feea6971fae66..13abccab4b35f 100644
--- a/decidim-proposals/spec/factories.rb
+++ b/decidim-proposals/spec/factories.rb
@@ -8,3 +8,4 @@
require "decidim/budgets/test/factories"
require "decidim/proposals/test/factories"
require "decidim/accountability/test/factories"
+require "decidim/votings/test/factories"
diff --git a/decidim-proposals/spec/jobs/decidim/proposals/notify_proposals_mentioned_job_spec.rb b/decidim-proposals/spec/jobs/decidim/proposals/notify_proposals_mentioned_job_spec.rb
index ef0cf02e26187..044be2a1cb8bb 100644
--- a/decidim-proposals/spec/jobs/decidim/proposals/notify_proposals_mentioned_job_spec.rb
+++ b/decidim-proposals/spec/jobs/decidim/proposals/notify_proposals_mentioned_job_spec.rb
@@ -12,8 +12,10 @@ module Proposals
let(:comment) { create(:comment, commentable: commentable) }
let(:proposal_component) { create(:proposal_component, organization: organization) }
let(:proposal_metadata) { Decidim::ContentParsers::ProposalParser::Metadata.new([]) }
- let(:linked_proposal) { create(:proposal, component: proposal_component) }
+ let(:users) { [create(:user, :confirmed, organization: organization)] }
+ let(:linked_proposal) { create(:proposal, component: proposal_component, users: users) }
let(:linked_proposal_official) { create(:proposal, :official, component: proposal_component) }
+ let(:author) { create(:user, organization: commentable.organization) }
describe "integration" do
it "is correctly scheduled" do
@@ -69,6 +71,41 @@ module Proposals
subject.perform_now(comment.id, linked_proposals)
end
+
+ context "when the author is the same as proposal user" do
+ before do
+ comment.update(author: users.first)
+ end
+
+ it "does not notify the same user" do
+ expect(Decidim::EventsManager)
+ .not_to receive(:publish)
+ .with(
+ event: "decidim.events.proposals.proposal_mentioned",
+ event_class: Decidim::Proposals::ProposalMentionedEvent,
+ resource: commentable,
+ affected_users: [linked_proposal.creator_author],
+ extra: {
+ comment_id: comment.id,
+ mentioned_proposal_id: linked_proposal.id
+ }
+ )
+ expect(Decidim::EventsManager)
+ .to receive(:publish)
+ .with(
+ event: "decidim.events.proposals.proposal_mentioned",
+ event_class: Decidim::Proposals::ProposalMentionedEvent,
+ resource: commentable,
+ affected_users: [space_admin],
+ extra: {
+ comment_id: comment.id,
+ mentioned_proposal_id: linked_proposal_official.id
+ }
+ )
+
+ subject.perform_now(comment.id, linked_proposals)
+ end
+ end
end
end
end
diff --git a/decidim-proposals/spec/shared/admin_manages_proposal_answer_imports_examples.rb b/decidim-proposals/spec/shared/admin_manages_proposal_answer_imports_examples.rb
new file mode 100644
index 0000000000000..b2dea71a425a9
--- /dev/null
+++ b/decidim-proposals/spec/shared/admin_manages_proposal_answer_imports_examples.rb
@@ -0,0 +1,166 @@
+# frozen_string_literal: true
+
+shared_examples "admin manages proposal answer imports" do
+ before do
+ page.find(".imports").click
+ click_link "Import answers from a file"
+ end
+
+ describe "import answers from a file" do
+ it "has start import button" do
+ expect(page).to have_content("Import")
+ end
+
+ it "returns error without a file" do
+ click_button "Import"
+ expect(page).to have_content("There was a problem during the import")
+ end
+
+ it "adds proposal answers after succesfully import" do
+ File.write(json_file, JSON.pretty_generate(answers))
+ attach_file(:import_file, json_file)
+
+ expect(Decidim::Proposals::Admin::NotifyProposalAnswer).to receive(:call).exactly(amount).times
+
+ click_button "Import"
+ expect(page).to have_content("#{amount} proposal #{amount == 1 ? "answer" : "answers"} successfully imported")
+ answers.each do |answer|
+ proposal = Decidim::Proposals::Proposal.find(answer[:id])
+ expect(proposal[:state]).to eq(answer[:state])
+ expect(proposal.answer["en"]).to eq(answer[:"answer/en"])
+ expect(proposal.answer["ca"]).to eq(answer[:"answer/ca"])
+ expect(proposal.answer["es"]).to eq(answer[:"answer/es"])
+ end
+ end
+
+ it "doesnt accept file without required headers" do
+ File.write(json_file, JSON.pretty_generate(missing_answers))
+ attach_file(:import_file, json_file)
+ click_button "Import"
+ expect(page).to have_content("Missing column answer/en. Please check that the file contains required columns.")
+ end
+
+ context "with nested JSON" do
+ let(:answers) do
+ proposals.map do |proposal|
+ {
+ id: proposal.id,
+ state: %w(accepted rejected evaluating).sample,
+ answer: {
+ en: Faker::Lorem.sentence,
+ ca: Faker::Lorem.sentence,
+ es: Faker::Lorem.sentence
+ }
+ }
+ end
+ end
+
+ it "adds proposal answers after succesfully import" do
+ File.write(json_file, JSON.pretty_generate(answers))
+ attach_file(:import_file, json_file)
+
+ expect(Decidim::Proposals::Admin::NotifyProposalAnswer).to receive(:call).exactly(amount).times
+
+ click_button "Import"
+ expect(page).to have_content("#{amount} proposal #{amount == 1 ? "answer" : "answers"} successfully imported")
+ answers.each do |answer|
+ proposal = Decidim::Proposals::Proposal.find(answer[:id])
+ expect(proposal[:state]).to eq(answer[:state])
+ expect(proposal.answer["en"]).to eq(answer[:answer][:en])
+ expect(proposal.answer["ca"]).to eq(answer[:answer][:ca])
+ expect(proposal.answer["es"]).to eq(answer[:answer][:es])
+ end
+ end
+ end
+ end
+
+ describe "download examples", download: true do
+ it "provides example downloads" do
+ expect(page).to have_content("Download example")
+
+ page.find(".imports-example").click
+ expect(page).to have_content("Example as CSV")
+ expect(page).to have_content("Example as JSON")
+ expect(page).to have_content("Example as Excel (.xlsx)")
+ end
+
+ context "when downloading the examples" do
+ before do
+ page.find(".imports-example").click
+ end
+
+ it "downloads a correct CSV example" do
+ click_link "Example as CSV"
+
+ expect(File.basename(download_path)).to eq("proposals-answers-example.csv")
+ expect(File.read(download_path)).to eq(
+ <<~CSV
+ id;state;answer/en;answer/ca;answer/es
+ 1;accepted;Example answer;Example answer;Example answer
+ 2;rejected;Example answer;Example answer;Example answer
+ 3;evaluating;Example answer;Example answer;Example answer
+ CSV
+ )
+ end
+
+ it "downloads a correct JSON example" do
+ click_link "Example as JSON"
+
+ expect(File.basename(download_path)).to eq("proposals-answers-example.json")
+ expect(File.read(download_path)).to eq(
+ <<~JSON.strip
+ [
+ {
+ "id": 1,
+ "state": "accepted",
+ "answer": {
+ "en": "Example answer",
+ "ca": "Example answer",
+ "es": "Example answer"
+ }
+ },
+ {
+ "id": 2,
+ "state": "rejected",
+ "answer": {
+ "en": "Example answer",
+ "ca": "Example answer",
+ "es": "Example answer"
+ }
+ },
+ {
+ "id": 3,
+ "state": "evaluating",
+ "answer": {
+ "en": "Example answer",
+ "ca": "Example answer",
+ "es": "Example answer"
+ }
+ }
+ ]
+ JSON
+ )
+ end
+
+ it "downloads a correct XLSX example" do
+ click_link "Example as Excel (.xlsx)"
+
+ expect(File.basename(download_path)).to eq("proposals-answers-example.xlsx")
+
+ # The generated XLSX can have some byte differences which is why we need
+ # to read the values from both files and compare them instead.
+ workbook = RubyXL::Parser.parse(download_path)
+ actual = workbook.worksheets[0].map { |row| row.cells.map(&:value) }
+
+ expect(actual).to eq(
+ [
+ %w(id state answer/en answer/ca answer/es),
+ [1, "accepted", "Example answer", "Example answer", "Example answer"],
+ [2, "rejected", "Example answer", "Example answer", "Example answer"],
+ [3, "evaluating", "Example answer", "Example answer", "Example answer"]
+ ]
+ )
+ end
+ end
+ end
+end
diff --git a/decidim-proposals/spec/shared/manage_proposals_examples.rb b/decidim-proposals/spec/shared/manage_proposals_examples.rb
index 677431b85ea83..ff125f06a5599 100644
--- a/decidim-proposals/spec/shared/manage_proposals_examples.rb
+++ b/decidim-proposals/spec/shared/manage_proposals_examples.rb
@@ -27,6 +27,19 @@
end
end
+ describe "listing" do
+ context "with enriched content" do
+ before do
+ proposal.update!(title: { en: "Proposal title" })
+ visit current_path
+ end
+
+ it "displays the correct title" do
+ expect(page.html).to include("Proposal <strong>title</strong>")
+ end
+ end
+ end
+
describe "creation" do
context "when official_proposals setting is enabled" do
before do
@@ -337,8 +350,8 @@
end
proposal.reload
- expect(proposal.answered_at).to be_within(1.second).of Time.zone.now
- expect(proposal.state_published_at).to be_within(1.second).of Time.zone.now
+ expect(proposal.answered_at).to be_within(2.seconds).of Time.zone.now
+ expect(proposal.state_published_at).to be_within(2.seconds).of Time.zone.now
end
it "can accept a proposal" do
@@ -356,8 +369,8 @@
end
proposal.reload
- expect(proposal.answered_at).to be_within(1.second).of Time.zone.now
- expect(proposal.state_published_at).to be_within(1.second).of Time.zone.now
+ expect(proposal.answered_at).to be_within(2.seconds).of Time.zone.now
+ expect(proposal.state_published_at).to be_within(2.seconds).of Time.zone.now
end
it "can mark a proposal as evaluating" do
@@ -375,8 +388,8 @@
end
proposal.reload
- expect(proposal.answered_at).to be_within(1.second).of Time.zone.now
- expect(proposal.state_published_at).to be_within(1.second).of Time.zone.now
+ expect(proposal.answered_at).to be_within(2.seconds).of Time.zone.now
+ expect(proposal.state_published_at).to be_within(2.seconds).of Time.zone.now
end
it "can mark a proposal as 'not answered'" do
@@ -435,7 +448,7 @@
end
proposal.reload
- expect(proposal.answered_at).to be_within(1.second).of Time.zone.now
+ expect(proposal.answered_at).to be_within(2.seconds).of Time.zone.now
end
end
diff --git a/decidim-proposals/spec/system/admin/import_proposal_answers_spec.rb b/decidim-proposals/spec/system/admin/import_proposal_answers_spec.rb
index 67d12052b0da2..612e2b933fdf2 100644
--- a/decidim-proposals/spec/system/admin/import_proposal_answers_spec.rb
+++ b/decidim-proposals/spec/system/admin/import_proposal_answers_spec.rb
@@ -39,172 +39,12 @@
include_context "when managing a component as an admin"
- before do
- page.find(".imports").click
- click_link "Import answers from a file"
- end
-
- describe "import answers from a file" do
- it "has start import button" do
- expect(page).to have_content("Import")
- end
-
- it "returns error without a file" do
- click_button "Import"
- expect(page).to have_content("There was a problem during the import")
- end
-
- it "adds proposal answers after succesfully import" do
- File.open(json_file, "w") do |f|
- f.write(JSON.pretty_generate(answers))
- end
- attach_file :import_file, json_file
-
- expect(Decidim::Proposals::Admin::NotifyProposalAnswer).to receive(:call).exactly(amount).times
-
- click_button "Import"
- expect(page).to have_content("#{amount} proposal #{amount == 1 ? "answer" : "answers"} successfully imported")
- answers.each do |answer|
- proposal = Decidim::Proposals::Proposal.find(answer[:id])
- expect(proposal[:state]).to eq(answer[:state])
- expect(proposal.answer["en"]).to eq(answer[:"answer/en"])
- expect(proposal.answer["ca"]).to eq(answer[:"answer/ca"])
- expect(proposal.answer["es"]).to eq(answer[:"answer/es"])
- end
- end
-
- it "doesnt accept file without required headers" do
- File.open(json_file, "w") do |f|
- f.write(JSON.pretty_generate(missing_answers))
- end
- attach_file :import_file, json_file
- click_button "Import"
- expect(page).to have_content("Missing column answer/en. Please check that the file contains required columns.")
- end
-
- context "with nested JSON" do
- let(:answers) do
- proposals.map do |proposal|
- {
- id: proposal.id,
- state: %w(accepted rejected evaluating).sample,
- answer: {
- en: Faker::Lorem.sentence,
- ca: Faker::Lorem.sentence,
- es: Faker::Lorem.sentence
- }
- }
- end
- end
-
- it "adds proposal answers after succesfully import" do
- File.open(json_file, "w") do |f|
- f.write(JSON.pretty_generate(answers))
- end
- attach_file :import_file, json_file
-
- expect(Decidim::Proposals::Admin::NotifyProposalAnswer).to receive(:call).exactly(amount).times
+ it_behaves_like "admin manages proposal answer imports"
- click_button "Import"
- expect(page).to have_content("#{amount} proposal #{amount == 1 ? "answer" : "answers"} successfully imported")
- answers.each do |answer|
- proposal = Decidim::Proposals::Proposal.find(answer[:id])
- expect(proposal[:state]).to eq(answer[:state])
- expect(proposal.answer["en"]).to eq(answer[:answer][:en])
- expect(proposal.answer["ca"]).to eq(answer[:answer][:ca])
- expect(proposal.answer["es"]).to eq(answer[:answer][:es])
- end
- end
- end
- end
-
- describe "download examples", download: true do
- it "provides example downloads" do
- expect(page).to have_content("Download example")
-
- page.find(".imports-example").click
- expect(page).to have_content("Example as CSV")
- expect(page).to have_content("Example as JSON")
- expect(page).to have_content("Example as Excel (.xlsx)")
- end
-
- context "when downloading the examples" do
- before do
- page.find(".imports-example").click
- end
-
- it "downloads a correct CSV example" do
- click_link "Example as CSV"
+ context "with the votings space" do
+ let(:participatory_space) { create(:voting, organization: organization) }
+ let(:component) { create(:proposal_component, participatory_space: participatory_space, organization: organization) }
- expect(File.basename(download_path)).to eq("proposals-answers-example.csv")
- expect(File.read(download_path)).to eq(
- <<~CSV
- id;state;answer/en;answer/ca;answer/es
- 1;accepted;Example answer;Example answer;Example answer
- 2;rejected;Example answer;Example answer;Example answer
- 3;evaluating;Example answer;Example answer;Example answer
- CSV
- )
- end
-
- it "downloads a correct JSON example" do
- click_link "Example as JSON"
-
- expect(File.basename(download_path)).to eq("proposals-answers-example.json")
- expect(File.read(download_path)).to eq(
- <<~JSON.strip
- [
- {
- "id": 1,
- "state": "accepted",
- "answer": {
- "en": "Example answer",
- "ca": "Example answer",
- "es": "Example answer"
- }
- },
- {
- "id": 2,
- "state": "rejected",
- "answer": {
- "en": "Example answer",
- "ca": "Example answer",
- "es": "Example answer"
- }
- },
- {
- "id": 3,
- "state": "evaluating",
- "answer": {
- "en": "Example answer",
- "ca": "Example answer",
- "es": "Example answer"
- }
- }
- ]
- JSON
- )
- end
-
- it "downloads a correct XLSX example" do
- click_link "Example as Excel (.xlsx)"
-
- expect(File.basename(download_path)).to eq("proposals-answers-example.xlsx")
-
- # The generated XLSX can have some byte differences which is why we need
- # to read the values from both files and compare them instead.
- workbook = RubyXL::Parser.parse(download_path)
- actual = workbook.worksheets[0].map { |row| row.cells.map(&:value) }
-
- expect(actual).to eq(
- [
- %w(id state answer/en answer/ca answer/es),
- [1, "accepted", "Example answer", "Example answer", "Example answer"],
- [2, "rejected", "Example answer", "Example answer", "Example answer"],
- [3, "evaluating", "Example answer", "Example answer", "Example answer"]
- ]
- )
- end
- end
+ it_behaves_like "admin manages proposal answer imports"
end
end
diff --git a/decidim-proposals/spec/system/admin/valuator_manages_proposals_spec.rb b/decidim-proposals/spec/system/admin/valuator_manages_proposals_spec.rb
index c8718cb7802d1..4c55b88a87aaa 100644
--- a/decidim-proposals/spec/system/admin/valuator_manages_proposals_spec.rb
+++ b/decidim-proposals/spec/system/admin/valuator_manages_proposals_spec.rb
@@ -66,7 +66,9 @@
context "when in the proposal page" do
before do
- click_link translated(assigned_proposal.title)
+ within find("tr", text: translated(assigned_proposal.title)) do
+ click_link "Answer proposal"
+ end
end
it "can only unassign themselves" do
diff --git a/decidim-proposals/spec/system/collaborative_drafts_fields_spec.rb b/decidim-proposals/spec/system/collaborative_drafts_fields_spec.rb
index a4c31ed139e9f..c49b0405ba5de 100644
--- a/decidim-proposals/spec/system/collaborative_drafts_fields_spec.rb
+++ b/decidim-proposals/spec/system/collaborative_drafts_fields_spec.rb
@@ -90,6 +90,31 @@
expect(page).to have_author(user.name)
end
+ context "when there are errors on the form", :slow do
+ before do
+ visit new_collaborative_draft_path
+
+ within ".new_collaborative_draft" do
+ fill_in :collaborative_draft_title, with: "More sidewalks and less roads"
+ fill_in :collaborative_draft_body, with: "Cities"
+
+ find("*[type=submit]").click
+ end
+ end
+
+ it "shows the form with the error message" do
+ expect(page).to have_content("There was a problem creating this collaborative draft.")
+ expect(page).to have_field(:collaborative_draft_title, with: "More sidewalks and less roads")
+ expect(page).to have_field(:collaborative_draft_body, with: "Cities")
+ end
+
+ it "allows returning to the index" do
+ click_link "Back to collaborative drafts"
+
+ expect(page).to have_content("0 COLLABORATIVE DRAFTS")
+ end
+ end
+
context "when geocoding is enabled", :serves_map, :serves_geocoding_autocomplete do
let!(:component) do
create(:proposal_component,
diff --git a/decidim-proposals/spec/system/edit_proposal_spec.rb b/decidim-proposals/spec/system/edit_proposal_spec.rb
index 6c9997480931c..f6315167160d6 100644
--- a/decidim-proposals/spec/system/edit_proposal_spec.rb
+++ b/decidim-proposals/spec/system/edit_proposal_spec.rb
@@ -15,6 +15,10 @@
switch_to_host user.organization.host
end
+ def visit_proposal
+ click_link proposal_title, match: :first
+ end
+
describe "editing my own proposal" do
let(:new_title) { "This is my proposal new title" }
let(:new_body) { "This is my proposal new body" }
@@ -26,7 +30,7 @@
it "can be updated" do
visit_component
- click_link proposal_title
+ visit_proposal
click_link "Edit proposal"
expect(page).to have_content "EDIT PROPOSAL"
@@ -49,7 +53,7 @@
it "can delete attachments" do
visit_component
- click_link translated(proposal.title)
+ visit_proposal
expect(page).to have_content("RELATED DOCUMENTS")
expect(page).to have_content("RELATED IMAGES")
click_link "Edit proposal"
@@ -84,11 +88,11 @@
it "can be updated with address", :serves_geocoding_autocomplete do
visit_component
- click_link translated(proposal.title)
+ visit_proposal
click_link "Edit proposal"
check "proposal_has_address"
- expect(page).to have_field("Title", with: translated(proposal.title))
+ expect(page).to have_field("Title", with: proposal_title)
expect(page).to have_field("Body", with: translated(proposal.body))
expect(page).to have_field("Address", with: proposal.address)
expect(page).to have_css("[data-decidim-map]")
@@ -112,10 +116,10 @@
it "allows filling an empty address and unchecking the has address checkbox" do
visit_component
- click_link translated(proposal.title)
+ visit_proposal
click_link "Edit proposal"
- expect(page).to have_field("Title", with: translated(proposal.title))
+ expect(page).to have_field("Title", with: proposal_title)
expect(page).to have_field("Body", with: translated(proposal.body))
expect(page).to have_field("Address", with: proposal.address)
@@ -140,7 +144,7 @@
it "returns an error message" do
visit_component
- click_link proposal_title
+ visit_proposal
click_link "Edit proposal"
expect(page).to have_content "EDIT PROPOSAL"
@@ -163,7 +167,7 @@
it "keeps the submitted values" do
visit_component
- click_link proposal_title
+ visit_proposal
click_link "Edit proposal"
expect(page).to have_content "EDIT PROPOSAL"
@@ -193,7 +197,7 @@
body["en"] = body_en
proposal.update!(body: body)
visit_component
- click_link proposal_title
+ visit_proposal
end
it "doesnt change the href" do
@@ -219,7 +223,7 @@
it "renders an error" do
visit_component
- click_link proposal_title
+ visit_proposal
expect(page).to have_no_content("Edit proposal")
visit "#{current_path}/edit"
@@ -237,7 +241,7 @@
it "renders an error" do
visit_component
- click_link proposal_title
+ visit_proposal
expect(page).to have_no_content("Edit proposal")
visit "#{current_path}/edit"
diff --git a/decidim-proposals/spec/validators/proposal_length_validator_spec.rb b/decidim-proposals/spec/validators/proposal_length_validator_spec.rb
new file mode 100644
index 0000000000000..96a1b538b8418
--- /dev/null
+++ b/decidim-proposals/spec/validators/proposal_length_validator_spec.rb
@@ -0,0 +1,52 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+describe ProposalLengthValidator do
+ subject { validatable.new(body: body) }
+
+ let(:validatable) do
+ Class.new do
+ def self.model_name
+ ActiveModel::Name.new(self, nil, "Validatable")
+ end
+
+ include Virtus.model
+ include ActiveModel::Validations
+
+ attribute :body
+
+ validates :body, proposal_length: {
+ minimum: 15,
+ maximum: ->(_record) { 100 }
+ }
+ end
+ end
+
+ context "when the text is too short" do
+ let(:body) { "Lorem ipsum d" }
+
+ it { is_expected.to be_invalid }
+ end
+
+ context "when the text is too long" do
+ let(:body) { "a" * 101 }
+
+ it { is_expected.to be_invalid }
+ end
+
+ context "when the text is written in HTML" do
+ let(:body) do
+ data = File.read(Decidim::Dev.asset("avatar.jpg"))
+ encoded = Base64.encode64(data)
+
+ <<~HTML
+
Text before the image.
+
+
Some other text after the image.
+ HTML
+ end
+
+ it { is_expected.to be_valid }
+ end
+end
diff --git a/decidim-sortitions/app/controllers/decidim/sortitions/sortitions_controller.rb b/decidim-sortitions/app/controllers/decidim/sortitions/sortitions_controller.rb
index a6cb8440ff190..37c0e31f28c09 100644
--- a/decidim-sortitions/app/controllers/decidim/sortitions/sortitions_controller.rb
+++ b/decidim-sortitions/app/controllers/decidim/sortitions/sortitions_controller.rb
@@ -19,8 +19,8 @@ def index
.includes(:author)
.includes(:category)
- @sortitions = paginate(@sortitions)
@sortitions = reorder(@sortitions)
+ @sortitions = paginate(@sortitions)
end
private
diff --git a/decidim-sortitions/config/locales/cs.yml b/decidim-sortitions/config/locales/cs.yml
index f99c094eedda9..0eea85fb978dd 100644
--- a/decidim-sortitions/config/locales/cs.yml
+++ b/decidim-sortitions/config/locales/cs.yml
@@ -14,9 +14,9 @@ cs:
activerecord:
models:
decidim/sortitions/sortition:
- one: Sortiment
- few: Sortitions
- many: Sortitions
+ one: Losování
+ few: Losování
+ many: Losování
other: Losování
decidim:
components:
@@ -55,9 +55,9 @@ cs:
target_items: Položky k výběru
title: Název
name:
- one: Třídění
- few: Třídění
- many: Sortitions
+ one: Losování
+ few: Losování
+ many: Losování
other: Losování
sortitions:
confirm_destroy:
@@ -90,7 +90,7 @@ cs:
success: Losování úspěšně aktualizováno
admin_log:
sortition:
- create: "%{user_name} vytvořil %{resource_name} sortit v %{space_name}"
+ create: "%{user_name} vytvořil %{resource_name} losování v %{space_name}"
delete: "%{user_name} zrušil losování %{resource_name} v %{space_name}"
update: "%{user_name} aktualizoval losování %{resource_name} v %{space_name}"
sortitions:
@@ -154,9 +154,9 @@ cs:
deleted: Odstraněný uživatel
sortitions_count:
count:
- one: 1 sortie
- few: "%{count} sortitions"
- many: "%{count} sortitions"
+ one: 1 losování
+ few: "%{count} losování"
+ many: "%{count} losování"
other: "%{count} losování"
statistics:
sortitions_count: Losování
diff --git a/decidim-sortitions/config/locales/de.yml b/decidim-sortitions/config/locales/de.yml
index 59932efec8da0..68221e447133f 100644
--- a/decidim-sortitions/config/locales/de.yml
+++ b/decidim-sortitions/config/locales/de.yml
@@ -19,6 +19,8 @@ de:
decidim:
components:
sortitions:
+ actions:
+ comment: Kommentar
name: Sortierungen
settings:
global:
diff --git a/decidim-sortitions/config/locales/gn-PY.yml b/decidim-sortitions/config/locales/gn-PY.yml
new file mode 100644
index 0000000000000..bd442b0ad85de
--- /dev/null
+++ b/decidim-sortitions/config/locales/gn-PY.yml
@@ -0,0 +1 @@
+gn:
diff --git a/decidim-sortitions/config/locales/lo-LA.yml b/decidim-sortitions/config/locales/lo-LA.yml
new file mode 100644
index 0000000000000..27a02bfece429
--- /dev/null
+++ b/decidim-sortitions/config/locales/lo-LA.yml
@@ -0,0 +1 @@
+lo:
diff --git a/decidim-sortitions/config/locales/lt.yml b/decidim-sortitions/config/locales/lt.yml
index 6c5cb837ac8c1..9bad65ce9716e 100644
--- a/decidim-sortitions/config/locales/lt.yml
+++ b/decidim-sortitions/config/locales/lt.yml
@@ -1 +1,162 @@
lt:
+ activemodel:
+ attributes:
+ sortition:
+ additional_info: Informacija apie sprendimą burtų keliu
+ decidim_category_id: Pasiūlymų rinkinio, dėl kurio norite spręsti burtų keliu, kategorijos
+ decidim_proposals_component_id: Pasiūlymų rinkinys
+ dice: Kauliukų ridenimo rezultatai. Riskite šešiasienį kauliuką arba raskite kitą būdą, kaip atsitiktinai išridenti skaičių nuo 1 iki 6. Gautą skaičių užrašykite prie liudytojų. Tai padeda kokybei ir užtikrina atsitiktinį rezultatą
+ target_items: Pasirinktinų pasiūlymų skaičius (tai yra pasiūlymų, kuriuos norite atrinkti burtų keliu iš anksčiau pasirinktos pasiūlymų grupės, skaičius)
+ title: Pavadinimas
+ witnesses: Liudytojai
+ models:
+ decidim/sortitions/create_sortition_event: Sprendimas burtų keliu
+ activerecord:
+ models:
+ decidim/sortitions/sortition:
+ one: Sprendimas burtų keliu
+ few: Sprendimai burtų keliu
+ many: Sprendimai burtų keliu
+ other: Sprendimai burtų keliu
+ decidim:
+ components:
+ sortitions:
+ actions:
+ comment: Komentuoti
+ name: Sprendimai burtų keliu
+ settings:
+ global:
+ comments_enabled: Komentarai įjungti
+ comments_max_length: Maksimalus komentarų ilgis (Palikite 0 kaip numatytą vertę)
+ events:
+ sortitions:
+ sortition_created:
+ email_intro: Erdvėje „%{participatory_space_title}“, kurią sekate, pridėta sprendimo burtų keliu funkcija „%{resource_title}“.
+ email_outro: Gavote šį pranešimą nes sekate %{participatory_space_title}. Galite nebesekti paspaudę and ankstesnės nuorodos.
+ email_subject: '%{participatory_space_title} pridėtas nauja sprendimo burtų keliu funkcija'
+ notification_title: '%{participatory_space_title} pridėta %{resource_title} sprendimo burtų keliu funkcija'
+ sortitions:
+ admin:
+ actions:
+ destroy: Atšaukti sprendimą burtų keliu
+ edit: Redaguoti
+ new: Nauja galimybė spręsti burtų keliu
+ show: Išsami informacija apie sprendimą burtų keliu
+ models:
+ sortition:
+ fields:
+ category: Kategorija
+ created_at: Sukūrimo data
+ decidim_proposals_component: Pasiūlymų komponentas
+ dice: Kauliukai
+ reference: Nuoroda
+ request_timestamp: Sprendimo burtų keliu laikas
+ seed: Generavimo raktas
+ target_items: Pasirinktini elementai
+ title: Pavadinimas
+ name:
+ one: Sprendimas burtų keliu
+ few: Sprendimai burtų keliu
+ many: Sprendimai burtų keliu
+ other: Sprendimai burtų keliu
+ sortitions:
+ confirm_destroy:
+ confirm_destroy: Ar tikrai norite atšauti šį sprendimą burtų keliu?
+ destroy: Atšaukti sprendimą burtų keliu
+ title: Sprendimo burtų keliu atšaukimas
+ create:
+ error: Rengiant naują sprendimą burtų keliu iškilo problema.
+ success: Sprendimas burtų keliu sukurtas
+ destroy:
+ error: Negalima atšaukti sprendimo burtų keliu.
+ success: Sprendimas burtų keliu atšauktas
+ edit:
+ title: Atnaujinti informaciją apie sprendimo burtų keliu galimybę
+ update: Atnaujinti
+ form:
+ all_categories: Visos kategorijos
+ select_proposal_component: Pasirinkti pasiūlymų rinkinį
+ title: Nauja galimybė dėl pasiūlymų spręsti burtų keliu
+ index:
+ title: Sprendimai burtų keliu
+ new:
+ confirm: Spustelėjus kitą mygtuką, „Decim“ užregistruos datą ir laiką (sekundžių tikslumu). Kartu su kauliuko metimu ši informacija bus naudojama atsitiktinei atrankai vykdyti. Spustelėjus mygtuką, veiksmas bus negrįžtamas, o jo rezultatas bus paskelbtas kartu su šioje formoje įrašytais duomenimis ir jų nebus galima keisti, taigi, atidžiai patikrinkite turinį
+ create: Sukurti
+ title: Nauja galimybė spręsti burtų keliu
+ show:
+ selected_proposals: Pasirinkti pasiūlymai sprendimui burtų keliu priimti
+ update:
+ error: Atnaujinant galimybę spręsti burtų keliu iškilo problema.
+ success: Galimybė spręsti burtų keliu atnaujinta
+ admin_log:
+ sortition:
+ create: "%{user_name} sukūrė %{resource_name} galimybę spręsti burtų keliu %{space_name} erdvėje"
+ delete: "%{user_name} atšaukė %{resource_name} galimybę spręsti burtų keliu %{space_name} erdvėje"
+ update: "%{user_name} atnaujino %{resource_name} galimybę spręsti burtų keliu %{space_name} erdvėje"
+ sortitions:
+ count:
+ proposals_count:
+ one: 1 pasiūlymas
+ few: "%{count} pasiūlymai"
+ many: "%{count} pasiūlymai"
+ other: "%{count} pasiūlymai"
+ filters:
+ active: Aktyvūs
+ all: Visos
+ cancelled: Atšaukti
+ category: Kategorija
+ category_prompt: Pasirinkite kategoriją
+ search: Ieškoti
+ state: Būsena
+ filters_small_view:
+ close_modal: Uždaryti modalinį langą
+ filter: Filtruoti
+ filter_by: Filtruoti pagal
+ unfold: Išskleisti
+ linked_sortitions:
+ selected_proposals: Pasirinkti pasiūlymai
+ orders:
+ label: 'Galimybių spręsti burtų keliu rikiavimo kriterijai:'
+ random: Atsitiktinai
+ recent: Naujausi
+ results_count:
+ count:
+ one: pasirinktas pasiūlymas
+ few: pasirinkti pasiūlymai
+ many: pasirinkti pasiūlymai
+ other: pasirinkti pasiūlymai
+ show:
+ algorithm: Galimybės spręsti burtų keliu algoritmo kodas
+ any_category: iš visų kategorijų
+ back: Grįžti į sąrašą
+ cancelled: Galimybė spręsti burtų keliu atšaukta
+ candidate_proposal_ids: Pasiūlymų, dėl kurių sprendžiama burtų keliu, rikiavimo kriterijai ir ID
+ candidate_proposals_info: 'Burtų keliu spręsta dėl šių pasiūlymų (%{category_label}) su šiais ID (pasirinkti pasiūlymai – paryškintu šriftu) '
+ category: iš %{category} kategorijos
+ dice_result: "1) Kauliuko metimo rezultatai"
+ introduction: 'Šiame puslapyje pateikiami sprendimo burtų keliu %{reference} rezultatai. Naudojantis šia galimybe spręsti burtų keliu, iš rodomų pasiūlymų rinkinio atsitiktine tvarka pasirenkamas rezultatų skaičius %{target_items}, esant vienodai pasiskirstymo tikimybei. Kartu su rezultatais šiame puslapyje pateikiamoje informacijoje nurodoma viskas, ko reikia siekiant kuo labiau padidinti garantijas ir atkurti rezultatus. Šios galimybės spręsti burtų keliu pagrindas – dvigubas atsitiktinumas, kurį užtikrina kauliuko ridenimas (jį patvirtina liudytojai) ir tikslus sprendimo burtų keliu laikas, – informacija, įvedama į atsitiktinės atrankos vykdymo algoritmą. Sprendimo burtų keliu pradžia yra tokia tiksli (sekundės), kad žmogus šio proceso kontroliuoti negali, taigi, tai dvigubas nekontroliuojamas veiksmas sąžiningam rezultatui užtikrinti. '
+ mathematical_result: Rezultatas (1) x (2)
+ proposals_selected_by_sortition: Pasiūlymai pasirinkti burtų keliu
+ sortition_reproducibility_details: Rūšiavimo atkuriamumo detalės
+ time_seed: "(2) Time seed"
+ witnesses: Liudytojai
+ sortition:
+ random_seed: Atsitiktinė vertė
+ selected_proposals:
+ one: pasiūlymas pasirinktas
+ few: pasiūlymai pasirinkti
+ many: pasiūlymai pasirinkti
+ other: pasiūlymai pasirinkti
+ view: Peržiūrėti
+ sortition_author:
+ deleted: Ištrintas dalyvis
+ sortition_cancel_author:
+ deleted: Ištrintas dalyvis
+ sortitions_count:
+ count:
+ one: 1 pasirinkimas burtų keliu
+ few: "%{count} pasirinkimai burtų keliu"
+ many: "%{count} pasirinkimų burtų keliu"
+ other: "%{count} pasirinkimai burtų keliu"
+ statistics:
+ sortitions_count: Pasirinkimai burtų keliu
diff --git a/decidim-sortitions/config/locales/oc-FR.yml b/decidim-sortitions/config/locales/oc-FR.yml
new file mode 100644
index 0000000000000..325b348894124
--- /dev/null
+++ b/decidim-sortitions/config/locales/oc-FR.yml
@@ -0,0 +1 @@
+oc:
diff --git a/decidim-sortitions/lib/decidim/sortitions/version.rb b/decidim-sortitions/lib/decidim/sortitions/version.rb
index 4d6301667615d..e7ca5cf21c499 100644
--- a/decidim-sortitions/lib/decidim/sortitions/version.rb
+++ b/decidim-sortitions/lib/decidim/sortitions/version.rb
@@ -3,7 +3,7 @@
module Decidim
module Sortitions
def self.version
- "0.26.2"
+ "0.26.4"
end
end
end
diff --git a/decidim-sortitions/spec/events/decidim/sortitions/create_sortition_event_spec.rb b/decidim-sortitions/spec/events/decidim/sortitions/create_sortition_event_spec.rb
index 73bf13be7526e..d1143ae01eb42 100644
--- a/decidim-sortitions/spec/events/decidim/sortitions/create_sortition_event_spec.rb
+++ b/decidim-sortitions/spec/events/decidim/sortitions/create_sortition_event_spec.rb
@@ -1,7 +1,6 @@
# frozen_string_literal: true
require "spec_helper"
-require "decidim/core/test/shared_examples/simple_event"
describe Decidim::Sortitions::CreateSortitionEvent do
let(:resource) { create :sortition }
diff --git a/decidim-surveys/config/locales/gn-PY.yml b/decidim-surveys/config/locales/gn-PY.yml
new file mode 100644
index 0000000000000..bd442b0ad85de
--- /dev/null
+++ b/decidim-surveys/config/locales/gn-PY.yml
@@ -0,0 +1 @@
+gn:
diff --git a/decidim-surveys/config/locales/lo-LA.yml b/decidim-surveys/config/locales/lo-LA.yml
new file mode 100644
index 0000000000000..27a02bfece429
--- /dev/null
+++ b/decidim-surveys/config/locales/lo-LA.yml
@@ -0,0 +1 @@
+lo:
diff --git a/decidim-surveys/config/locales/lt.yml b/decidim-surveys/config/locales/lt.yml
index 6c5cb837ac8c1..a02909c4e1435 100644
--- a/decidim-surveys/config/locales/lt.yml
+++ b/decidim-surveys/config/locales/lt.yml
@@ -1 +1,72 @@
lt:
+ activemodel:
+ models:
+ decidim/surveys/closed_survey_event: Apklausa pasibaigė
+ decidim/surveys/opened_survey_event: Apklausa prasidėjo
+ activerecord:
+ models:
+ decidim/surveys/survey:
+ one: Apklausa
+ few: Apklausos
+ many: Apklausos
+ other: Apklausos
+ decidim/surveys/survey_answer:
+ one: Atsakyti
+ few: Atsakymai
+ many: Atsakymai
+ other: Atsakymai
+ decidim:
+ components:
+ surveys:
+ actions:
+ answer: Atsakyti
+ name: Apklausa
+ settings:
+ global:
+ announcement: Pranešimas
+ clean_after_publish: Skelbiant apklausą, šalinti atsakymus
+ ends_at: Atsakymai priimami iki
+ ends_at_help: Jei nėra tikslios datos, palikite lauką tuščią
+ scope_id: Sritis
+ scopes_enabled: Sritys įjungtos
+ starts_at: Atsakymai priimami iš
+ starts_at_help: Jei nėra tikslios datos, palikite lauką tuščią
+ step:
+ allow_answers: Leisti atsakymus
+ allow_unregistered: Leisti neregistruotiems naudotojams atsakyti į apklausos klausimus
+ allow_unregistered_help: Jei aktyvu, prisijungimas nebus būtinas norint atsakyti į apklausą. Tai sukuria patogesnę aplinką atakoms ir nepatikimiems duomenims, tad naudokite šį funkcionalumą su atsarga. Atsižvelkite ir į tai, kad dalyvis galės atsakyti į apklausą kelis kartus.
+ announcement: Pranešimas
+ events:
+ surveys:
+ survey_closed:
+ email_intro: Apklausa %{resource_title} %{participatory_space_title} baigta.
+ email_outro: Šį pranešimą gavote dėl to, kad sekate %{participatory_space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą.
+ email_subject: Apklausa %{participatory_space_title} baigta
+ notification_title: Apklausa %{resource_title}%{participatory_space_title} baigta.
+ survey_opened:
+ email_intro: 'Apklausa %{resource_title} %{participatory_space_title} dabar vyksta. Joje galite dalyvauti iš šio puslapio:'
+ email_outro: Šį pranešimą gavote dėl to, kad sekate %{participatory_space_title}. Jeigu nebenorite gauti pranešimų, spustelėkite ankstesnę nuorodą.
+ email_subject: Nauja apklausa %{participatory_space_title}
+ notification_title: Apklausa %{resource_title}%{participatory_space_title} dabar vyksta.
+ metrics:
+ survey_answers:
+ description: Apklausų, į kurių klausimus atsakė dalyviai, skaičius
+ object: atsakymai į apklausų klausimus
+ title: Atsakymai į apklausų klausimus
+ statistics:
+ answers_count: Atsakymai
+ surveys:
+ admin:
+ exports:
+ survey_user_answers: Apklausos dalyvių atsakymai
+ surveys:
+ update:
+ invalid: Išsaugant šią apklausą iškilo problema.
+ success: Apklausa išsaugota.
+ last_activity:
+ new_survey_at_html: "Nauja apklausa %{link}"
+ surveys:
+ answer:
+ invalid: Atsakant į šios apklausos klausimus iškilo problema.
+ spam_detected: Atsakant į šios formos klausimus iškilo problema. Galbūt paskubėjote? Ar galite pabandyti dar kartą?
+ success: Į apklausos klausimus atsakyta.
diff --git a/decidim-surveys/config/locales/oc-FR.yml b/decidim-surveys/config/locales/oc-FR.yml
new file mode 100644
index 0000000000000..325b348894124
--- /dev/null
+++ b/decidim-surveys/config/locales/oc-FR.yml
@@ -0,0 +1 @@
+oc:
diff --git a/decidim-surveys/lib/decidim/surveys/version.rb b/decidim-surveys/lib/decidim/surveys/version.rb
index 44ab15fd9a40c..42baedd377225 100644
--- a/decidim-surveys/lib/decidim/surveys/version.rb
+++ b/decidim-surveys/lib/decidim/surveys/version.rb
@@ -4,7 +4,7 @@ module Decidim
# This holds the decidim-surveys version.
module Surveys
def self.version
- "0.26.2"
+ "0.26.4"
end
end
end
diff --git a/decidim-system/app/forms/decidim/system/update_organization_form.rb b/decidim-system/app/forms/decidim/system/update_organization_form.rb
index ca8b7c36e51c9..eb6e18645ecaa 100644
--- a/decidim-system/app/forms/decidim/system/update_organization_form.rb
+++ b/decidim-system/app/forms/decidim/system/update_organization_form.rb
@@ -29,6 +29,7 @@ class UpdateOrganizationForm < Form
[:authentication, String],
[:enable_starttls_auto, Boolean]
]
+ attribute :password, String
attribute :file_upload_settings, FileUploadSettingsForm
OMNIATH_PROVIDERS_ATTRIBUTES = Decidim::OmniauthProvider.available.keys.map do |provider|
@@ -43,8 +44,6 @@ class UpdateOrganizationForm < Form
jsonb_attribute :omniauth_settings, OMNIATH_PROVIDERS_ATTRIBUTES
- attr_writer :password
-
validates :name, :host, :users_registration_mode, presence: true
validate :validate_organization_uniqueness
validates :users_registration_mode, inclusion: { in: Decidim::Organization.users_registration_modes }
@@ -70,13 +69,13 @@ def clean_available_authorizations
end
def password
- Decidim::AttributeEncryptor.decrypt(encrypted_password) unless encrypted_password.nil?
+ encrypted_password.nil? ? super : Decidim::AttributeEncryptor.decrypt(encrypted_password)
end
def encrypted_smtp_settings
smtp_settings["from"] = set_from
- smtp_settings.merge(encrypted_password: Decidim::AttributeEncryptor.encrypt(@password))
+ smtp_settings.merge(encrypted_password: Decidim::AttributeEncryptor.encrypt(password))
end
def set_from
diff --git a/decidim-system/config/locales/cs.yml b/decidim-system/config/locales/cs.yml
index 3b8f5e02ea466..0d64c53b3edf7 100644
--- a/decidim-system/config/locales/cs.yml
+++ b/decidim-system/config/locales/cs.yml
@@ -89,7 +89,7 @@ cs:
fields:
created_at: Vytvořeno v
file_upload_settings: Nastavení nahrávání souborů
- name: název
+ name: Název
omniauth_settings: Nastavení Omniauth
smtp_settings: SMTP nastavení
name: Organizace
diff --git a/decidim-system/config/locales/gn-PY.yml b/decidim-system/config/locales/gn-PY.yml
new file mode 100644
index 0000000000000..bd442b0ad85de
--- /dev/null
+++ b/decidim-system/config/locales/gn-PY.yml
@@ -0,0 +1 @@
+gn:
diff --git a/decidim-system/config/locales/lo-LA.yml b/decidim-system/config/locales/lo-LA.yml
new file mode 100644
index 0000000000000..27a02bfece429
--- /dev/null
+++ b/decidim-system/config/locales/lo-LA.yml
@@ -0,0 +1 @@
+lo:
diff --git a/decidim-system/config/locales/lt.yml b/decidim-system/config/locales/lt.yml
index 6c5cb837ac8c1..39fbfff86b631 100644
--- a/decidim-system/config/locales/lt.yml
+++ b/decidim-system/config/locales/lt.yml
@@ -1 +1,188 @@
lt:
+ activemodel:
+ attributes:
+ oauth_application:
+ name: '„OAuth“ programos pavadinimas'
+ organization_logo: Organizacijos logotipas (keturkampis)
+ organization_name: Organizacija
+ organization_url: Organizacijos URL
+ redirect_uri: Peradresavimo URI
+ organization:
+ address: SMTP pagrindinio kompiuterio vardas
+ from_email: El. pašto adresas
+ from_label: Etiketė
+ password: Slaptažodis
+ port: Portas
+ user_name: Naudotojo vardas
+ organization_file_uploads:
+ allowed_content_types:
+ admin: Administratoriaus MIME tipai
+ default: Numatytieji MIME tipai
+ allowed_file_extensions:
+ admin: Administratoriaus failų plėtiniai
+ default: Numatytieji failų plėtiniai
+ image: Vaizdo failų plėtiniai
+ maximum_file_size:
+ avatar: Avataro failo dydis
+ default: Numatytasis failo dydis
+ errors:
+ models:
+ oauth_application:
+ attributes:
+ redirect_uri:
+ must_be_ssl: Peradresavimo URI turi būti SSL URI
+ decidim:
+ system:
+ actions:
+ confirm_destroy: Ar tikrai norite tai ištrinti?
+ destroy: Ištrinti
+ edit: Redaguoti
+ new: Naujas
+ save: Išsaugoti
+ title: Veiksmai
+ admins:
+ create:
+ error: Kuriant naują administratorių iškilo problema.
+ success: Administratorius sukurtas
+ destroy:
+ success: Administratorius pašalintas
+ edit:
+ title: Redaguoti administratorių
+ update: Atnaujinti
+ index:
+ title: Administratoriai
+ new:
+ create: Sukurti
+ title: Naujas administratorius
+ update:
+ error: Atnaujinant šį administratorių iškilo problema.
+ success: Administratorius atnaujintas
+ dashboard:
+ show:
+ current_organizations: Dabartinės organizacijos
+ default_pages:
+ placeholders:
+ content: Administratoriaus suvestinės statiniame puslapyje %{page} įrašykite prasmingą turinį.
+ title: '%{page} numatytasis pavadinimas'
+ menu:
+ admins: Administratoriai
+ dashboard: Švieslentė
+ oauth_applications: OAuth aplikacijos
+ organizations: Organizacijos
+ models:
+ admin:
+ fields:
+ created_at: Sukurta
+ email: El. paštas
+ name: Administratorius
+ validations:
+ email_uniqueness: jau yra kitas administratorius su tokiu pačiu el. pašto adresu
+ oauth_application:
+ fields:
+ created_at: Sukurta
+ name: '„OAuth“ programos pavadinimas'
+ organization_name: Organizacija
+ name: OAuth aplikacija
+ organization:
+ actions:
+ save_and_invite: Sukurti organizaciją ir pakviesti administratorių
+ fields:
+ created_at: Sukurta
+ file_upload_settings: Failų įkėlimo nustatymai
+ name: Vardas
+ omniauth_settings: '„Omniauth“ nuostatos'
+ smtp_settings: SMTP nustatymai
+ name: Organizacija
+ oauth_applications:
+ create:
+ error: Kuriant šią aplikaciją iškilo problema.
+ success: Programa sukurta.
+ destroy:
+ error: Naikinant šią programą iškilo problema.
+ success: Programa panaikinta.
+ edit:
+ save: Išsaugoti
+ title: Redaguoti programą
+ form:
+ select_organization: Pasirinkti organizaciją
+ index:
+ confirm_delete: Ar tikrai norite ištrinti šią programą?
+ title: OAuth aplikacijos
+ new:
+ save: Išsaugoti
+ title: Nauja aplikacija
+ update:
+ error: Atnaujinant šią programą iškilo problema.
+ success: Programa atnaujinta.
+ organizations:
+ advanced_settings:
+ hide: Slėpti išplėstinius nustatymus
+ show: Rodyti išplėstinius nustatymus
+ create:
+ error: Kuriant naują organizaciją iškilo problema.
+ success: Organizacija sėkmingai sukurta.
+ edit:
+ secondary_hosts_hint: Kiekvieną iš jų įrašykite į naują eilutę
+ file_upload_settings:
+ content_types:
+ admin_hint: Šie MIME tipai leidžiami administratorių dalies įkėlimams. Administratoriai turėtų suprasti tokių dokumentų formatų rizikas.
+ default_hint: Pagal numatytuosius nustatymus šie MIME tipai leidžiami visiems vartotojams.
+ intro_html: Pridedate "wildcards" su asterisku MIME tipams (pvz. paveikslelis/*.
+ title: Leidžiami MIME tipai
+ file_extensions:
+ admin_hint: Šie Mime tipai leidžiami administratorių dalies įkėlimams. Administratoriai turėtų suprasti tokių dokumentų formatų rizikas.
+ default_hint: Šie rinkmenų tipai leidžiami visiems naudotojams.
+ image_hint: Šie rinkmenų tipai tinkami paveikslėlių įkėlimui.
+ title: Leidžiami failų plėtiniai
+ file_sizes:
+ avatar_hint: Megabaitai (MB). Šis failo dydžio apribojimas naudojamas avataro paveiksliukams įkelti.
+ default_hint: Megabaitai (MB). Šis failo dydžio apribojimas yra numatytasis, jei nenurodyta kitaip.
+ title: Didžiausi failų dydžiai
+ intro: |
+ Būkite ypač atsargūs, kai ketinate pakeisti šiuos nustatymus. Kuo mažiau leisite, tuo geriau.
+ Leidžiant konkrečius failų plėtinius arba MIME tipus, sistemos naudotojai gali susidurti su saugumo rizika, taip pat gali turėti įtakos svetainės pasiekiamumui.
+ index:
+ title: Organizacijos
+ new:
+ reference_prefix_hint: Nuorodos priešdėlis naudojamas unikaliai identifikuoti išteklius visoje organizacijoje
+ secondary_hosts_hint: Kiekvieną iš jų įrašykite į naują eilutę
+ title: Nauja organizacija
+ omniauth_settings:
+ decidim:
+ client_id: Kliento ID
+ client_secret: Kliento paslaptis
+ site_url: Svetainės URL
+ enabled: Įjungta
+ enabled_by_default: Šis teikėjas įjungtas pagal numatytuosius nustatymus. Jį galima redaguoti, bet ne išjungti.
+ facebook:
+ app_id: Programos ID
+ app_secret: Programos paslaptis
+ google_oauth2:
+ client_id: Kliento ID
+ client_secret: Kliento paslaptis
+ icon: Piktograma
+ icon_path: Piktogramos kelias
+ twitter:
+ api_key: API raktas
+ api_secret: API paslaptis
+ smtp_settings:
+ fieldsets:
+ sender: Siuntėjas
+ instructions:
+ from_label: 'El. pašto siuntėjas bus: "jūsų-organizacijos-pavadinimas ". Palikite tuščią, jei norite naudoti „El. pašto adresas“ kaip etiketę'
+ placeholder:
+ from_email: jūsų-organizacija@example.org
+ from_label: jūsų-organizacijos-pavadinimas
+ update:
+ error: Atnaujinant šią organizaciją iškilo problema.
+ success: Organizacija atnaujinta.
+ users_registration_mode:
+ disabled: Prieiga galima tik iš išorės paskyrų
+ enabled: Leisti dalyviams registruotis ir prisijungti
+ existing: Neleiskite dalyviams registruotis, bet leiskite esamiems dalyviams prisijungti
+ shared:
+ notices:
+ no_organization_warning_html: Norėdami pradėti, turite sukurti organizaciją. Prieš tęsdami būtinai perskaitykite %{guide}.
+ our_getting_started_guide: mūsų veiklos pradžios vadovas
+ titles:
+ dashboard: Švieslentė
diff --git a/decidim-system/config/locales/oc-FR.yml b/decidim-system/config/locales/oc-FR.yml
new file mode 100644
index 0000000000000..325b348894124
--- /dev/null
+++ b/decidim-system/config/locales/oc-FR.yml
@@ -0,0 +1 @@
+oc:
diff --git a/decidim-system/lib/decidim/system/version.rb b/decidim-system/lib/decidim/system/version.rb
index ea55f403e5cce..f7500378f88de 100644
--- a/decidim-system/lib/decidim/system/version.rb
+++ b/decidim-system/lib/decidim/system/version.rb
@@ -4,7 +4,7 @@ module Decidim
# This holds the decidim-system version.
module System
def self.version
- "0.26.2"
+ "0.26.4"
end
end
end
diff --git a/decidim-system/spec/forms/decidim/system/update_organization_form_spec.rb b/decidim-system/spec/forms/decidim/system/update_organization_form_spec.rb
index e93e069923ad6..301048370c98d 100644
--- a/decidim-system/spec/forms/decidim/system/update_organization_form_spec.rb
+++ b/decidim-system/spec/forms/decidim/system/update_organization_form_spec.rb
@@ -16,14 +16,7 @@ module Decidim::System
default_locale: "en",
users_registration_mode: "enabled",
force_users_to_authenticate_before_access_organization: "false",
- smtp_settings: {
- "address" => "mail.gotham.gov",
- "port" => "25",
- "user_name" => "f.laguardia",
- "password" => Decidim::AttributeEncryptor.encrypt("password"),
- "from_email" => "decide@gotham.gov",
- "from_label" => from_label
- },
+ **smtp_settings,
omniauth_settings: {
"omniauth_settings_facebook_enabled" => true,
"omniauth_settings_facebook_app_id" => facebook_app_id,
@@ -32,6 +25,17 @@ module Decidim::System
)
end
+ let(:smtp_settings) do
+ {
+ address: "mail.gotham.gov",
+ port: 25,
+ user_name: "f.laguardia",
+ password: password,
+ from_email: "decide@gotham.gov",
+ from_label: from_label
+ }
+ end
+ let(:password) { "secret_password" }
let(:from_label) { "Decide Gotham" }
let(:facebook_app_id) { "plain-text-facebook-app-id" }
let(:facebook_app_secret) { "plain-text-facebook-app-secret" }
@@ -78,6 +82,13 @@ module Decidim::System
end
end
end
+
+ describe "smtp_settings" do
+ it "handles SMTP password properly" do
+ expect(subject.smtp_settings).to eq(smtp_settings.except(:password))
+ expect(Decidim::AttributeEncryptor.decrypt(subject.encrypted_smtp_settings[:encrypted_password])).to eq(password)
+ end
+ end
end
end
end
diff --git a/decidim-templates/config/locales/de.yml b/decidim-templates/config/locales/de.yml
index 09bdb46931510..d62abed408f5d 100644
--- a/decidim-templates/config/locales/de.yml
+++ b/decidim-templates/config/locales/de.yml
@@ -1,4 +1,11 @@
de:
+ activemodel:
+ attributes:
+ questionnaire:
+ title: Titel
+ template:
+ description: Beschreibung
+ name: Name
decidim:
admin:
menu:
@@ -17,7 +24,6 @@ de:
success: Vorlage erfolgreich gelöscht
empty: Es gibt noch keine Vorlagen.
update:
- error: Bei der Aktualisierung dieser Vorlage ist ein Problem aufgetreten.
success: Vorlage erfolgreich aktualisiert
titles:
template_types:
diff --git a/decidim-templates/config/locales/en.yml b/decidim-templates/config/locales/en.yml
index cb86a07b47834..5682ec36398b0 100644
--- a/decidim-templates/config/locales/en.yml
+++ b/decidim-templates/config/locales/en.yml
@@ -25,7 +25,7 @@ en:
success: Template deleted successfully
empty: There are no templates yet.
update:
- error: There was a problem upadting this template.
+ error: There was a problem updating this template.
success: Template updated successfully
titles:
template_types:
diff --git a/decidim-templates/config/locales/fr-CA.yml b/decidim-templates/config/locales/fr-CA.yml
index 73266acf99568..aaf898c49e2ff 100644
--- a/decidim-templates/config/locales/fr-CA.yml
+++ b/decidim-templates/config/locales/fr-CA.yml
@@ -24,7 +24,7 @@ fr-CA:
success: Modèle supprimé avec succès
empty: Il n'y a pas de modèle pour l'instant.
update:
- error: Une erreur est survenue pendant la mise à jour du modèle.
+ error: Un problème est survenu lors de la mise à jour de ce modèle.
success: Modèle mis à jour avec succès
titles:
template_types:
diff --git a/decidim-templates/config/locales/fr.yml b/decidim-templates/config/locales/fr.yml
index 639da2651dc9e..f2ef2af395953 100644
--- a/decidim-templates/config/locales/fr.yml
+++ b/decidim-templates/config/locales/fr.yml
@@ -24,7 +24,7 @@ fr:
success: Modèle supprimé avec succès
empty: Il n'y a pas de modèle pour l'instant.
update:
- error: Une erreur est survenue pendant la mise à jour du modèle.
+ error: Un problème est survenu lors de la mise à jour de ce modèle.
success: Modèle mis à jour avec succès
titles:
template_types:
diff --git a/decidim-templates/config/locales/gl.yml b/decidim-templates/config/locales/gl.yml
index 7f47fe5924d5e..56229770574d5 100644
--- a/decidim-templates/config/locales/gl.yml
+++ b/decidim-templates/config/locales/gl.yml
@@ -24,7 +24,6 @@ gl:
success: Padrón eliminado con éxito
empty: Aínda non hai padróns.
update:
- error: Produciuse un problema ao actualizar o padrón.
success: Padrón actualizado con éxito
titles:
template_types:
diff --git a/decidim-templates/config/locales/gn-PY.yml b/decidim-templates/config/locales/gn-PY.yml
new file mode 100644
index 0000000000000..bd442b0ad85de
--- /dev/null
+++ b/decidim-templates/config/locales/gn-PY.yml
@@ -0,0 +1 @@
+gn:
diff --git a/decidim-templates/config/locales/hu.yml b/decidim-templates/config/locales/hu.yml
index 52314c50c979f..61aa68f88a3e2 100644
--- a/decidim-templates/config/locales/hu.yml
+++ b/decidim-templates/config/locales/hu.yml
@@ -1 +1,66 @@
hu:
+ activemodel:
+ attributes:
+ questionnaire:
+ title: Cím
+ template:
+ description: Leírás
+ name: Név
+ decidim:
+ admin:
+ menu:
+ templates: Sablonok
+ templates:
+ apply:
+ error: Probléma merült fel a sablon alkalmazása során.
+ success: Sablon sikeresen alkalmazva
+ copy:
+ error: Probléma merült fel a sablon másolása során.
+ success: Sablon sikeresen másolva
+ create:
+ error: Probléma történt az sablon létrehozásakor.
+ success: Sablon létrhehozása sikeres
+ destroy:
+ success: Sablon törlése sikeres
+ empty: Nincsenek még sablonok.
+ update:
+ success: A sablon sikeresen frissült
+ titles:
+ template_types:
+ questionnaires: Kérdőív-sablonok
+ templates: Sablonok
+ models:
+ questionnaire_template:
+ fields:
+ questions: Kérdések száma
+ title: Kérdõív címe
+ template:
+ fields:
+ created_at: 'Létrehozva:'
+ name: Sablon
+ templates:
+ admin:
+ questionnaire_templates:
+ choose:
+ create_from_template: Létrehozás sablonból
+ description: Egy új kérdőív létrehozására készült. Választhatsz előre létrehozott sablonok közül amelyeket később módosíthatsz.
+ label: Válassz egy sablont
+ placeholder: Válassz egy sablont
+ skip_template: Átugrás
+ edit:
+ edit: Szerkesztés
+ empty: Még nincsenek kérdések
+ questionnaire: Kérdőív
+ form:
+ save: Mentés
+ template_title: Sablon információi
+ title: Kérdőív sablon %{questionnaire_for}
+ index:
+ confirm_delete: Biztos törölni szeretné a sablont?
+ title: Kérdőív-sablonok
+ preview:
+ current_step: Lépés %{step}
+ of_total_steps: 'ennyiből: %{total_steps}'
+ tos_agreement: A részvétellel elfogadja az Általános Szerződési Feltételeket
+ template_types:
+ questionnaires: Kérdőívek
diff --git a/decidim-templates/config/locales/it.yml b/decidim-templates/config/locales/it.yml
index f645490d559ae..328763f2bb6d9 100644
--- a/decidim-templates/config/locales/it.yml
+++ b/decidim-templates/config/locales/it.yml
@@ -24,7 +24,6 @@ it:
success: Modello eliminato con successo
empty: Non ci sono ancora modelli.
update:
- error: Si è verificato un errore durante l'aggiornamento di questo modello.
success: Modello aggiornato con successo
titles:
template_types:
diff --git a/decidim-templates/config/locales/ja.yml b/decidim-templates/config/locales/ja.yml
index a10174ad5c111..62402901cc4af 100644
--- a/decidim-templates/config/locales/ja.yml
+++ b/decidim-templates/config/locales/ja.yml
@@ -24,7 +24,7 @@ ja:
success: テンプレートが正常に削除されました
empty: テンプレートはまだありません。
update:
- error: テンプレートのアップデート中に問題が発生しました。
+ error: テンプレートの更新中に問題が発生しました。
success: テンプレートが正常に更新されました
titles:
template_types:
diff --git a/decidim-templates/config/locales/lo-LA.yml b/decidim-templates/config/locales/lo-LA.yml
new file mode 100644
index 0000000000000..27a02bfece429
--- /dev/null
+++ b/decidim-templates/config/locales/lo-LA.yml
@@ -0,0 +1 @@
+lo:
diff --git a/decidim-templates/config/locales/lt.yml b/decidim-templates/config/locales/lt.yml
index 6c5cb837ac8c1..3032f62183654 100644
--- a/decidim-templates/config/locales/lt.yml
+++ b/decidim-templates/config/locales/lt.yml
@@ -1 +1,66 @@
lt:
+ activemodel:
+ attributes:
+ questionnaire:
+ title: Pavadinimas
+ template:
+ description: Aprašymas
+ name: Pavadinimas
+ decidim:
+ admin:
+ menu:
+ templates: Šablonai
+ templates:
+ apply:
+ error: Pritaikant šį šabloną iškilo problema.
+ success: Šablonas sėkmingai pritaikytas
+ copy:
+ error: Kopijuojant šį šabloną iškilo problema.
+ success: Šablonas pritaikytas nukopijuotas
+ create:
+ error: Kuriant šį šabloną iškilo problema.
+ success: Šablonas sukurtas sėkmingai
+ destroy:
+ success: Šablonas ištrintas sėkmingai
+ empty: Dar nėra šablonų.
+ update:
+ success: Šablonas atnaujintas sėkmingai
+ titles:
+ template_types:
+ questionnaires: Klausimyno šablonai
+ templates: Šablonai
+ models:
+ questionnaire_template:
+ fields:
+ questions: Klausimų skaičius
+ title: Klausimyno pavadinimas
+ template:
+ fields:
+ created_at: Sukurta
+ name: Šablonas
+ templates:
+ admin:
+ questionnaire_templates:
+ choose:
+ create_from_template: Kurti iš šablono
+ description: Tuojaus sukursite naują klausimyną. Galite jį kurti iš šablono ir jį pakeisti vėliau.
+ label: Pasirinkti šabloną
+ placeholder: Pasirinkti šabloną
+ skip_template: Praleisti
+ edit:
+ edit: Redaguoti
+ empty: Dar nėra klausimų
+ questionnaire: Klausimynas
+ form:
+ save: Išsaugoti
+ template_title: Šablono informacija
+ title: Klausimyno šablonas %{questionnaire_for}
+ index:
+ confirm_delete: Ar tikrai norite ištrinti šį šabloną?
+ title: Klausimyno šablonai
+ preview:
+ current_step: Žingsnis %{step}
+ of_total_steps: iš%{total_steps}
+ tos_agreement: Dalyvaudami sutinkate su paslaugos teikimo sąlygomis
+ template_types:
+ questionnaires: Klausimynai
diff --git a/decidim-templates/config/locales/nl.yml b/decidim-templates/config/locales/nl.yml
index 4af6c73fd8dcc..bc73be66ef68d 100644
--- a/decidim-templates/config/locales/nl.yml
+++ b/decidim-templates/config/locales/nl.yml
@@ -24,7 +24,6 @@ nl:
success: Template met succes verwijderd
empty: Er zijn nog geen templates.
update:
- error: Er is een fout opgetreden bij het bijwerken van dit template.
success: Template met succes bijgewerkt
titles:
template_types:
diff --git a/decidim-templates/config/locales/no.yml b/decidim-templates/config/locales/no.yml
index 4d5d5deb85f25..60dbbdfd5a8d1 100644
--- a/decidim-templates/config/locales/no.yml
+++ b/decidim-templates/config/locales/no.yml
@@ -24,7 +24,6 @@
success: Malen ble slettet
empty: Det finnes ingen maler enda.
update:
- error: Det oppstod et problem under oppdatering av denne malen.
success: Mal oppdatert
titles:
template_types:
diff --git a/decidim-templates/config/locales/oc-FR.yml b/decidim-templates/config/locales/oc-FR.yml
new file mode 100644
index 0000000000000..325b348894124
--- /dev/null
+++ b/decidim-templates/config/locales/oc-FR.yml
@@ -0,0 +1 @@
+oc:
diff --git a/decidim-templates/config/locales/pl.yml b/decidim-templates/config/locales/pl.yml
index 9415293f9af67..0cad572fb1dc5 100644
--- a/decidim-templates/config/locales/pl.yml
+++ b/decidim-templates/config/locales/pl.yml
@@ -17,7 +17,6 @@ pl:
success: Szablon został usunięty
empty: Brak szablonów.
update:
- error: Wystąpił błąd podczas aktualizowania szablonu.
success: Szablon został zaktualizowany
titles:
template_types:
diff --git a/decidim-templates/config/locales/pt-BR.yml b/decidim-templates/config/locales/pt-BR.yml
index e383b97eb4e87..60277f2801d7f 100644
--- a/decidim-templates/config/locales/pt-BR.yml
+++ b/decidim-templates/config/locales/pt-BR.yml
@@ -24,7 +24,6 @@ pt-BR:
success: Modelo excluído com sucesso
empty: Ainda não existem modelos.
update:
- error: Ocorreu um erro ao atualizar este modelo.
success: Modelo atualizado com sucesso
titles:
template_types:
diff --git a/decidim-templates/config/locales/pt.yml b/decidim-templates/config/locales/pt.yml
index 7096822bc452b..93c0b3ac4fc60 100644
--- a/decidim-templates/config/locales/pt.yml
+++ b/decidim-templates/config/locales/pt.yml
@@ -24,7 +24,6 @@ pt:
success: Modelo eliminado com êxito
empty: Ainda não há modelos.
update:
- error: Houve um problema ao actualizar este modelo.
success: Modelo actualizado com êxito
titles:
template_types:
diff --git a/decidim-templates/config/locales/ro-RO.yml b/decidim-templates/config/locales/ro-RO.yml
index e5ba740990b2b..d6a50f94ab9ff 100644
--- a/decidim-templates/config/locales/ro-RO.yml
+++ b/decidim-templates/config/locales/ro-RO.yml
@@ -24,7 +24,7 @@ ro:
success: Modelul a fost şters cu succes
empty: Nu există încă nici un model.
update:
- error: A apărut o eroare la actualizarea acestui model.
+ error: A apărut o eroare la actualizarea acestui șablon.
success: Modelul a fost actualizat cu succes
titles:
template_types:
diff --git a/decidim-templates/config/locales/sv.yml b/decidim-templates/config/locales/sv.yml
index fe53e36087a62..71db39e30fb9d 100644
--- a/decidim-templates/config/locales/sv.yml
+++ b/decidim-templates/config/locales/sv.yml
@@ -21,6 +21,8 @@ sv:
admin:
questionnaire_templates:
choose:
+ label: Välj mall
+ placeholder: Välj mall
skip_template: Hoppa över
edit:
edit: Redigera
@@ -29,3 +31,5 @@ sv:
save: Spara
preview:
current_step: Steg %{step} av
+ template_types:
+ questionnaires: Enkäter
diff --git a/decidim-templates/config/locales/tr-TR.yml b/decidim-templates/config/locales/tr-TR.yml
index f8efd708b8f29..3cdaddb4bf9d4 100644
--- a/decidim-templates/config/locales/tr-TR.yml
+++ b/decidim-templates/config/locales/tr-TR.yml
@@ -17,7 +17,6 @@ tr:
success: Şablon başarıyla silindi
empty: Burada henüz şablon yok.
update:
- error: Bu şablonu güncellerken bir sorun oluştu.
success: Şablon başarıyla güncellendi
titles:
template_types:
diff --git a/decidim-templates/config/locales/zh-CN.yml b/decidim-templates/config/locales/zh-CN.yml
index 47ce463ee9e13..24e6cfa0cf00e 100644
--- a/decidim-templates/config/locales/zh-CN.yml
+++ b/decidim-templates/config/locales/zh-CN.yml
@@ -17,7 +17,6 @@ zh-CN:
success: 模板删除成功
empty: 尚无模板。
update:
- error: 在更新此模板时出现问题。
success: 模板更新成功
titles:
template_types:
diff --git a/decidim-templates/lib/decidim/templates/admin_engine.rb b/decidim-templates/lib/decidim/templates/admin_engine.rb
index b1e6328b8c423..314483e1c1ed4 100644
--- a/decidim-templates/lib/decidim/templates/admin_engine.rb
+++ b/decidim-templates/lib/decidim/templates/admin_engine.rb
@@ -53,7 +53,8 @@ class AdminEngine < ::Rails::Engine
decidim_admin_templates.questionnaire_templates_path,
icon_name: "document",
position: 12,
- active: :inclusive
+ active: :inclusive,
+ if: allowed_to?(:read, :templates)
end
end
diff --git a/decidim-templates/lib/decidim/templates/version.rb b/decidim-templates/lib/decidim/templates/version.rb
index ad303e9133558..74e29749ee0dc 100644
--- a/decidim-templates/lib/decidim/templates/version.rb
+++ b/decidim-templates/lib/decidim/templates/version.rb
@@ -4,7 +4,7 @@ module Decidim
# This holds the decidim-templates version.
module Templates
def self.version
- "0.26.2"
+ "0.26.4"
end
end
end
diff --git a/decidim-verifications/app/events/decidim/verifications/managed_user_error_event.rb b/decidim-verifications/app/events/decidim/verifications/managed_user_error_event.rb
index 694343d8516d3..83fb06199ab1e 100644
--- a/decidim-verifications/app/events/decidim/verifications/managed_user_error_event.rb
+++ b/decidim-verifications/app/events/decidim/verifications/managed_user_error_event.rb
@@ -6,13 +6,12 @@ class ManagedUserErrorEvent < Decidim::Events::SimpleEvent
include Rails.application.routes.mounted_helpers
delegate :profile_path, :profile_url, :name, to: :updated_user
+ delegate :conflicts_path, :conflicts_url, to: :decidim_admin
def i18n_scope
"decidim.events.verifications.verify_with_managed_user"
end
- delegate :conflicts_path, to: :decidim_admin
-
def resource_path
profile_path
end
@@ -26,7 +25,13 @@ def resource_title
end
def default_i18n_options
- super.merge({ conflicts_path: conflicts_path, managed_user_path: managed_user.profile_path, managed_user_name: managed_user.name })
+ super.merge({
+ conflicts_path: conflicts_path,
+ conflicts_url: conflicts_url,
+ managed_user_path: managed_user.profile_path,
+ managed_user_url: managed_user.profile_url,
+ managed_user_name: managed_user.name
+ })
end
private
@@ -38,6 +43,10 @@ def updated_user
def managed_user
@managed_user ||= Decidim::UserPresenter.new(resource.managed_user)
end
+
+ def decidim_admin
+ @decidim_admin ||= Decidim::EngineRouter.new("decidim_admin", { host: managed_user.organization.host })
+ end
end
end
end
diff --git a/decidim-verifications/config/locales/ca.yml b/decidim-verifications/config/locales/ca.yml
index 85b0a41a7ebbd..01a2fea0e48db 100644
--- a/decidim-verifications/config/locales/ca.yml
+++ b/decidim-verifications/config/locales/ca.yml
@@ -78,10 +78,10 @@ ca:
events:
verifications:
verify_with_managed_user:
- email_intro: La participant %{resource_title} ha intentat verificar-se amb les dades de la participant gestionada %{managed_user_name}.
- email_outro: Comprova la llista de conflictes de verificacions i posa't en contacte amb la participant per a verificar els seus detalls i resoldre el problema.
- email_subject: Error en intentar verificar-se contra una participant gestionada
- notification_title: La participant %{resource_title} ha intentat verificar-se amb les dades de la participant gestionada %{managed_user_name}.
+ email_intro: La participant %{resource_title} ha intentat verificar-se amb les dades d'una altra participant (%{managed_user_name}).
+ email_outro: Comprova la llista de conflictes de verificacions i posa't en contacte amb la participant per a verificar els seus detalls i resoldre el problema.
+ email_subject: Error en intentar verificar-se contra una altra participant
+ notification_title: La participant %{resource_title} ha intentat verificar-se amb les dades d'una altra participant (%{managed_user_name}).
verifications:
authorizations:
authorization_metadata:
diff --git a/decidim-verifications/config/locales/cs.yml b/decidim-verifications/config/locales/cs.yml
index af88ca3c50081..6a19ecd378d28 100644
--- a/decidim-verifications/config/locales/cs.yml
+++ b/decidim-verifications/config/locales/cs.yml
@@ -78,10 +78,10 @@ cs:
events:
verifications:
verify_with_managed_user:
- email_intro: Účastník %{resource_title} se pokusil ověřit se údaji spravovaného účastníka %{managed_user_name}.
- email_outro: Zkontrolujte seznam konfliktů ověření a kontaktujte uživatele pro ověření jejich údajů a vyřešení problému.
- email_subject: Neúspěšný pokus o ověření proti spravovanému uživateli
- notification_title: Účastník %{resource_title} se pokusil ověřit se údaji spravovaného účastníka %{managed_user_name}.
+ email_intro: Účastník %{resource_title} se pokusil ověřit se s údaji jiného účastníka (%{managed_user_name}).
+ email_outro: Zkontrolujte seznam konfliktů ověření a kontaktujte uživatele pro ověření jejich údajů a vyřešení problému.
+ email_subject: Neúspěšný pokus o ověření proti jinému uživateli
+ notification_title: Účastník %{resource_title} se pokusil ověřit se s údaji jiného účastníka (%{managed_user_name}).
verifications:
authorizations:
authorization_metadata:
@@ -114,7 +114,7 @@ cs:
authorize: Poslat
authorize_with: Ověřte pomocí %{authorizer}
renew_modal:
- cancel: zrušení
+ cancel: Zrušit
close: zavřít
continue: Pokračovat
info_renew: Pokud chcete aktualizovat data, pokračujte obnovením
@@ -184,7 +184,7 @@ cs:
error: Ověření neodpovídá vloženým údajům. Zkuste to znovu, nebo řekněte uživateli, ať si je změní
success: Uživatel úspěšně ověřen
new:
- cancel: zrušení
+ cancel: Zrušit
introduce_user_data: Zadejte e-mail uživatele a data dokumentu
verify: Ověřte
pending_authorizations:
diff --git a/decidim-verifications/config/locales/en.yml b/decidim-verifications/config/locales/en.yml
index cc7889bd1fe52..908dfc52ce8e6 100644
--- a/decidim-verifications/config/locales/en.yml
+++ b/decidim-verifications/config/locales/en.yml
@@ -79,10 +79,10 @@ en:
events:
verifications:
verify_with_managed_user:
- email_intro: The participant %{resource_title} has tried to verify themself with the data of the managed participant %{managed_user_name}.
- email_outro: Check the Verifications's conflicts list and contact the participant to verify their details and solve the issue.
- email_subject: Failed verification attempt against a managed participant
- notification_title: The participant %{resource_title} has tried to verify themself with the data of the managed participant %{managed_user_name}.
+ email_intro: The participant %{resource_title} has tried to verify themself with the data of another participant (%{managed_user_name}).
+ email_outro: Check the Verifications's conflicts list and contact the participant to verify their details and solve the issue.
+ email_subject: Failed verification attempt against another participant
+ notification_title: The participant %{resource_title} has tried to verify themself with the data of another participant (%{managed_user_name}).
verifications:
authorizations:
authorization_metadata:
diff --git a/decidim-verifications/config/locales/es-MX.yml b/decidim-verifications/config/locales/es-MX.yml
index 6cb907b953bea..407bc80631ae5 100644
--- a/decidim-verifications/config/locales/es-MX.yml
+++ b/decidim-verifications/config/locales/es-MX.yml
@@ -78,10 +78,10 @@ es-MX:
events:
verifications:
verify_with_managed_user:
- email_intro: La participante %{resource_title} ha intentado verificarse a si misma con los datos de la participante gestionada %{managed_user_name}.
- email_outro: Comprueba la lista de conflictos de verificaciones y ponte en contacto con la participante para verificar sus detalles y resolver el problema.
- email_subject: Error al intentar verificarse contra una participante gestionada
- notification_title: La participante %{resource_title} ha intentado verificarse con los datos de la participante gestionada %{managed_user_name}.
+ email_intro: La participante %{resource_title} ha intentado verificarse con los datos de otra participante (%{managed_user_name}).
+ email_outro: Comprueba la lista de conflictos de verificaciones y ponte en contacto con la participante para verificar sus detalles y resolver el problema.
+ email_subject: Error al intentar verificarse contra otra participante
+ notification_title: La participante %{resource_title} ha intentado verificarse con los datos de otra participante (%{managed_user_name}).
verifications:
authorizations:
authorization_metadata:
diff --git a/decidim-verifications/config/locales/es-PY.yml b/decidim-verifications/config/locales/es-PY.yml
index 1fa2a1bb8f191..699cf72a89fd3 100644
--- a/decidim-verifications/config/locales/es-PY.yml
+++ b/decidim-verifications/config/locales/es-PY.yml
@@ -78,10 +78,10 @@ es-PY:
events:
verifications:
verify_with_managed_user:
- email_intro: La participante %{resource_title} ha intentado verificarse a si misma con los datos de la participante gestionada %{managed_user_name}.
- email_outro: Comprueba la lista de conflictos de verificaciones y ponte en contacto con la participante para verificar sus detalles y resolver el problema.
- email_subject: Error al intentar verificarse contra una participante gestionada
- notification_title: La participante %{resource_title} ha intentado verificarse con los datos de la participante gestionada %{managed_user_name}.
+ email_intro: La participante %{resource_title} ha intentado verificarse con los datos de otra participante (%{managed_user_name}).
+ email_outro: Comprueba la lista de conflictos de verificaciones y ponte en contacto con la participante para verificar sus detalles y resolver el problema.
+ email_subject: Error al intentar verificarse contra otra participante
+ notification_title: La participante %{resource_title} ha intentado verificarse con los datos de otra participante (%{managed_user_name}).
verifications:
authorizations:
authorization_metadata:
diff --git a/decidim-verifications/config/locales/es.yml b/decidim-verifications/config/locales/es.yml
index 14b2f3ebfe91b..5e53c3ec46a78 100644
--- a/decidim-verifications/config/locales/es.yml
+++ b/decidim-verifications/config/locales/es.yml
@@ -78,10 +78,10 @@ es:
events:
verifications:
verify_with_managed_user:
- email_intro: La participante %{resource_title} ha intentado verificarse a si misma con los datos de la participante gestionada %{managed_user_name}.
- email_outro: Comprueba la lista de conflictos de verificaciones y ponte en contacto con la participante para verificar sus detalles y resolver el problema.
- email_subject: Error al intentar verificarse contra una participante gestionada
- notification_title: La participante %{resource_title} ha intentado verificarse con los datos de la participante gestionada %{managed_user_name}.
+ email_intro: La participante %{resource_title} ha intentado verificarse con los datos de otra participante (%{managed_user_name}).
+ email_outro: Comprueba la lista de conflictos de verificaciones y ponte en contacto con la participante para verificar sus detalles y resolver el problema.
+ email_subject: Error al intentar verificarse contra otra participante
+ notification_title: La participante %{resource_title} ha intentado verificarse con los datos de otra participante (%{managed_user_name}).
verifications:
authorizations:
authorization_metadata:
diff --git a/decidim-verifications/config/locales/eu.yml b/decidim-verifications/config/locales/eu.yml
index 8c1a97f88b93f..b84cc8bc7e1d6 100644
--- a/decidim-verifications/config/locales/eu.yml
+++ b/decidim-verifications/config/locales/eu.yml
@@ -75,6 +75,13 @@ eu:
postal_letter:
explanation: Posta-gutun bat bidaliko dizugu, sartu behar duzun kode batekin, beraz, zure helbidea egiaztatu ahal izango dugu
name: Kodea posta bidez
+ events:
+ verifications:
+ verify_with_managed_user:
+ email_intro: %{resource_title} parte-hartzailea (%{managed_user_name}) parte-hartzaileaen datuekin egiaztatzen saiatu da.
+ email_outro: Egiaztau gatazken zerrenda eta jarri harremanetan parte-hartzailearekin bere datuak egiaztatu eta arazoa konpontzeko.
+ email_subject: Errorea beste parte-hartzaile baten bidez egiaztatzeagatik
+ notification_title: %{resource_title} parte-hartzailea (%{managed_user_name}) parte-hartzaileaen datuekin egiaztatzen saiatu da.
verifications:
authorizations:
authorization_metadata:
diff --git a/decidim-verifications/config/locales/fi-plain.yml b/decidim-verifications/config/locales/fi-plain.yml
index de0fc90a2fafd..10763f8fd4930 100644
--- a/decidim-verifications/config/locales/fi-plain.yml
+++ b/decidim-verifications/config/locales/fi-plain.yml
@@ -78,10 +78,10 @@ fi-pl:
events:
verifications:
verify_with_managed_user:
- email_intro: Osallistuja %{resource_title} yritti tunnistautua hallitun käyttäjän %{managed_user_name} tiedoilla.
- email_outro: Tarkasta tunnistautumisten vahvistusten konfliktilista ja ota yhteyttä osallistujaan tarkastaaksesi hänen tietonsa ja ratkaistaksesi ongelman.
- email_subject: Hallitun käyttäjän tunnistaminen epäonnistui
- notification_title: Osallistuja %{resource_title} yritti tunnistautua hallitun käyttäjän %{managed_user_name} tiedoilla.
+ email_intro: Osallistuja %{resource_title} yritti tunnistautua toisen osallistujan (%{managed_user_name}) tiedoilla.
+ email_outro: Tarkasta tunnistautumisten konfliktilista ja ota yhteyttä osallistujaan tarkastaaksesi hänen tietonsa ja ratkaistaksesi ongelman.
+ email_subject: Tunnistautumisyritys epäonnistui toisen osallistujan tietojen käytön takia
+ notification_title: Osallistuja %{resource_title} yritti tunnistautua toisen osallistujan (%{managed_user_name}) tiedoilla.
verifications:
authorizations:
authorization_metadata:
diff --git a/decidim-verifications/config/locales/fi.yml b/decidim-verifications/config/locales/fi.yml
index 5d98a140e4514..af7061f12ef8c 100644
--- a/decidim-verifications/config/locales/fi.yml
+++ b/decidim-verifications/config/locales/fi.yml
@@ -78,10 +78,10 @@ fi:
events:
verifications:
verify_with_managed_user:
- email_intro: Osallistuja %{resource_title} yritti tunnistautua hallitun käyttäjän %{managed_user_name} tiedoilla.
- email_outro: Tarkasta tunnistautumisten vahvistusten konfliktilista ja ota yhteyttä osallistujaan tarkastaaksesi hänen tietonsa ja ratkaistaksesi ongelman.
- email_subject: Hallitun käyttäjän tunnistaminen epäonnistui
- notification_title: Osallistuja %{resource_title} yritti tunnistautua hallitun käyttäjän %{managed_user_name} tiedoilla.
+ email_intro: Osallistuja %{resource_title} yritti tunnistautua toisen osallistujan (%{managed_user_name}) tiedoilla.
+ email_outro: Tarkasta tunnistautumisten konfliktilista ja ota yhteyttä osallistujaan tarkastaaksesi hänen tietonsa ja ratkaistaksesi ongelman.
+ email_subject: Tunnistautumisyritys epäonnistui toisen osallistujan tietojen käytön takia
+ notification_title: Osallistuja %{resource_title} yritti tunnistautua toisen osallistujan (%{managed_user_name}) tiedoilla.
verifications:
authorizations:
authorization_metadata:
diff --git a/decidim-verifications/config/locales/fr-CA.yml b/decidim-verifications/config/locales/fr-CA.yml
index 76470bc36867b..9bb8e27c1b43c 100644
--- a/decidim-verifications/config/locales/fr-CA.yml
+++ b/decidim-verifications/config/locales/fr-CA.yml
@@ -78,10 +78,10 @@ fr-CA:
events:
verifications:
verify_with_managed_user:
- email_intro: Le participant %{resource_title} a essayé d'être vérifié avec les données de l'utilisateur représenté %{managed_user_name}.
- email_outro: Consultez la liste de conflits des vérifications et contactez le participant pour vérifier ses détails et résoudre le problème. Si vous souhaitez vous désabonner des notifications, connectez-vous à la plateforme, puis rendez-vous dans l'onglet “Mon compte” > “Paramètres des notifications”.
+ email_intro: Le participant %{resource_title} a essayé d'être vérifié avec les données d'un autre utilisateur (%{managed_user_name}).
+ email_outro: Consultez la liste de conflits des vérifications et contactez le participant pour vérifier ses détails et résoudre le problème. Si vous souhaitez vous désabonner des notifications, connectez-vous à la plateforme, puis rendez-vous dans l'onglet “Mon compte” > “Paramètres des notifications”.
email_subject: Echec lors de la tentative de vérification d'un participant
- notification_title: Le participant %{resource_title} a essayé d'être vérifié avec les données de l'utilisateur représenté %{managed_user_name}.
+ notification_title: Le participant %{resource_title} a essayé d'être vérifié avec les données d'un autre utilisateur (%{managed_user_name}).
verifications:
authorizations:
authorization_metadata:
diff --git a/decidim-verifications/config/locales/fr.yml b/decidim-verifications/config/locales/fr.yml
index c09b7c0cede62..f2a06ad189ef6 100644
--- a/decidim-verifications/config/locales/fr.yml
+++ b/decidim-verifications/config/locales/fr.yml
@@ -78,10 +78,10 @@ fr:
events:
verifications:
verify_with_managed_user:
- email_intro: Le participant %{resource_title} a essayé d'être vérifié avec les données de l'utilisateur représenté %{managed_user_name}.
- email_outro: Consultez la liste de conflits des vérifications et contactez le participant pour vérifier ses détails et résoudre le problème. Si vous souhaitez vous désabonner des notifications, connectez-vous à la plateforme, puis rendez-vous dans l'onglet “Mon compte” > “Paramètres des notifications”.
+ email_intro: Le participant %{resource_title} a essayé d'être vérifié avec les données d'un autre utilisateur (%{managed_user_name}).
+ email_outro: Consultez la liste de conflits des vérifications et contactez le participant pour vérifier ses détails et résoudre le problème. Si vous souhaitez vous désabonner des notifications, connectez-vous à la plateforme, puis rendez-vous dans l'onglet “Mon compte” > “Paramètres des notifications”.
email_subject: Echec lors de la tentative de vérification d'un participant
- notification_title: Le participant %{resource_title} a essayé d'être vérifié avec les données de l'utilisateur représenté %{managed_user_name}.
+ notification_title: Le participant %{resource_title} a essayé d'être vérifié avec les données d'un autre utilisateur (%{managed_user_name}).
verifications:
authorizations:
authorization_metadata:
diff --git a/decidim-verifications/config/locales/gn-PY.yml b/decidim-verifications/config/locales/gn-PY.yml
new file mode 100644
index 0000000000000..bd442b0ad85de
--- /dev/null
+++ b/decidim-verifications/config/locales/gn-PY.yml
@@ -0,0 +1 @@
+gn:
diff --git a/decidim-verifications/config/locales/hu.yml b/decidim-verifications/config/locales/hu.yml
index d2076c2ffad91..8ea8a0c846731 100644
--- a/decidim-verifications/config/locales/hu.yml
+++ b/decidim-verifications/config/locales/hu.yml
@@ -27,9 +27,23 @@ hu:
admin:
menu:
authorization_revocation:
+ before_date_info: Hasznos, ha a folyamat már megkezdődött, és vissza szeretné vonni az előző folyamat jogosultságait.
button: Összes visszavonása
+ button_before: Dátum előtti visszavonás
+ destroy:
+ confirm: A dátum előtti engedélyezések visszavonása nem vonható vissza. Biztosan folytatja?
+ confirm_all: Az összes engedélyezés visszavonása nem vonható vissza. Biztosan folytatja?
destroy_nok: Probléma merült fel az engedélyek visszavonásakor.
+ destroy_ok: Az összes egyező engedélyt sikeresen visszavonták.
+ info: Összesen %{count} ellenőrzött résztvevő.
no_data: Nincsenek ellenőrzött résztvevők
+ title: Engedélyezés és visszavonás
+ authorization_workflows: Engedélyezések
+ admin_log:
+ organization:
+ update_id_documents_config: "%{user_name} frissítette az azonosító dokumentumok ellenőrzési konfigurációját"
+ user:
+ grant_id_documents_offline_verification: "%{user_name} hitelesítve %{resource_name} egy offline azonosító dokumentum ellenőrzésével"
authorization_handlers:
admin:
csv_census:
@@ -117,6 +131,7 @@ hu:
title: Jelenlegi népszámlálási adatok
instructions:
body: Ehhez be kell lépnie a rendszeradminisztrációba, és hozzá kell adnia a csv_census jogosultságokat a szervezethez
+ title: Aktiválnia kell a szervezet CSV-állományadatait
new:
file: ".csv fájl e-mail adatokkal"
info: 'CSV formátumú fájl lehet csak egy oszloppal, amely az email címeket tartalmazza:'
@@ -131,6 +146,8 @@ hu:
postal_codes:
one: A részvétel %{postal_codes} irányítószámú felhasználókra korlátozódik.
other: 'A részvétel %{postal_codes} irányítószámú felhasználókra korlátozódik.'
+ scope: A részvétel kizárólag a(z) %{scope_name} hatókörrel rendelkező résztvevőkre korlátozódik.
+ user_scope: A részvétel a %{scope_name} hatókörrel rendelkező résztvevőkre korlátozódik, és a te hatóköröd %{user_scope_name}.
id_documents:
admin:
config:
diff --git a/decidim-verifications/config/locales/it.yml b/decidim-verifications/config/locales/it.yml
index 90a725cb33217..bfe3251ec2e78 100644
--- a/decidim-verifications/config/locales/it.yml
+++ b/decidim-verifications/config/locales/it.yml
@@ -75,13 +75,6 @@ it:
postal_letter:
explanation: Ti invieremo una lettera postale con un codice che dovrai inserire per poter verificare il tuo indirizzo
name: Codice via lettera postale
- events:
- verifications:
- verify_with_managed_user:
- email_intro: L'utente%{resource_title} ha provato a verificarsi con i dati dell'utente%{managed_user_name}.
- email_outro: Controllare l'elenco dei conflitti nelle verifiche e contattare l'utente per verificare i propri dati e risolvere il problema.
- email_subject: 'Tentativo di verifica fallito: l''utente esiste già'
- notification_title: L'utente%{resource_title} ha provato a verificarsi con i dati dell'utente%{managed_user_name}.
verifications:
authorizations:
authorization_metadata:
diff --git a/decidim-verifications/config/locales/ja.yml b/decidim-verifications/config/locales/ja.yml
index c0e71037d8b8a..75ffd2b1cd4d7 100644
--- a/decidim-verifications/config/locales/ja.yml
+++ b/decidim-verifications/config/locales/ja.yml
@@ -64,7 +64,7 @@ ja:
- 郵便物を送信済みとしてマークすると、参加者はコードを入力して検証することができます。
csv_census:
explanation: 組織センサスを使用して認証を取得する
- name: 組織の国勢調査
+ name: 組織のセンサス
direct: ダイレクト
help: ヘルプ
id_documents:
@@ -78,10 +78,10 @@ ja:
events:
verifications:
verify_with_managed_user:
- email_intro: 参加者 %{resource_title} が管理対象参加者 %{managed_user_name}のデータで検証しようとしました。
- email_outro: 検証の競合リスト を確認し、参加者に連絡して詳細を調査し、問題を解決します。
- email_subject: 管理対象参加者に対する検証の試みに失敗しました
- notification_title: 参加者 %{resource_title} が管理参加者 %{managed_user_name}のデータでそれらを確認しようとしました。
+ email_intro: 参加者 %{resource_title} が別の参加者(%{managed_user_name}) のデータで検証しようとしました.
+ email_outro: 検証の競合リスト を確認し、参加者に連絡して詳細の検証を行い、問題を解決します。
+ email_subject: 他の参加者に対する検証の試みに失敗しました
+ notification_title: 参加者 %{resource_title} が別の参加者 (%{managed_user_name}) のデータでそれらを確認しようとしました.
verifications:
authorizations:
authorization_metadata:
@@ -97,7 +97,7 @@ ja:
first_login:
actions:
another_dummy_authorization_handler: 認証ハンドラーの別の例に対して検証する
- csv_census: 組織の国勢調査に照らして確認
+ csv_census: 組織のセンサスに照らして確認
dummy_authorization_handler: 認証ハンドラーの例に対して確認する
dummy_authorization_workflow: 認証ワークフローの例に対して確認する
id_documents: 本人確認書類をアップロードして認証を取得する
@@ -128,14 +128,14 @@ ja:
error: センサスのインポート中にエラーが発生しました。
success: '%{count} 個のアイテムを正常にインポートしました (%{errors} 個のエラー)'
destroy_all:
- success: すべての国勢調査データが削除されました
+ success: すべてのセンサスデータが削除されました
destroy:
- confirm: 国勢調査をすべて削除することはできません。続行してもよろしいですか?
- title: 国勢調査データをすべて削除する
+ confirm: センサスをすべて削除することはできません。続行してもよろしいですか?
+ title: センサスデータをすべて削除する
index:
data: 合計 %{count} 件のレコードが読み込まれています。最終アップロード日は %{due_date}です。
- empty: 国勢調査データがありません。CSVファイルを使用してインポートするには、以下のフォームを使用してください。
- title: 現在の国勢調査データ
+ empty: センサスデータがありません。CSVファイルを使用してインポートするには、以下のフォームを使用してください。
+ title: 現在のセンサスデータ
instructions:
body: これを行うには、システム管理を入力し、csv_census の認証を組織に追加する必要があります。
title: この組織のCSVセンサス認証を有効にする必要があります
@@ -143,7 +143,7 @@ ja:
file: "電子メールデータを含む.csvファイル"
info: 'メールアドレスの列が 1 つだけの CSV 形式のファイルである必要があります:'
submit: ファイルをアップロード
- title: 新しい国勢調査をアップロード
+ title: 新しいセンサスをアップロード
authorizations:
new:
error: お客様のアカウントを確認できませんでした。また、組織のセンサスに入っていない場合もあります。
diff --git a/decidim-verifications/config/locales/lo-LA.yml b/decidim-verifications/config/locales/lo-LA.yml
new file mode 100644
index 0000000000000..27a02bfece429
--- /dev/null
+++ b/decidim-verifications/config/locales/lo-LA.yml
@@ -0,0 +1 @@
+lo:
diff --git a/decidim-verifications/config/locales/lt.yml b/decidim-verifications/config/locales/lt.yml
index 6c5cb837ac8c1..5196bcc42effd 100644
--- a/decidim-verifications/config/locales/lt.yml
+++ b/decidim-verifications/config/locales/lt.yml
@@ -1 +1,275 @@
lt:
+ activemodel:
+ attributes:
+ config:
+ available_methods: Galimi metodai
+ offline: Offline
+ offline_explanation: Tikrinimo fiziškai instrukcija
+ online: Virtualus
+ id_document_information:
+ document_number: Dokumento numeris (su raide)
+ document_type: Dokumento tipas
+ id_document_upload:
+ document_number: Dokumento numeris (su raide)
+ document_type: Jūsų dokumento rūšis
+ user: Dalyvis
+ verification_attachment: Jūsų dokumento nuskenuota kopija
+ offline_confirmation:
+ email: Dalyvio el. pašto adresas
+ postal_letter_address:
+ full_address: Pilnas adresas
+ postal_letter_confirmation:
+ verification_code: Patvirtinimo kodas
+ postal_letter_postage:
+ full_address: Pilnas adresas
+ verification_code: Patvirtinimo kodas
+ decidim:
+ admin:
+ menu:
+ authorization_revocation:
+ before_date_info: Naudinga, jei procesas jau prasidėjo ir norite atšaukti ankstesnio proceso leidimus.
+ button: Atšaukti viską
+ button_before: Atšaukti iki datos
+ destroy:
+ confirm: Atšaukus leidimus iki datos, veiksmo nebus galima anuliuoti. Ar tikrai norite tęsti?
+ confirm_all: Atšaukus visus leidimus, veiksmo nebus galima anuliuoti. Ar tikrai norite tęsti?
+ destroy_nok: Atšaukiant leidimus, iškilo problema.
+ destroy_ok: Visi sutampantys leidimai atšaukti.
+ info: Bendras patvirtintų dalyvių skaičius – %{count}.
+ no_data: Patvirtintų dalyvių nėra
+ title: Įgaliojimų atėmimas
+ authorization_workflows: Autorizacijos
+ admin_log:
+ organization:
+ update_id_documents_config: "%{user_name} atnaujino tapatybės dokumentų tikrinimo konfigūraciją"
+ user:
+ grant_id_documents_offline_verification: "%{user_name} patvirtino %{resource_name} naudodamas tapatybės dokumentų tikrinimo offline režimu funkciją"
+ authorization_handlers:
+ admin:
+ csv_census:
+ help:
+ - Administratoriai įkelia CSV su priimtų dalyvių el. pašto adresais
+ - Tik dalyviai, turintys el. pašto adresą tame CSV faile, gali gauti patvirtinimą
+ id_documents:
+ help:
+ - Vartotojai užpildo savo tapatybės informaciją ir įkelia savo dokumento kopiją.
+ - Jūs užpildote informaciją, esančią įkeltame paveikslėlyje.
+ - Informacija turi atitikti tai, ką įvedė vartotojas.
+ - Jei nematote aiškiai informacijos arba negalite jos patikrinti, galite atmesti užklausą ir vartotojas galės ją ištaisyti.
+ postal_letter:
+ help:
+ - Dalyviai prašo el. laišku jiems išsiųsti patvirtinimo kodą.
+ - Išsiunčiate jiems el. laišką su patvirtinimo kodu.
+ - Jūs pažymite laišką kaip išsiųstą.
+ - Kai pažymėsite laišką kaip išsiųstą, dalyvis galės įvesti kodą ir gauti patvirtinimą.
+ csv_census:
+ explanation: Patikrinimas naudojant organizacijos surašymo duomenis
+ name: Organizacijos surašymo duomenys
+ direct: Tiesiogiai
+ help: Pagalba
+ id_documents:
+ explanation: Įkelkite savo asmens dokumentus, kad galėtume patikrinti jūsų tapatybę
+ name: Tapatybės dokumentai
+ multistep: Kelių žingsnių procesas
+ name: Vardas
+ postal_letter:
+ explanation: Atsiųsime jums laišką paštu su kodu, kurį turėsite įvesti, kad galėtume patvirtinti jūsų adresą
+ name: Kodas pašto laišku
+ events:
+ verifications:
+ verify_with_managed_user:
+ email_intro: Dalyvis %{resource_title} bandė patvirtinti save kito dalyvio duomenimis (%{managed_user_name}).
+ email_outro: Patikrinkite Patvirtinimų konfliktų sąrašą ir susisiekite su dalyviu, kad patikrintumėte jo informaciją ir išspręstumėte problemą.
+ email_subject: Nepavyko patikrinti kito dalyvio
+ notification_title: Dalyvis %{resource_title} bandė patvirtinti save kito dalyvio duomenimis (%{managed_user_name}).
+ verifications:
+ authorizations:
+ authorization_metadata:
+ info: 'Tai yra dabartinio patikrinimo duomenys:'
+ no_data_stored: Duomenys neišsaugomi.
+ create:
+ error: Kuriant įgaliojimą kilo problema.
+ success: Jums suteiktas leidimas.
+ unconfirmed: Kad gautumėte leidimą, turite patvirtinti savo el. pašto adresą.
+ destroy:
+ error: Šalinant leidimą iškilo problema.
+ success: Leidimą pašalinote.
+ first_login:
+ actions:
+ another_dummy_authorization_handler: Patikrinkti pagal kitą leidimų tvarkytojo pavyzdį
+ csv_census: Patikrinti pagal organizacijos surašymo duomenis
+ dummy_authorization_handler: Patikrinti pagal leidimų tvarkytojo pavyzdį
+ dummy_authorization_workflow: Patikrinti pagal leidimų suteikimo eigos pavyzdį
+ id_documents: Patikrinimas įkeliant savo tapatybės dokumentą
+ postal_letter: Patikrinimas pašto laišku gaunant tikrinimo kodą
+ sms: Patikrinimas gaunant tikrinimo kodą SMS
+ title: Patvirtinkite savo tapatybę
+ verify_with_these_options: 'Savo tapatybę galite patvirtinti šiomis priemonėmis:'
+ index:
+ expired_verification: Patvirtinimas baigė galioti
+ pending_verification: Laukiama patvirtinimo
+ show_renew_info: Spustelėkite, kad atnaujintumėte patvirtinimą
+ unauthorized_verification: Naujas patvirtinimas
+ new:
+ authorize: Siųsti
+ authorize_with: Tikrinti %{authorizer}
+ renew_modal:
+ cancel: Atšaukti
+ close: uždaryti
+ continue: Tęsti
+ info_renew: Jei norite atnaujinti duomenis, tęskite atnaujinimą
+ title: Atnaujinti patikrinimą
+ skip_verification: Dabar tai galite praleisti ir %{link}
+ start_exploring: pradėti naršyti
+ csv_census:
+ admin:
+ census:
+ create:
+ error: Importuojant surašymo duomenis įvyko klaida.
+ success: Sėkmingai importuota %{count} elementų (%{errors} klaidų)
+ destroy_all:
+ success: Visi surašymo duomenys pašalinti
+ destroy:
+ confirm: Pašalinus visus surašymo duomenis, veiksmo nebus galima anuliuoti. Ar tikrai norite tęsti?
+ title: Pašalinti visus surašymo duomenis
+ index:
+ data: Bendras įkeltų įrašų skaičius – %{count}. Paskutinį kartą įkelta %{due_date}
+ empty: Surašymo duomenų nėra. Naudokite toliau pateikiamą formą, kad ją importuotumėte naudodami CSV rinkmeną.
+ title: Dabartiniai surašymo duomenys
+ instructions:
+ body: Kad tai padarytumėte, turite nueiti į sistemos administravimo laukelį ir organizacijai suteikti „csv_census“ leidimus
+ title: Turite įjungti „cvs_census“ šiai organizacijai
+ new:
+ file: ".csv rinkmena su el. pašto duomenimis"
+ info: 'Turi būti CSV formato rinkmena tik su viena skiltimi, kurioje nurodytas el. pašto adresas:'
+ submit: Įkelti failą
+ title: Įkelti naujus surašymo duomenis
+ authorizations:
+ new:
+ error: Negalėjome patikrinti jūsų paskyros arba jūsų duomenys neįtraukti į organizacijos surašymo duomenis.
+ success: Jūsų paskyra patikrinta.
+ dummy_authorization:
+ extra_explanation:
+ postal_codes:
+ one: Dalyvauti gali tik tie dalyviai, kurių pašto kodas %{postal_codes}.
+ few: 'Dalyvauti gali tik tie dalyviai, kurių pašto kodas yra vienas iš šių: %{postal_codes}.'
+ many: 'Dalyvauti gali tik tie dalyviai, kurių pašto kodas yra vienas iš šių: %{postal_codes}.'
+ other: 'Dalyvauti gali tik tie dalyviai, kurių pašto kodas yra vienas iš šių: %{postal_codes}.'
+ scope: Dalyvauti gali tik tie dalyviai, kurių sritis %{scope_name}.
+ user_postal_codes:
+ one: Dalyvauti gali tik dalyviai, kurių pašto kodas yra %{postal_codes}, o jūsų pašto kodas yra %{user_postal_code}.
+ few: 'Dalyvauti gali tik tie dalyviai, kurių pašto kodas yra vienas iš šių: %{postal_codes}. Jūsų pašto kodas %{user_postal_code}.'
+ many: 'Dalyvauti gali tik tie dalyviai, kurių pašto kodas yra vienas iš šių: %{postal_codes}. Jūsų pašto kodas %{user_postal_code}.'
+ other: 'Dalyvauti gali tik tie dalyviai, kurių pašto kodas yra vienas iš šių: %{postal_codes}. Jūsų pašto kodas %{user_postal_code}.'
+ user_scope: Dalyvauti gali tik dalyviai, kurių sritis yra %{scope_name}, o jūsų sritis yra %{user_scope_name}.
+ id_documents:
+ admin:
+ config:
+ edit:
+ title: Tapatybės dokumentų konfigūracija
+ update: Atnaujinti
+ update:
+ error: Atnaujinant konfigūraciją iškilo problema.
+ success: Konfigūracija atnaujinta
+ confirmations:
+ create:
+ error: Tikrinimo duomenys nesutampa. Bandykite dar kartą arba atmeskite tikrinimą, kad dalyvis galėtų pakeisti duomenis
+ success: Dalyvis patikrintas
+ new:
+ introduce_user_data: Pristatykite duomenis paveikslėlyje
+ reject: Atmesti
+ verify: Patikrinti
+ offline_confirmations:
+ create:
+ error: Tikrinimo duomenys nesutampa. Bandykite dar kartą ir prašykite dalyviui juos pakeisti
+ success: Dalyvis patikrintas
+ new:
+ cancel: Atšaukti
+ introduce_user_data: Pristatykite dalyvio el. pašto adresą ir dokumento duomenis
+ verify: Patikrinti
+ pending_authorizations:
+ index:
+ config: Nustatymai
+ offline_verification: Tikrinimas atjungties režimu
+ title: Vyksta tikrinimas online rėžimu
+ verification_number: 'Tikrinimas #%{n}'
+ rejections:
+ create:
+ success: Tikrinimas atmestas. Dalyvis bus paragintas peržiūrėti savo dokumentus
+ authorizations:
+ choose:
+ choose_a_type: 'Pasirinkite, kaip norite būti tikrinami:'
+ offline: Offline
+ online: Online
+ title: Identifikuokite save naudodami tapatybės dokumentą
+ create:
+ error: Įkeliant jūsų dokumentą iškilo problema
+ success: Dokumentas įkeltas
+ edit:
+ being_reviewed: Peržiūrime jūsų dokumentus. Netrukus jus patikrinsime
+ offline: Naudoti tikrinimo offline režimu funkciją
+ online: Naudoti tikrinimo online režimu funkciją
+ rejection_clarity: Įsitikinkite, kad įkeltame paveikslėlyje informacija būtų aiškiai matoma
+ rejection_correctness: Įsitikinkite, kad suvedėte teisingą informaciją
+ rejection_notice: Jus identifikuojant iškilo problema. Bandykite dar kartą
+ send: Dar kartą teikti tikrinimo užklausą
+ new:
+ send: Užklausos tikrinimas
+ title: Įkelkite savo tapatybės dokumentą
+ update:
+ error: Iš naujo įkeliant jūsų dokumentą iškilo problema
+ success: Dokumentas iš naujo įkeltas
+ dni: Asmens tapatybės dokumentas
+ nie: NIE
+ passport: Pasas
+ postal_letter:
+ admin:
+ pending_authorizations:
+ index:
+ address: Adresas
+ letter_sent_at: Laiškas išsiųstas
+ mark_as_sent: Pažymėti kaip išsiųstą
+ not_yet_sent: Dar neišsiųsta
+ title: Vykstantys tikrinimai
+ username: Slapyvardis
+ verification_code: Patvirtinimo kodas
+ postages:
+ create:
+ error: Iškilo klaida pažymint laišką kaip išsiųstą
+ success: Laiškas pažymėtas kaip išsiųstas
+ authorizations:
+ create:
+ error: Dėl jūsų užklausos iškilo problema
+ success: Dėkojame! Jūsų adresu atsiųsime patvirtinimo kodą
+ edit:
+ send: Patvirtinti
+ title: Įveskite gautą patvirtinimo kodą
+ waiting_for_letter: Netrukus jūsų adresu išsiųsime laišką su patvirtinimo kodu
+ new:
+ send: Atsiųskite man laišką
+ title: Paprašykite patvirtinimo kodo
+ update:
+ error: Jūsų tikrinimo kodas nesutampa su mūsų kodu. Dar kartą patikrinkite jums atsiųstą laišką
+ success: Sveikiname! Jūs patikrinti
+ sms:
+ authorizations:
+ create:
+ error: Dėl jūsų užklausos iškilo problema
+ success: Dėkojame! Jūsų telefonu išsiuntėme SMS žinutę.
+ destroy:
+ success: Tikrinimo kodas nustatytas iš naujo. Dar kartą įveskite savo telefono numerį.
+ edit:
+ confirm_destroy: Ar tikrai norite iš naujo nustatyti tikrinimo kodą?
+ destroy: Tikrinimo kodą nustatyti iš naujo
+ resend: Negavote patvirtinimo kodo?
+ send: Patvirtinti
+ title: Įveskite gautą patvirtinimo kodą
+ new:
+ send: Atsiųskite SMS
+ title: Paprašykite patvirtinimo kodo
+ update:
+ error: Jūsų tikrinimo kodas nesutampa su mūsų kodu. Dar kartą patikrinkite jums atsiųstą SMS žinutę.
+ success: Sveikiname! Jūs patikrinti.
+ errors:
+ messages:
+ uppercase_only_letters_numbers: visos raidės turi būti didžiosios ir tik raidės ir (arba) skaičiai
diff --git a/decidim-verifications/config/locales/oc-FR.yml b/decidim-verifications/config/locales/oc-FR.yml
new file mode 100644
index 0000000000000..325b348894124
--- /dev/null
+++ b/decidim-verifications/config/locales/oc-FR.yml
@@ -0,0 +1 @@
+oc:
diff --git a/decidim-verifications/lib/decidim/verifications/test/factories.rb b/decidim-verifications/lib/decidim/verifications/test/factories.rb
index 9fa7d32c05ec2..e0c2128f50ed3 100644
--- a/decidim-verifications/lib/decidim/verifications/test/factories.rb
+++ b/decidim-verifications/lib/decidim/verifications/test/factories.rb
@@ -11,7 +11,7 @@
factory :conflict, class: "Decidim::Verifications::Conflict" do
current_user { create(:user) }
- managed_user { create(:user, managed: true) }
+ managed_user { create(:user, managed: true, organization: current_user.organization) }
unique_id { "12345678X" }
times { 1 }
end
diff --git a/decidim-verifications/lib/decidim/verifications/version.rb b/decidim-verifications/lib/decidim/verifications/version.rb
index 125814888b0ac..04c10bad66cce 100644
--- a/decidim-verifications/lib/decidim/verifications/version.rb
+++ b/decidim-verifications/lib/decidim/verifications/version.rb
@@ -4,7 +4,7 @@ module Decidim
# This holds the decidim-verifications version.
module Verifications
def self.version
- "0.26.2"
+ "0.26.4"
end
end
end
diff --git a/decidim-verifications/spec/events/decidim/verifications/managed_user_error_event_spec.rb b/decidim-verifications/spec/events/decidim/verifications/managed_user_error_event_spec.rb
index a47039abd8661..480cd64a0f545 100644
--- a/decidim-verifications/spec/events/decidim/verifications/managed_user_error_event_spec.rb
+++ b/decidim-verifications/spec/events/decidim/verifications/managed_user_error_event_spec.rb
@@ -7,6 +7,7 @@
let(:event_name) { "decidim.events.verifications.managed_user_error_event" }
let(:resource) { create :conflict }
+ let(:organization_host) { resource.current_user.organization.host }
describe "resource_title" do
it "is generated correctly" do
@@ -22,7 +23,7 @@
describe "resource_url" do
it "is generated correctly" do
- expect(subject.resource_url).to eq("http://#{resource.current_user.organization.host}/profiles/#{resource.current_user.nickname}")
+ expect(subject.resource_url).to eq("http://#{organization_host}/profiles/#{resource.current_user.nickname}")
end
end
@@ -38,25 +39,25 @@
describe "notification_title" do
it "is generated correctly" do
- expect(subject.notification_title).to eq("The participant #{resource.current_user.name} has tried to verify themself with the data of the managed participant #{resource.managed_user.name}.")
+ expect(subject.notification_title).to eq("The participant #{resource.current_user.name} has tried to verify themself with the data of another participant (#{resource.managed_user.name}).")
end
end
describe "email_subject" do
it "is generated correctly" do
- expect(subject.email_subject).to eq("Failed verification attempt against a managed participant")
+ expect(subject.email_subject).to eq("Failed verification attempt against another participant")
end
end
describe "email_intro" do
it "is generated correctly" do
- expect(subject.email_intro).to eq("The participant #{resource.current_user.name} has tried to verify themself with the data of the managed participant #{resource.managed_user.name}.")
+ expect(subject.email_intro).to eq("The participant #{resource.current_user.name} has tried to verify themself with the data of another participant (#{resource.managed_user.name}).")
end
end
describe "email_outro" do
it "is generated correctly" do
- expect(subject.email_outro).to eq("Check the Verifications's conflicts list and contact the participant to verify their details and solve the issue.")
+ expect(subject.email_outro).to eq("Check the Verifications's conflicts list and contact the participant to verify their details and solve the issue.")
end
end
end
diff --git a/decidim_app-design/Gemfile.lock b/decidim_app-design/Gemfile.lock
index 716fb0427c964..6ddd4e0f29425 100644
--- a/decidim_app-design/Gemfile.lock
+++ b/decidim_app-design/Gemfile.lock
@@ -11,62 +11,62 @@ GIT
PATH
remote: ..
specs:
- decidim (0.26.2)
- decidim-accountability (= 0.26.2)
- decidim-admin (= 0.26.2)
- decidim-api (= 0.26.2)
- decidim-assemblies (= 0.26.2)
- decidim-blogs (= 0.26.2)
- decidim-budgets (= 0.26.2)
- decidim-comments (= 0.26.2)
- decidim-core (= 0.26.2)
- decidim-debates (= 0.26.2)
- decidim-forms (= 0.26.2)
- decidim-generators (= 0.26.2)
- decidim-meetings (= 0.26.2)
- decidim-pages (= 0.26.2)
- decidim-participatory_processes (= 0.26.2)
- decidim-proposals (= 0.26.2)
- decidim-sortitions (= 0.26.2)
- decidim-surveys (= 0.26.2)
- decidim-system (= 0.26.2)
- decidim-templates (= 0.26.2)
- decidim-verifications (= 0.26.2)
- decidim-accountability (0.26.2)
- decidim-comments (= 0.26.2)
- decidim-core (= 0.26.2)
- decidim-admin (0.26.2)
+ decidim (0.26.4)
+ decidim-accountability (= 0.26.4)
+ decidim-admin (= 0.26.4)
+ decidim-api (= 0.26.4)
+ decidim-assemblies (= 0.26.4)
+ decidim-blogs (= 0.26.4)
+ decidim-budgets (= 0.26.4)
+ decidim-comments (= 0.26.4)
+ decidim-core (= 0.26.4)
+ decidim-debates (= 0.26.4)
+ decidim-forms (= 0.26.4)
+ decidim-generators (= 0.26.4)
+ decidim-meetings (= 0.26.4)
+ decidim-pages (= 0.26.4)
+ decidim-participatory_processes (= 0.26.4)
+ decidim-proposals (= 0.26.4)
+ decidim-sortitions (= 0.26.4)
+ decidim-surveys (= 0.26.4)
+ decidim-system (= 0.26.4)
+ decidim-templates (= 0.26.4)
+ decidim-verifications (= 0.26.4)
+ decidim-accountability (0.26.4)
+ decidim-comments (= 0.26.4)
+ decidim-core (= 0.26.4)
+ decidim-admin (0.26.4)
active_link_to (~> 1.0)
- decidim-core (= 0.26.2)
+ decidim-core (= 0.26.4)
devise (~> 4.7)
devise-i18n (~> 1.2)
devise_invitable (~> 2.0)
- decidim-api (0.26.2)
+ decidim-api (0.26.4)
graphql (~> 1.12, < 1.13)
rack-cors (~> 1.0)
redcarpet (~> 3.5, >= 3.5.1)
- decidim-assemblies (0.26.2)
- decidim-core (= 0.26.2)
- decidim-blogs (0.26.2)
- decidim-admin (= 0.26.2)
- decidim-comments (= 0.26.2)
- decidim-core (= 0.26.2)
- decidim-budgets (0.26.2)
- decidim-comments (= 0.26.2)
- decidim-core (= 0.26.2)
- decidim-comments (0.26.2)
- decidim-core (= 0.26.2)
+ decidim-assemblies (0.26.4)
+ decidim-core (= 0.26.4)
+ decidim-blogs (0.26.4)
+ decidim-admin (= 0.26.4)
+ decidim-comments (= 0.26.4)
+ decidim-core (= 0.26.4)
+ decidim-budgets (0.26.4)
+ decidim-comments (= 0.26.4)
+ decidim-core (= 0.26.4)
+ decidim-comments (0.26.4)
+ decidim-core (= 0.26.4)
redcarpet (~> 3.5, >= 3.5.1)
- decidim-conferences (0.26.2)
- decidim-core (= 0.26.2)
- decidim-meetings (= 0.26.2)
+ decidim-conferences (0.26.4)
+ decidim-core (= 0.26.4)
+ decidim-meetings (= 0.26.4)
wicked_pdf (~> 2.1)
wkhtmltopdf-binary (~> 0.12)
- decidim-consultations (0.26.2)
- decidim-admin (= 0.26.2)
- decidim-comments (= 0.26.2)
- decidim-core (= 0.26.2)
- decidim-core (0.26.2)
+ decidim-consultations (0.26.4)
+ decidim-admin (= 0.26.4)
+ decidim-comments (= 0.26.4)
+ decidim-core (= 0.26.4)
+ decidim-core (0.26.4)
active_link_to (~> 1.0)
acts_as_list (~> 0.9)
batch-loader (~> 1.2)
@@ -76,7 +76,7 @@ PATH
cells-rails (~> 0.1.3)
charlock_holmes (~> 0.7)
date_validator (~> 0.9.0)
- decidim-api (= 0.26.2)
+ decidim-api (= 0.26.4)
devise (~> 4.7)
devise-i18n (~> 1.2)
diffy (~> 3.3)
@@ -118,15 +118,15 @@ PATH
valid_email2 (~> 2.1)
webpacker (= 6.0.0.rc.5)
wisper (~> 2.0)
- decidim-debates (0.26.2)
- decidim-comments (= 0.26.2)
- decidim-core (= 0.26.2)
- decidim-dev (0.26.2)
+ decidim-debates (0.26.4)
+ decidim-comments (= 0.26.4)
+ decidim-core (= 0.26.4)
+ decidim-dev (0.26.4)
axe-core-rspec (~> 4.1.0)
byebug (~> 11.0)
capybara (~> 3.24)
db-query-matchers (~> 0.10.0)
- decidim (= 0.26.2)
+ decidim (= 0.26.4)
erb_lint (~> 0.0.35)
factory_bot_rails (~> 4.8)
i18n-tasks (~> 0.9.18)
@@ -149,63 +149,63 @@ PATH
w3c_rspec_validators (~> 0.3.0)
webmock (~> 3.6)
wisper-rspec (~> 1.0)
- decidim-elections (0.26.2)
+ decidim-elections (0.26.4)
decidim-bulletin_board (= 0.22.3)
- decidim-core (= 0.26.2)
- decidim-forms (= 0.26.2)
- decidim-proposals (= 0.26.2)
+ decidim-core (= 0.26.4)
+ decidim-forms (= 0.26.4)
+ decidim-proposals (= 0.26.4)
rack-attack (~> 6.0)
voting_schemes-dummy (= 0.22.3)
voting_schemes-electionguard (= 0.22.3)
- decidim-forms (0.26.2)
- decidim-core (= 0.26.2)
+ decidim-forms (0.26.4)
+ decidim-core (= 0.26.4)
wicked_pdf (~> 2.1)
wkhtmltopdf-binary (~> 0.12)
- decidim-generators (0.26.2)
- decidim-core (= 0.26.2)
- decidim-initiatives (0.26.2)
- decidim-admin (= 0.26.2)
- decidim-comments (= 0.26.2)
- decidim-core (= 0.26.2)
- decidim-verifications (= 0.26.2)
+ decidim-generators (0.26.4)
+ decidim-core (= 0.26.4)
+ decidim-initiatives (0.26.4)
+ decidim-admin (= 0.26.4)
+ decidim-comments (= 0.26.4)
+ decidim-core (= 0.26.4)
+ decidim-verifications (= 0.26.4)
origami (~> 2.1)
virtus-multiparams (~> 0.1)
wicked (~> 1.3)
wicked_pdf (~> 2.1)
wkhtmltopdf-binary (~> 0.12)
- decidim-meetings (0.26.2)
- decidim-core (= 0.26.2)
- decidim-forms (= 0.26.2)
+ decidim-meetings (0.26.4)
+ decidim-core (= 0.26.4)
+ decidim-forms (= 0.26.4)
icalendar (~> 2.5)
- decidim-pages (0.26.2)
- decidim-core (= 0.26.2)
- decidim-participatory_processes (0.26.2)
- decidim-core (= 0.26.2)
- decidim-proposals (0.26.2)
- decidim-comments (= 0.26.2)
- decidim-core (= 0.26.2)
+ decidim-pages (0.26.4)
+ decidim-core (= 0.26.4)
+ decidim-participatory_processes (0.26.4)
+ decidim-core (= 0.26.4)
+ decidim-proposals (0.26.4)
+ decidim-comments (= 0.26.4)
+ decidim-core (= 0.26.4)
doc2text (~> 0.4.4)
redcarpet (~> 3.5, >= 3.5.1)
- decidim-sortitions (0.26.2)
- decidim-admin (= 0.26.2)
- decidim-comments (= 0.26.2)
- decidim-core (= 0.26.2)
- decidim-proposals (= 0.26.2)
- decidim-surveys (0.26.2)
- decidim-core (= 0.26.2)
- decidim-forms (= 0.26.2)
- decidim-templates (= 0.26.2)
- decidim-system (0.26.2)
+ decidim-sortitions (0.26.4)
+ decidim-admin (= 0.26.4)
+ decidim-comments (= 0.26.4)
+ decidim-core (= 0.26.4)
+ decidim-proposals (= 0.26.4)
+ decidim-surveys (0.26.4)
+ decidim-core (= 0.26.4)
+ decidim-forms (= 0.26.4)
+ decidim-templates (= 0.26.4)
+ decidim-system (0.26.4)
active_link_to (~> 1.0)
- decidim-core (= 0.26.2)
+ decidim-core (= 0.26.4)
devise (~> 4.7)
devise-i18n (~> 1.2)
devise_invitable (~> 2.0)
- decidim-templates (0.26.2)
- decidim-core (= 0.26.2)
- decidim-forms (= 0.26.2)
- decidim-verifications (0.26.2)
- decidim-core (= 0.26.2)
+ decidim-templates (0.26.4)
+ decidim-core (= 0.26.4)
+ decidim-forms (= 0.26.4)
+ decidim-verifications (0.26.4)
+ decidim-core (= 0.26.4)
GEM
remote: https://rubygems.org/
@@ -273,7 +273,7 @@ GEM
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
ast (2.4.2)
- axe-core-api (4.4.0)
+ axe-core-api (4.5.0)
dumb_delegator
virtus
axe-core-rspec (4.1.0)
@@ -301,7 +301,7 @@ GEM
browser (2.7.1)
builder (3.2.4)
byebug (11.1.3)
- capybara (3.37.1)
+ capybara (3.38.0)
addressable
matrix
mini_mime (>= 0.1.3)
@@ -330,7 +330,7 @@ GEM
actionpack (>= 5.0)
cells (>= 4.1.6, < 5.0.0)
charlock_holmes (0.7.7)
- chef-utils (17.10.0)
+ chef-utils (18.0.172)
concurrent-ruby
childprocess (3.0.0)
coercible (1.0.0)
@@ -347,7 +347,7 @@ GEM
crack (0.4.5)
rexml
crass (1.0.6)
- css_parser (1.11.0)
+ css_parser (1.12.0)
addressable
date_validator (0.9.0)
activemodel
@@ -378,12 +378,12 @@ GEM
actionmailer (>= 5.0)
devise (>= 4.6)
diff-lcs (1.5.0)
- diffy (3.4.1)
+ diffy (3.4.2)
doc2text (0.4.4)
nokogiri (>= 1.12.5, < 1.13.0)
rubyzip (~> 2.3.0)
docile (1.4.0)
- doorkeeper (5.5.4)
+ doorkeeper (5.6.0)
railties (>= 5)
doorkeeper-i18n (4.0.1)
dumb_delegator (1.0.0)
@@ -399,7 +399,7 @@ GEM
erbse (0.1.4)
temple
erubi (1.10.0)
- excon (0.92.3)
+ excon (0.94.0)
execjs (2.8.1)
factory_bot (4.11.1)
activesupport (>= 3.0.0)
@@ -408,7 +408,7 @@ GEM
railties (>= 3.0.0)
faker (2.18.0)
i18n (>= 1.6, < 2)
- faraday (1.10.0)
+ faraday (1.10.2)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
@@ -473,7 +473,7 @@ GEM
rails-i18n
rainbow (>= 2.2.2, < 4.0)
terminal-table (>= 1.5.1)
- icalendar (2.7.1)
+ icalendar (2.8.0)
ice_cube (~> 0.16)
ice_cube (0.16.4)
ice_nine (0.11.2)
@@ -518,7 +518,7 @@ GEM
mini_mime (>= 0.1.1)
marcel (1.0.2)
matrix (0.4.2)
- mdl (0.11.0)
+ mdl (0.12.0)
kramdown (~> 2.3)
kramdown-parser-gfm (~> 1.1)
mixlib-cli (~> 2.1, >= 2.1.1)
@@ -538,38 +538,47 @@ GEM
mixlib-shellout (3.2.7)
chef-utils
msgpack (1.4.2)
- multi_json (1.15.0)
multi_xml (0.6.0)
multipart-post (2.2.3)
mustache (1.1.1)
+ net-protocol (0.1.3)
+ timeout
+ net-smtp (0.3.3)
+ net-protocol
nio4r (2.5.8)
nokogiri (1.12.5)
mini_portile2 (~> 2.6.1)
racc (~> 1.4)
- oauth (0.5.10)
- oauth2 (1.4.9)
+ oauth (1.1.0)
+ oauth-tty (~> 1.0, >= 1.0.1)
+ snaky_hash (~> 2.0)
+ version_gem (~> 1.1)
+ oauth-tty (1.0.5)
+ version_gem (~> 1.1, >= 1.1.1)
+ oauth2 (2.0.9)
faraday (>= 0.17.3, < 3.0)
jwt (>= 1.0, < 3.0)
- multi_json (~> 1.3)
multi_xml (~> 0.5)
- rack (>= 1.2, < 3)
+ rack (>= 1.2, < 4)
+ snaky_hash (~> 2.0)
+ version_gem (~> 1.1)
omniauth (2.1.0)
hashie (>= 3.4.6)
rack (>= 2.2.3)
rack-protection
omniauth-facebook (5.0.0)
omniauth-oauth2 (~> 1.2)
- omniauth-google-oauth2 (1.0.1)
+ omniauth-google-oauth2 (1.1.1)
jwt (>= 2.0)
- oauth2 (~> 1.1)
+ oauth2 (~> 2.0.6)
omniauth (~> 2.0)
- omniauth-oauth2 (~> 1.7.1)
+ omniauth-oauth2 (~> 1.8.0)
omniauth-oauth (1.2.0)
oauth
omniauth (>= 1.0, < 3)
- omniauth-oauth2 (1.7.2)
- oauth2 (~> 1.4)
- omniauth (>= 1.9, < 3)
+ omniauth-oauth2 (1.8.0)
+ oauth2 (>= 1.4, < 3)
+ omniauth (~> 2.0)
omniauth-rails_csrf_protection (1.0.1)
actionpack (>= 4.2)
omniauth (~> 2.0)
@@ -589,12 +598,13 @@ GEM
pg_search (2.3.6)
activerecord (>= 5.2)
activesupport (>= 5.2)
- premailer (1.16.0)
+ premailer (1.18.0)
addressable
- css_parser (>= 1.6.0)
+ css_parser (>= 1.12.0)
htmlentities (>= 4.0.0)
- premailer-rails (1.11.1)
+ premailer-rails (1.12.0)
actionmailer (>= 3)
+ net-smtp
premailer (~> 1.7, >= 1.7.9)
public_suffix (4.0.6)
puma (5.5.2)
@@ -605,9 +615,9 @@ GEM
rack (>= 1.0, < 3)
rack-cors (1.1.1)
rack (>= 2.0.0)
- rack-protection (2.2.0)
+ rack-protection (3.0.3)
rack
- rack-proxy (0.7.2)
+ rack-proxy (0.7.4)
rack
rack-test (1.1.0)
rack (>= 1.0, < 3)
@@ -660,7 +670,7 @@ GEM
virtus (~> 1.0.5)
wisper (>= 1.6.1)
redcarpet (3.5.1)
- redis (4.6.0)
+ redis (4.8.0)
regexp_parser (2.1.1)
request_store (1.5.1)
rack (>= 1.4)
@@ -668,24 +678,24 @@ GEM
actionpack (>= 5.0)
railties (>= 5.0)
rexml (3.2.5)
- rspec (3.11.0)
- rspec-core (~> 3.11.0)
- rspec-expectations (~> 3.11.0)
- rspec-mocks (~> 3.11.0)
- rspec-cells (0.3.7)
+ rspec (3.12.0)
+ rspec-core (~> 3.12.0)
+ rspec-expectations (~> 3.12.0)
+ rspec-mocks (~> 3.12.0)
+ rspec-cells (0.3.8)
cells (>= 4.0.0, < 6.0.0)
- rspec-rails (< 6.0)
- rspec-core (3.11.0)
- rspec-support (~> 3.11.0)
- rspec-expectations (3.11.0)
+ rspec-rails (>= 3.0.0, < 6.1.0)
+ rspec-core (3.12.0)
+ rspec-support (~> 3.12.0)
+ rspec-expectations (3.12.0)
diff-lcs (>= 1.2.0, < 2.0)
- rspec-support (~> 3.11.0)
+ rspec-support (~> 3.12.0)
rspec-html-matchers (0.9.4)
nokogiri (~> 1)
rspec (>= 3.0.0.a, < 4)
- rspec-mocks (3.11.1)
+ rspec-mocks (3.12.0)
diff-lcs (>= 1.2.0, < 2.0)
- rspec-support (~> 3.11.0)
+ rspec-support (~> 3.12.0)
rspec-rails (4.1.2)
actionpack (>= 4.2)
activesupport (>= 4.2)
@@ -696,7 +706,7 @@ GEM
rspec-support (~> 3.10)
rspec-retry (0.6.2)
rspec-core (> 3.3)
- rspec-support (3.11.0)
+ rspec-support (3.12.0)
rspec_junit_formatter (0.3.0)
rspec-core (>= 2, < 4, != 2.12.0)
rubocop (0.92.0)
@@ -740,28 +750,32 @@ GEM
simplecov (~> 0.8)
simplecov-html (0.12.3)
smart_properties (1.17.0)
+ snaky_hash (2.0.1)
+ hashie
+ version_gem (~> 1.1, >= 1.1.1)
social-share-button (1.2.4)
coffee-rails
spring (2.1.1)
spring-watcher-listen (2.0.1)
listen (>= 2.7, < 4.0)
spring (>= 1.2, < 3.0)
- sprockets (4.0.3)
+ sprockets (4.1.1)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
sprockets-rails (3.4.2)
actionpack (>= 5.2)
activesupport (>= 5.2)
sprockets (>= 3.0.0)
- ssrf_filter (1.0.7)
+ ssrf_filter (1.1.1)
system_test_html_screenshots (0.2.0)
actionpack (>= 5.2, < 6.1.a)
- temple (0.8.2)
+ temple (0.9.1)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
thor (1.1.0)
thread_safe (0.3.6)
- tilt (2.0.10)
+ tilt (2.0.11)
+ timeout (0.3.0)
tomlrb (2.0.3)
tzinfo (1.2.9)
thread_safe (~> 0.1)
@@ -770,6 +784,7 @@ GEM
valid_email2 (2.3.1)
activemodel (>= 3.2)
mail (~> 2.5)
+ version_gem (1.1.1)
virtus (1.0.5)
axiom-types (~> 0.1)
coercible (~> 1.0)
@@ -796,7 +811,7 @@ GEM
activemodel (>= 6.0.0)
bindex (>= 0.4.0)
railties (>= 6.0.0)
- webmock (3.14.0)
+ webmock (3.18.1)
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
diff --git a/decidim_app-design/package-lock.json b/decidim_app-design/package-lock.json
index 865a4ae70cace..9d5beaabb0b6e 100644
--- a/decidim_app-design/package-lock.json
+++ b/decidim_app-design/package-lock.json
@@ -21439,12 +21439,12 @@
},
"packages/browserslist-config": {
"name": "@decidim/browserslist-config",
- "version": "0.26.2",
+ "version": "0.26.4",
"license": "AGPL-3.0"
},
"packages/core": {
"name": "@decidim/core",
- "version": "0.26.2",
+ "version": "0.26.4",
"license": "AGPL-3.0",
"dependencies": {
"@joeattardi/emoji-button": "^4.6.0",
@@ -21499,7 +21499,7 @@
},
"packages/dev": {
"name": "@decidim/dev",
- "version": "0.26.2",
+ "version": "0.26.4",
"dev": true,
"license": "AGPL-3.0",
"dependencies": {
@@ -21508,7 +21508,7 @@
},
"packages/elections": {
"name": "@decidim/elections",
- "version": "0.26.2",
+ "version": "0.26.4",
"license": "AGPL-3.0",
"dependencies": {
"@decidim/decidim-bulletin_board": "0.22.3",
@@ -21518,7 +21518,7 @@
},
"packages/eslint-config": {
"name": "@decidim/eslint-config",
- "version": "0.26.2",
+ "version": "0.26.4",
"dev": true,
"license": "AGPL-3.0",
"peerDependencies": {
@@ -21535,7 +21535,7 @@
},
"packages/stylelint-config": {
"name": "@decidim/stylelint-config",
- "version": "0.26.2",
+ "version": "0.26.4",
"dev": true,
"license": "AGPL-3.0",
"peerDependencies": {
@@ -21544,7 +21544,7 @@
},
"packages/webpacker": {
"name": "@decidim/webpacker",
- "version": "0.26.2",
+ "version": "0.26.4",
"license": "AGPL-3.0",
"dependencies": {
"@babel/core": "^7.13.13",
diff --git a/decidim_app-design/packages/browserslist-config/package.json b/decidim_app-design/packages/browserslist-config/package.json
index 1bc381788fc5c..036979a3b8d61 100644
--- a/decidim_app-design/packages/browserslist-config/package.json
+++ b/decidim_app-design/packages/browserslist-config/package.json
@@ -1,7 +1,7 @@
{
"name": "@decidim/browserslist-config",
"description": "The Browserslist configuration for Decidim",
- "version": "0.26.2",
+ "version": "0.26.4",
"repository": {
"url": "git@github.com:decidim/decidim.git",
"type": "git",
diff --git a/decidim_app-design/packages/core/package.json b/decidim_app-design/packages/core/package.json
index b23372904a335..028cc4436b852 100644
--- a/decidim_app-design/packages/core/package.json
+++ b/decidim_app-design/packages/core/package.json
@@ -1,7 +1,7 @@
{
"name": "@decidim/core",
"description": "The core dependencies for Decidim",
- "version": "0.26.2",
+ "version": "0.26.4",
"repository": {
"url": "git@github.com:decidim/decidim.git",
"type": "git",
diff --git a/decidim_app-design/packages/dev/package.json b/decidim_app-design/packages/dev/package.json
index 62ea03ca7cd2b..5d7e41d108ba9 100644
--- a/decidim_app-design/packages/dev/package.json
+++ b/decidim_app-design/packages/dev/package.json
@@ -1,7 +1,7 @@
{
"name": "@decidim/dev",
"description": "The dev dependencies for Decidim",
- "version": "0.26.2",
+ "version": "0.26.4",
"repository": {
"url": "git@github.com:decidim/decidim.git",
"type": "git",
diff --git a/decidim_app-design/packages/elections/package.json b/decidim_app-design/packages/elections/package.json
index 93e296a9427bf..792013cb0df5d 100644
--- a/decidim_app-design/packages/elections/package.json
+++ b/decidim_app-design/packages/elections/package.json
@@ -1,7 +1,7 @@
{
"name": "@decidim/elections",
"description": "The elections and votings dependencies for Decidim",
- "version": "0.26.2",
+ "version": "0.26.4",
"repository": {
"url": "git@github.com:decidim/decidim.git",
"type": "git",
diff --git a/decidim_app-design/packages/eslint-config/package.json b/decidim_app-design/packages/eslint-config/package.json
index 0d05ed410694c..df75dded763a3 100644
--- a/decidim_app-design/packages/eslint-config/package.json
+++ b/decidim_app-design/packages/eslint-config/package.json
@@ -1,7 +1,7 @@
{
"name": "@decidim/eslint-config",
"description": "The eslint configuration for Decidim",
- "version": "0.26.2",
+ "version": "0.26.4",
"repository": {
"url": "git@github.com:decidim/decidim.git",
"type": "git",
diff --git a/decidim_app-design/packages/stylelint-config/package.json b/decidim_app-design/packages/stylelint-config/package.json
index a70100ec2d6a6..e1fce92515b18 100644
--- a/decidim_app-design/packages/stylelint-config/package.json
+++ b/decidim_app-design/packages/stylelint-config/package.json
@@ -1,7 +1,7 @@
{
"name": "@decidim/stylelint-config",
"description": "The stylelint configuration for Decidim",
- "version": "0.26.2",
+ "version": "0.26.4",
"repository": {
"url": "git@github.com:decidim/decidim.git",
"type": "git",
diff --git a/decidim_app-design/packages/webpacker/package.json b/decidim_app-design/packages/webpacker/package.json
index 3d5da19ba2a46..9f4da510d2b29 100644
--- a/decidim_app-design/packages/webpacker/package.json
+++ b/decidim_app-design/packages/webpacker/package.json
@@ -1,7 +1,7 @@
{
"name": "@decidim/webpacker",
"description": "The webpacker dependencies for Decidim",
- "version": "0.26.2",
+ "version": "0.26.4",
"repository": {
"url": "git@github.com:decidim/decidim.git",
"type": "git",
diff --git a/docs/antora.yml b/docs/antora.yml
index f1c7d8faf5cd6..1bb34d5f9d147 100644
--- a/docs/antora.yml
+++ b/docs/antora.yml
@@ -1,6 +1,6 @@
name: en
title: "Decidim Documentation"
-version: master
+version: v0.26
asciidoc:
attributes:
page-lang: en@
diff --git a/lib/decidim/gem_manager.rb b/lib/decidim/gem_manager.rb
index d76f5406bb719..f742ed283b9a0 100644
--- a/lib/decidim/gem_manager.rb
+++ b/lib/decidim/gem_manager.rb
@@ -132,20 +132,31 @@ def uninstall_all(out: $stdout)
def run_all(command, out: $stdout, include_root: true)
all_dirs(include_root: include_root) do |dir|
- status = new(dir).run(command, out: out)
+ status = run_at(dir, command, out: out)
- break unless status || ENV["FAIL_FAST"] == "false"
+ break if !status && fail_fast?
end
end
def run_packages(command, out: $stdout)
package_dirs do |dir|
- status = new(dir).run(command, out: out)
+ status = run_at(dir, command, out: out)
- break unless status || ENV["FAIL_FAST"] == "false"
+ break if !status && fail_fast?
end
end
+ def run_at(dir, command, out: $stdout)
+ attempts = 0
+ until (status = new(dir).run(command, out: out))
+ attempts += 1
+
+ break if attempts > Decidim::GemManager.retry_times
+ end
+
+ status
+ end
+
def version
@version ||= File.read(version_file).strip
end
@@ -177,6 +188,14 @@ def semver_friendly_version(a_version)
a_version.gsub(/\.pre/, "-pre").gsub(/\.dev/, "-dev").gsub(/.rc(\d*)/, "-rc\\1")
end
+ def fail_fast?
+ ENV.fetch("FAIL_FAST", nil) != "false"
+ end
+
+ def retry_times
+ ENV.fetch("RETRY_TIMES", 10).to_i
+ end
+
private
def root
diff --git a/lib/decidim/version.rb b/lib/decidim/version.rb
index ed37be0b0899a..2bcc88ede72ff 100644
--- a/lib/decidim/version.rb
+++ b/lib/decidim/version.rb
@@ -3,6 +3,6 @@
# This holds the decidim version and the faker version it uses.
module Decidim
def self.version
- "0.26.2"
+ "0.26.4"
end
end
diff --git a/package-lock.json b/package-lock.json
index 865a4ae70cace..9d5beaabb0b6e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -21439,12 +21439,12 @@
},
"packages/browserslist-config": {
"name": "@decidim/browserslist-config",
- "version": "0.26.2",
+ "version": "0.26.4",
"license": "AGPL-3.0"
},
"packages/core": {
"name": "@decidim/core",
- "version": "0.26.2",
+ "version": "0.26.4",
"license": "AGPL-3.0",
"dependencies": {
"@joeattardi/emoji-button": "^4.6.0",
@@ -21499,7 +21499,7 @@
},
"packages/dev": {
"name": "@decidim/dev",
- "version": "0.26.2",
+ "version": "0.26.4",
"dev": true,
"license": "AGPL-3.0",
"dependencies": {
@@ -21508,7 +21508,7 @@
},
"packages/elections": {
"name": "@decidim/elections",
- "version": "0.26.2",
+ "version": "0.26.4",
"license": "AGPL-3.0",
"dependencies": {
"@decidim/decidim-bulletin_board": "0.22.3",
@@ -21518,7 +21518,7 @@
},
"packages/eslint-config": {
"name": "@decidim/eslint-config",
- "version": "0.26.2",
+ "version": "0.26.4",
"dev": true,
"license": "AGPL-3.0",
"peerDependencies": {
@@ -21535,7 +21535,7 @@
},
"packages/stylelint-config": {
"name": "@decidim/stylelint-config",
- "version": "0.26.2",
+ "version": "0.26.4",
"dev": true,
"license": "AGPL-3.0",
"peerDependencies": {
@@ -21544,7 +21544,7 @@
},
"packages/webpacker": {
"name": "@decidim/webpacker",
- "version": "0.26.2",
+ "version": "0.26.4",
"license": "AGPL-3.0",
"dependencies": {
"@babel/core": "^7.13.13",
diff --git a/packages/browserslist-config/package.json b/packages/browserslist-config/package.json
index 1bc381788fc5c..036979a3b8d61 100644
--- a/packages/browserslist-config/package.json
+++ b/packages/browserslist-config/package.json
@@ -1,7 +1,7 @@
{
"name": "@decidim/browserslist-config",
"description": "The Browserslist configuration for Decidim",
- "version": "0.26.2",
+ "version": "0.26.4",
"repository": {
"url": "git@github.com:decidim/decidim.git",
"type": "git",
diff --git a/packages/core/package.json b/packages/core/package.json
index b23372904a335..028cc4436b852 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -1,7 +1,7 @@
{
"name": "@decidim/core",
"description": "The core dependencies for Decidim",
- "version": "0.26.2",
+ "version": "0.26.4",
"repository": {
"url": "git@github.com:decidim/decidim.git",
"type": "git",
diff --git a/packages/dev/package.json b/packages/dev/package.json
index 62ea03ca7cd2b..5d7e41d108ba9 100644
--- a/packages/dev/package.json
+++ b/packages/dev/package.json
@@ -1,7 +1,7 @@
{
"name": "@decidim/dev",
"description": "The dev dependencies for Decidim",
- "version": "0.26.2",
+ "version": "0.26.4",
"repository": {
"url": "git@github.com:decidim/decidim.git",
"type": "git",
diff --git a/packages/elections/package.json b/packages/elections/package.json
index 93e296a9427bf..792013cb0df5d 100644
--- a/packages/elections/package.json
+++ b/packages/elections/package.json
@@ -1,7 +1,7 @@
{
"name": "@decidim/elections",
"description": "The elections and votings dependencies for Decidim",
- "version": "0.26.2",
+ "version": "0.26.4",
"repository": {
"url": "git@github.com:decidim/decidim.git",
"type": "git",
diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json
index 0d05ed410694c..df75dded763a3 100644
--- a/packages/eslint-config/package.json
+++ b/packages/eslint-config/package.json
@@ -1,7 +1,7 @@
{
"name": "@decidim/eslint-config",
"description": "The eslint configuration for Decidim",
- "version": "0.26.2",
+ "version": "0.26.4",
"repository": {
"url": "git@github.com:decidim/decidim.git",
"type": "git",
diff --git a/packages/stylelint-config/package.json b/packages/stylelint-config/package.json
index a70100ec2d6a6..e1fce92515b18 100644
--- a/packages/stylelint-config/package.json
+++ b/packages/stylelint-config/package.json
@@ -1,7 +1,7 @@
{
"name": "@decidim/stylelint-config",
"description": "The stylelint configuration for Decidim",
- "version": "0.26.2",
+ "version": "0.26.4",
"repository": {
"url": "git@github.com:decidim/decidim.git",
"type": "git",
diff --git a/packages/webpacker/package.json b/packages/webpacker/package.json
index 3d5da19ba2a46..9f4da510d2b29 100644
--- a/packages/webpacker/package.json
+++ b/packages/webpacker/package.json
@@ -1,7 +1,7 @@
{
"name": "@decidim/webpacker",
"description": "The webpacker dependencies for Decidim",
- "version": "0.26.2",
+ "version": "0.26.4",
"repository": {
"url": "git@github.com:decidim/decidim.git",
"type": "git",