+
+
diff --git a/decidim-admin/config/locales/bg.yml b/decidim-admin/config/locales/bg.yml
index 4b8d7858c84b1..4e75bbea736bc 100644
--- a/decidim-admin/config/locales/bg.yml
+++ b/decidim-admin/config/locales/bg.yml
@@ -806,7 +806,7 @@ bg:
reports: Доклади
show_email: Показване на електронната поща
status: Статус
- unblock: Разблокирай Потребител
+ unblock: Разблокирай потребител
unofficialize: Премахване на официализирането
new:
badge: Бадж за официализиране
diff --git a/decidim-admin/config/locales/ca-IT.yml b/decidim-admin/config/locales/ca-IT.yml
index bbbbd93386b3a..69ae113ac2396 100644
--- a/decidim-admin/config/locales/ca-IT.yml
+++ b/decidim-admin/config/locales/ca-IT.yml
@@ -53,6 +53,7 @@ ca-IT:
customize_welcome_notification: Personalitza la notificació de benvinguda
default_locale: Idioma per defecte
description: Descripció
+ enable_machine_translations: Habilitar traduccions automàtiques
enable_omnipresent_banner: Mostrar el banner omnipresent
enable_participatory_space_filters: Habilitar els filtres a l'espai de participació
facebook_handler: Nom d'usuari de Facebook
@@ -802,7 +803,7 @@ ca-IT:
success: S'ha retirat correctament l'oficialització de la participant.
index:
actions: Accions
- badge: Insígnia
+ badge: Ensenya
block: Bloquejar usuària
created_at: Creat el
name: Nom
@@ -817,7 +818,7 @@ ca-IT:
unblock: Desbloquejar usuària
unofficialize: Des-oficialitzar
new:
- badge: Insígnia d'oficialització
+ badge: Ensenya d'oficialització
officialize: Oficialitza
title: Oficialitza la participant "%{name}"
show_email_modal:
diff --git a/decidim-admin/config/locales/ca.yml b/decidim-admin/config/locales/ca.yml
index dc08a3f247e39..9e2b9a0f53b24 100644
--- a/decidim-admin/config/locales/ca.yml
+++ b/decidim-admin/config/locales/ca.yml
@@ -53,6 +53,7 @@ ca:
customize_welcome_notification: Personalitza la notificació de benvinguda
default_locale: Idioma per defecte
description: Descripció
+ enable_machine_translations: Habilitar traduccions automàtiques
enable_omnipresent_banner: Mostrar el banner omnipresent
enable_participatory_space_filters: Habilitar els filtres a l'espai de participació
facebook_handler: Nom d'usuari de Facebook
@@ -802,7 +803,7 @@ ca:
success: S'ha retirat correctament l'oficialització de la participant.
index:
actions: Accions
- badge: Insígnia
+ badge: Ensenya
block: Bloquejar usuària
created_at: Creat el
name: Nom
@@ -817,7 +818,7 @@ ca:
unblock: Desbloquejar usuària
unofficialize: Des-oficialitzar
new:
- badge: Insígnia d'oficialització
+ badge: Ensenya d'oficialització
officialize: Oficialitza
title: Oficialitza la participant "%{name}"
show_email_modal:
diff --git a/decidim-admin/config/locales/cs.yml b/decidim-admin/config/locales/cs.yml
index de972e68de63d..782966c8d8f04 100644
--- a/decidim-admin/config/locales/cs.yml
+++ b/decidim-admin/config/locales/cs.yml
@@ -53,6 +53,7 @@ cs:
customize_welcome_notification: Přizpůsobit uvítací oznámení
default_locale: Výchozí jazyk
description: Popis
+ enable_machine_translations: Povolit strojové překlady
enable_omnipresent_banner: Zobrazit všudypřítomný banner
enable_participatory_space_filters: Povolit filtry participačního prostoru
facebook_handler: Facebook handler
@@ -813,7 +814,7 @@ cs:
index:
actions: Akce
badge: Odznak
- block: Zablokovat uživatele
+ block: Blokovat uživatele
created_at: Vytvořeno na
name: Název
nickname: Přezdívka
diff --git a/decidim-admin/config/locales/de.yml b/decidim-admin/config/locales/de.yml
index 5980d8bd88caf..e9bc08681c381 100644
--- a/decidim-admin/config/locales/de.yml
+++ b/decidim-admin/config/locales/de.yml
@@ -53,6 +53,7 @@ de:
customize_welcome_notification: Willkommens-Benachrichtigung anpassen
default_locale: Standardgebietsschema
description: Beschreibung
+ enable_machine_translations: Maschinelle Übersetzungen aktivieren
enable_omnipresent_banner: Zeige allgegenwärtiges Banner
enable_participatory_space_filters: Bereichs- und Gebietsfilter aktivieren
facebook_handler: Facebook-Handler
@@ -519,7 +520,7 @@ de:
and: und
data_errors:
duplicate_headers:
- detail: Bitte überprüfen Sie, dass die Datei benötigte Spalten oder Kopfzeilen nur einmal enthält.
+ detail: Bitte überprüfen Sie, dass die Datei die benötigten Spalten oder Kopfzeilen nur einmal enthält.
message:
one: Spalte %{columns} duplizieren.
other: Spalten %{columns} duplizieren.
@@ -776,7 +777,7 @@ de:
recipients_count: Dieser Newsletter wird an %{count} Teilnehmer gesendet.
scopes_help: Sendet den Newsletter an Teilnehmer, die einen der gewählten Themenbereiche in den "Meine Interessen" Einstellungen ihres Kontos aktiviert haben.
select_scopes: Nur Teilnehmer anzeigen, die einen der gewählten Themenbereiche in Ihren "Meine Interessen" Einstellungen ihres Kontos aktiviert haben.
- select_spaces: Wählen Sie Abschnitte, um den Newsletter zu unterteilen
+ select_spaces: Bereiche zum Segmentieren des Newsletters auswählen
select_users: Wählen Sie aus, welchen Benutzern Sie den Newsletter senden möchten
title: Empfänger auswählen
warning: "Achtung: Dieser Newsletter wird nur an Benutzer gesendet, die Ich möchte Newsletter empfangen in ihren Benachrichtigungseinstellungen aktiviert haben."
@@ -814,7 +815,7 @@ de:
reports: Berichte
show_email: E-Mail-Adresse anzeigen
status: Status
- unblock: Blockierung des Users aufheben
+ unblock: Blockierung des Benutzers aufheben
unofficialize: Nicht offiziell
new:
badge: Offizielles Abzeichen
@@ -884,7 +885,7 @@ de:
participatory_space_private_users:
create:
error: Beim Hinzufügen eines privaten Benutzers für diesen partizipativen Bereich ist ein Fehler aufgetreten.
- success: Participatory Space Privater Benutzerzugriff erfolgreich erstellt.
+ success: Ein privater Zugriff für diesen Beteiligungsbereich wurde erfolgreich für das Konto erstellt.
destroy:
error: Beim Löschen eines privaten Benutzers für diesen partizipativen Bereich ist ein Fehler aufgetreten.
success: Privater Zugriff zum partizipativen Raum erfolgreich gelöscht.
diff --git a/decidim-admin/config/locales/en.yml b/decidim-admin/config/locales/en.yml
index 97ff698b8a72c..a64db426135c0 100644
--- a/decidim-admin/config/locales/en.yml
+++ b/decidim-admin/config/locales/en.yml
@@ -53,6 +53,7 @@ en:
customize_welcome_notification: Customize welcome notification
default_locale: Default locale
description: Description
+ enable_machine_translations: Enable machine translations
enable_omnipresent_banner: Show omnipresent banner
enable_participatory_space_filters: Enable participatory space filters
facebook_handler: Facebook handler
@@ -200,6 +201,7 @@ en:
reject: Reject
send_me_a_test_email: Send me a test email
share: Share
+ share_tokens: Access links
user:
new: New admin
verify: Verify
@@ -592,6 +594,7 @@ en:
scopes: Scopes
see_site: See site
settings: Settings
+ share_tokens: Access links
static_page_topics: Topics
static_pages: Pages
user_groups: Groups
@@ -647,12 +650,11 @@ en:
plural: Plural
share_token:
fields:
- created_at: Created at
+ actions: Actions
expires_at: Expires at
- last_used_at: Last time used
+ registered_only: Registered only?
times_used: Times used
- token: Token
- user: Created by
+ token: Access link
static_page:
fields:
created_at: Created at
@@ -965,16 +967,50 @@ en:
success: Scope updated successfully
share_tokens:
actions:
- confirm_destroy: Are you sure you want to delete this token?
+ confirm_destroy: Are you sure you want to delete this access?
+ copy_link: Copy link
destroy: Delete
- share: Share
+ edit: Edit
+ preview: Preview
+ create:
+ invalid: There was a problem generating the access link.
+ success: Access link created successfully.
destroy:
- error: There was a problem destroying the token.
- success: Token destroyed successfully.
- share_tokens:
- empty: There are no active tokens.
- help: These tokens are used to publicly share this unpublished resource to any user. They will be hidden when the resource is published. Click on the token's share icon to visit the shareable URL.
- title: Share tokens
+ error: There was a problem destroying the access link.
+ success: Access link successfully destroyed.
+ edit:
+ title: 'Edit access links for: %{name}'
+ update: Update
+ form:
+ automatic: Automatic
+ custom: Custom
+ custom_expiration: Custom expiration
+ custom_token: Custom word
+ expires_at: Expires at
+ 'false': 'No'
+ never_expire: Never
+ registered_only: Registered only?
+ token: Access key
+ 'true': 'Yes'
+ index:
+ back_to_share_tokens: Back to access links
+ copied: Access link Copied!
+ copy_message: The text was successfully copied to clipboard.
+ create_new_token: Create your first access link!
+ empty_html: There are no active access links. %{new_token_link}
+ never: Never
+ new_share_token_button: New access link
+ share_tokens_help_html: |
+ Create and share an access link to allow others to view this unpublished resource.
+ Access links can be valid for registered participants only or have and expiration date if necessary.
+ To share a new access link with someone, create it and then copy the link using the "%{clipboard} clipboard" action icon.
+ title: 'access links for: %{name}'
+ new:
+ create: Create
+ title: 'New access link for: %{name}'
+ update:
+ error: There was a problem updating this access.
+ success: Access link updated successfully.
shared:
adjacent_navigation:
next: Next
diff --git a/decidim-admin/config/locales/es-MX.yml b/decidim-admin/config/locales/es-MX.yml
index a20de9d545d71..77e7dd55be96f 100644
--- a/decidim-admin/config/locales/es-MX.yml
+++ b/decidim-admin/config/locales/es-MX.yml
@@ -53,6 +53,7 @@ es-MX:
customize_welcome_notification: Personalizar notificación de bienvenida
default_locale: Idioma predeterminado
description: Descripción
+ enable_machine_translations: Habilitar traducciones automáticas
enable_omnipresent_banner: Mostrar banner omnipresente
enable_participatory_space_filters: Habilitar los filtros en el espacio de participación
facebook_handler: Nombre en Facebook
diff --git a/decidim-admin/config/locales/es-PY.yml b/decidim-admin/config/locales/es-PY.yml
index bcf4b4c5e1a95..51026b4ab1667 100644
--- a/decidim-admin/config/locales/es-PY.yml
+++ b/decidim-admin/config/locales/es-PY.yml
@@ -53,6 +53,7 @@ es-PY:
customize_welcome_notification: Personalizar notificación de bienvenida
default_locale: Idioma predeterminado
description: Descripción
+ enable_machine_translations: Habilitar traducciones automáticas
enable_omnipresent_banner: Mostrar banner omnipresente
enable_participatory_space_filters: Habilitar los filtros en el espacio de participación
facebook_handler: Nombre en Facebook
diff --git a/decidim-admin/config/locales/es.yml b/decidim-admin/config/locales/es.yml
index 178d31a12e80d..9cfbae5f5d36e 100644
--- a/decidim-admin/config/locales/es.yml
+++ b/decidim-admin/config/locales/es.yml
@@ -53,6 +53,7 @@ es:
customize_welcome_notification: Personalizar notificación de bienvenida
default_locale: Idioma predeterminado
description: Descripción
+ enable_machine_translations: Habilitar traducciones automáticas
enable_omnipresent_banner: Mostrar banner omnipresente
enable_participatory_space_filters: Habilitar los filtros en el espacio de participación
facebook_handler: Nombre en Facebook
diff --git a/decidim-admin/config/locales/eu.yml b/decidim-admin/config/locales/eu.yml
index d02f75b158d05..772c80b666184 100644
--- a/decidim-admin/config/locales/eu.yml
+++ b/decidim-admin/config/locales/eu.yml
@@ -53,6 +53,7 @@ eu:
customize_welcome_notification: Pertsonalizatu ongi etorri jakinarazpena
default_locale: Kokapen lehenetsia
description: Deskribapena
+ enable_machine_translations: Gaitu itzulpen automatikoak
enable_omnipresent_banner: Erakutsi banner nonahikoa
enable_participatory_space_filters: Gaitu iragazkiak parte hartzeko espazioan
facebook_handler: Facebook kudeatzailea
@@ -803,7 +804,7 @@ eu:
index:
actions: Ekintzak
badge: Garaikurra
- block: Blokeatu parte-hartzailea
+ block: Blokeatu erabiltzailea
created_at: Noiz sortua
name: Izena
nickname: Ezizena
diff --git a/decidim-admin/config/locales/fi-plain.yml b/decidim-admin/config/locales/fi-plain.yml
index 0d72c99b8b9e1..10e891d3b7cf6 100644
--- a/decidim-admin/config/locales/fi-plain.yml
+++ b/decidim-admin/config/locales/fi-plain.yml
@@ -53,6 +53,7 @@ fi-pl:
customize_welcome_notification: Muokkaa tervetuloilmoitusta
default_locale: Oletuskieli
description: Kuvaus
+ enable_machine_translations: Ota konekäännökset käyttöön
enable_omnipresent_banner: Näytä kaikkialla näkyvä banneri
enable_participatory_space_filters: Ota käyttöön osallistumistilan suodattimet
facebook_handler: Facebook-käsittelijä
diff --git a/decidim-admin/config/locales/fi.yml b/decidim-admin/config/locales/fi.yml
index ece53efbc2ea5..6bcb5c9bdb1f3 100644
--- a/decidim-admin/config/locales/fi.yml
+++ b/decidim-admin/config/locales/fi.yml
@@ -53,6 +53,7 @@ fi:
customize_welcome_notification: Muokkaa tervetuloilmoitusta
default_locale: Oletuskieli
description: Kuvaus
+ enable_machine_translations: Ota konekäännökset käyttöön
enable_omnipresent_banner: Näytä kaikkialla näkyvä banneri
enable_participatory_space_filters: Ota käyttöön osallistumistilan suodattimet
facebook_handler: Facebook-käsittelijä
diff --git a/decidim-admin/config/locales/fr-CA.yml b/decidim-admin/config/locales/fr-CA.yml
index c06eb25e6850e..118a2e66ca352 100644
--- a/decidim-admin/config/locales/fr-CA.yml
+++ b/decidim-admin/config/locales/fr-CA.yml
@@ -876,7 +876,7 @@ fr-CA:
external_domain:
down: Descendre
external_domain: Domaine externe
- remove: Retirer
+ remove: Supprimer
up: Monter
form:
add: Ajouter à la liste autorisée
diff --git a/decidim-admin/config/locales/fr.yml b/decidim-admin/config/locales/fr.yml
index 938f58557dd6a..5be21694f5f73 100644
--- a/decidim-admin/config/locales/fr.yml
+++ b/decidim-admin/config/locales/fr.yml
@@ -876,7 +876,7 @@ fr:
external_domain:
down: Descendre
external_domain: Domaine externe
- remove: Retirer
+ remove: Supprimer
up: Monter
form:
add: Ajouter à la liste autorisée
diff --git a/decidim-admin/config/locales/hu.yml b/decidim-admin/config/locales/hu.yml
index b2ed74ed987b2..008e4c66cee39 100644
--- a/decidim-admin/config/locales/hu.yml
+++ b/decidim-admin/config/locales/hu.yml
@@ -798,7 +798,7 @@ hu:
reports: Jelentések
show_email: E-mail cím megjelenítése
status: Állapot
- unblock: Felhasználó tiltásának törlése
+ unblock: Felhasználó feloldása
unofficialize: Hivatalossá tétel visszavonása
new:
badge: A hivatalosság jelvénye
diff --git a/decidim-admin/config/locales/it.yml b/decidim-admin/config/locales/it.yml
index 3104beacfdaeb..4b978f0de8bbb 100644
--- a/decidim-admin/config/locales/it.yml
+++ b/decidim-admin/config/locales/it.yml
@@ -699,10 +699,14 @@ it:
blocked: Bloccato
unblocked: Non Bloccato
moderations:
+ index:
+ title: Contenuto segnalato
report:
reasons:
does_not_belong: Non appartiene
+ hidden_during_block: Nascosto durante il blocco dell'utente
offensive: Offensivo
+ parent_hidden: Il contenuto padre è stato nascosto
spam: Spam
reports:
index:
@@ -846,11 +850,20 @@ it:
edit:
update: Aggiorna
form:
+ colors:
+ choose_color: Scegli un colore primario
+ colors_title: Colori dell'organizzazione
+ colors_warning_html: Attenzione! Cambiare questi colori può violare l'accessibilità dei contrasti dei colori. Puoi controllare il contrasto della tua scelta dei colori con WebAIM Contrast Checker o altri strumenti simili.
+ explanation: Questo strumento ti aiuta a scegliere uno schema di colori, composto da tonalità ugualmente distanziate intorno alla gamma dei colori, che saranno utilizzate nel sito web dell'organizzazione.
+ legend_html: I principali colori dell'applicazione, basati sull'algoritmo Triadic. Il colore secondario è calcolato a partire dal colore primario e dalla saturazione che hai scelto.
+ saturation: Saturazione
+ title: Selettore colore
+ update_suggested_colors: Aggiorna i colori suggeriti
cta_button_path_help_html: 'È possibile modificare la posizione in cui il pulsante "Chiamata all''Azione" nella home page viene mostrato. Per farlo utilizzare URL relativi, non URL assoluti. Accetta lettere, numeri, trattini e barre, e deve iniziare con una lettera. Il pulsante "Chiamata all''Azione" è mostrato nella home page tra il testo di benvenuto e la descrizione. Ad esempio: %{url}'
cta_button_text_help: Puoi sovrascrivere il testo del pulsante Chiamata all'azione nella home page per ogni lingua disponibile nell'organizzazione. Se non è impostato, verrà utilizzato il valore predefinito. Il pulsante Chiamata all'azione è mostrato nella homepage tra il testo di benvenuto e la descrizione.
header_snippets:
header_snippets_help_html: Usa questo campo per aggiungere funzionalità all head HTML. L'uso più comune è quello di integrare servizi di terze parti che richiedono alcuni JavaScript o CSS aggiuntivi. Inoltre, è possibile utilizzarlo per aggiungere meta tag extra per l'HTML. Nota che questo sarà reso solo nelle pagine pubbliche, non nella sezione amministrazione. Se il codice interagisce con API esterne o non è conforme alle linee guida di sicurezza dell’applicazione, sarà necessario modificare la Content Security Policy. Per saperne di più su nella documentazione di Decidim.
- title: Frammenti di intestazione HTML
+ title: Frammenti d'intestazione HTML
homepage_appearance_title: Modifica l'aspetto della home page
homepage_highlighted_content_banner_title: Banner con contenuti Highligted
images:
@@ -867,6 +880,7 @@ it:
up: Su
form:
add: Aggiungi alla lista consentita
+ title: Elenco di domini esterni consentiti
participatory_space_private_users:
create:
error: Si è verificato un errore durante l'aggiunta di un utente privato per questo spazio partecipativo.
@@ -881,9 +895,24 @@ it:
create: Creare
title: Nuovo utente privato dello spazio partecipativo.
participatory_space_private_users_csv_imports:
+ create:
+ invalid: Si è verificato un problema durante la lettura del file CSV. Assicurati di aver seguito le istruzioni.
+ success: File CSV caricato con successo, stiamo inviando un'email di invito ai partecipanti. Potrebbe richiedere un po' di tempo.
new:
csv_upload:
title: Carica il tuo file CSV
+ destroy:
+ button: Elimina tutti i partecipanti privati
+ confirm: Sei sicuro di voler eliminare tutti i partecipanti privati? Questa azione non può essere annullata, non sarai in grado di recuperarli.
+ empty: Non hai partecipanti privati.
+ explanation: Hai %{count} partecipanti privati.
+ title: Elimina tutti i partecipanti privati
+ example_file: 'File di esempio:'
+ explanation: 'Carica il file CSV. Il file deve contenere due colonne (e-mail e nome) senza intestazioni: nella prima sono elencati gli indirizzi e-mail degli utenti che si desidera aggiungere allo spazio partecipativo, nella seconda i loro nomi. Evita di usare caratteri non validi come `<>?%&^*#@()[]=+:;"{}\|` nella colonna dei nomi.'
+ explanation_example: |
+ john.doe@example.org%{csv_col_sep}John Doe
+ jane.doe@example.org%{csv_col_sep}Jane Doe
+ title: Importa partecipanti privati tramite CSV
upload: Carica File
reminders:
create:
@@ -919,6 +948,8 @@ it:
create:
error: Si è verificato un errore creando un nuovo ambito.
success: OK, è stato creato il nuovo àmbito.
+ destroy:
+ success: Ambito eliminato correttamente.
edit:
title: Modifica l'àmbito
update: Aggiorna
@@ -1018,6 +1049,7 @@ it:
verify_via_csv: Verifica tramite CSV
user_groups_csv_verifications:
new:
+ example_file: 'File di esempio:'
explanation: Carica il tuo file CSV. Deve avere le e-mail ufficiali dei gruppi di utenti nella tua organizzazione nella prima colonna del file, senza intestazioni. Verranno convalidati solo i gruppi di utenti che hanno confermato la loro e-mail e che hanno una e-mail che appare nel file CSV.
explanation_example: |
acme@example.org
@@ -1077,10 +1109,14 @@ it:
models:
moderation:
fields:
+ deleted_resource: Risorsa eliminata
hidden_at: Nascosto a
participatory_space: Spazio partecipativo
+ report_count: Numero di segnalazioni
+ reportable_id: ID
reportable_type: Tipo
reported_content_url: URL del contenuto riportato
+ reports: Motivo
visit_url: Visita URL
report:
fields:
diff --git a/decidim-admin/config/locales/ja.yml b/decidim-admin/config/locales/ja.yml
index 591e52eba5c73..4f4555ed57f57 100644
--- a/decidim-admin/config/locales/ja.yml
+++ b/decidim-admin/config/locales/ja.yml
@@ -53,6 +53,7 @@ ja:
customize_welcome_notification: ウェルカム通知をカスタマイズ
default_locale: 既定のロケール:
description: 説明
+ enable_machine_translations: 機械翻訳を有効にする
enable_omnipresent_banner: Omnipresentバナーを表示
enable_participatory_space_filters: 参加型スペースフィルタを有効にする
facebook_handler: Facebook ハンドラー
diff --git a/decidim-admin/config/locales/ko.yml b/decidim-admin/config/locales/ko.yml
index 92e01f63cf604..f8bae96a14fe1 100644
--- a/decidim-admin/config/locales/ko.yml
+++ b/decidim-admin/config/locales/ko.yml
@@ -587,12 +587,10 @@ ko:
success: 참가자가 성공적으로 차단되었습니다.
index:
badge: 뱃지
- block: 사용자 차단
name: 이름
nickname: 닉네임
show_email: 이메일 주소 보기
status: 상태
- unblock: 사용자 차단 해제
show_email_modal:
email_address: 이메일 주소
full_name: 전체 이름
diff --git a/decidim-admin/config/locales/lb.yml b/decidim-admin/config/locales/lb.yml
index 3c89e3f12d854..195b21c505754 100644
--- a/decidim-admin/config/locales/lb.yml
+++ b/decidim-admin/config/locales/lb.yml
@@ -638,7 +638,7 @@ lb:
reports: Berichte
show_email: E-Mail-Adresse anzeigen
status: Status
- unblock: Blockierung des Users aufheben
+ unblock: Blockierung des Benutzers aufheben
unofficialize: Nicht offiziell
new:
badge: Offizielles Abzeichen
diff --git a/decidim-admin/config/locales/pt-BR.yml b/decidim-admin/config/locales/pt-BR.yml
index 6d784ae5e5706..edf0c6fc8230c 100644
--- a/decidim-admin/config/locales/pt-BR.yml
+++ b/decidim-admin/config/locales/pt-BR.yml
@@ -803,7 +803,7 @@ pt-BR:
reports: Denúncias
show_email: Mostrar endereço de e-mail
status: Status
- unblock: Desbloquear Usuário
+ unblock: Desbloquear usuário
unofficialize: Não oficializar
new:
badge: Emblema de oficialização
diff --git a/decidim-admin/config/locales/ro-RO.yml b/decidim-admin/config/locales/ro-RO.yml
index 45fd8edde8a76..bbca4c669e8f5 100644
--- a/decidim-admin/config/locales/ro-RO.yml
+++ b/decidim-admin/config/locales/ro-RO.yml
@@ -761,7 +761,7 @@ ro:
index:
actions: Acțiuni
badge: Insignă
- block: Blochează utilizator
+ block: Blochează utilizatorul
created_at: Creat la
name: Nume
nickname: Pseudonim
diff --git a/decidim-admin/config/locales/sq-AL.yml b/decidim-admin/config/locales/sq-AL.yml
index 7c60992c0f6a4..8dc8a4c9f3d7d 100644
--- a/decidim-admin/config/locales/sq-AL.yml
+++ b/decidim-admin/config/locales/sq-AL.yml
@@ -476,7 +476,6 @@ sq:
officializations:
index:
actions: Veprimet
- block: Blloko përdoruesin
created_at: Krijuar më
name: Emri
nickname: Nofka
diff --git a/decidim-admin/config/routes.rb b/decidim-admin/config/routes.rb
index 1f1e85dece383..4a73f91af43ee 100644
--- a/decidim-admin/config/routes.rb
+++ b/decidim-admin/config/routes.rb
@@ -109,8 +109,6 @@
put :accept
end
- resources :share_tokens, only: :destroy
-
resources :moderations, controller: "global_moderations" do
member do
put :unreport
diff --git a/decidim-admin/lib/decidim/admin/version.rb b/decidim-admin/lib/decidim/admin/version.rb
index 92ec01c38c963..eb00be50562f3 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.29.4"
+ "0.29.6"
end
end
end
diff --git a/decidim-admin/spec/commands/decidim/admin/create_share_token_spec.rb b/decidim-admin/spec/commands/decidim/admin/create_share_token_spec.rb
new file mode 100644
index 0000000000000..4c43b5631c185
--- /dev/null
+++ b/decidim-admin/spec/commands/decidim/admin/create_share_token_spec.rb
@@ -0,0 +1,97 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+module Decidim::Admin
+ describe CreateShareToken do
+ subject { described_class.new(form) }
+
+ let(:organization) { create(:organization) }
+ let(:current_user) { create(:user, :admin, organization:) }
+ let(:component) { create(:component, participatory_space: create(:participatory_process, organization:)) }
+
+ let(:form) do
+ ShareTokenForm.from_params(
+ token:,
+ expires_at:,
+ automatic_token:,
+ no_expiration:,
+ registered_only:
+ ).with_context(
+ current_user:,
+ current_organization: organization,
+ resource: component
+ )
+ end
+
+ let(:token) { "ABC123" }
+ let(:expires_at) { Time.zone.today + 10.days }
+ let(:automatic_token) { false }
+ let(:no_expiration) { false }
+ let(:registered_only) { true }
+ let(:extra) do
+ {
+ participatory_space: {
+ title: component.participatory_space.title
+ },
+ resource: {
+ title: component.name
+ }
+ }
+ end
+
+ context "when the form is valid" do
+ it "creates a share token" do
+ expect { subject.call }.to change(Decidim::ShareToken, :count).by(1)
+
+ share_token = Decidim::ShareToken.last
+ expect(share_token.token).to eq(token)
+ expect(share_token.expires_at).to eq(expires_at)
+ expect(share_token.registered_only).to be(true)
+ expect(share_token.organization).to eq(organization)
+ expect(share_token.user).to eq(current_user)
+ expect(share_token.token_for).to eq(component)
+ end
+
+ it "broadcasts :ok with the resource" do
+ expect(subject).to receive(:broadcast).with(:ok, instance_of(Decidim::ShareToken))
+ subject.call
+ end
+
+ it "traces the action", versioning: true do
+ expect(Decidim.traceability)
+ .to receive(:create!)
+ .with(Decidim::ShareToken, current_user,
+ {
+ expires_at:,
+ registered_only:,
+ token:,
+ organization:,
+ token_for: component,
+ user: current_user
+ },
+ extra)
+ .and_call_original
+
+ expect { subject.call }.to change(Decidim::ActionLog, :count)
+ action_log = Decidim::ActionLog.last
+ expect(action_log.version).to be_present
+ end
+ end
+
+ context "when the form is invalid" do
+ before do
+ allow(form).to receive(:invalid?).and_return(true)
+ end
+
+ it "does not create a share token" do
+ expect { subject.call }.not_to(change(Decidim::ShareToken, :count))
+ end
+
+ it "broadcasts :invalid" do
+ expect(subject).to receive(:broadcast).with(:invalid)
+ subject.call
+ end
+ end
+ end
+end
diff --git a/decidim-admin/spec/commands/decidim/admin/destroy_share_token_spec.rb b/decidim-admin/spec/commands/decidim/admin/destroy_share_token_spec.rb
new file mode 100644
index 0000000000000..1c66c2d3b77d1
--- /dev/null
+++ b/decidim-admin/spec/commands/decidim/admin/destroy_share_token_spec.rb
@@ -0,0 +1,45 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+module Decidim::Admin
+ describe DestroyShareToken do
+ subject { described_class.new(share_token, user) }
+
+ let(:organization) { create(:organization) }
+ let(:user) { create(:user, :admin, :confirmed, organization:) }
+ let(:share_token) { create(:share_token, organization:, user:) }
+ let(:extra) do
+ {
+ participatory_space: {
+ title: share_token.participatory_space.title
+ },
+ resource: {
+ title: share_token.component.name
+ }
+ }
+ end
+
+ it "destroys the share_token" do
+ subject.call
+ expect { share_token.reload }.to raise_error(ActiveRecord::RecordNotFound)
+ end
+
+ it "broadcasts ok" do
+ expect do
+ subject.call
+ end.to broadcast(:ok)
+ end
+
+ it "traces the action", versioning: true do
+ expect(Decidim.traceability)
+ .to receive(:perform_action!)
+ .with(:delete, share_token, user, extra)
+ .and_call_original
+
+ expect { subject.call }.to change(Decidim::ActionLog, :count)
+ action_log = Decidim::ActionLog.last
+ expect(action_log.version).to be_present
+ end
+ end
+end
diff --git a/decidim-admin/spec/commands/decidim/admin/update_share_token_spec.rb b/decidim-admin/spec/commands/decidim/admin/update_share_token_spec.rb
new file mode 100644
index 0000000000000..db92c4319fbac
--- /dev/null
+++ b/decidim-admin/spec/commands/decidim/admin/update_share_token_spec.rb
@@ -0,0 +1,84 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+module Decidim::Admin
+ describe UpdateShareToken do
+ subject { described_class.new(form, share_token) }
+
+ let(:organization) { create(:organization) }
+ let(:user) { create(:user, :admin, organization:) }
+ let(:component) { create(:component, participatory_space: create(:participatory_process, organization:)) }
+ let!(:share_token) { create(:share_token, organization:, user:, token_for: component) }
+
+ let(:form) do
+ ShareTokenForm.from_params(
+ token:,
+ expires_at:,
+ automatic_token:,
+ no_expiration:,
+ registered_only:
+ ).with_context(
+ current_user: user,
+ current_organization: organization,
+ resource: component
+ )
+ end
+
+ let(:token) { "ABCDEF97765544" }
+ let(:expires_at) { Time.zone.today + 20.days }
+ let(:automatic_token) { false }
+ let(:no_expiration) { false }
+ let(:registered_only) { false }
+ let(:extra) do
+ {
+ participatory_space: {
+ title: component.participatory_space.title
+ },
+ resource: {
+ title: component.name
+ }
+ }
+ end
+
+ context "when the form is valid" do
+ it "updates the expiration date" do
+ expect { subject.call }.to change { share_token.reload.expires_at }.to(expires_at)
+ .and change { share_token.reload.registered_only }.to(registered_only)
+ end
+
+ it "broadcasts :ok with the resource" do
+ expect(subject).to receive(:broadcast).with(:ok, share_token)
+ subject.call
+ end
+
+ it "traces the action", versioning: true do
+ expect(Decidim.traceability)
+ .to receive(:update!)
+ .with(share_token, user, { expires_at:, registered_only: }, extra)
+ .and_call_original
+
+ expect { subject.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
+
+ context "when the form is invalid" do
+ before do
+ allow(form).to receive(:invalid?).and_return(true)
+ end
+
+ it "does not update the share token" do
+ expect { subject.call }.not_to(change { share_token.reload.attributes })
+ end
+
+ it "broadcasts :invalid" do
+ expect(subject).to receive(:broadcast).with(:invalid)
+ subject.call
+ end
+ end
+ end
+end
diff --git a/decidim-admin/spec/forms/share_token_form_spec.rb b/decidim-admin/spec/forms/share_token_form_spec.rb
new file mode 100644
index 0000000000000..1bc0a0a4ae32a
--- /dev/null
+++ b/decidim-admin/spec/forms/share_token_form_spec.rb
@@ -0,0 +1,120 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+module Decidim::Admin
+ describe ShareTokenForm do
+ let(:organization) { create(:organization) }
+ let(:current_user) { create(:user, :admin, organization:) }
+ let(:component) { create(:component, participatory_space: create(:participatory_process, organization:)) }
+
+ let(:form) do
+ described_class.from_params(
+ token:,
+ automatic_token:,
+ expires_at:,
+ no_expiration:,
+ registered_only:
+ ).with_context(
+ current_user:,
+ current_organization: organization,
+ resource: component
+ )
+ end
+
+ let(:token) { "ABC123" }
+ let(:automatic_token) { true }
+ let(:expires_at) { Time.zone.today + 3.days }
+ let(:no_expiration) { false }
+ let(:registered_only) { true }
+
+ it "returns defaults" do
+ expect(form.token).to eq("ABC123")
+ expect(form.automatic_token).to be(true)
+ expect(form.expires_at).to eq(Time.zone.today + 3.days)
+ expect(form.no_expiration).to be(false)
+ expect(form.registered_only).to be(true)
+ end
+
+ context "when automatic_token validation is false" do
+ let(:automatic_token) { false }
+
+ it "validates presence of token" do
+ form.token = nil
+ expect(form).to be_invalid
+ expect(form.errors[:token]).to include("cannot be blank")
+ end
+
+ context "when automatic_token is set" do
+ let(:token) { "" }
+ let(:automatic_token) { true }
+
+ it "does not validate presence of token" do
+ expect(form).to be_valid
+ end
+ end
+ end
+
+ context "when expires_at is nil" do
+ let(:expires_at) { nil }
+
+ it "validates presence of expires_at" do
+ expect(form).to be_invalid
+ expect(form.errors[:expires_at]).to include("cannot be blank")
+ end
+
+ context "when no_expiration is set" do
+ let(:no_expiration) { true }
+
+ it "does not expires" do
+ expect(form).to be_valid
+ end
+ end
+ end
+
+ context "when token is custom" do
+ let(:token) { "abc 123 " }
+
+ it "returns the token in uppercase" do
+ expect(form.token).to eq("ABC-123")
+ end
+
+ context "and has strange characters" do
+ let(:token) { "abc 123 !@#$%^&*()_+" }
+
+ it "returns the token in uppercase" do
+ expect(form).to be_invalid
+ expect(form.errors[:token]).to include("is invalid")
+ end
+ end
+ end
+
+ context "when token exists" do
+ let(:automatic_token) { false }
+ let!(:share_token) { create(:share_token, organization:, token_for: component, token:) }
+
+ it "validates uniqueness of token" do
+ expect(form).to be_invalid
+ expect(form.errors[:token]).to include("has already been taken")
+ end
+ end
+
+ describe "#token_for" do
+ it "returns the component from the context" do
+ expect(form.token_for).to eq(component)
+ end
+ end
+
+ describe "#organization" do
+ it "returns the current organization from the context" do
+ expect(form.organization).to eq(organization)
+ end
+ end
+
+ describe "#user" do
+ it "returns the current user from the context" do
+ expect(form.user).to eq(current_user)
+ end
+ end
+ end
+end
diff --git a/decidim-admin/spec/system/admin_manages_officializations_spec.rb b/decidim-admin/spec/system/admin_manages_officializations_spec.rb
index 11f765c27f1c8..f55599c1e81f4 100644
--- a/decidim-admin/spec/system/admin_manages_officializations_spec.rb
+++ b/decidim-admin/spec/system/admin_manages_officializations_spec.rb
@@ -66,6 +66,23 @@
end
end
+ describe "when user's nickname is blank" do
+ let!(:user) { create(:user, :managed, organization:, nickname: "") }
+
+ before do
+ within_admin_sidebar_menu do
+ click_on "Participants"
+ end
+ end
+
+ it "has no user link" do
+ within "tr[data-user-id=\"#{user.id}\"]" do
+ expect(page).to have_content(user.name)
+ expect(page).to have_no_link(user.name)
+ end
+ end
+ end
+
describe "officializating users" do
context "when not yet officialized" do
let!(:user) { create(:user, organization:) }
diff --git a/decidim-api/lib/decidim/api/version.rb b/decidim-api/lib/decidim/api/version.rb
index 67252dc5f1456..dbf4fb76f90c3 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.29.4"
+ "0.29.6"
end
end
end
diff --git a/decidim-assemblies/app/controllers/decidim/assemblies/admin/assembly_share_tokens_controller.rb b/decidim-assemblies/app/controllers/decidim/assemblies/admin/assembly_share_tokens_controller.rb
new file mode 100644
index 0000000000000..9d1f1854d35bf
--- /dev/null
+++ b/decidim-assemblies/app/controllers/decidim/assemblies/admin/assembly_share_tokens_controller.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+
+module Decidim
+ module Assemblies
+ module Admin
+ # This controller allows sharing unpublished things.
+ # It is targeted for customizations for sharing unpublished things that lives under
+ # an assembly.
+ class AssemblyShareTokensController < Decidim::Admin::ShareTokensController
+ include Concerns::AssemblyAdmin
+
+ def resource
+ current_assembly
+ end
+ end
+ end
+ end
+end
diff --git a/decidim-assemblies/app/controllers/decidim/assemblies/admin/component_share_tokens_controller.rb b/decidim-assemblies/app/controllers/decidim/assemblies/admin/component_share_tokens_controller.rb
new file mode 100644
index 0000000000000..e03eb766121e0
--- /dev/null
+++ b/decidim-assemblies/app/controllers/decidim/assemblies/admin/component_share_tokens_controller.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+
+module Decidim
+ module Assemblies
+ module Admin
+ # This controller allows sharing unpublished things.
+ # It is targeted for customizations for sharing unpublished things that lives under
+ # an assembly.
+ class ComponentShareTokensController < Decidim::Admin::ShareTokensController
+ include Concerns::AssemblyAdmin
+
+ def resource
+ @resource ||= current_participatory_space.components.find(params[:component_id])
+ end
+ end
+ end
+ end
+end
diff --git a/decidim-assemblies/app/models/decidim/assembly.rb b/decidim-assemblies/app/models/decidim/assembly.rb
index 09d8e9031b3e3..c77b715ef0988 100644
--- a/decidim-assemblies/app/models/decidim/assembly.rb
+++ b/decidim-assemblies/app/models/decidim/assembly.rb
@@ -36,6 +36,7 @@ class Assembly < ApplicationRecord
include Decidim::TranslatableResource
include Decidim::HasArea
include Decidim::FilterableResource
+ include Decidim::ShareableWithToken
CREATED_BY = %w(city_council public others).freeze
@@ -168,6 +169,10 @@ def self.ransackable_scopes(_auth_object = nil)
[:with_any_area, :with_any_scope, :with_any_type]
end
+ def shareable_url(share_token)
+ EngineRouter.main_proxy(self).assembly_url(self, share_token: share_token.token)
+ end
+
private
# When an assembly changes their parent, we need to update the parents_path attribute
diff --git a/decidim-assemblies/app/permissions/decidim/assemblies/permissions.rb b/decidim-assemblies/app/permissions/decidim/assemblies/permissions.rb
index 162856418508e..741d8c91de756 100644
--- a/decidim-assemblies/app/permissions/decidim/assemblies/permissions.rb
+++ b/decidim-assemblies/app/permissions/decidim/assemblies/permissions.rb
@@ -127,6 +127,7 @@ def public_read_assembly_action?
return disallow! unless can_view_private_space?
return allow! if user&.admin?
return allow! if assembly.published?
+ return allow! if user_can_preview_space?
toggle_allow(can_manage_assembly?)
end
@@ -267,6 +268,7 @@ def assembly_admin_action?
:assembly_user_role,
:assembly_member,
:export_space,
+ :share_tokens,
:import
].include?(permission_action.subject)
allow! if is_allowed
@@ -286,11 +288,18 @@ def org_admin_action?
:assembly_user_role,
:assembly_member,
:export_space,
+ :share_tokens,
:import
].include?(permission_action.subject)
allow! if is_allowed
end
+ def user_can_preview_space?
+ context[:share_token].present? && Decidim::ShareToken.use!(token_for: assembly, token: context[:share_token], user:)
+ rescue ActiveRecord::RecordNotFound, StandardError
+ nil
+ end
+
# Checks if the permission_action is to read the admin assemblies list or
# not.
def read_assembly_list_permission_action?
diff --git a/decidim-assemblies/app/views/decidim/assemblies/admin/assemblies/index.html.erb b/decidim-assemblies/app/views/decidim/assemblies/admin/assemblies/index.html.erb
index 6773dfed6ce8d..391c7c91a1d2a 100644
--- a/decidim-assemblies/app/views/decidim/assemblies/admin/assemblies/index.html.erb
+++ b/decidim-assemblies/app/views/decidim/assemblies/admin/assemblies/index.html.erb
@@ -65,6 +65,7 @@
<% end %>
+
<% if assembly.published? %>
<%= t("assemblies.index.published", scope: "decidim.admin") %>
<% else %>
@@ -72,6 +73,12 @@
<% end %>
+ <% if allowed_to? :read, :share_tokens, current_participatory_space: assembly %>
+ <%= icon_link_to "share-line", decidim_admin_assemblies.assembly_share_tokens_path(assembly), t("actions.share_tokens", scope: "decidim.admin"), class: "action-icon--new" %>
+ <% else %>
+
+ <% end %>
+
<% if allowed_to? :update, :assembly, assembly: assembly %>
<%= icon_link_to "pencil-line", edit_assembly_path(assembly), t("actions.configure", scope: "decidim.admin"), class: "action-icon--new" %>
<% else %>
diff --git a/decidim-assemblies/config/locales/ar.yml b/decidim-assemblies/config/locales/ar.yml
index 8dba287dc9049..ac4d908c79119 100644
--- a/decidim-assemblies/config/locales/ar.yml
+++ b/decidim-assemblies/config/locales/ar.yml
@@ -119,10 +119,6 @@ ar:
update:
error: حدثت مشكلة أثناء تحديث هذه الجمعية.
success: تم تحديث الجمعية بنجاح.
- assemblies_copies:
- create:
- error: حدثت مشكلة في تكرار هذا التجميع.
- success: الجمعية مكررة بنجاح.
assemblies_types:
create:
error: حدثت مشكلة أثناء إنشاء جمعية جديدة.
@@ -138,8 +134,6 @@ ar:
assembly_copies:
new:
copy: نسخ
- select: حدد البيانات التي ترغب في تكرارها
- title: نسخ الجمعية
assembly_imports:
create:
error: حدثت مشكلة أثناء استيراد هذه الجمعية.
diff --git a/decidim-assemblies/config/locales/bg.yml b/decidim-assemblies/config/locales/bg.yml
index 51dca0de987f7..da54c29c75d06 100644
--- a/decidim-assemblies/config/locales/bg.yml
+++ b/decidim-assemblies/config/locales/bg.yml
@@ -116,10 +116,6 @@ bg:
update:
error: Възникна проблем при актуализирането на това събрание.
success: Събранието беше актуализирано успешно.
- assemblies_copies:
- create:
- error: Възникна проблем при дублирането на това събрание.
- success: Събранието беше дублирано успешно.
assemblies_types:
create:
error: Възникна проблем при създаването на нов тип събрание.
@@ -135,8 +131,6 @@ bg:
assembly_copies:
new:
copy: Копиране
- select: Изберете кои данни искате да дублирате
- title: Дублиране на събрание
assembly_imports:
create:
error: Възникна проблем при импортирането на това събрание.
diff --git a/decidim-assemblies/config/locales/cs.yml b/decidim-assemblies/config/locales/cs.yml
index fa7b7f444177c..77ef075641f6e 100644
--- a/decidim-assemblies/config/locales/cs.yml
+++ b/decidim-assemblies/config/locales/cs.yml
@@ -142,7 +142,7 @@ cs:
new:
copy: Kopírovat
select: Vyberte, která data chcete duplikovat
- title: Zduplikovat shromáždění
+ title: Duplikovat shromáždění
assembly_imports:
create:
error: Při importu tohoto shromáždění došlo k chybě.
diff --git a/decidim-assemblies/config/locales/de.yml b/decidim-assemblies/config/locales/de.yml
index 7e2b4d60aca21..f13d8570866f6 100644
--- a/decidim-assemblies/config/locales/de.yml
+++ b/decidim-assemblies/config/locales/de.yml
@@ -135,7 +135,7 @@ de:
assembly_copies:
new:
copy: Kopieren
- select: Wählen Sie die Daten aus, die Sie duplizieren möchten
+ select: Wählen Sie, welche Daten Sie duplizieren möchten
title: Dupliziertes Gremium
assembly_imports:
create:
@@ -255,7 +255,7 @@ de:
admin_log:
assembly:
create: "%{user_name} hat das Gremium %{resource_name} erstellt"
- duplicate: "%{user_name} hat das Gremium %{resource_name} aktualisiert"
+ duplicate: "%{user_name} hat das Gremium %{resource_name} dupliziert"
export: "%{user_name} hat das Gremium %{resource_name} exportiert"
import: "%{user_name} hat das Gremium %{resource_name} importiert"
publish: "%{user_name} hat das Gremium %{resource_name} veröffentlicht"
diff --git a/decidim-assemblies/config/locales/el.yml b/decidim-assemblies/config/locales/el.yml
index eceac95b084f4..bab2c0032c5c0 100644
--- a/decidim-assemblies/config/locales/el.yml
+++ b/decidim-assemblies/config/locales/el.yml
@@ -112,10 +112,6 @@ el:
update:
error: Υπήρξε ένα πρόβλημα κατά την ενημέρωση αυτής της συνέλευσης.
success: Η συνέλευση ενημερώθηκε με επιτυχία.
- assemblies_copies:
- create:
- error: Υπήρξε ένα πρόβλημα κατά την αντιγραφή αυτής της συνέλευσης.
- success: Η συνέλευση αντιγράφτηκε με επιτυχία.
assemblies_types:
create:
error: Υπήρξε ένα πρόβλημα κατά τη δημιουργία ενός νέου τύπου συνέλευσης.
@@ -131,8 +127,6 @@ el:
assembly_copies:
new:
copy: Αντιγραφή
- select: Επιλέξτε ποια δεδομένα θέλετε να αντιγράψετε
- title: Αντιγραφή συνέλευσης
assembly_imports:
create:
error: Προέκυψε ένα πρόβλημα κατά την εισαγωγή αυτής της συνέλευσης.
diff --git a/decidim-assemblies/config/locales/es-MX.yml b/decidim-assemblies/config/locales/es-MX.yml
index fbf83f6357f6f..f576fc1497e3c 100644
--- a/decidim-assemblies/config/locales/es-MX.yml
+++ b/decidim-assemblies/config/locales/es-MX.yml
@@ -118,8 +118,8 @@ es-MX:
success: La asamblea se ha actualizado correctamente.
assemblies_copies:
create:
- error: Se produjo un error al duplicar esta asamblea.
- success: Asamblea duplicada correctamente.
+ error: Se ha producido un error al duplicar esta asamblea.
+ success: La asamblea se ha duplicado correctamente.
assemblies_types:
create:
error: Se ha producido un error al crear un nuevo tipo de asamblea.
@@ -135,7 +135,7 @@ es-MX:
assembly_copies:
new:
copy: Copiar
- select: Seleccione los datos que desea duplicar
+ select: Selecciona qué datos quieres duplicar
title: Duplicar asamblea
assembly_imports:
create:
diff --git a/decidim-assemblies/config/locales/es-PY.yml b/decidim-assemblies/config/locales/es-PY.yml
index 06fd70799feac..f63be6043aec4 100644
--- a/decidim-assemblies/config/locales/es-PY.yml
+++ b/decidim-assemblies/config/locales/es-PY.yml
@@ -118,8 +118,8 @@ es-PY:
success: La asamblea se ha actualizado correctamente.
assemblies_copies:
create:
- error: Se produjo un error al duplicar esta asamblea.
- success: Asamblea duplicada correctamente.
+ error: Se ha producido un error al duplicar esta asamblea.
+ success: La asamblea se ha duplicado correctamente.
assemblies_types:
create:
error: Se ha producido un error al crear un nuevo tipo de asamblea.
@@ -135,7 +135,7 @@ es-PY:
assembly_copies:
new:
copy: Copiar
- select: Seleccione los datos que desea duplicar
+ select: Selecciona qué datos quieres duplicar
title: Duplicar asamblea
assembly_imports:
create:
diff --git a/decidim-assemblies/config/locales/es.yml b/decidim-assemblies/config/locales/es.yml
index 6f37a22026e70..40bf7be220b47 100644
--- a/decidim-assemblies/config/locales/es.yml
+++ b/decidim-assemblies/config/locales/es.yml
@@ -119,7 +119,7 @@ es:
assemblies_copies:
create:
error: Se ha producido un error al duplicar esta asamblea.
- success: Asamblea duplicada correctamente.
+ success: La asamblea se ha duplicado correctamente.
assemblies_types:
create:
error: Se ha producido un error al crear un nuevo tipo de asamblea.
diff --git a/decidim-assemblies/config/locales/eu.yml b/decidim-assemblies/config/locales/eu.yml
index 500240488f5da..070443770a67d 100644
--- a/decidim-assemblies/config/locales/eu.yml
+++ b/decidim-assemblies/config/locales/eu.yml
@@ -135,8 +135,8 @@ eu:
assembly_copies:
new:
copy: Kopiatu
- select: Hautatu bikoiztu nahi dituzun datuak
- title: Kopiatu batzarra
+ select: Hautatu zein datu bikoiztu nahi dituzun
+ title: Batzarra bikoiuztu
assembly_imports:
create:
error: Arazo bat egon da batzar hau inportatzean.
diff --git a/decidim-assemblies/config/locales/fi-plain.yml b/decidim-assemblies/config/locales/fi-plain.yml
index 2236417102db6..803b6c364fe7e 100644
--- a/decidim-assemblies/config/locales/fi-plain.yml
+++ b/decidim-assemblies/config/locales/fi-plain.yml
@@ -118,8 +118,8 @@ fi-pl:
success: Ryhmä päivitettiin onnistuneesti.
assemblies_copies:
create:
- error: Virhe kopioitaessa ryhmää.
- success: Ryhmä kopioitu onnistuneesti.
+ error: Ryhmän kopioiminen epäonnistui.
+ success: Ryhmän kopioiminen onnistui.
assemblies_types:
create:
error: Uuden ryhmätyypin luonti epäonnistui.
diff --git a/decidim-assemblies/config/locales/fi.yml b/decidim-assemblies/config/locales/fi.yml
index b612d1bf4a705..6a9f1267b8ce3 100644
--- a/decidim-assemblies/config/locales/fi.yml
+++ b/decidim-assemblies/config/locales/fi.yml
@@ -118,8 +118,8 @@ fi:
success: Ryhmän päivitys onnistui.
assemblies_copies:
create:
- error: Ryhmän kopiointi epäonnistui.
- success: Ryhmän kopiointi onnistui.
+ error: Ryhmän kopioiminen epäonnistui.
+ success: Ryhmän kopioiminen onnistui.
assemblies_types:
create:
error: Uuden ryhmätyypin luonti epäonnistui.
diff --git a/decidim-assemblies/config/locales/fr-CA.yml b/decidim-assemblies/config/locales/fr-CA.yml
index 191ae636a6ecf..69e45e82eed29 100644
--- a/decidim-assemblies/config/locales/fr-CA.yml
+++ b/decidim-assemblies/config/locales/fr-CA.yml
@@ -302,7 +302,7 @@ fr-CA:
title: Titre
assembly_copies:
form:
- slug_help_html: 'Les identifiants d''URL sont utilisés pour générer les URL qui pointent vers cette assemblée. N''accepte que des lettres, des chiffres et des tirets et doit commencer par une lettre. Exemple: %{url}'
+ slug_help_html: 'Les identifiants d''URL sont utilisés pour générer les URL qui pointent vers cette assemblée. N''accepte que des lettres, des chiffres et des tirets et doit commencer par une lettre. Exemple : %{url}'
assembly_imports:
form:
slug_help_html: 'Les identifiants d''URL sont utilisés pour générer les URL qui pointent vers cette assemblée. N''accepte que des lettres, des chiffres et des tirets et doit commencer par une lettre. Exemple: %{url}'
diff --git a/decidim-assemblies/config/locales/fr.yml b/decidim-assemblies/config/locales/fr.yml
index 1c37063d0ec49..ddd3a3a5b0727 100644
--- a/decidim-assemblies/config/locales/fr.yml
+++ b/decidim-assemblies/config/locales/fr.yml
@@ -302,7 +302,7 @@ fr:
title: Modifier le type d'assemblée
assembly_copies:
form:
- slug_help_html: 'Les identifiants d''URL sont utilisés pour générer les URL qui pointent vers cette assemblée. N''accepte que des lettres, des chiffres et des tirets et doit commencer par une lettre. Exemple: %{url}'
+ slug_help_html: 'Les identifiants d''URL sont utilisés pour générer les URL qui pointent vers cette assemblée. N''accepte que des lettres, des chiffres et des tirets et doit commencer par une lettre. Exemple : %{url}'
assembly_imports:
form:
slug_help_html: 'Les identifiants d''URL sont utilisés pour générer les URL qui pointent vers cette assemblée. N''accepte que des lettres, des chiffres et des tirets et doit commencer par une lettre. Exemple: %{url}'
diff --git a/decidim-assemblies/config/locales/gl.yml b/decidim-assemblies/config/locales/gl.yml
index 4a2e9132298c7..456c5805f651f 100644
--- a/decidim-assemblies/config/locales/gl.yml
+++ b/decidim-assemblies/config/locales/gl.yml
@@ -100,10 +100,6 @@ gl:
update:
error: Produciuse un erro ao actualizar este conxunto.
success: Asemblea actualizouse con éxito.
- assemblies_copies:
- create:
- error: Produciuse un erro ao duplicar este conxunto.
- success: Asemblea duplicouse con éxito.
assemblies_types:
create:
error: Produciuse un problema ao crear un novo tipo de xuntanza.
@@ -119,8 +115,6 @@ gl:
assembly_copies:
new:
copy: Copiar
- select: Seleccione os datos que desexa duplicar
- title: Conxunto duplicado
assembly_imports:
create:
error: Produciuse un problema ao importar esta xuntanza.
diff --git a/decidim-assemblies/config/locales/he-IL.yml b/decidim-assemblies/config/locales/he-IL.yml
index 195cce0eab1da..226ffe7961a13 100644
--- a/decidim-assemblies/config/locales/he-IL.yml
+++ b/decidim-assemblies/config/locales/he-IL.yml
@@ -114,10 +114,6 @@ he:
update:
error: יש בעיה בעדכון אסיפה זו.
success: האסיפה עודכנה בהצלחה.
- assemblies_copies:
- create:
- error: יש בעיה בשכפול אסיפה זו.
- success: אסיפה השתכפלה בהצלחה.
assemblies_types:
create:
error: יש בעיה ביצירת סוג אסיפה חדש.
@@ -133,7 +129,6 @@ he:
assembly_copies:
new:
copy: העתקה
- title: שכפל אסיפה
assembly_imports:
create:
error: הייתה בעיה בייבוא אסיפה זו.
diff --git a/decidim-assemblies/config/locales/hu.yml b/decidim-assemblies/config/locales/hu.yml
index 0b7428c472b30..f92d2c31f04e8 100644
--- a/decidim-assemblies/config/locales/hu.yml
+++ b/decidim-assemblies/config/locales/hu.yml
@@ -116,10 +116,6 @@ hu:
update:
error: Hiba történt a gyűlés frissítése során.
success: Gyűlés frissítése sikeres.
- assemblies_copies:
- create:
- error: Hiba történt a gyűlés duplikációja során.
- success: Gyűlés duplikációja sikeres.
assemblies_types:
create:
error: Hiba történt az új gyűlés létrehozása során.
@@ -135,8 +131,6 @@ hu:
assembly_copies:
new:
copy: Másolás
- select: Válaszd ki, mely adatokat szeretnéd duplikálni
- title: Gyűlés duplikálása
assembly_imports:
create:
error: Hiba történt a gyűlés importálása során.
diff --git a/decidim-assemblies/config/locales/id-ID.yml b/decidim-assemblies/config/locales/id-ID.yml
index ac5ce1b90a62c..0345776d22bf8 100644
--- a/decidim-assemblies/config/locales/id-ID.yml
+++ b/decidim-assemblies/config/locales/id-ID.yml
@@ -92,18 +92,12 @@ id:
update:
error: Ada kesalahan saat memperbarui perakitan ini.
success: Majelis berhasil diperbarui.
- assemblies_copies:
- create:
- error: Ada kesalahan saat menduplikasi majelis ini.
- success: Majelis berhasil digandakan.
assemblies_types:
new:
create: Membuat
assembly_copies:
new:
copy: Salinan
- select: Pilih data mana yang ingin Anda gandakan
- title: Rakitan duplikat
assembly_members:
create:
error: Terjadi kesalahan saat menambahkan anggota untuk majelis ini.
diff --git a/decidim-assemblies/config/locales/is-IS.yml b/decidim-assemblies/config/locales/is-IS.yml
index ca4c1d796e3ff..272e18976ee36 100644
--- a/decidim-assemblies/config/locales/is-IS.yml
+++ b/decidim-assemblies/config/locales/is-IS.yml
@@ -92,8 +92,6 @@ is:
assembly_copies:
new:
copy: Afrita
- select: Veldu hvaða gögn þú vilt afrita
- title: Afrit samkoma
assembly_imports:
new:
import: Flytja inn
diff --git a/decidim-assemblies/config/locales/it.yml b/decidim-assemblies/config/locales/it.yml
index a476aae961b03..9630ab57e2dee 100644
--- a/decidim-assemblies/config/locales/it.yml
+++ b/decidim-assemblies/config/locales/it.yml
@@ -68,7 +68,7 @@ it:
gender: Genere
non_user_avatar: Avatar
position: Posizione
- user_id: Utente
+ user_id: Utente o gruppo
weight: Posizione nell'elenco
assembly_user_role:
email: E-mail
@@ -96,6 +96,7 @@ it:
actions:
import_assembly: Importa
new_assembly: Nuova assemblea
+ new_assembly_member: Nuovo membro dell'assemblea
new_assembly_type: Nuovo tipo di assemblea
new_assembly_user_role: Nuovo amministratore dello spazio
assemblies:
@@ -115,10 +116,6 @@ it:
update:
error: Si è verificato un errore durante l'aggiornamento di questa assemblea.
success: L'assemblea è stata aggiornata correttamente.
- assemblies_copies:
- create:
- error: Si è verificato un errore durante la duplicazione di questa assemblea.
- success: L'assemblea è stata duplicata con successo.
assemblies_types:
create:
error: Si è verificato un errore durante la creazione di un nuovo tipo di assemblea.
@@ -134,8 +131,6 @@ it:
assembly_copies:
new:
copy: Copia
- select: Scegli quale dato vuoi duplicare
- title: Duplica l'assemblea
assembly_imports:
create:
error: Si è verificato un errore durante l'aggiornamento di questa assemblea.
@@ -151,11 +146,13 @@ it:
destroy:
success: Membro cancellato con successo per questa assemblea.
edit:
+ title: Aggiorna membro dell'assemblea
update: Aggiorna
index:
assembly_members_title: Membri dell'Assemblea
new:
create: Crea
+ title: Nuovo membro dell'assemblea
update:
error: Si è verificato un errore durante l'aggiornamento del membro per questa assemblea.
success: Membro aggiornato correttamente per questa assemblea.
@@ -165,7 +162,7 @@ it:
success: L'Assemblea è stata pubblicata con successo.
destroy:
error: Si è verificato un errore durante la pubblicazione di questo assembly.
- success: Assemblea cancellata con successo.
+ success: Assemblea non pubblicata con successo.
assembly_user_roles:
create:
error: Si è verificato un errore durante l'aggiunta di un utente per questa assemblea.
@@ -173,7 +170,7 @@ it:
destroy:
success: Utente rimosso con successo da questa assemblea.
edit:
- title: Aggiorna gli amministratori dello spazio
+ title: Aggiorna gli amministratori dell'assemblea
update: Aggiorna
index:
assembly_admins_title: Amministratori dell'assemblea
@@ -185,7 +182,9 @@ it:
success: Admin aggiornato correttamente per questa assemblea.
filters:
ceased_date_not_null:
+ label: Concluso
values:
+ 'false': Non concluso
'true': Conclusq
decidim_assemblies_type_id_eq:
label: Tipo di assemblea
@@ -202,7 +201,7 @@ it:
categories: Categorie
components: Componenti
info: Info su questo spazio
- landing_page: Pagina iniziale
+ landing_page: Pagina di atterraggio
moderations: Moderazione
private_users: Partecipanti privati
see_assembly: Guarda l'assemblea
@@ -230,7 +229,7 @@ it:
name: Membro
positions:
other: Altro
- president: Presidentessa/Presidente
+ president: Presidente
secretary: Segretario
vice_president: Vicepresidente
assembly_user_role:
@@ -306,7 +305,7 @@ it:
existing_user: Utente esistente
explanation: 'Guida per l''immagine:'
image_guide: È preferibile un'immagine verticale priva di testo.
- non_user: Non utente
+ non_user: Non partecipante
non_user_avatar_help: Si dovrebbe ottenere il consenso delle persone prima di renderle pubbliche come membri dell'assemblea.
select_a_position: Seleziona una posizione
select_user: Seleziona un utente
@@ -402,6 +401,7 @@ it:
assemblies:
create_assembly_member:
email_intro: Un amministratore dell'assemblea %{resource_name} ti ha aggiunto come membro.
+ email_outro: Hai ricevuto questa notifica perché sei stato invitato in un assemblea. Controlla la pagina assembly per contribuire!
email_subject: Hai ricevuto un invito a far parte dell'Assemblea %{resource_name}!
notification_title: Sei stato registrato come membro dell'Assemblea %{resource_name}. Controlla la pagina dell'assemblea per contribuire!
assembly:
@@ -442,6 +442,10 @@ it:
take_part: Partecipa
index:
promoted_assemblies: Assemblee in evidenza
+ metadata:
+ children_item:
+ one: "%{count} assemblee"
+ other: "%{count} assemblee"
order_by_assemblies:
assemblies:
one: "%{count} assemblee"
diff --git a/decidim-assemblies/config/locales/lb.yml b/decidim-assemblies/config/locales/lb.yml
index 3a2cdc042c007..ddcbf55a7243c 100644
--- a/decidim-assemblies/config/locales/lb.yml
+++ b/decidim-assemblies/config/locales/lb.yml
@@ -100,10 +100,6 @@ lb:
update:
error: Beim Aktualisieren dieses Gremiums ist ein Fehler aufgetreten.
success: Das Gremium wurde erfolgreich aktualisiert.
- assemblies_copies:
- create:
- error: Beim Duplizieren dieses Gremiums ist ein Fehler aufgetreten.
- success: Das Gremium wurde erfolgreich dupliziert.
assemblies_types:
create:
error: Beim Erstellen eines neuen Gremiumtyps ist ein Fehler aufgetreten.
@@ -119,8 +115,6 @@ lb:
assembly_copies:
new:
copy: Kopieren
- select: Wählen Sie die Daten aus, die Sie duplizieren möchten
- title: Doppelte Montage
assembly_imports:
create:
error: Beim Importieren dieses Gremiums ist ein Fehler aufgetreten.
diff --git a/decidim-assemblies/config/locales/lt.yml b/decidim-assemblies/config/locales/lt.yml
index 5d5d38a6b2825..872685d9c8407 100644
--- a/decidim-assemblies/config/locales/lt.yml
+++ b/decidim-assemblies/config/locales/lt.yml
@@ -118,10 +118,6 @@ lt:
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_types:
create:
error: Kuriant naujos asamblėjos tipą iškilo problema.
@@ -137,8 +133,6 @@ lt:
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.
diff --git a/decidim-assemblies/config/locales/lv.yml b/decidim-assemblies/config/locales/lv.yml
index e3aef39cbe6c8..c08b5c1b5e1ab 100644
--- a/decidim-assemblies/config/locales/lv.yml
+++ b/decidim-assemblies/config/locales/lv.yml
@@ -95,10 +95,6 @@ lv:
update:
error: Šīs asamblejas atjaunināšanas laikā radās problēma.
success: Asambleja ir veiksmīgi atjaunināta.
- assemblies_copies:
- create:
- error: Šīs asamblejas dublēšanas laikā radās problēma.
- success: Asamblejas dublēšana ir veiksmīgi pabeigta.
assemblies_types:
create:
error: Jaunas asamblejas veida izveides laikā radās problēma.
@@ -114,8 +110,6 @@ lv:
assembly_copies:
new:
copy: Kopēt
- select: Atlasiet, kurus datus vēlaties dublēt
- title: Dublēt asambleju
assembly_members:
create:
error: Pievienojot dalībnieku šai asamblejai, radās problēma.
diff --git a/decidim-assemblies/config/locales/nl.yml b/decidim-assemblies/config/locales/nl.yml
index 53dfa03258e07..abb37d011184e 100644
--- a/decidim-assemblies/config/locales/nl.yml
+++ b/decidim-assemblies/config/locales/nl.yml
@@ -100,10 +100,6 @@ nl:
update:
error: Er is een fout opgetreden bij het bijwerken van deze groep.
success: Groep is succesvol bijgewerkt.
- assemblies_copies:
- create:
- error: Er was een fout bij het dupliceren van deze groep.
- success: Groep succesvol gedupliceerd.
assemblies_types:
create:
error: Er is een fout opgetreden bij het maken van een nieuw groepstype.
@@ -119,8 +115,6 @@ nl:
assembly_copies:
new:
copy: Kopiëren
- select: Selecteer welke gegevens u wilt dupliceren
- title: Dupliceer bijeenkomst
assembly_imports:
create:
error: Er is een probleem opgetreden bij het importeren van deze groep.
diff --git a/decidim-assemblies/config/locales/no.yml b/decidim-assemblies/config/locales/no.yml
index 636fc469db2e9..d8a90c6af3680 100644
--- a/decidim-assemblies/config/locales/no.yml
+++ b/decidim-assemblies/config/locales/no.yml
@@ -100,10 +100,6 @@
update:
error: Det oppstod et problem med å oppdatere denne forsamlingen.
success: Forsamlingen ble oppdatert.
- assemblies_copies:
- create:
- error: Det oppstod et problem med å publisere denne forsamlingen.
- success: Forsamlingen ble duplisert.
assemblies_types:
create:
error: Det oppstod et problem med å lage en ny forsamlingstype.
@@ -119,8 +115,6 @@
assembly_copies:
new:
copy: Kopier
- select: Velg hvilke data du vil duplisere
- title: Dupliser forsamling
assembly_imports:
create:
error: Det oppstod et problem med å importere denne forsamlingen.
diff --git a/decidim-assemblies/config/locales/pl.yml b/decidim-assemblies/config/locales/pl.yml
index 43d45263c1dc8..2b30ffd7765ee 100644
--- a/decidim-assemblies/config/locales/pl.yml
+++ b/decidim-assemblies/config/locales/pl.yml
@@ -122,10 +122,6 @@ pl:
update:
error: Podczas aktualizowania tego zespołu wystąpił błąd.
success: Zespół został zaktualizowany.
- assemblies_copies:
- create:
- error: Podczas duplikowania tego zespołu wystąpił błąd.
- success: Zespół został zduplikowany.
assemblies_types:
create:
error: Podczas tworzenia nowego typu zespołu wystąpił błąd.
@@ -141,8 +137,6 @@ pl:
assembly_copies:
new:
copy: Kopiuj
- select: Wybierz dane, które chcesz zduplikować
- title: Zduplikuj zespół
assembly_imports:
create:
error: Wystąpił błąd podczas importowania tego zespołu.
diff --git a/decidim-assemblies/config/locales/pt-BR.yml b/decidim-assemblies/config/locales/pt-BR.yml
index 626f5d616ecd2..d7be97c5db3b9 100644
--- a/decidim-assemblies/config/locales/pt-BR.yml
+++ b/decidim-assemblies/config/locales/pt-BR.yml
@@ -116,10 +116,6 @@ pt-BR:
update:
error: Ocorreu um erro ao atualizar esta assembleia.
success: Assembleia atualizada com sucesso.
- assemblies_copies:
- create:
- error: Ocorreu um erro ao duplicar esta assembleia.
- success: Assembleia duplicada com sucesso.
assemblies_types:
create:
error: Ocorreu um erro ao criar um novo tipo de assembleia.
@@ -135,8 +131,6 @@ pt-BR:
assembly_copies:
new:
copy: Cópia
- select: Selecione os dados que você gostaria de duplicar
- title: Duplicar assembleia
assembly_imports:
create:
error: Ocorreu um erro ao importar esta assembleia.
diff --git a/decidim-assemblies/config/locales/pt.yml b/decidim-assemblies/config/locales/pt.yml
index de5ead485b9f5..a67b4553944ca 100644
--- a/decidim-assemblies/config/locales/pt.yml
+++ b/decidim-assemblies/config/locales/pt.yml
@@ -115,10 +115,6 @@ pt:
update:
error: Ocorreu um problema ao atualizar esta reunião.
success: Reunião atualizada corretamente.
- assemblies_copies:
- create:
- error: Ocorreu um problema ao duplicar esta reunião.
- success: Reunião duplicada corretamente.
assemblies_types:
create:
error: Ocorreu um problema ao criar um novo tipo de reunião.
@@ -134,8 +130,6 @@ pt:
assembly_copies:
new:
copy: Cópia
- select: Selecione os dados que pretende duplicar
- title: Duplicar assembléia
assembly_imports:
create:
error: Ocorreu um problema ao atualizar esta reunião.
diff --git a/decidim-assemblies/config/locales/ro-RO.yml b/decidim-assemblies/config/locales/ro-RO.yml
index 375110a39b770..9f8c894310fbc 100644
--- a/decidim-assemblies/config/locales/ro-RO.yml
+++ b/decidim-assemblies/config/locales/ro-RO.yml
@@ -115,10 +115,6 @@ ro:
update:
error: A apărut o eroare la actualizarea acestui grup de lucru.
success: Grupul de lucru a fost actualizat cu succes.
- assemblies_copies:
- create:
- error: A apărut o problemă la duplicarea acestui grup de lucru.
- success: Grupul de lucru a fost duplicat cu succes.
assemblies_types:
create:
error: A apărut o problemă la crearea unui nou tip de grup de lucru.
@@ -134,8 +130,6 @@ ro:
assembly_copies:
new:
copy: Copiază
- select: Selectați datele pe care doriți să le duplicați
- title: Duplică grupul de lucru
assembly_imports:
create:
error: A apărut o problemă la importul acestui grup de lucru.
diff --git a/decidim-assemblies/config/locales/ru.yml b/decidim-assemblies/config/locales/ru.yml
index bb59def9251ae..e4cc3ae3aa487 100644
--- a/decidim-assemblies/config/locales/ru.yml
+++ b/decidim-assemblies/config/locales/ru.yml
@@ -100,18 +100,12 @@ ru:
update:
error: При попытке обновить это собрание произошла ошибка.
success: Собрание успешно обновлено.
- assemblies_copies:
- create:
- error: При попытке создать копию этого собрания произошла ошибка.
- success: Успешно создана копия собрания.
assemblies_types:
new:
create: Добавить
assembly_copies:
new:
copy: Копировать
- select: Выберите, какие данные вы хотите продублировать
- title: Создать копию собрания
assembly_members:
create:
error: При попытке добавить члена президиума этого собрания произошла ошибка.
diff --git a/decidim-assemblies/config/locales/sl.yml b/decidim-assemblies/config/locales/sl.yml
index e40be44e1b619..a66cb3c72cee0 100644
--- a/decidim-assemblies/config/locales/sl.yml
+++ b/decidim-assemblies/config/locales/sl.yml
@@ -99,10 +99,6 @@ sl:
update:
error: Pojavila se je težava pri urejanju združbe.
success: Združba uspešno posodobljena.
- assemblies_copies:
- create:
- error: Pojavila se je težava pri podvajanju združbe.
- success: Združba uspešno podvojena.
assemblies_types:
create:
error: Pojavila se je težava pri kreiranju nove združbe.
@@ -118,8 +114,6 @@ sl:
assembly_copies:
new:
copy: Kopiraj
- select: Izberi, katere podatke želiš podvojiti
- title: Podvoji združbo
assembly_imports:
create:
error: Pojavila se je težava pri uvozu te združbe.
diff --git a/decidim-assemblies/config/locales/sq-AL.yml b/decidim-assemblies/config/locales/sq-AL.yml
index aeffdc23e555a..cdf7bb09f15c9 100644
--- a/decidim-assemblies/config/locales/sq-AL.yml
+++ b/decidim-assemblies/config/locales/sq-AL.yml
@@ -104,10 +104,6 @@ sq:
update:
error: Ndodhi një gabim gjatë përditësimit të asamblesë.
success: Asambleja u përditësua me sukses.
- assemblies_copies:
- create:
- error: Ndodhi një gabim gjatë duplikimit të asamblesë.
- success: Asambleja e duplikua me sukses.
assemblies_types:
create:
error: Ndodhi një gabim gjatë krijimit të tipit të ri të asamblesë.
@@ -123,8 +119,6 @@ sq:
assembly_copies:
new:
copy: Kopjo
- select: Zgjidh cilën të dhënë dëshiron të duplikosh
- title: Dupliko asamblenë
assembly_imports:
create:
error: Ndodhi një gabim gjatë importimit të asamblesë.
diff --git a/decidim-assemblies/config/locales/sv.yml b/decidim-assemblies/config/locales/sv.yml
index 08cbb97d4eb50..9f490abe8b258 100644
--- a/decidim-assemblies/config/locales/sv.yml
+++ b/decidim-assemblies/config/locales/sv.yml
@@ -42,7 +42,7 @@ sv:
meta_scope: Omfattning
parent_id: Överordnat samråd
participatory_processes_ids: Relaterade deltagandeprocesser
- participatory_scope: Vad bestäms
+ participatory_scope: Vad beslutas
participatory_structure: Hur fattas beslut
private_space: Privat utrymme
promoted: Utvald
@@ -54,7 +54,7 @@ sv:
slug: URL-slug
special_features: Specialfunktioner
subtitle: Underrubrik
- target: Vem deltar
+ target: Vilka deltar
title: Titel
twitter: X
weight: Position i listan
@@ -135,7 +135,7 @@ sv:
assembly_copies:
new:
copy: Kopiera
- select: Välj vilka data som ska dupliceras
+ select: Välj vilka data som du vill duplicera
title: Duplicera samråd
assembly_imports:
create:
@@ -327,11 +327,11 @@ sv:
area_name: Område
closing_date: Slutdatum
created_by: Skapad av
- creation_date: Skapad
+ creation_date: Startdatum
data: Data från samråd
developer_group: Arrangör
duration: Varaktighet
- included_at: Inkluderad
+ included_at: Publicerad
indefinite_duration: Permanent
local_area: Område
meta_scope: Indelning
@@ -368,9 +368,9 @@ sv:
related_assemblies:
name: Relaterade samråd
created_by:
- city_council: Stadsfullmäktige
+ city_council: Staden
others: Övriga
- public: Offentligt
+ public: Medborgare
filter:
all: Alla typer
commission: Kommission
diff --git a/decidim-assemblies/config/locales/tr-TR.yml b/decidim-assemblies/config/locales/tr-TR.yml
index b6997dcb86f4d..1f842b0084765 100644
--- a/decidim-assemblies/config/locales/tr-TR.yml
+++ b/decidim-assemblies/config/locales/tr-TR.yml
@@ -108,10 +108,6 @@ tr:
update:
error: Bu kurul güncellenirken bir hata oluştu.
success: Kurul başarıyla güncellendi.
- assemblies_copies:
- create:
- error: Bu kurul çoğaltırken bir hata oluştu.
- success: Kurul başarıyla kopyalandı.
assemblies_types:
create:
error: Yeni bir kurul türü oluşturulurken bir sorun meydana geldi.
@@ -127,8 +123,6 @@ tr:
assembly_copies:
new:
copy: Kopya
- select: Çoğaltmak istediğiniz verileri seçin
- title: Kurulu çoğalt
assembly_imports:
create:
error: Bu kurul derlenirken, içeri aktarılırken bir hata oluştu.
diff --git a/decidim-assemblies/config/locales/uk.yml b/decidim-assemblies/config/locales/uk.yml
index 5414d9bbad612..c523d49664047 100644
--- a/decidim-assemblies/config/locales/uk.yml
+++ b/decidim-assemblies/config/locales/uk.yml
@@ -100,18 +100,12 @@ uk:
update:
error: При спробі оновити ці збори сталася помилка.
success: Збори успішно оновлено.
- assemblies_copies:
- create:
- error: При спробі створити копію цих зборів сталася помилка.
- success: Успішно створено копію зборів.
assemblies_types:
new:
create: Додати
assembly_copies:
new:
copy: Скопіювати
- select: Оберіть відомості, копію яких ви хотіли б створити
- title: Створити копію зборів
assembly_members:
create:
error: При спробі додати члена президії цих зборів сталася помилка.
diff --git a/decidim-assemblies/config/locales/zh-CN.yml b/decidim-assemblies/config/locales/zh-CN.yml
index db5e95825e893..78354bd554818 100644
--- a/decidim-assemblies/config/locales/zh-CN.yml
+++ b/decidim-assemblies/config/locales/zh-CN.yml
@@ -94,10 +94,6 @@ zh-CN:
update:
error: 更新这个组件时出现问题。
success: 程序更新成功。
- assemblies_copies:
- create:
- error: 复制这个组件时出现问题。
- success: 已成功复制组合。
assemblies_types:
create:
error: 创建新组装类型时出现问题。
@@ -113,8 +109,6 @@ zh-CN:
assembly_copies:
new:
copy: 复制
- select: 选择要重复的数据
- title: 复制程序集
assembly_imports:
create:
error: 导入此组件时出现问题。
diff --git a/decidim-assemblies/config/locales/zh-TW.yml b/decidim-assemblies/config/locales/zh-TW.yml
index 435f5b42bd741..9ac92a4046497 100644
--- a/decidim-assemblies/config/locales/zh-TW.yml
+++ b/decidim-assemblies/config/locales/zh-TW.yml
@@ -109,10 +109,6 @@ zh-TW:
update:
error: 更新此大會時出現問題
success: 此大會成功更新
- assemblies_copies:
- create:
- error: 複製此大會時出現問題
- success: 大會已成功複製
assemblies_types:
create:
error: 創建新大會類型時出現問題
@@ -128,8 +124,6 @@ zh-TW:
assembly_copies:
new:
copy: 複製
- select: 請選擇您想要複製的資料
- title: 複製大會
assembly_imports:
create:
error: 這個大會匯入時發生了問題
diff --git a/decidim-assemblies/lib/decidim/assemblies/admin_engine.rb b/decidim-assemblies/lib/decidim/assemblies/admin_engine.rb
index 6256e34abd99f..1408f21dd26d8 100644
--- a/decidim-assemblies/lib/decidim/assemblies/admin_engine.rb
+++ b/decidim-assemblies/lib/decidim/assemblies/admin_engine.rb
@@ -53,6 +53,7 @@ class AdminEngine < ::Rails::Engine
put :unpublish
get :share
end
+ resources :component_share_tokens, except: [:show], path: "share_tokens", as: "share_tokens"
resources :exports, only: :create
resources :imports, only: [:new, :create] do
get :example, on: :collection
@@ -79,6 +80,8 @@ class AdminEngine < ::Rails::Engine
end
end
end
+
+ resources :assembly_share_tokens, except: [:show], path: "share_tokens"
end
scope "/assemblies/:assembly_slug/components/:component_id/manage" do
diff --git a/decidim-assemblies/lib/decidim/assemblies/menu.rb b/decidim-assemblies/lib/decidim/assemblies/menu.rb
index ca721b929a1d8..382e2ec9bb857 100644
--- a/decidim-assemblies/lib/decidim/assemblies/menu.rb
+++ b/decidim-assemblies/lib/decidim/assemblies/menu.rb
@@ -78,6 +78,7 @@ def self.register_admin_assemblies_components_menu!
active: is_active_link?(manage_component_path(component)) ||
is_active_link?(decidim_admin_assemblies.edit_component_path(current_participatory_space, component)) ||
is_active_link?(decidim_admin_assemblies.edit_component_permissions_path(current_participatory_space, component)) ||
+ is_active_link?(decidim_admin_assemblies.component_share_tokens_path(current_participatory_space, component)) ||
participatory_space_active_link?(component),
if: component.manifest.admin_engine && user_role_config.component_is_accessible?(component.manifest_name)
end
@@ -145,6 +146,13 @@ def self.register_admin_assembly_menu!
decidim_admin_assemblies.moderations_path(current_participatory_space),
icon_name: "flag-line",
if: allowed_to?(:read, :moderation, assembly: current_participatory_space)
+
+ menu.add_item :assembly_share_tokens,
+ I18n.t("menu.share_tokens", scope: "decidim.admin"),
+ decidim_admin_assemblies.assembly_share_tokens_path(current_participatory_space),
+ active: is_active_link?(decidim_admin_assemblies.assembly_share_tokens_path(current_participatory_space)),
+ icon_name: "share-line",
+ if: allowed_to?(:read, :share_tokens, current_participatory_space:)
end
end
diff --git a/decidim-assemblies/lib/decidim/assemblies/version.rb b/decidim-assemblies/lib/decidim/assemblies/version.rb
index ba9883548bb51..6ebfd29a73da3 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.29.4"
+ "0.29.6"
end
end
end
diff --git a/decidim-assemblies/spec/shared/manage_assembly_components_examples.rb b/decidim-assemblies/spec/shared/manage_assembly_components_examples.rb
index 803c083182491..065e34997b62c 100644
--- a/decidim-assemblies/spec/shared/manage_assembly_components_examples.rb
+++ b/decidim-assemblies/spec/shared/manage_assembly_components_examples.rb
@@ -209,8 +209,6 @@
}
))
end
-
- it_behaves_like "manage component share tokens"
end
context "when the component is published" do
diff --git a/decidim-assemblies/spec/system/admin/admin_manages_assembly_component_share_tokens_spec.rb b/decidim-assemblies/spec/system/admin/admin_manages_assembly_component_share_tokens_spec.rb
new file mode 100644
index 0000000000000..10bdf5dec0f50
--- /dev/null
+++ b/decidim-assemblies/spec/system/admin/admin_manages_assembly_component_share_tokens_spec.rb
@@ -0,0 +1,12 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+describe "Admin manages assembly component share tokens" do
+ include_context "when admin administrating an assembly"
+
+ it_behaves_like "manage component share tokens" do
+ let(:participatory_space) { assembly }
+ let(:participatory_space_engine) { decidim_admin_assemblies }
+ end
+end
diff --git a/decidim-assemblies/spec/system/admin/admin_manages_assembly_share_tokens_spec.rb b/decidim-assemblies/spec/system/admin/admin_manages_assembly_share_tokens_spec.rb
new file mode 100644
index 0000000000000..aab9636ad0eea
--- /dev/null
+++ b/decidim-assemblies/spec/system/admin/admin_manages_assembly_share_tokens_spec.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+describe "Admin manages assembly share tokens" do
+ let!(:user) { create(:user, :admin, :confirmed, organization:) }
+ let(:organization) { create(:organization) }
+ let!(:assembly) { create(:assembly, organization:, private_space: true) }
+ let(:participatory_space) { assembly }
+ let(:participatory_space_path) { decidim_admin_assemblies.edit_assembly_path(assembly) }
+ let(:participatory_spaces_path) { decidim_admin_assemblies.assemblies_path }
+
+ it_behaves_like "manage participatory space share tokens"
+
+ context "when the user is an assembly admin" do
+ let(:user) { create(:user, :confirmed, :admin_terms_accepted, organization:) }
+ let!(:role) { create(:assembly_user_role, user:, assembly:, role: :admin) }
+
+ it_behaves_like "manage participatory space share tokens"
+ end
+end
diff --git a/decidim-assemblies/spec/system/preview_assembly_with_share_token_spec.rb b/decidim-assemblies/spec/system/preview_assembly_with_share_token_spec.rb
new file mode 100644
index 0000000000000..323eb2d49378e
--- /dev/null
+++ b/decidim-assemblies/spec/system/preview_assembly_with_share_token_spec.rb
@@ -0,0 +1,11 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+describe "Preview assembly with share token" do
+ let(:organization) { create(:organization) }
+ let!(:participatory_space) { create(:assembly, organization:, published_at: nil) }
+ let(:resource_path) { decidim_assemblies.assembly_path(participatory_space) }
+
+ it_behaves_like "preview participatory space with a share_token"
+end
diff --git a/decidim-blogs/lib/decidim/blogs/version.rb b/decidim-blogs/lib/decidim/blogs/version.rb
index d8d0e99f13a78..d0bf3a5325795 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.29.4"
+ "0.29.6"
end
end
end
diff --git a/decidim-blogs/spec/system/preview_blogs_with_share_token_spec.rb b/decidim-blogs/spec/system/preview_blogs_with_share_token_spec.rb
index a5ff8c5cc36e5..bc4669f1817df 100644
--- a/decidim-blogs/spec/system/preview_blogs_with_share_token_spec.rb
+++ b/decidim-blogs/spec/system/preview_blogs_with_share_token_spec.rb
@@ -2,9 +2,9 @@
require "spec_helper"
-describe "Preview blogs with share token" do
+describe "preview blogs with a share token" do
let(:manifest_name) { "blogs" }
include_context "with a component"
- it_behaves_like "preview component with share_token"
+ it_behaves_like "preview component with a share_token"
end
diff --git a/decidim-budgets/config/locales/ar.yml b/decidim-budgets/config/locales/ar.yml
index 19457c6f75b26..04697168be4d7 100644
--- a/decidim-budgets/config/locales/ar.yml
+++ b/decidim-budgets/config/locales/ar.yml
@@ -45,7 +45,7 @@ ar:
projects: المشاريع
models:
budget:
- name: الميزانية
+ name: ميزانية
project:
name: مشروع
projects:
diff --git a/decidim-budgets/config/locales/de.yml b/decidim-budgets/config/locales/de.yml
index 76719489fdb44..ae51834a0825e 100644
--- a/decidim-budgets/config/locales/de.yml
+++ b/decidim-budgets/config/locales/de.yml
@@ -366,7 +366,7 @@ de:
events:
budgets:
budget_published:
- email_intro: 'Das Budget %{resource_title} ist jetzt für %{participatory_space_title} aktiv. Sie können es auf dieser Seite ansehen:'
+ email_intro: 'Das Budget %{resource_title} ist jetzt für %{participatory_space_title} aktiv. Sehen Sie es sich auf dieser Seite an:'
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: Das Budget %{resource_title} ist jetzt für %{participatory_space_title} aktiv.
notification_title: Das Budget %{resource_title} ist jetzt aktiv für %{participatory_space_title}.
diff --git a/decidim-budgets/config/locales/eu.yml b/decidim-budgets/config/locales/eu.yml
index 7a02a04325d89..886639ca26405 100644
--- a/decidim-budgets/config/locales/eu.yml
+++ b/decidim-budgets/config/locales/eu.yml
@@ -170,7 +170,7 @@ eu:
update: "%{user_name} parte-hartzaileak %{resource_name} proiektua %{space_name} espazioan sortu da"
budget_information_modal:
back_to: Itzuli %{component_name} osagaira
- close_modal: Itxi modala
+ close_modal: Itxi leihoa
continue: Jarraitu
more_information: Informazio gehiago aurrekontuari buruz
budgets_list:
@@ -331,7 +331,7 @@ eu:
budget_voting_rule_required: Bozketarako arau bat behar da.
geocoding_enabled: Geokodifikazioa gaitua
landing_page_content: Aurrekontuen hasierako orria
- more_information_modal: '"Informazio gehiago"ren modala'
+ more_information_modal: '"Informazio gehiago" leihoa'
projects_per_page: Orrialde bakoitzeko proiektuak
resources_permissions_enabled: Ekintza-baimenak ezarri ahal dira proiektu bakoitzerako
scope_id: Eremua
@@ -355,7 +355,7 @@ eu:
highlighted_heading: Goiburu nabarmendua
landing_page_content: Aurrekontuen hasierako orrialdea
list_heading: Zerrendaren izenburua
- more_information_modal: '"Informazio gehiago"ren modala'
+ more_information_modal: '"Informazio gehiago" leihoa'
show_votes: Erakutsi babesak
title: Izenburua
votes: Bozketa
diff --git a/decidim-budgets/config/locales/id-ID.yml b/decidim-budgets/config/locales/id-ID.yml
index 7625a087f2a0b..5d5685f70f005 100644
--- a/decidim-budgets/config/locales/id-ID.yml
+++ b/decidim-budgets/config/locales/id-ID.yml
@@ -23,6 +23,8 @@ id:
title: Tindakan
admin:
models:
+ budget:
+ name: Anggaran
project:
name: Proyek
projects:
diff --git a/decidim-budgets/config/locales/is-IS.yml b/decidim-budgets/config/locales/is-IS.yml
index e4a04b1369d7a..e2a21902b3a81 100644
--- a/decidim-budgets/config/locales/is-IS.yml
+++ b/decidim-budgets/config/locales/is-IS.yml
@@ -17,6 +17,8 @@ is:
title: Aðgerðir
admin:
models:
+ budget:
+ name: Fjárhagsáætlun
project:
name: Verkefni
projects:
diff --git a/decidim-budgets/config/locales/lb.yml b/decidim-budgets/config/locales/lb.yml
index 96a7b00367abd..132eda0b76434 100644
--- a/decidim-budgets/config/locales/lb.yml
+++ b/decidim-budgets/config/locales/lb.yml
@@ -43,7 +43,7 @@ lb:
projects: Projekte
models:
budget:
- name: Bugdet
+ name: Budget
project:
name: Projekt
projects:
diff --git a/decidim-budgets/config/locales/lv.yml b/decidim-budgets/config/locales/lv.yml
index 7d26742ca8fed..bc660440fcc7b 100644
--- a/decidim-budgets/config/locales/lv.yml
+++ b/decidim-budgets/config/locales/lv.yml
@@ -25,6 +25,8 @@ lv:
title: Darbības
admin:
models:
+ budget:
+ name: Budžets
project:
name: Projekts
projects:
diff --git a/decidim-budgets/config/locales/nl.yml b/decidim-budgets/config/locales/nl.yml
index 8102e8a3b1496..7cb5f318254b4 100644
--- a/decidim-budgets/config/locales/nl.yml
+++ b/decidim-budgets/config/locales/nl.yml
@@ -65,7 +65,7 @@ nl:
projects: Projecten
models:
budget:
- name: Budget
+ name: Begroting
project:
name: Project
projects:
diff --git a/decidim-budgets/config/locales/ru.yml b/decidim-budgets/config/locales/ru.yml
index b0ef416e53696..201081ef652de 100644
--- a/decidim-budgets/config/locales/ru.yml
+++ b/decidim-budgets/config/locales/ru.yml
@@ -26,6 +26,8 @@ ru:
title: Действия
admin:
models:
+ budget:
+ name: Бюджет
project:
name: Проект
projects:
diff --git a/decidim-budgets/config/locales/sk.yml b/decidim-budgets/config/locales/sk.yml
index 386cd62b77830..79860407ab59e 100644
--- a/decidim-budgets/config/locales/sk.yml
+++ b/decidim-budgets/config/locales/sk.yml
@@ -26,6 +26,8 @@ sk:
title: Akcie
admin:
models:
+ budget:
+ name: Rozpočet
project:
name: Projekt
projects:
diff --git a/decidim-budgets/config/locales/uk.yml b/decidim-budgets/config/locales/uk.yml
index 96263922cfcf3..7dff50c1d26b6 100644
--- a/decidim-budgets/config/locales/uk.yml
+++ b/decidim-budgets/config/locales/uk.yml
@@ -26,6 +26,8 @@ uk:
title: Дії
admin:
models:
+ budget:
+ name: Бюджет
project:
name: Проект
projects:
diff --git a/decidim-budgets/lib/decidim/budgets/version.rb b/decidim-budgets/lib/decidim/budgets/version.rb
index a260bacc19ef3..7d16b6a6d0ec7 100644
--- a/decidim-budgets/lib/decidim/budgets/version.rb
+++ b/decidim-budgets/lib/decidim/budgets/version.rb
@@ -4,7 +4,7 @@ module Decidim
# This holds the decidim-budgets version.
module Budgets
def self.version
- "0.29.4"
+ "0.29.6"
end
end
end
diff --git a/decidim-budgets/spec/system/preview_budgets_with_share_token_spec.rb b/decidim-budgets/spec/system/preview_budgets_with_share_token_spec.rb
index e76e3bdd615b5..dab5e601e5297 100644
--- a/decidim-budgets/spec/system/preview_budgets_with_share_token_spec.rb
+++ b/decidim-budgets/spec/system/preview_budgets_with_share_token_spec.rb
@@ -2,9 +2,9 @@
require "spec_helper"
-describe "Preview budgets with share token" do
+describe "preview budgets with a share token" do
let(:manifest_name) { "budgets" }
include_context "with a component"
- it_behaves_like "preview component with share_token"
+ it_behaves_like "preview component with a share_token"
end
diff --git a/decidim-comments/config/locales/de.yml b/decidim-comments/config/locales/de.yml
index b6f7a51e8951c..a433d80d16178 100644
--- a/decidim-comments/config/locales/de.yml
+++ b/decidim-comments/config/locales/de.yml
@@ -65,7 +65,7 @@ de:
comment:
alignment:
against: Gegen
- in_favor: Zugunsten
+ in_favor: Dafür
cancel_reply: Antwort abbrechen
comment_label: Kommentar %{comment_id}
comment_label_reply: Kommentar %{comment_id} (Antwort auf Kommentar %{parent_comment_id})
@@ -115,6 +115,9 @@ de:
one: "%{count} Kommentar"
other: "%{count} Kommentare"
down_vote_button:
+ label:
+ one: Button «Nicht unterstützen». %{count} unterstützt nicht
+ other: Button «Nicht unterstützen». %{count} unterstützen nicht
text: Ich bin mit diesem Kommentar nicht einverstanden
edit_comment_modal_form:
close: Schliessen
@@ -125,6 +128,9 @@ de:
submit: Senden
title: Kommentar bearbeiten
up_vote_button:
+ label:
+ one: Button «Unterstützen». %{count} Unterstützung
+ other: Button «Unterstützen». %{count} Unterstützungen
text: Ich stimme diesem Kommentar zu
events:
comments:
diff --git a/decidim-comments/lib/decidim/comments/version.rb b/decidim-comments/lib/decidim/comments/version.rb
index dccf62142255d..9ffbc6aeead71 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.29.4"
+ "0.29.6"
end
end
end
diff --git a/decidim-conferences/app/controllers/decidim/conferences/admin/component_share_tokens_controller.rb b/decidim-conferences/app/controllers/decidim/conferences/admin/component_share_tokens_controller.rb
new file mode 100644
index 0000000000000..af15a8a3ad9ca
--- /dev/null
+++ b/decidim-conferences/app/controllers/decidim/conferences/admin/component_share_tokens_controller.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+
+module Decidim
+ module Conferences
+ module Admin
+ # This controller allows sharing unpublished things.
+ # It is targeted for customizations for sharing unpublished things that lives under
+ # an conference.
+ class ComponentShareTokensController < Decidim::Admin::ShareTokensController
+ include Concerns::ConferenceAdmin
+
+ def resource
+ @resource ||= current_participatory_space.components.find(params[:component_id])
+ end
+ end
+ end
+ end
+end
diff --git a/decidim-conferences/app/controllers/decidim/conferences/admin/conference_share_tokens_controller.rb b/decidim-conferences/app/controllers/decidim/conferences/admin/conference_share_tokens_controller.rb
new file mode 100644
index 0000000000000..f57398263240c
--- /dev/null
+++ b/decidim-conferences/app/controllers/decidim/conferences/admin/conference_share_tokens_controller.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+
+module Decidim
+ module Conferences
+ module Admin
+ # This controller allows sharing unpublished things.
+ # It is targeted for customizations for sharing unpublished things that lives under
+ # an conference.
+ class ConferenceShareTokensController < Decidim::Admin::ShareTokensController
+ include Concerns::ConferenceAdmin
+
+ def resource
+ current_conference
+ end
+ end
+ end
+ end
+end
diff --git a/decidim-conferences/app/models/decidim/conference.rb b/decidim-conferences/app/models/decidim/conference.rb
index 936ceefa7262a..e262b8b406015 100644
--- a/decidim-conferences/app/models/decidim/conference.rb
+++ b/decidim-conferences/app/models/decidim/conference.rb
@@ -20,6 +20,7 @@ class Conference < ApplicationRecord
include Decidim::HasUploadValidations
include Decidim::TranslatableResource
include Decidim::FilterableResource
+ include Decidim::ShareableWithToken
translatable_fields :title, :slogan, :short_description, :description, :objectives, :registration_terms
@@ -146,6 +147,10 @@ def attachment_context
:admin
end
+ def shareable_url(share_token)
+ EngineRouter.main_proxy(self).conference_url(self, share_token: share_token.token)
+ end
+
# Allow ransacker to search for a key in a hstore column (`title`.`en`)
ransacker_i18n :title
end
diff --git a/decidim-conferences/app/permissions/decidim/conferences/permissions.rb b/decidim-conferences/app/permissions/decidim/conferences/permissions.rb
index f3c29b02d3852..bb6e4e8237e56 100644
--- a/decidim-conferences/app/permissions/decidim/conferences/permissions.rb
+++ b/decidim-conferences/app/permissions/decidim/conferences/permissions.rb
@@ -128,6 +128,7 @@ def public_read_conference_action?
return allow! if user&.admin?
return allow! if conference.published?
+ return allow! if user_can_preview_space?
toggle_allow(can_manage_conference?)
end
@@ -277,7 +278,8 @@ def conference_admin_action?
:partner,
:media_link,
:registration_type,
- :conference_invite
+ :conference_invite,
+ :share_tokens
].include?(permission_action.subject)
allow! if is_allowed
end
@@ -300,11 +302,18 @@ def org_admin_action?
:partner,
:registration_type,
:read_conference_registrations,
- :export_conference_registrations
+ :export_conference_registrations,
+ :share_tokens
].include?(permission_action.subject)
allow! if is_allowed
end
+ def user_can_preview_space?
+ context[:share_token].present? && Decidim::ShareToken.use!(token_for: conference, token: context[:share_token], user:)
+ rescue ActiveRecord::RecordNotFound, StandardError
+ nil
+ end
+
# Checks if the permission_action is to read the admin conferences list or
# not.
def read_conference_list_permission_action?
diff --git a/decidim-conferences/app/views/decidim/conferences/admin/conferences/index.html.erb b/decidim-conferences/app/views/decidim/conferences/admin/conferences/index.html.erb
index 66a678c1ddb13..992f1ef070927 100644
--- a/decidim-conferences/app/views/decidim/conferences/admin/conferences/index.html.erb
+++ b/decidim-conferences/app/views/decidim/conferences/admin/conferences/index.html.erb
@@ -38,6 +38,11 @@
<% end %>
+ <% if allowed_to? :read, :share_tokens, current_participatory_space: conference %>
+ <%= icon_link_to "share-line", decidim_admin_conferences.conference_share_tokens_path(conference), t("actions.share_tokens", scope: "decidim.admin"), class: "action-icon--new" %>
+ <% else %>
+
+ <% end %>
<% if allowed_to? :update, :conference, conference: conference %>
<%= icon_link_to "pencil-line", edit_conference_path(conference), t("actions.configure", scope: "decidim.admin"), class: "action-icon--new" %>
<% end %>
diff --git a/decidim-conferences/config/locales/ar.yml b/decidim-conferences/config/locales/ar.yml
index 12ed33c5110da..dbc7ae0b98a61 100644
--- a/decidim-conferences/config/locales/ar.yml
+++ b/decidim-conferences/config/locales/ar.yml
@@ -98,8 +98,6 @@ ar:
conference_copies:
new:
copy: نسخ
- select: حدد البيانات التي ترغب في تكرارها
- title: مؤتمر مكرر
conference_publications:
create:
error: كانت هناك مشكلة في نشر هذا المؤتمر.
@@ -157,10 +155,6 @@ ar:
update:
error: حدثت مشكلة أثناء تحديث هذا المؤتمر.
success: تم تحديث المؤتمر بنجاح.
- conferences_copies:
- create:
- error: كانت هناك مشكلة في تكرار هذا المؤتمر.
- success: تم تكرار المؤتمر بنجاح.
media_links:
create:
error: حدثت مشكلة أثناء إنشاء رابط وسائط جديد.
diff --git a/decidim-conferences/config/locales/bg.yml b/decidim-conferences/config/locales/bg.yml
index 15baa1d9ca5dc..72437280fa1c2 100644
--- a/decidim-conferences/config/locales/bg.yml
+++ b/decidim-conferences/config/locales/bg.yml
@@ -100,8 +100,6 @@ bg:
conference_copies:
new:
copy: Копиране
- select: Изберете кои данни искате да дублирате
- title: Дублиране на конференцията
conference_publications:
create:
error: Възникна проблем при публикуването на тази конференция.
@@ -168,10 +166,6 @@ bg:
update:
error: Възникна проблем при актуализирането на тази конференция.
success: Конференцията беше актуализирана успешно.
- conferences_copies:
- create:
- error: Възникна проблем при дублирането на тази конференция.
- success: Конференцията беше дублирана успешно.
media_links:
create:
error: Възникна проблем при създаването на нов медия линк.
diff --git a/decidim-conferences/config/locales/ca-IT.yml b/decidim-conferences/config/locales/ca-IT.yml
index b64699a475e37..987116b4bf331 100644
--- a/decidim-conferences/config/locales/ca-IT.yml
+++ b/decidim-conferences/config/locales/ca-IT.yml
@@ -103,7 +103,7 @@ ca-IT:
new:
copy: Copiar
select: Selecciona quines dades vols duplicar
- title: Jornada duplicada
+ title: Duplicar la jornada
conference_publications:
create:
error: S'ha produït un error en publicar aquesta jornada.
diff --git a/decidim-conferences/config/locales/ca.yml b/decidim-conferences/config/locales/ca.yml
index cc9862843d9aa..81affcbe75653 100644
--- a/decidim-conferences/config/locales/ca.yml
+++ b/decidim-conferences/config/locales/ca.yml
@@ -103,7 +103,7 @@ ca:
new:
copy: Copiar
select: Selecciona quines dades vols duplicar
- title: Jornada duplicada
+ title: Duplicar la jornada
conference_publications:
create:
error: S'ha produït un error en publicar aquesta jornada.
diff --git a/decidim-conferences/config/locales/de.yml b/decidim-conferences/config/locales/de.yml
index f7dfdfd3f902d..4f66f989417f2 100644
--- a/decidim-conferences/config/locales/de.yml
+++ b/decidim-conferences/config/locales/de.yml
@@ -21,7 +21,7 @@ de:
promoted: Gefördert
published_at: Veröffentlicht am
registration_terms: Registrierungsbedingungen
- registrations_enabled: Registrierungen aktiviert
+ registrations_enabled: Anmeldungen aktiviert
scope_id: Umfang
scopes_enabled: Bereiche aktiviert
short_description: Kurze Beschreibung
@@ -102,8 +102,8 @@ de:
conference_copies:
new:
copy: Kopieren
- select: Wählen Sie die Daten aus, die Sie duplizieren möchten
- title: Doppelte Konferenz
+ select: Zu duplizierende Daten auswählen
+ title: Konferenz duplizieren
conference_publications:
create:
error: Beim Veröffentlichen dieser Konferenz ist ein Fehler aufgetreten.
@@ -344,7 +344,7 @@ de:
admin:
conference_copies:
form:
- slug_help_html: 'URL-Slugs werden zum Generieren der URLs verwendet, die auf diese Konferenz verweisen. Akzeptiert werden nur Buchstaben, Zahlen und Bindestriche und es muss mit einem Buchstaben beginnen. Beispiel: %{url}'
+ slug_help_html: 'URL-Slugs werden verwendet, um URLs zu generieren, die auf diese Konferenz verweisen. Akzeptiert nur Buchstaben, Zahlen und Bindestriche und muss mit einem Buchstaben beginnen. Beispiel: %{url}'
conference_invites:
create:
error: Beim Einladen des Benutzers zur Teilnahme an der Konferenz ist ein Problem aufgetreten.
@@ -403,7 +403,7 @@ de:
title: Registrierungsarten
send_conference_diploma_mailer:
diploma:
- diploma_html: Die Teilnahmebescheinigung für die Konferenz %{title} finden Sie in den Anhängen.
+ diploma_html: Die Teilnahmebestätigung für die Konferenz %{title} finden Sie in den Anhängen.
diploma_user:
attendance_verified_by: Anwesenheit überprüft durch
certificate_of_attendance: Teilnahmebestätigung
@@ -545,10 +545,10 @@ de:
email_subject: Die Konferenz "%{resource_title}" wurde aktualisiert
notification_title: Die Konferenz %{resource_title} wurde aktualisiert.
registrations_enabled:
- email_intro: 'Die Konferenz "%{resource_title}" hat Registrierungen aktiviert. Sie können sich auf der Konferenz-Seite registrieren:'
- email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Konferenz "%{resource_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link.
- email_subject: Die Konferenz "%{resource_title}" hat Registrierungen aktiviert.
- notification_title: Die Konferenz %{resource_title} hat Registrierungen aktiviert.
+ email_intro: 'Für die Konferenz "%{resource_title}" wurde die Anmeldung aktiviert. Sie können sich auf dieser Seite anmelden:'
+ email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Konferenz "%{resource_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den angegebenen Link.
+ email_subject: Die Konferenz "%{resource_title}" hat die Anmeldung aktiviert.
+ notification_title: Die Konferenz %{resource_title} hat die Anmeldung aktiviert.
role_assigned:
email_intro: Sie wurden als %{role} für die Konferenz "%{resource_title}" ausgewählt.
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein %{role} der Konferenz "%{resource_title}" sind.
diff --git a/decidim-conferences/config/locales/el.yml b/decidim-conferences/config/locales/el.yml
index 0f30fc4f28aea..b586793ec130e 100644
--- a/decidim-conferences/config/locales/el.yml
+++ b/decidim-conferences/config/locales/el.yml
@@ -93,8 +93,6 @@ el:
conference_copies:
new:
copy: Αντιγραφή
- select: Επιλέξτε ποια δεδομένα θέλετε να αντιγράψετε
- title: Αντιγραφή διάσκεψης
conference_publications:
create:
error: Υπήρξε ένα πρόβλημα κατά τη δημοσίευση αυτής της διάσκεψης.
@@ -154,10 +152,6 @@ el:
update:
error: Υπήρξε ένα πρόβλημα κατά την ενημέρωση αυτής της διάσκεψης.
success: Η διάσκεψη ενημερώθηκε με επιτυχία.
- conferences_copies:
- create:
- error: Υπήρξε ένα πρόβλημα κατά την αντιγραφή αυτής της διάσκεψης.
- success: Η διάσκεψη αντιγράφτηκε με επιτυχία.
media_links:
create:
error: Υπήρξε ένα πρόβλημα κατά τη δημιουργία ενός νέου συνδέσμου πολυμέσων.
diff --git a/decidim-conferences/config/locales/es-MX.yml b/decidim-conferences/config/locales/es-MX.yml
index 2a40015d103b8..a0c84bb533c0a 100644
--- a/decidim-conferences/config/locales/es-MX.yml
+++ b/decidim-conferences/config/locales/es-MX.yml
@@ -103,7 +103,7 @@ es-MX:
new:
copy: Copiar
select: Selecciona qué datos quieres duplicar
- title: Conferencia duplicada
+ title: Duplicar la jornada
conference_publications:
create:
error: Hubo un error al publicar esta conferencia.
@@ -176,8 +176,8 @@ es-MX:
success: Conferencia actualizada con éxito.
conferences_copies:
create:
- error: Hubo un error al duplicar esta conferencia.
- success: Conferencia duplicada con éxito.
+ error: Se ha producido un error al duplicar esta jornada.
+ success: La jornada se ha duplicado correctamente.
media_links:
create:
error: Se ha producido un error al crear un nuevo enlace multimedia.
diff --git a/decidim-conferences/config/locales/es-PY.yml b/decidim-conferences/config/locales/es-PY.yml
index a9206dcc3fe5b..636b75cb1ea6b 100644
--- a/decidim-conferences/config/locales/es-PY.yml
+++ b/decidim-conferences/config/locales/es-PY.yml
@@ -102,8 +102,8 @@ es-PY:
conference_copies:
new:
copy: Dupdo
- select: Seleccione qué datos quiere duplicar
- title: Conferencia duplicada
+ select: Selecciona qué datos quieres duplicar
+ title: Duplicar la jornada
conference_publications:
create:
error: Hubo un error al publicar esta conferencia.
@@ -176,8 +176,8 @@ es-PY:
success: Conferencia actualizada con éxito
conferences_copies:
create:
- error: Hubo un error al duplicar esta conferencia.
- success: Conferencia duplicada con éxito.
+ error: Se ha producido un error al duplicar esta jornada.
+ success: La jornada se ha duplicado correctamente.
media_links:
create:
error: Se ha producido un error al crear un nuevo enlace de medios.
diff --git a/decidim-conferences/config/locales/es.yml b/decidim-conferences/config/locales/es.yml
index ff675862f0f1f..77bf58edf09e5 100644
--- a/decidim-conferences/config/locales/es.yml
+++ b/decidim-conferences/config/locales/es.yml
@@ -103,7 +103,7 @@ es:
new:
copy: Copiar
select: Selecciona qué datos quieres duplicar
- title: Jornada duplicada
+ title: Duplicar la jornada
conference_publications:
create:
error: Se ha producido un error al publicar esta jornada.
@@ -177,7 +177,7 @@ es:
conferences_copies:
create:
error: Se ha producido un error al duplicar esta jornada.
- success: Jornada duplicada correctamente.
+ success: La jornada se ha duplicado correctamente.
media_links:
create:
error: Se ha producido un error al crear un nuevo enlace multimedia.
diff --git a/decidim-conferences/config/locales/eu.yml b/decidim-conferences/config/locales/eu.yml
index 23615dfa60147..7ee9b4512fd46 100644
--- a/decidim-conferences/config/locales/eu.yml
+++ b/decidim-conferences/config/locales/eu.yml
@@ -103,7 +103,7 @@ eu:
new:
copy: Kopiatu
select: Hautatu zein datu bikoiztu nahi dituzun
- title: Bikoiztu jardunaldia
+ title: Jardunaldia bikoiztu
conference_publications:
create:
error: Arazo bat egon da jardunaldi hau argitaratzean.
@@ -177,7 +177,7 @@ eu:
conferences_copies:
create:
error: Arazo bat egon da jardunaldi hau bikoiztean.
- success: Jardunaldia zuzen eguneratua.
+ success: Jardunaldia zuzen bikoiztua.
media_links:
create:
error: Arazo bat egon da beste komunikazio-esteka bat sortzean.
@@ -429,7 +429,7 @@ eu:
details_2: Jardunaldiaren xehetasunak eranskinean aurkituko dituzu.
pending_validation:
confirmation_pending: Berrespena jasoko duzu laster
- details: 'To You erregistratu %{registration_type} motako kostua batekin %{price} eta ondorengo gertaerak joateko daiteke:'
+ details: '%{registration_type} motako %{price} tasan erregistratu zara, eta gertaera hauei erantzun diezaiekezu:'
pending_html: %{title} jardunaldirako zure izen-ematea zain dago berresteko.
conference_registrations:
create:
@@ -493,7 +493,7 @@ eu:
models:
conference_invite:
fields:
- email: Helbide elektronkoa
+ email: Helbide elektronikoa
name: izena
registration_type: Izen-emate mota
sent_at: Bidalita
diff --git a/decidim-conferences/config/locales/fi-plain.yml b/decidim-conferences/config/locales/fi-plain.yml
index bbe9bbf4bfb7d..b5c5563684834 100644
--- a/decidim-conferences/config/locales/fi-plain.yml
+++ b/decidim-conferences/config/locales/fi-plain.yml
@@ -176,8 +176,8 @@ fi-pl:
success: Konferenssi päivitetty onnistuneesti.
conferences_copies:
create:
- error: Virhe kopioitaessa konferenssia.
- success: Konferenssi kopioitu onnistuneesti.
+ error: Konferenssin kopioiminen epäonnistui.
+ success: Konferenssin kopioiminen onnistui.
media_links:
create:
error: Luotaessa uutta medialinkkiä tapahtui virhe.
diff --git a/decidim-conferences/config/locales/fi.yml b/decidim-conferences/config/locales/fi.yml
index d5dc40a5f865f..4a49e36243ee0 100644
--- a/decidim-conferences/config/locales/fi.yml
+++ b/decidim-conferences/config/locales/fi.yml
@@ -176,8 +176,8 @@ fi:
success: Konferenssin päivitys onnistui.
conferences_copies:
create:
- error: Konferenssin kopiointi epäonnistui.
- success: Konferenssin kopiointi onnistui.
+ error: Konferenssin kopioiminen epäonnistui.
+ success: Konferenssin kopioiminen onnistui.
media_links:
create:
error: Uuden medialinkin luonti epäonnistui.
diff --git a/decidim-conferences/config/locales/fr-CA.yml b/decidim-conferences/config/locales/fr-CA.yml
index bb46e29cab961..37ed9ef4f94c8 100644
--- a/decidim-conferences/config/locales/fr-CA.yml
+++ b/decidim-conferences/config/locales/fr-CA.yml
@@ -176,7 +176,7 @@ fr-CA:
success: Conférence mise à jour avec succès.
conferences_copies:
create:
- error: Une erreur s'est produite lors de la duplication de cette conférence.
+ error: Un problème est survenu lors de la duplication de cette conférence.
success: Conférence dupliquée avec succès.
media_links:
create:
diff --git a/decidim-conferences/config/locales/fr.yml b/decidim-conferences/config/locales/fr.yml
index 424582b5da7bf..ee27f42c615c4 100644
--- a/decidim-conferences/config/locales/fr.yml
+++ b/decidim-conferences/config/locales/fr.yml
@@ -176,7 +176,7 @@ fr:
success: Conférence mise à jour avec succès.
conferences_copies:
create:
- error: Une erreur s'est produite lors de la duplication de cette conférence.
+ error: Un problème est survenu lors de la duplication de cette conférence.
success: Conférence dupliquée avec succès.
media_links:
create:
diff --git a/decidim-conferences/config/locales/gl.yml b/decidim-conferences/config/locales/gl.yml
index 9880f3fe1aaac..ddaf656198515 100644
--- a/decidim-conferences/config/locales/gl.yml
+++ b/decidim-conferences/config/locales/gl.yml
@@ -80,8 +80,6 @@ gl:
conference_copies:
new:
copy: Copiar
- select: Seleccione os datos que desexa duplicar
- title: Conferencia duplicada
conference_publications:
create:
error: Produciuse un erro ao publicar esta conferencia.
@@ -139,10 +137,6 @@ gl:
update:
error: Houbo un erro ao actualizar esta conferencia.
success: A conferencia actualizouse con éxito.
- conferences_copies:
- create:
- error: Produciuse un erro ao duplicar esta conferencia.
- success: A conferencia duplicouse con éxito.
media_links:
create:
error: Produciuse un erro ao crear unha nova ligazón multimedia.
diff --git a/decidim-conferences/config/locales/hu.yml b/decidim-conferences/config/locales/hu.yml
index 2b9b5130e6d5b..a2dac2f588fc9 100644
--- a/decidim-conferences/config/locales/hu.yml
+++ b/decidim-conferences/config/locales/hu.yml
@@ -99,8 +99,6 @@ hu:
conference_copies:
new:
copy: Másolat
- select: Válassza ki, mely adatokat szeretné megismételni
- title: Duplikált konferencia
conference_publications:
create:
error: Hiba történt a konferencia közzétételében.
@@ -161,10 +159,6 @@ hu:
update:
error: Hiba történt a konferencia frissítésekor.
success: A konferencia sikeresen frissült.
- conferences_copies:
- create:
- error: Hiba történt a konferencia másolása során.
- success: A konferencia sikeresen megismétlődött.
media_links:
create:
error: Hiba történt új média link létrehozása közben.
diff --git a/decidim-conferences/config/locales/id-ID.yml b/decidim-conferences/config/locales/id-ID.yml
index 9f3584e78627e..8231a40fcb777 100644
--- a/decidim-conferences/config/locales/id-ID.yml
+++ b/decidim-conferences/config/locales/id-ID.yml
@@ -44,8 +44,6 @@ id:
conference_copies:
new:
copy: Salinan
- select: Pilih data mana yang ingin Anda gandakan
- title: Konferensi duplikat
conference_publications:
create:
error: Terjadi kesalahan saat mempublikasikan konferensi ini.
@@ -103,10 +101,6 @@ id:
update:
error: Ada kesalahan saat memperbarui konferensi ini.
success: Konferensi berhasil diperbarui.
- conferences_copies:
- create:
- error: Ada kesalahan saat menduplikasi konferensi ini.
- success: Konferensi berhasil digandakan.
media_links:
create:
error: Terjadi kesalahan saat membuat tautan media baru.
diff --git a/decidim-conferences/config/locales/it.yml b/decidim-conferences/config/locales/it.yml
index ab13403cf2f92..61b6fc8cc589f 100644
--- a/decidim-conferences/config/locales/it.yml
+++ b/decidim-conferences/config/locales/it.yml
@@ -80,8 +80,6 @@ it:
conference_copies:
new:
copy: Copia
- select: Seleziona i dati che desideri duplicare
- title: Duplica Conferenza
conference_publications:
create:
error: Si è verificato un errore durante la pubblicazione di questa conferenza.
@@ -140,10 +138,6 @@ it:
update:
error: Si è verificato un errore durante l'aggiornamento di questa conferenza.
success: Conferenza aggiornata con successo.
- conferences_copies:
- create:
- error: Si è verificato un errore durante la duplicazione di questa conferenza.
- success: Conferenza duplicata con successo.
media_links:
create:
error: Si è verificato un errore durante la creazione di un nuovo collegamento multimediale.
diff --git a/decidim-conferences/config/locales/ja.yml b/decidim-conferences/config/locales/ja.yml
index ec9c8ab318752..bb7d39ca5a305 100644
--- a/decidim-conferences/config/locales/ja.yml
+++ b/decidim-conferences/config/locales/ja.yml
@@ -99,7 +99,7 @@ ja:
conference_copies:
new:
copy: コピー
- select: 複製したいデータを選択してください
+ select:
title: カンファレンスを複製
conference_publications:
create:
diff --git a/decidim-conferences/config/locales/lb.yml b/decidim-conferences/config/locales/lb.yml
index 9d33212764581..1d87906082c43 100644
--- a/decidim-conferences/config/locales/lb.yml
+++ b/decidim-conferences/config/locales/lb.yml
@@ -77,10 +77,6 @@ lb:
update:
error: Beim Aktualisieren dieser Konferenz ist ein Fehler aufgetreten.
success: Konferenz wurde erfolgreich aktualisiert.
- conferences_copies:
- create:
- error: Beim Duplizieren dieser Konferenz ist ein Fehler aufgetreten.
- success: Konferenz wurde erfolgreich dupliziert.
media_links:
create:
error: Beim Erstellen einer neuen Medienverknüpfung ist ein Fehler aufgetreten.
diff --git a/decidim-conferences/config/locales/lt.yml b/decidim-conferences/config/locales/lt.yml
index ccf36ec3bc386..f2349c6631db4 100644
--- a/decidim-conferences/config/locales/lt.yml
+++ b/decidim-conferences/config/locales/lt.yml
@@ -99,8 +99,6 @@ lt:
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.
@@ -160,10 +158,6 @@ lt:
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.
diff --git a/decidim-conferences/config/locales/lv.yml b/decidim-conferences/config/locales/lv.yml
index 2df097c1406cb..a976342ea5e3c 100644
--- a/decidim-conferences/config/locales/lv.yml
+++ b/decidim-conferences/config/locales/lv.yml
@@ -50,8 +50,6 @@ lv:
conference_copies:
new:
copy: Kopēt
- select: Atlasiet, kurus datus vēlaties dublēt
- title: Dublēt konferenci
conference_publications:
create:
error: Konferences publicēšanas laikā radās problēma.
@@ -109,10 +107,6 @@ lv:
update:
error: Šīs konferences atjaunināšanas laikā radās problēma.
success: Konference ir veiksmīgi atjaunināta.
- conferences_copies:
- create:
- error: Radās problēma ar šīs konferences dublēšanu.
- success: Konference ir veiksmīgi dublēta.
media_links:
create:
error: Jaunas mediju saites izveides laikā radās problēma.
diff --git a/decidim-conferences/config/locales/nl.yml b/decidim-conferences/config/locales/nl.yml
index a53eccb1a19f8..81c75d92fd060 100644
--- a/decidim-conferences/config/locales/nl.yml
+++ b/decidim-conferences/config/locales/nl.yml
@@ -80,8 +80,6 @@ nl:
conference_copies:
new:
copy: Kopiëren
- select: Selecteer welke gegevens u wilt dupliceren
- title: Dubbele conferentie
conference_publications:
create:
error: Er is een fout opgetreden bij het publiceren van deze conferentie.
@@ -139,10 +137,6 @@ nl:
update:
error: Er is een probleem opgetreden bij het bijwerken van deze conferentie.
success: Conferentie succesvol bijgewerkt.
- conferences_copies:
- create:
- error: Er was een probleem bij het dupliceren van deze conferentie.
- success: Conferentie succesvol gedupliceerd.
media_links:
create:
error: Er is een probleem opgetreden bij het maken van een nieuwe mediakoppeling.
diff --git a/decidim-conferences/config/locales/no.yml b/decidim-conferences/config/locales/no.yml
index c6e9e70758b87..cfe1f38b646f4 100644
--- a/decidim-conferences/config/locales/no.yml
+++ b/decidim-conferences/config/locales/no.yml
@@ -80,8 +80,6 @@
conference_copies:
new:
copy: Kopier
- select: Velg hvilke data du vil duplisere
- title: Duplisert konferanse
conference_publications:
create:
error: Det oppstod et problem med å publisere denne konferansen.
@@ -139,10 +137,6 @@
update:
error: Det oppstod et problem med å oppdatere denne konferansen.
success: Konferansen ble oppdatert.
- conferences_copies:
- create:
- error: Det oppstod et problem med å duplisere denne konferansen.
- success: Konferansen ble duplisert.
media_links:
create:
error: Det oppstod et problem med å opprette en ny media lenke.
diff --git a/decidim-conferences/config/locales/pl.yml b/decidim-conferences/config/locales/pl.yml
index bd338afa0617c..29d91594f7f39 100644
--- a/decidim-conferences/config/locales/pl.yml
+++ b/decidim-conferences/config/locales/pl.yml
@@ -106,8 +106,6 @@ pl:
conference_copies:
new:
copy: Kopiuj
- select: Wybierz dane, które chcesz zduplikować
- title: Zduplikuj konferencję
conference_publications:
create:
error: Wystąpił błąd podczas publikowania tej konferencji.
@@ -174,10 +172,6 @@ pl:
update:
error: Wystąpił błąd podczas aktualizowania konferencji.
success: Konferencja została zaktualizowana pomyślnie.
- conferences_copies:
- create:
- error: Wystąpił błąd podczas duplikowania konferencji.
- success: Konferencja zduplikowana pomyślnie.
media_links:
create:
error: Podczas tworzenia nowego linku do multimediów wystąpił błąd.
diff --git a/decidim-conferences/config/locales/pt-BR.yml b/decidim-conferences/config/locales/pt-BR.yml
index a5f29eb142912..0ca8edfa71ec2 100644
--- a/decidim-conferences/config/locales/pt-BR.yml
+++ b/decidim-conferences/config/locales/pt-BR.yml
@@ -99,8 +99,6 @@ pt-BR:
conference_copies:
new:
copy: cópia de
- select: Selecione quais dados você gostaria de duplicar
- title: Conferência duplicada
conference_publications:
create:
error: Ocorreu um erro ao publicar esta conferência.
@@ -167,10 +165,6 @@ pt-BR:
update:
error: Houve um erro ao atualizar esta conferência.
success: Conferência atualizada com sucesso.
- conferences_copies:
- create:
- error: Houve um erro ao duplicar esta conferência.
- success: Conferência duplicada com sucesso.
media_links:
create:
error: Ocorreu um erro ao criar um novo link de mídia.
@@ -321,7 +315,7 @@ pt-BR:
admin:
conference_copies:
form:
- slug_help_html: 'Os slugs de URL são usados para gerar as URLs que apontam para esta conferência. Aceita apenas letras, números e traços e deve começar com uma letra. Exemplo: %{url}'
+ slug_help_html: 'Os slugs de URL são usados para gerar as URLs que apontam para esta conferência. Aceita apenas letras, números e traços e deve começar com uma letra. Exemplo: %{url}'
conference_invites:
create:
error: Houve um problema ao convidar o usuário para participar da conferência.
diff --git a/decidim-conferences/config/locales/pt.yml b/decidim-conferences/config/locales/pt.yml
index d275d983265b8..08579b96ace9a 100644
--- a/decidim-conferences/config/locales/pt.yml
+++ b/decidim-conferences/config/locales/pt.yml
@@ -80,8 +80,6 @@ pt:
conference_copies:
new:
copy: Copiar
- select: Selecione os dados que pretende duplicar
- title: Conferência duplicada
conference_publications:
create:
error: Ocorreu um problema ao publicar esta conferência.
@@ -139,10 +137,6 @@ pt:
update:
error: Ocorreu um problema ao atualizar esta conferência.
success: Conferência atualizada corretamente.
- conferences_copies:
- create:
- error: Ocorreu um problema ao duplicar esta conferência.
- success: Conferência duplicada com sucesso.
media_links:
create:
error: Ocorreu um problema ao criar uma nova hiperligação de multimédia.
diff --git a/decidim-conferences/config/locales/ro-RO.yml b/decidim-conferences/config/locales/ro-RO.yml
index 872cc47a36c57..0277993ea443a 100644
--- a/decidim-conferences/config/locales/ro-RO.yml
+++ b/decidim-conferences/config/locales/ro-RO.yml
@@ -98,8 +98,6 @@ ro:
conference_copies:
new:
copy: Copiază
- select: Selectați datele pe care doriți să le duplicați
- title: Duplică conferinţa
conference_publications:
create:
error: A apărut o problemă la publicarea acestei conferinţe.
@@ -163,10 +161,6 @@ ro:
update:
error: A apărut o eroare la actualizarea conferinței.
success: Conferință actualizată cu succes.
- conferences_copies:
- create:
- error: A apărut o problemă la duplicarea acestei conferinţe.
- success: Conferință duplicată cu succes.
media_links:
create:
error: A apărut o problemă la crearea unei noi legături media.
diff --git a/decidim-conferences/config/locales/sk.yml b/decidim-conferences/config/locales/sk.yml
index 631e000d0f195..2c5e0ae42d6e3 100644
--- a/decidim-conferences/config/locales/sk.yml
+++ b/decidim-conferences/config/locales/sk.yml
@@ -53,8 +53,6 @@ sk:
conference_copies:
new:
copy: Kopírovať
- select: Označte údaje, ktoré by ste chceli duplikovať
- title: Duplikovať konferenciu
conference_publications:
create:
error: Vyskytol sa problém s publikovaním konferencie.
@@ -112,10 +110,6 @@ sk:
update:
error: Vyskytol sa problém s aktualizáciou tejto konferencie.
success: Konferencia úspešne aktualizovaná.
- conferences_copies:
- create:
- error: Vyskytol sa problém s duplikáciou tejto konferencie.
- success: Konferencia úspešne duplikovaná.
media_links:
create:
error: Pri tvorbe mediálneho odkazu nastala chyba.
diff --git a/decidim-conferences/config/locales/sv.yml b/decidim-conferences/config/locales/sv.yml
index 4185b085246ae..b2dd17c1d53ed 100644
--- a/decidim-conferences/config/locales/sv.yml
+++ b/decidim-conferences/config/locales/sv.yml
@@ -102,8 +102,6 @@ sv:
conference_copies:
new:
copy: Kopiera
- select: Välj vilka data som du vill duplicera
- title: Duplicera konferens
conference_publications:
create:
error: Det gick inte att publicera konferensen.
@@ -174,10 +172,6 @@ sv:
update:
error: Det gick inte att uppdatera konferensen.
success: Konferensen har uppdaterats.
- conferences_copies:
- create:
- error: Det gick inte att duplicera konferensen.
- success: Konferensen har duplicerats.
media_links:
create:
error: Det gick inte att skapa en ny medialänk.
diff --git a/decidim-conferences/config/locales/tr-TR.yml b/decidim-conferences/config/locales/tr-TR.yml
index d2d3d878b4223..f856afc592c10 100644
--- a/decidim-conferences/config/locales/tr-TR.yml
+++ b/decidim-conferences/config/locales/tr-TR.yml
@@ -53,8 +53,6 @@ tr:
conference_copies:
new:
copy: Kopyala
- select: Çoğaltmak istediğiniz verileri seçin
- title: Konferansı çoğalt
conference_publications:
create:
error: Bu konferansı yayınlarken bir sorun oluştu.
@@ -112,10 +110,6 @@ tr:
update:
error: Bu konferans güncellenirken bir hata oluştu.
success: Konferans başarıyla güncellendi.
- conferences_copies:
- create:
- error: Bu konferansı çoğaltırken bir hata oluştu.
- success: Konferans başarıyla kopyalandı.
media_links:
create:
error: Yeni bir medya bağlantısı oluştururken bir hata oluştu.
diff --git a/decidim-conferences/config/locales/zh-CN.yml b/decidim-conferences/config/locales/zh-CN.yml
index d0ff1297f5dbf..d5997deda0ebf 100644
--- a/decidim-conferences/config/locales/zh-CN.yml
+++ b/decidim-conferences/config/locales/zh-CN.yml
@@ -44,8 +44,6 @@ zh-CN:
conference_copies:
new:
copy: 复制
- select: 选择要重复的数据
- title: 复制会议
conference_publications:
create:
error: 发布此会议时出现问题。
@@ -103,10 +101,6 @@ zh-CN:
update:
error: 更新此会议时出现问题。
success: 会议已成功更新。
- conferences_copies:
- create:
- error: 复制此会议时出现问题。
- success: 会议成功重复。
media_links:
create:
error: 创建新媒体链接时出现问题。
diff --git a/decidim-conferences/config/locales/zh-TW.yml b/decidim-conferences/config/locales/zh-TW.yml
index 147b5784554da..506fab10c03d6 100644
--- a/decidim-conferences/config/locales/zh-TW.yml
+++ b/decidim-conferences/config/locales/zh-TW.yml
@@ -90,8 +90,6 @@ zh-TW:
conference_copies:
new:
copy: 複製
- select: 請選擇您想要複製的資料
- title: 複製研討會
conference_publications:
create:
error: 發布此研討會時出現問題。
@@ -151,10 +149,6 @@ zh-TW:
update:
error: 更新此研討會時發生問題。
success: 研討會更新成功。
- conferences_copies:
- create:
- error: 複製此研討會時發生問題。
- success: 研討會複製成功。
media_links:
create:
error: 創建新的媒體連結時出現問題。
diff --git a/decidim-conferences/lib/decidim/conferences/admin_engine.rb b/decidim-conferences/lib/decidim/conferences/admin_engine.rb
index 7e3ffb0a2832e..a6ab648ff7111 100644
--- a/decidim-conferences/lib/decidim/conferences/admin_engine.rb
+++ b/decidim-conferences/lib/decidim/conferences/admin_engine.rb
@@ -66,6 +66,7 @@ class AdminEngine < ::Rails::Engine
put :unpublish
get :share
end
+ resources :component_share_tokens, except: [:show], path: "share_tokens", as: "share_tokens"
resources :exports, only: :create
resources :imports, only: [:new, :create] do
get :example, on: :collection
@@ -81,6 +82,8 @@ class AdminEngine < ::Rails::Engine
end
resources :reports, controller: "moderations/reports", only: [:index, :show]
end
+
+ resources :conference_share_tokens, except: [:show], path: "share_tokens"
end
scope "/conferences/:conference_slug/components/:component_id/manage" do
diff --git a/decidim-conferences/lib/decidim/conferences/menu.rb b/decidim-conferences/lib/decidim/conferences/menu.rb
index a99250eda1b05..4fe7756cf0a4d 100644
--- a/decidim-conferences/lib/decidim/conferences/menu.rb
+++ b/decidim-conferences/lib/decidim/conferences/menu.rb
@@ -48,6 +48,7 @@ def self.register_admin_conferences_components_menu!
active: is_active_link?(manage_component_path(component)) ||
is_active_link?(decidim_admin_conferences.edit_component_path(current_participatory_space, component)) ||
is_active_link?(decidim_admin_conferences.edit_component_permissions_path(current_participatory_space, component)) ||
+ is_active_link?(decidim_admin_conferences.component_share_tokens_path(current_participatory_space, component)) ||
participatory_space_active_link?(component),
if: component.manifest.admin_engine && user_role_config.component_is_accessible?(component.manifest_name)
end
@@ -172,6 +173,13 @@ def self.register_conferences_admin_menu!
decidim_admin_conferences.moderations_path(current_participatory_space),
icon_name: "flag-line",
if: allowed_to?(:read, :moderation, conference: current_participatory_space)
+
+ menu.add_item :conference_share_tokens,
+ I18n.t("menu.share_tokens", scope: "decidim.admin"),
+ decidim_admin_conferences.conference_share_tokens_path(current_participatory_space),
+ active: is_active_link?(decidim_admin_conferences.conference_share_tokens_path(current_participatory_space)),
+ icon_name: "share-line",
+ if: allowed_to?(:read, :share_tokens, current_participatory_space:)
end
end
diff --git a/decidim-conferences/lib/decidim/conferences/version.rb b/decidim-conferences/lib/decidim/conferences/version.rb
index a673874dc1e17..3bcabdb5f8d59 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.29.4"
+ "0.29.6"
end
end
end
diff --git a/decidim-conferences/spec/shared/manage_conference_components_examples.rb b/decidim-conferences/spec/shared/manage_conference_components_examples.rb
index 984657311f43c..873eea4c69fe5 100644
--- a/decidim-conferences/spec/shared/manage_conference_components_examples.rb
+++ b/decidim-conferences/spec/shared/manage_conference_components_examples.rb
@@ -209,8 +209,6 @@
}
))
end
-
- it_behaves_like "manage component share tokens"
end
context "when the component is published" do
diff --git a/decidim-conferences/spec/system/admin/admin_manages_conference_component_share_tokens_spec.rb b/decidim-conferences/spec/system/admin/admin_manages_conference_component_share_tokens_spec.rb
new file mode 100644
index 0000000000000..faa819ab0fd9c
--- /dev/null
+++ b/decidim-conferences/spec/system/admin/admin_manages_conference_component_share_tokens_spec.rb
@@ -0,0 +1,12 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+describe "Admin manages conference component share tokens" do
+ include_context "when admin administrating a conference"
+
+ it_behaves_like "manage component share tokens" do
+ let(:participatory_space) { conference }
+ let(:participatory_space_engine) { decidim_admin_conferences }
+ end
+end
diff --git a/decidim-conferences/spec/system/admin/admin_manages_conference_share_tokens_spec.rb b/decidim-conferences/spec/system/admin/admin_manages_conference_share_tokens_spec.rb
new file mode 100644
index 0000000000000..827e50a37b565
--- /dev/null
+++ b/decidim-conferences/spec/system/admin/admin_manages_conference_share_tokens_spec.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+describe "Admin manages conference share tokens" do
+ include_context "when admin administrating a conference"
+ let(:participatory_space) { conference }
+ let(:participatory_space_path) { decidim_admin_conferences.edit_conference_path(conference) }
+ let(:participatory_spaces_path) { decidim_admin_conferences.conferences_path }
+
+ it_behaves_like "manage participatory space share tokens"
+
+ context "when the user is a conference admin" do
+ let(:user) { create(:user, :confirmed, :admin_terms_accepted, organization:) }
+ let!(:role) { create(:conference_user_role, user:, conference:, role: :admin) }
+
+ it_behaves_like "manage participatory space share tokens"
+ end
+end
diff --git a/decidim-conferences/spec/system/preview_conference_with_share_token_spec.rb b/decidim-conferences/spec/system/preview_conference_with_share_token_spec.rb
new file mode 100644
index 0000000000000..714c761d7f5aa
--- /dev/null
+++ b/decidim-conferences/spec/system/preview_conference_with_share_token_spec.rb
@@ -0,0 +1,11 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+describe "Preview conference with share token" do
+ let(:organization) { create(:organization) }
+ let!(:participatory_space) { create(:conference, organization:, published_at: nil) }
+ let(:resource_path) { decidim_conferences.conference_path(participatory_space) }
+
+ it_behaves_like "preview participatory space with a share_token"
+end
diff --git a/decidim-core/app/cells/decidim/activity/show.erb b/decidim-core/app/cells/decidim/activity/show.erb
index c54f28f42a809..dea32ff9a758e 100644
--- a/decidim-core/app/cells/decidim/activity/show.erb
+++ b/decidim-core/app/cells/decidim/activity/show.erb
@@ -1,19 +1,19 @@
diff --git a/decidim-core/config/locales/ar.yml b/decidim-core/config/locales/ar.yml
index a08a26f449583..a5aef84f2c34b 100644
--- a/decidim-core/config/locales/ar.yml
+++ b/decidim-core/config/locales/ar.yml
@@ -1052,10 +1052,8 @@ ar:
unsubscribe:
success: أنت غير مشترك بنجاح.
token_error: انتهت صلاحية الرابط.
- unsubscribe: إلغاء الاشتراك
newsletters_opt_in_mailer:
notify:
- body_1: تزداد أهمية معالجة البيانات الشخصية وحمايتها بالنسبة لنا جميعًا. مع اللائحة العامة الجديدة لحماية البيانات (GDPR) المؤرخة 25 مايو 2018 ، أصبح للأفراد سيطرة أفضل على بياناتهم الشخصية. لهذا السبب نحتاج إلى "موافق" لمواصلة إرسال المعلومات ذات الصلة حول أنشطة %{organization_name}.
body_2: 'كيف يمكنك أن تعطينا موافقتك؟ فقط انقر على الزر التالي:'
body_3: مع هذه الموافقة ، ستتمكن من متابعة تلقي معلومات حول خدمات النظام الأساسي. على العكس من ذلك ، إذا لم نتلق تأكيدًا إيجابيًا من جانبك ، فسنوقف إرسال رسائلنا إليك. إذا أكدت رغبتك في أن تظل على اطلاع ، فسيكون لديك دائمًا خيار الإلغاء في أي وقت.
button: نعم ، أرغب في متابعة تلقي المعلومات ذات الصلة
diff --git a/decidim-core/config/locales/bg-BG.yml b/decidim-core/config/locales/bg-BG.yml
index 574408508a9dd..8c056f8027858 100644
--- a/decidim-core/config/locales/bg-BG.yml
+++ b/decidim-core/config/locales/bg-BG.yml
@@ -405,7 +405,7 @@ bg:
newsletter: Получавайте извънреден бюлетин с подходяща информация
newsletter_title: Разрешение за контакт с Вас
nickname_help: Вашя псевдоним в %{organization}
- password_help: "Минимум %{minimun_characters} символа, не трябва да са разпространени (например, 123456) и трябва да са различни от вашите име и ел. поща."
+ password_help: "Минимум %{minimum_characters} символа, не трябва да са разпространени (например, 123456) и трябва да са различни от вашите име и ел. поща."
sign_in: Вход
sign_up: Регистрация
sign_up_as:
@@ -1315,7 +1315,7 @@ bg:
change_your_password: Промени паролата си
confirm_new_password: Потвърди нова парола
new_password: Нова парола
- password_help: "Минимум %{minimun_characters} символа, не трябва да са разпространени (например, 123456) и трябва да са различни от вашите име и ел. поща."
+ password_help: "Минимум %{minimum_characters} символа, не трябва да са разпространени (например, 123456) и трябва да са различни от вашите име и ел. поща."
new:
forgot_your_password: Забравили сте паролата си?
send_me_reset_password_instructions: Изпрати ми инструкции за възстановяване на паролата
diff --git a/decidim-core/config/locales/bg.yml b/decidim-core/config/locales/bg.yml
index d69f59b325197..1ce73bfc44b77 100644
--- a/decidim-core/config/locales/bg.yml
+++ b/decidim-core/config/locales/bg.yml
@@ -1213,11 +1213,9 @@ bg:
main_image: Основно изображение
newsletters:
unsubscribe:
- check_subscription: За да зададете предпочитанията си, отидете в страницата настройки.
error: Възникна проблем при прекратяването на абонамента.
success: Отписахте се успешно.
token_error: Срокът на връзката е изтекъл.
- unsubscribe: Отписване
newsletters_opt_in:
unauthorized: Съжаляваме, този линк вече не е активен.
update:
@@ -1225,7 +1223,6 @@ bg:
success: Настройките за бюлетина са успешно обновени.
newsletters_opt_in_mailer:
notify:
- body_1: Обработката на личните данни и тяхната защита стават все по-важни за всички нас. С новия Общ регламент за защита на данните (GDPR) от 25 май 2018 г. лицата имат по-добър контрол върху личните си данни. Поради тази причина се нуждаем от вашето съгласие, за да продължим да изпращаме подходяща информация за дейностите на %{organization_name}.
body_2: 'Как можете да ни дадете своето съгласие? Просто щракнете върху следния бутон:'
body_3: С това съгласие ще продължите да получавате информация за дейностите в платформата. Ако не получим потвърждение от Ваша страна, ще спрем да ви изпращаме нашите съобщения. Дори да потвърдите, че желаете да бъдете информирани, винаги ще имате възможност да се откажете по всяко време.
button: Да, желая да продължа да получавам подбрана информация
diff --git a/decidim-core/config/locales/ca-IT.yml b/decidim-core/config/locales/ca-IT.yml
index d8179d8998f80..d2d15a45cb999 100644
--- a/decidim-core/config/locales/ca-IT.yml
+++ b/decidim-core/config/locales/ca-IT.yml
@@ -57,7 +57,7 @@ ca-IT:
decidim/attachment_created_event: Arxiu adjunt
decidim/component_published_event: Component actiu
decidim/demoted_membership: Ja no ets una administradora del grup
- decidim/gamification/badge_earned_event: Insígnia obtinguda
+ decidim/gamification/badge_earned_event: Ensenya obtinguda
decidim/gamification/level_up_event: Has pujat de nivell
decidim/invited_to_group_event: Convidada al grup
decidim/join_request_accepted_event: Sol·licitud d'incorporació acceptada
@@ -967,7 +967,7 @@ ca-IT:
dropzone: Arrossega-hi els arxius o fes clic per a pujar-los
explanation: Guia per a %{attribute}
gamification:
- all_badges_link: Veure totes les insígnies disponibles.
+ all_badges_link: Veure totes les ensenyes disponibles.
badges:
followers:
conditions:
@@ -980,11 +980,11 @@ ca-IT:
unearned_another: Aquesta participant encara no té seguidores.
unearned_own: Encara no et segueix ningú.
index:
- badge_title: "Insígnia %{name}"
+ badge_title: "Ensenya %{name}"
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
- 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.
+ page_description: Les ensenyes 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'ensenyes i algunes formes d'aconseguir-les.
+ title: Ensenyes
+ description: Les ensenyes 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 ensenya.
title: Què són les ensenyes?
@@ -1267,11 +1267,12 @@ ca-IT:
main_image: Imatge principal
newsletters:
unsubscribe:
- check_subscription: Si vols canviar les teves preferències, pots fer-ho a la pàgina de configuració.
+ check_subscription_html: Si els vols tornar a rebre, pots tornar a activar la teva subscripció en qualsevol moment des de la pàgina de configuració.
error: S'ha produït un error en cancel·lar la subscripció.
+ subscription_preferences: Hem actualitzat les teves preferències de subscripció i ja no rebràs butlletins informatius de %{organization_name}.
success: Has cancel·lat la subscripció correctament.
token_error: L'enllaç ha caducat.
- unsubscribe: Anul·la la subscripció
+ unsubscribe: Cancel·lar la subscripció al butlletí informatiu
newsletters_opt_in:
unauthorized: Ho sentim, aquest enllaç ja no està disponible.
update:
@@ -1279,7 +1280,7 @@ ca-IT:
success: La configuració del butlletí de notícies s'ha actualitzat correctament.
newsletters_opt_in_mailer:
notify:
- body_1: El processament de les dades personals i la seva protecció cada vegada és més important per a totes nosaltres. Amb el nou Reglament General de Protecció de Dades (GDPR) del 25 de maig de 2018, les persones tenen un major control sobre les seves dades personals. Per aquest motiu, necessitem la teva autorització per continuar enviant informació rellevant sobre les activitats del %{organization_name}.
+ body_1: El processament de les dades personals i la seva protecció cada vegada és més important per a totes nosaltres. Amb el Reglament General de Protecció de Dades (GDPR) del 25 de maig de 2018, les persones tenen un major control sobre les seves dades personals. Per aquest motiu, necessitem la teva autorització per continuar enviant informació rellevant sobre les activitats del %{organization_name}.
body_2: 'Com ens pots donar el teu consentiment? Només cal que facis clic al botó següent:'
body_3: Donant consentiment podràs continuar rebent informació sobre els serveis de la plataforma. Si, al contrari, no rebem una confirmació positiva de la teva part, deixarem d'enviar-te els nostres missatges. Si confirmes que vols mantenir-te informada, sempre tindràs l'opció de cancel·lar en qualsevol moment.
button: Sí, vull continuar rebent informació rellevant
@@ -1411,7 +1412,7 @@ ca-IT:
default_officialization_text_for_users: Aquesta participant està verificada públicament. S'ha verificat que el seu nom o la seva funció es correspon amb el seu nom i funció reals.
show:
activity: Activitat
- badges: Insígnies
+ badges: Ensenyes
conversations: Converses
followers: Seguidores
following: Seguint
@@ -1523,6 +1524,7 @@ ca-IT:
close_modal: Tancar el modal
ok: D'acord
title: Confirmar
+ confirm_unload: Aquesta pàgina conté canvis sense desar. Segur que vols abandonar aquesta pàgina?
embed:
title: Contingut del vídeo incrustat
extended_navigation_bar:
@@ -1662,7 +1664,7 @@ ca-IT:
show:
version_index: Versió %{index} de %{total}
welcome_notification:
- default_body:
Hola {{name}}, gràcies per unir-te a {{organization}} et donem la benvinguda!
Si vole fer-te una idea ràpida de que pots fer-hi, fes una ullada a la Secció d'ajuda.
Una vegada l'hagis llegit rebràs la teva primera ensenya. Aquí trobaràs un llistat de totes les ensenyesque pots aconsegui participant a {{organization}}
. Per acabar, però no per això menys important, uneix-te a d'altres persones, comparteix amb elles d'estar compromesa i de participar a {{organization}}. Fes propostes, comentaris, debat, pensa en com contribuir a un bé comú, aporta arguments per mirar de convèncer, escolta i llegeix per convèncer-te, expressa les teves idees de manera concreta i directa, respon amb paciència i decisió, defensa les teves idees i resta oberta de ment per a col·laborar i unir-te a les idees d'altra gent.
+ default_body:
Hola {{name}}, gràcies per unir-te a {{organization}} i benvinguda!
Si vols fer-te una idea ràpida del que pots fer aquí, fes un cop d'ull a la secció d'Ajuda.
Un cop l'hagis llegit obtindràs la teva primera ensenya. Aquí tens la llista de totes les ensenyes que pots anar aconseguint a mesura que participis a {{organization}}
Finalment, però no per això menys important, uneix-te a altres persones, comparteix amb elles l'experiència d'implicar-se i participar a {{organization}}. Fes propostes, comenta, debat, pensa en com contribuir al bé comú, aporta arguments per convèncer, escolta i llegeix per convèncer-te, expressa les teves idees de manera concreta i directa, respon amb paciència i decisió, defensa les teves idees i manté la ment oberta a col·laborar i sumar-te a les idees d'altres persones.
default_subject: Gràcies per unir-te a {{organization}}!
wizard_step_form:
wizard_aside:
@@ -1986,14 +1988,17 @@ ca-IT:
edit: Edita
footer:
cc_by_license: Amb llicència Creative Commons
+ current_organization_img: "%{organization} (Anar a la pàgina d'inici)"
data_consent_settings: Configuració de les galetes
decidim_logo: Logo Decidim
decidim_title: Decidim
download_open_data: Descarrega els fitxers de dades obertes
+ help: Ajuda
log_in: Entra
made_with_open_source: Web creada amb programari lliure.
resources: Recursos
sign_up: Crea un compte
+ social_media: Xarxes socials
terms_of_service: Termes i condicions d'ús
header:
log_in: Entra
@@ -2033,6 +2038,8 @@ ca-IT:
profile: El meu compte
public_profile: El meu perfil públic
title: Enllaços del perfil
+ unread_conversations: Tens converses sense llegir
+ unread_notifications: Tens notificacions sense llegir
user_profile:
account: Compte
authorizations: Autoritzacions
diff --git a/decidim-core/config/locales/ca.yml b/decidim-core/config/locales/ca.yml
index b0b535afc0bdc..48bf25aed0c81 100644
--- a/decidim-core/config/locales/ca.yml
+++ b/decidim-core/config/locales/ca.yml
@@ -57,7 +57,7 @@ ca:
decidim/attachment_created_event: Arxiu adjunt
decidim/component_published_event: Component actiu
decidim/demoted_membership: Ja no ets una administradora del grup
- decidim/gamification/badge_earned_event: Insígnia obtinguda
+ decidim/gamification/badge_earned_event: Ensenya obtinguda
decidim/gamification/level_up_event: Has pujat de nivell
decidim/invited_to_group_event: Convidada al grup
decidim/join_request_accepted_event: Sol·licitud d'incorporació acceptada
@@ -967,7 +967,7 @@ ca:
dropzone: Arrossega-hi els arxius o fes clic per a pujar-los
explanation: Guia per a %{attribute}
gamification:
- all_badges_link: Veure totes les insígnies disponibles.
+ all_badges_link: Veure totes les ensenyes disponibles.
badges:
followers:
conditions:
@@ -980,11 +980,11 @@ ca:
unearned_another: Aquesta participant encara no té seguidores.
unearned_own: Encara no et segueix ningú.
index:
- badge_title: "Insígnia %{name}"
+ badge_title: "Ensenya %{name}"
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
- 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.
+ page_description: Les ensenyes 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'ensenyes i algunes formes d'aconseguir-les.
+ title: Ensenyes
+ description: Les ensenyes 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 ensenya.
title: Què són les ensenyes?
@@ -1267,11 +1267,12 @@ ca:
main_image: Imatge principal
newsletters:
unsubscribe:
- check_subscription: Si vols canviar les teves preferències, pots fer-ho a la pàgina de configuració.
+ check_subscription_html: Si els vols tornar a rebre, pots tornar a activar la teva subscripció en qualsevol moment des de la pàgina de configuració.
error: S'ha produït un error en cancel·lar la subscripció.
+ subscription_preferences: Hem actualitzat les teves preferències de subscripció i ja no rebràs butlletins informatius de %{organization_name}.
success: Has cancel·lat la subscripció correctament.
token_error: L'enllaç ha caducat.
- unsubscribe: Anul·la la subscripció
+ unsubscribe: Cancel·lar la subscripció al butlletí informatiu
newsletters_opt_in:
unauthorized: Ho sentim, aquest enllaç ja no està disponible.
update:
@@ -1279,7 +1280,7 @@ ca:
success: La configuració del butlletí de notícies s'ha actualitzat correctament.
newsletters_opt_in_mailer:
notify:
- body_1: El processament de les dades personals i la seva protecció cada vegada és més important per a totes nosaltres. Amb el nou Reglament General de Protecció de Dades (GDPR) del 25 de maig de 2018, les persones tenen un major control sobre les seves dades personals. Per aquest motiu, necessitem la teva autorització per continuar enviant informació rellevant sobre les activitats del %{organization_name}.
+ body_1: El processament de les dades personals i la seva protecció cada vegada és més important per a totes nosaltres. Amb el Reglament General de Protecció de Dades (GDPR) del 25 de maig de 2018, les persones tenen un major control sobre les seves dades personals. Per aquest motiu, necessitem la teva autorització per continuar enviant informació rellevant sobre les activitats del %{organization_name}.
body_2: 'Com ens pots donar el teu consentiment? Només cal que facis clic al botó següent:'
body_3: Donant consentiment podràs continuar rebent informació sobre els serveis de la plataforma. Si, al contrari, no rebem una confirmació positiva de la teva part, deixarem d'enviar-te els nostres missatges. Si confirmes que vols mantenir-te informada, sempre tindràs l'opció de cancel·lar en qualsevol moment.
button: Sí, vull continuar rebent informació rellevant
@@ -1411,7 +1412,7 @@ ca:
default_officialization_text_for_users: Aquesta participant està verificada públicament. S'ha verificat que el seu nom o la seva funció es correspon amb el seu nom i funció reals.
show:
activity: Activitat
- badges: Insígnies
+ badges: Ensenyes
conversations: Converses
followers: Seguidores
following: Seguint
@@ -1523,6 +1524,7 @@ ca:
close_modal: Tancar el modal
ok: D'acord
title: Confirmar
+ confirm_unload: Aquesta pàgina conté canvis sense desar. Segur que vols abandonar aquesta pàgina?
embed:
title: Contingut del vídeo incrustat
extended_navigation_bar:
@@ -1662,7 +1664,7 @@ ca:
show:
version_index: Versió %{index} de %{total}
welcome_notification:
- default_body:
Hola {{name}}, gràcies per unir-te a {{organization}} et donem la benvinguda!
Si vole fer-te una idea ràpida de que pots fer-hi, fes una ullada a la Secció d'ajuda.
Una vegada l'hagis llegit rebràs la teva primera ensenya. Aquí trobaràs un llistat de totes les ensenyesque pots aconsegui participant a {{organization}}
. Per acabar, però no per això menys important, uneix-te a d'altres persones, comparteix amb elles d'estar compromesa i de participar a {{organization}}. Fes propostes, comentaris, debat, pensa en com contribuir a un bé comú, aporta arguments per mirar de convèncer, escolta i llegeix per convèncer-te, expressa les teves idees de manera concreta i directa, respon amb paciència i decisió, defensa les teves idees i resta oberta de ment per a col·laborar i unir-te a les idees d'altra gent.
+ default_body:
Hola {{name}}, gràcies per unir-te a {{organization}} i benvinguda!
Si vols fer-te una idea ràpida del que pots fer aquí, fes un cop d'ull a la secció d'Ajuda.
Un cop l'hagis llegit obtindràs la teva primera ensenya. Aquí tens la llista de totes les ensenyes que pots anar aconseguint a mesura que participis a {{organization}}
Finalment, però no per això menys important, uneix-te a altres persones, comparteix amb elles l'experiència d'implicar-se i participar a {{organization}}. Fes propostes, comenta, debat, pensa en com contribuir al bé comú, aporta arguments per convèncer, escolta i llegeix per convèncer-te, expressa les teves idees de manera concreta i directa, respon amb paciència i decisió, defensa les teves idees i manté la ment oberta a col·laborar i sumar-te a les idees d'altres persones.
default_subject: Gràcies per unir-te a {{organization}}!
wizard_step_form:
wizard_aside:
@@ -1986,14 +1988,17 @@ ca:
edit: Edita
footer:
cc_by_license: Amb llicència Creative Commons
+ current_organization_img: "%{organization} (Anar a la pàgina d'inici)"
data_consent_settings: Configuració de les galetes
decidim_logo: Logo Decidim
decidim_title: Decidim
download_open_data: Descarrega els fitxers de dades obertes
+ help: Ajuda
log_in: Entra
made_with_open_source: Web creada amb programari lliure.
resources: Recursos
sign_up: Crea un compte
+ social_media: Xarxes socials
terms_of_service: Termes i condicions d'ús
header:
log_in: Entra
@@ -2033,6 +2038,8 @@ ca:
profile: El meu compte
public_profile: El meu perfil públic
title: Enllaços del perfil
+ unread_conversations: Tens converses sense llegir
+ unread_notifications: Tens notificacions sense llegir
user_profile:
account: Compte
authorizations: Autoritzacions
diff --git a/decidim-core/config/locales/cs.yml b/decidim-core/config/locales/cs.yml
index 5eb66f7c7e5a3..6a775e91f2449 100644
--- a/decidim-core/config/locales/cs.yml
+++ b/decidim-core/config/locales/cs.yml
@@ -186,6 +186,12 @@ cs:
few: "%{count} sekundy"
many: "%{count} sekund"
other: "%{count} sekund"
+ widget:
+ label:
+ date: Vyberte datum pro %{label}
+ time: Vyberte čas pro %{label}
+ picker:
+ time_button: Otevřít výběr času pro %{label}
decidim:
accessibility:
external_link: Externí odkaz
@@ -1026,6 +1032,8 @@ cs:
title: Jaké jsou odznaky?
group_admins:
actions:
+ confirm_modal:
+ ok_add: Přidat administrátora
demote_admin: Odstranit admin
demote:
error: Při odebrání tohoto účastníka ze seznamu administrátorů došlo k chybě.
@@ -1055,6 +1063,9 @@ cs:
error: Při přijímání této žádosti o připojení došlo k chybě.
success: Žádost o připojení byla úspěšně přijata.
actions:
+ confirm_modal:
+ ok_remove: Odebrat člena
+ title_remove: Odebrat člena
promote_to_admin: Udělat adminem
remove_from_group: Odstranit uživatele
index:
@@ -1292,11 +1303,10 @@ cs:
main_image: Hlavní obrázek
newsletters:
unsubscribe:
- check_subscription: Pokud chcete změnit své předvolby, můžete tak učinit na konfigurační stránce.
error: Při odhlášení došlo k chybě.
success: Úspěšně jste odhlášeni.
token_error: Platnost odkazu vypršela.
- unsubscribe: Odhlásit odběr
+ unsubscribe: Odhlásit odběr zpravodaje
newsletters_opt_in:
unauthorized: Je nám líto, tento odkaz již není k dispozici.
update:
@@ -1304,7 +1314,6 @@ cs:
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}.
body_2: 'Jak nám můžete dát svůj souhlas? Stačí kliknout na následující tlačítko:'
body_3: S tímto souhlasem budete moci pokračovat v přijímání informací o službách platformy. Pokud naopak nedostaneme pozitivní potvrzení z vašeho hlediska, přestaneme vám posílat naše zprávy. Pokud potvrdíte, že chcete být stále informováni, máte vždy možnost kdykoli zrušit.
button: Ano, chci i nadále přijímat relevantní informace
@@ -1464,8 +1473,10 @@ cs:
fill_in_email_to_confirm_it: Pro potvrzení vyplňte e-mailovou adresu skupiny.
reported_mailer:
hidden_automatically:
+ content: Nahlášený obsah
details: Podrobnosti
hello: Dobrý den %{name},
+ manage_moderations: Spravovat moderace
participatory_space: Participativní prostor
reason: Důvod
report_html:
@@ -1545,6 +1556,7 @@ cs:
close_modal: Zavřít okno
ok: OK
title: Potvrdit
+ confirm_unload: Tato stránka obsahuje neuložené změny. Opravdu chcete opustit tuto stránku?
embed:
title: Vložený obsah videa
extended_navigation_bar:
@@ -1782,7 +1794,7 @@ cs:
confirm_new_password: Potvrďte nové heslo
new_password: Nové heslo
old_password_help: Chcete-li potvrdit změny vašeho účtu, zadejte prosím své aktuální heslo.
- password_help: "minimální počet znaků je %{minimun_characters}, nesmí být příliš obvyklý (např. 123456) a musí se lišit od vašeho uživatelského jména a e-mailu."
+ password_help: "minimální počet znaků je %{minimum_characters}, nesmí být příliš obvyklý (např. 123456) a musí se lišit od vašeho uživatelského jména a e-mailu."
password_help_admin: "minimální počet znaků je %{minimum_characters}, nesmí být příliš časté (např. 123456), musí se lišit od vaší přezdívky a e-mailu a musí se lišit od vašich starých hesel."
title: Změna hesla
new:
@@ -2019,10 +2031,12 @@ cs:
decidim_logo: Logo Decidim
decidim_title: Decidim
download_open_data: Stáhněte si soubory s otevřenými daty
+ help: Nápověda
log_in: Přihlásit
made_with_open_source: Webová stránka vytvořená s svobodným softwarem.
resources: Zdroje
sign_up: Vytvořit účet
+ social_media: Sociální sítě
terms_of_service: Podmínky služby
header:
log_in: Přihlásit
@@ -2062,6 +2076,8 @@ cs:
profile: Můj účet
public_profile: Můj veřejný profil
title: Profilové odkazy
+ unread_conversations: Máte nepřečtené konverzace
+ unread_notifications: Máte nepřečtené oznámení
user_profile:
account: Účet
authorizations: Autorizace
diff --git a/decidim-core/config/locales/de.yml b/decidim-core/config/locales/de.yml
index d9abaaf99dadf..fd36c0e06d4ca 100644
--- a/decidim-core/config/locales/de.yml
+++ b/decidim-core/config/locales/de.yml
@@ -160,6 +160,13 @@ de:
x_seconds:
one: 1 Sekunde
other: "%{count} Sekunden"
+ widget:
+ label:
+ date: Datum für %{label} auswählen
+ time: Zeit für %{label} auswählen
+ picker:
+ date_button: Kalenderauswahl für %{label} öffnen
+ time_button: Öffne Zeitauswahl für %{label}
decidim:
accessibility:
external_link: Externer Link
@@ -176,7 +183,7 @@ de:
close: Fenster schließen
ok: Ja, ich möchte mein Konto löschen
question: Sind Sie sicher, dass Sie Ihr Konto löschen möchten?
- title: Mein Konto löschen
+ title: Konto löschen
explanation: Bitte geben Sie den Grund an, warum Sie Ihr Konto löschen möchten (optional).
leaving_authorizations_behind: Einige Daten, die an Ihre Autorisierung gebunden sind, werden aus Sicherheitsgründen gespeichert. Wenn Sie ein anderes Konto erstellen und erneut autorisieren, werden diese Daten auf Ihr neues Konto wiederhergestellt.
destroy:
@@ -687,13 +694,14 @@ de:
success: Bild erfolgreich hochgeladen.
drag_and_drop_help: Sie können Bilder per Drag & Drop hinzufügen oder per Copy & Paste.
endorsement_buttons_cell:
- already_endorsed: Gefällt mir nicht
+ already_endorsed: Nicht unterstützen
+ endorse: Unterstützen
endorsements:
identities:
done: Erledigt
select_identity: Identität auswählen
endorsers_list:
- endorsed_by: Gefällt…
+ endorsed_by: Unterstützt von…
errors:
files:
file_cannot_be_processed: Datei konnte nicht verarbeitet werden
@@ -719,68 +727,68 @@ de:
amendments:
amendment_accepted:
affected_user:
- email_intro: 'Eine Änderung an %{amendable_title} wurde akzeptiert. Sie können das auf dieser Seite sehen:'
+ email_intro: 'Eine Änderung an %{amendable_title} wurde akzeptiert. Sehen Sie es sich auf dieser Seite an:'
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Autor von %{amendable_title} sind.
email_subject: Akzeptierte Änderung für %{amendable_title} von %{emendation_author_nickname}
notification_title: Die Änderung von %{emendation_author_nickname} für %{amendable_title} wurde angenommen.
follower:
- email_intro: 'Eine Änderung für %{amendable_title} wurde akzeptiert. Sie können das auf dieser Seite sehen:'
+ email_intro: 'Eine Änderung für %{amendable_title} wurde akzeptiert. Sehen Sie es sich auf dieser Seite an:'
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{amendable_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link.
email_subject: Akzeptierte Änderung für %{amendable_title} von %{emendation_author_nickname}
notification_title: Die Änderung von %{emendation_author_nickname} für %{amendable_title} wurde akzeptiert.
amendment_created:
affected_user:
- email_intro: 'Eine neue Änderung wurde für %{amendable_title} vorgeschlagen. Sie können das auf dieser Seite sehen:'
+ email_intro: 'Eine neue Änderung wurde für %{amendable_title} vorgeschlagen. Sehen Sie es sich auf dieser Seite an:'
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Autor von %{amendable_title} sind.
email_subject: Neuer Änderungsantrag für %{amendable_title}
notification_title: Neue Änderung für %{amendable_title} erstellt.
follower:
- email_intro: 'Eine neue Änderung für %{amendable_title} wurde erstellt. Sie können das auf dieser Seite sehen:'
+ email_intro: 'Eine neue Änderung für %{amendable_title} wurde erstellt. Sehen Sie es sich auf dieser Seite an:'
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{amendable_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link.
email_subject: Neuer Änderungsantrag für %{amendable_title}
notification_title: Eine neue Änderung für %{amendable_title} wurde erstellt.
amendment_promoted:
affected_user:
- email_intro: 'Eine abgelehnte Änderung an %{amendable_title} wurde als neue/n %{amendable_type} veröffentlicht. Sie können das auf dieser Seite sehen:'
+ email_intro: 'Eine abgelehnte Änderung an %{amendable_title} wurde als neue/n %{amendable_type} veröffentlicht. Sehen Sie es sich auf dieser Seite an:'
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Autor von %{amendable_title} sind.
email_subject: Eine Änderung von %{emendation_author_nickname} wurde als neue/n %{amendable_type} veröffentlicht
notification_title: Die abgelehnte Änderung für %{amendable_title} wurde von %{emendation_author_nickname} als neue/n %{amendable_type} veröffentlicht.
follower:
- email_intro: 'Eine abgelehnte Änderung für %{amendable_title} wurde als neue/n %{amendable_type} veröffentlicht. Sie können das auf dieser Seite sehen:'
+ email_intro: 'Eine abgelehnte Änderung für %{amendable_title} wurde als neue/n %{amendable_type} veröffentlicht. Sehen Sie es sich auf dieser Seite an:'
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{amendable_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link.
email_subject: Eine Änderung von %{emendation_author_nickname} wurde als neue/n/s %{amendable_type} veröffentlicht
notification_title: Eine abgelehnte Änderung für %{amendable_title} wurde von %{emendation_author_nickname} als neue/n/s %{amendable_type} veröffentlicht.
amendment_rejected:
affected_user:
- email_intro: 'Eine Änderung an %{amendable_title} wurde abgelehnt. Sie können das auf dieser Seite sehen:'
+ email_intro: 'Eine Änderung an %{amendable_title} wurde abgelehnt. Sehen Sie es sich auf dieser Seite an:'
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Autor von %{amendable_title} sind.
email_subject: Abgelehnter Änderungsantrag für %{amendable_title} von %{emendation_author_nickname}
notification_title: Die Änderung von %{emendation_author_nickname} für %{amendable_title} wurde abgelehnt.
follower:
- email_intro: 'Eine Änderung für %{amendable_title} wurde abgelehnt. Sie können das auf dieser Seite sehen:'
+ email_intro: 'Eine Änderung für %{amendable_title} wurde abgelehnt. Sehen Sie es sich auf dieser Seite an:'
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{amendable_title}. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link.
email_subject: Abgelehnte Änderung für %{amendable_title} von %{emendation_author_nickname}
notification_title: Die Änderung für %{amendable_title} von %{emendation_author_nickname} wurde abgelehnt.
emendation_promoted:
follower:
- email_intro: 'Eine Änderung wurde für %{amendable_title} abgelehnt. Sie können es auf dieser Seite sehen:'
+ email_intro: 'Eine Änderung wurde für %{amendable_title} abgelehnt. Sehen Sie es sich auf dieser Seite an:'
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{amendable_title} mitverfasst haben.
email_subject: Eine Änderung von %{emendation_author_nickname} ist als neuer %{amendable_type} veröffentlicht worden
attachments:
attachment_created:
- email_intro: 'Ein neues Dokument wurde zu %{resource_title} hinzugefügt. Sie können es auf dieser Seite sehen:'
+ email_intro: 'Ein neues Dokument wurde zu %{resource_title} hinzugefügt. Sehen Sie es sich auf dieser Seite an:'
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{resource_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link.
email_subject: Eine Aktualisierung auf %{resource_title}
notification_title: Ein neues Dokument wurde zu %{resource_title}hinzugefügt
components:
component_published:
- email_intro: 'Die Komponente %{resource_title} ist jetzt für %{participatory_space_title} aktiv. Sie können das auf dieser Seite sehen:'
+ email_intro: 'Die Komponente %{resource_title} ist jetzt für %{participatory_space_title} aktiv. Sehen Sie es sich auf dieser Seite an:'
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: Eine Aktualisierung auf %{participatory_space_title}
notification_title: Die Komponente %{resource_title} ist jetzt für %{participatory_space_title} aktiv
email_event:
email_greeting: Hallo %{user_name},
- email_intro: 'Es wurde ein Update auf "%{resource_title}" vorgenommen. Sie können das auf dieser Seite sehen:'
+ email_intro: 'Es wurde ein Update auf "%{resource_title}" vorgenommen. Sehen Sie es sich auf dieser Seite an:'
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie "%{resource_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link.
email_subject: Eine Aktualisierung auf %{resource_title}
gamification:
@@ -987,6 +995,12 @@ de:
title: Was sind Abzeichen?
group_admins:
actions:
+ confirm_modal:
+ ok_add: Neuen Admin hinzufügen
+ ok_remove: Admin entfernen
+ title_add: Neuer Admin bestätigen
+ title_remove: Admin entfernen
+ confirm_remove_from_admin: Sind Sie sicher, dass Sie den Admin dieser Gruppe entfernen möchten?
demote_admin: Entferne Admin
demote:
error: Beim Entfernen dieses Teilnehmers aus der Adminliste ist ein Fehler aufgetreten.
@@ -1016,6 +1030,11 @@ de:
error: Bei der Annahme dieser Beitrittsanfrage ist ein Fehler aufgetreten.
success: Beitrittsanfrage erfolgreich angenommen.
actions:
+ confirm_modal:
+ ok_remove: Mitglied entfernen
+ title_remove: Mitglied entfernen
+ confirm_promote_to_admin: Sind Sie sicher, dass Sie dieses Konto als Admin hinzufügen möchten?
+ confirm_remove_from_group: Sind Sie sicher, dass Sie dieses Konto von der Gruppe entfernen möchten?
promote_to_admin: Zum Admin ernennen
remove_from_group: Benutzer entfernen
index:
@@ -1253,11 +1272,12 @@ de:
main_image: Hauptbild
newsletters:
unsubscribe:
- check_subscription: Wenn Sie Ihre Einstellungen ändern möchten, können Sie dies auf der Konfigurationsseite tun.
+ check_subscription_html: Wenn Sie diese wieder erhalten möchten, können Sie Ihr Abonnement jederzeit auf der Einstellungsseite wieder aktivieren.
error: Es gab ein Problem beim Kündigen des Abonnements.
+ subscription_preferences: Wir haben Ihre Abonnement-Einstellungen aktualisiert und Sie erhalten keine Newsletter mehr von %{organization_name}.
success: Sie haben sich erfolgreich abgemeldet.
token_error: Der Link ist abgelaufen.
- unsubscribe: Abmelden
+ unsubscribe: Newsletter kündigen
newsletters_opt_in:
unauthorized: Entschuldigung, dieser Link ist nicht mehr verfügbar.
update:
@@ -1265,7 +1285,7 @@ de:
success: Newslettereinstellungen wurden erfolgreich aktualisiert.
newsletters_opt_in_mailer:
notify:
- body_1: Die Verarbeitung personenbezogener Daten und deren Schutz wird für uns alle immer wichtiger. Mit der neuen Datenschutz-Grundverordnung (DSGV) vom 25. Mai 2018 haben Einzelpersonen eine bessere Kontrolle über ihre personenbezogenen Daten. Aus diesem Grund benötigen wir Ihr "OK" um weiterhin relevante Informationen über die Aktivitäten der %{organization_name}zu senden.
+ body_1: Die Verarbeitung personenbezogener Daten und deren Schutz wird für uns alle immer wichtiger. Mit der Datenschutz-Grundverordnung (DSGV) vom 25. Mai 2018 haben Einzelpersonen eine bessere Kontrolle über ihre personenbezogenen Daten. Aus diesem Grund benötigen wir Ihr "OK" um weiterhin relevante Informationen über die Aktivitäten von %{organization_name} zu senden.
body_2: 'Wie können Sie uns Ihre Zustimmung geben? Klicken Sie einfach auf den folgenden Knopf:'
body_3: Mit dieser Zustimmung können Sie weiterhin Informationen über die Dienste der Plattform erhalten. Wenn wir im Gegenteil keine positive Bestätigung von Ihnen erhalten, werden wir Ihnen keine Nachrichten mehr senden. Wenn Sie bestätigen, dass Sie weiterhin informiert werden möchten, haben Sie jederzeit die Möglichkeit, den Vorgang abzubrechen.
button: Ja, ich möchte weiterhin relevante Informationen erhalten
@@ -1486,6 +1506,7 @@ de:
searches:
filters:
jump_to: 'Springen zu:'
+ resource: "%{label} nach %{collection}"
search: Suchen
state:
active: Aktiv
@@ -1508,6 +1529,7 @@ de:
close_modal: Fenster schließen
ok: OK
title: Bestätigen
+ confirm_unload: Diese Seite enthält ungespeicherte Änderungen. Möchten Sie die Seite dennoch verlassen?
embed:
title: Eingebetteter Videoinhalt
extended_navigation_bar:
@@ -1972,14 +1994,17 @@ de:
edit: Bearbeiten
footer:
cc_by_license: Creative Commons Lizenz
+ current_organization_img: "%{organization} (zur Startseite)"
data_consent_settings: Cookie Einstellungen
decidim_logo: Decidim-Logo
decidim_title: Decidim
download_open_data: Open Data Dateien herunterladen
+ help: Hilfe
log_in: Anmelden
made_with_open_source: Website mit freier Software erstellt.
resources: Ressourcen
sign_up: Konto erstellen
+ social_media: Social Media
terms_of_service: Nutzungsbedingungen
header:
log_in: Anmelden
@@ -2019,10 +2044,12 @@ de:
profile: Mein Konto
public_profile: Mein öffentliches Profil
title: Profil-Links
+ unread_conversations: Sie haben ungelesene Unterhaltungen
+ unread_notifications: Sie haben ungelesene Benachrichtigungen
user_profile:
account: Konto
authorizations: Berechtigungen
- delete_my_account: Löschen Sie mein Konto
+ delete_my_account: Konto löschen
my_data: Meine Daten
my_interests: Meine Interessen
notifications_settings: Benachrichtigungseinstellungen
diff --git a/decidim-core/config/locales/el.yml b/decidim-core/config/locales/el.yml
index f3566485e7f66..8f8568bce8acc 100644
--- a/decidim-core/config/locales/el.yml
+++ b/decidim-core/config/locales/el.yml
@@ -956,10 +956,8 @@ el:
unsubscribe:
success: Καταργήσατε την εγγραφή σας με επιτυχία.
token_error: Ο σύνδεσμος έχει λήξει.
- unsubscribe: Κατάργηση εγγραφής
newsletters_opt_in_mailer:
notify:
- body_1: Η επεξεργασία των προσωπικών δεδομένων και η προστασία τους καθίστανται όλο και πιο σημαντικές για όλους μας. Με τον νέο Γενικό Κανονισμό για την Προστασία Δεδομένων (ΓΚΠΔ) της 25ης Μαΐου 2018, τα άτομα έχουν καλύτερο έλεγχο των προσωπικών τους δεδομένων. Για αυτόν τον λόγο, χρειαζόμαστε τη συγκατάθεσή σας για να συνεχίσουμε να στέλνουμε σχετικές πληροφορίες σχετικά με τις δραστηριότητες του οργανισμού %{organization_name}.
body_2: 'Πώς μπορείτε να μας παρέχετε τη συγκατάθεσή σας; Απλώς κάντε κλικ στο παρακάτω κουμπί:'
body_3: Με αυτήν τη συγκατάθεση, θα μπορείτε να συνεχίσετε να λαμβάνετε πληροφορίες σχετικά με τις υπηρεσίες της πλατφόρμας. Εάν, αντίθετα, δεν λάβουμε θετική επιβεβαίωση εκ μέρους σας, θα σταματήσουμε να σας στέλνουμε τα μηνύματά μας. Εάν επιβεβαιώσετε ότι θέλετε να συνεχίσετε να ενημερώνεστε, θα έχετε πάντα την επιλογή να ακυρώσετε τη συγκατάθεσή σας ανά πάσα στιγμή.
button: Ναι, θέλω να συνεχίσω να λαμβάνω σχετικές πληροφορίες
diff --git a/decidim-core/config/locales/en.yml b/decidim-core/config/locales/en.yml
index ccb6bec8f2fed..9d2313d89f24f 100644
--- a/decidim-core/config/locales/en.yml
+++ b/decidim-core/config/locales/en.yml
@@ -285,6 +285,13 @@ en:
create: "%{user_name} created the %{resource_name} scope type"
delete: "%{user_name} deleted the %{resource_name} scope type"
update: "%{user_name} updated the %{resource_name} scope type"
+ share_token:
+ create: "%{user_name} created an access link in %{space_name}"
+ create_with_space: "%{user_name} created an access link for %{resource_name} in %{space_name}"
+ delete: "%{user_name} deleted an access link in %{space_name}"
+ delete_with_space: "%{user_name} deleted an access link for %{resource_name} in %{space_name}"
+ update: "%{user_name} updated an access link in %{space_name}"
+ update_with_space: "%{user_name} updated an access link for %{resource_name} in %{space_name}"
static_page:
create: "%{user_name} created the %{resource_name} static page"
delete: "%{user_name} deleted the %{resource_name} static page"
@@ -1274,11 +1281,12 @@ en:
main_image: Main image
newsletters:
unsubscribe:
- check_subscription: If you want to change your preferences, you can do so in the configuration page.
+ check_subscription_html: If you'd like to start receiving them again, you can re-enable your subscription anytime from the settings page.
error: There was a problem unsubscribing.
+ subscription_preferences: We have updated your subscription preferences, and you will no longer receive newsletters from %{organization_name}.
success: You are unsubscribed successfully.
token_error: The link has expired.
- unsubscribe: Unsubscribe
+ unsubscribe: Unsubscribe from newsletter
newsletters_opt_in:
unauthorized: Sorry, this link is no longer available.
update:
@@ -1286,7 +1294,7 @@ en:
success: Newsletter settings successfully updated.
newsletters_opt_in_mailer:
notify:
- body_1: The processing of personal data and its protection is becoming increasingly important for all of us. With the new General Data Protection Regulation (GDPR) of May 25, 2018, individuals have better control over their personal data. For this reason we need your "OK" to continue sending relevant information about the activities of the %{organization_name}.
+ body_1: The processing of personal data and its protection is becoming increasingly important for all of us. With the General Data Protection Regulation (GDPR) of May 25, 2018, individuals have better control over their personal data. For this reason we need your "OK" to continue sending relevant information about the activities of the %{organization_name}.
body_2: 'How can you give us your consent? Just click the following button:'
body_3: With this consent you will be able to continue receiving information about the services of the platform. If, on the contrary, we do not receive a positive confirmation on your part we will stop sending you our messages. If you confirm that you want to keep being informed, you will always have the option to cancel at any time.
button: Yes, I want to continue receiving relevant information
@@ -1530,6 +1538,7 @@ en:
close_modal: Close modal
ok: OK
title: Confirm
+ confirm_unload: This page contains unsaved changes. Are you sure you want to leave this page?
embed:
title: Embedded video content
extended_navigation_bar:
@@ -1994,14 +2003,17 @@ en:
edit: Edit
footer:
cc_by_license: Creative Commons License
+ current_organization_img: "%{organization} (Back home)"
data_consent_settings: Cookie settings
decidim_logo: Decidim Logo
decidim_title: Decidim
download_open_data: Download Open Data files
+ help: Help
log_in: Log in
made_with_open_source: Website made with free software.
resources: Resources
sign_up: Create an account
+ social_media: Social media
terms_of_service: Terms of Service
header:
log_in: Log in
diff --git a/decidim-core/config/locales/es-MX.yml b/decidim-core/config/locales/es-MX.yml
index 8d0fad70cd751..d3350c59b5081 100644
--- a/decidim-core/config/locales/es-MX.yml
+++ b/decidim-core/config/locales/es-MX.yml
@@ -1270,11 +1270,12 @@ es-MX:
main_image: Imagen principal
newsletters:
unsubscribe:
- check_subscription: Si quieres cambiar tus preferencias, puedes hacerlo en la página de configuración.
+ check_subscription_html: Si quieres volver a recibirlos, puedes volver a activar tu suscripción en cualquier momento desde la página de configuración.
error: Se ha producido un error al cancelar la suscripción.
+ subscription_preferences: Hemos actualizado tus preferencias de suscripción y ya no recibirás boletines informativos de %{organization_name}.
success: Te has dado de baja exitosamente.
token_error: El enlace ha expirado.
- unsubscribe: Darse de baja
+ unsubscribe: Cancelar la suscripción al boletín informativo
newsletters_opt_in:
unauthorized: Lo sentimos, este enlace ya no está disponible.
update:
@@ -1282,7 +1283,7 @@ es-MX:
success: La configuración del boletín de noticias se ha actualizado correctamente.
newsletters_opt_in_mailer:
notify:
- body_1: El procesamiento de datos personales y su protección es cada vez más importante para todos nosotros. Con el nuevo Reglamento General de Protección de Datos (RGPD) del 25 de mayo de 2018, las personas tienen un mejor control sobre sus datos personales. Por este motivo, necesitamos tu "OK" para seguir enviando información relevante sobre las actividades del %{organization_name}.
+ body_1: El procesamiento de datos personales y su protección es cada vez más importante para todas nosotras. Con el Reglamento General de Protección de Datos (RGPD) del 25 de mayo de 2018, las personas tienen un mayor control sobre sus datos personales. Por este motivo, necesitamos tu autorización para seguir enviándote información relevante sobre las actividades del %{organization_name}.
body_2: '¿Cómo puedes darnos tu consentimiento? Simplemente haz clic en el siguiente botón:'
body_3: Con este consentimiento, podrás continuar recibiendo información sobre los servicios de la plataforma. Si, por el contrario, no recibimos una confirmación positiva de tu parte, dejaremos de enviarte nuestros mensajes. Si confirmas que deseas mantenerte informado, siempre tendrás la opción de cancelar en cualquier momento.
button: Sí, deseo continuar recibiendo información relevante
@@ -1526,6 +1527,7 @@ es-MX:
close_modal: Cerrar el modal
ok: De acuerdo
title: Confirmar
+ confirm_unload: Esta página contiene cambios sin guardar. ¿Seguro que quieres abandonar esta página?
embed:
title: Contenido de vídeo incrustado
extended_navigation_bar:
@@ -1989,14 +1991,17 @@ es-MX:
edit: Editar
footer:
cc_by_license: Con licencia Creative Commons
+ current_organization_img: "%{organization} (Ir a la página principal)"
data_consent_settings: Configuración de cookies
decidim_logo: Logo Decidim
decidim_title: Decidim
download_open_data: Descargar ficheros de datos abiertos
+ help: Ayuda
log_in: Entra
made_with_open_source: Sitio web creado con software libre.
resources: Recursos
sign_up: Crea una cuenta
+ social_media: Redes Sociales
terms_of_service: Términos y condiciones de uso
header:
log_in: Entra
@@ -2036,6 +2041,8 @@ es-MX:
profile: Mi cuenta
public_profile: Mi perfil público
title: Enlaces de perfil
+ unread_conversations: Tienes conversaciones sin leer
+ unread_notifications: Tienes notificaciones sin leer
user_profile:
account: Cuenta
authorizations: Autorizaciones
diff --git a/decidim-core/config/locales/es-PY.yml b/decidim-core/config/locales/es-PY.yml
index 179fb7d088b3c..802d05f8c18b4 100644
--- a/decidim-core/config/locales/es-PY.yml
+++ b/decidim-core/config/locales/es-PY.yml
@@ -1270,11 +1270,12 @@ es-PY:
main_image: Imagen principal
newsletters:
unsubscribe:
- check_subscription: Si quieres cambiar tus preferencias, puedes hacerlo en la página de configuración.
+ check_subscription_html: Si quieres volver a recibirlos, puedes volver a activar tu suscripción en cualquier momento desde la página de configuración.
error: Se ha producido un error al cancelar la suscripción.
+ subscription_preferences: Hemos actualizado tus preferencias de suscripción y ya no recibirás boletines informativos de %{organization_name}.
success: Te has dado de baja exitosamente.
token_error: El enlace ha expirado.
- unsubscribe: Darse de baja
+ unsubscribe: Cancelar la suscripción al boletín informativo
newsletters_opt_in:
unauthorized: Lo sentimos, este enlace ya no está disponible.
update:
@@ -1282,7 +1283,7 @@ es-PY:
success: La configuración del boletín de noticias se ha actualizado correctamente.
newsletters_opt_in_mailer:
notify:
- body_1: El procesamiento de datos personales y su protección es cada vez más importante para todos nosotros. Con el nuevo Reglamento General de Protección de Datos (RGPD) del 25 de mayo de 2018, las personas tienen un mejor control sobre sus datos personales. Por este motivo, necesitamos tu "OK" para seguir enviando información relevante sobre las actividades del %{organization_name}.
+ body_1: El procesamiento de datos personales y su protección es cada vez más importante para todas nosotras. Con el Reglamento General de Protección de Datos (RGPD) del 25 de mayo de 2018, las personas tienen un mayor control sobre sus datos personales. Por este motivo, necesitamos tu autorización para seguir enviándote información relevante sobre las actividades del %{organization_name}.
body_2: '¿Cómo puedes darnos tu consentimiento? Simplemente haz clic en el siguiente botón:'
body_3: Con este consentimiento, podrá continuar recibiendo información sobre los servicios de la plataforma. Si, por el contrario, no recibimos una confirmación positiva de su parte, dejaremos de enviarle nuestros mensajes. Si confirma que desea mantenerse informado, siempre tendrá la opción de cancelar en cualquier momento.
button: Sí, deseo continuar recibiendo información relevante
@@ -1526,6 +1527,7 @@ es-PY:
close_modal: Cerrar el modal
ok: De acuerdo
title: Confirmar
+ confirm_unload: Esta página contiene cambios sin guardar. ¿Seguro que quieres abandonar esta página?
embed:
title: Contenido de vídeo incrustado
extended_navigation_bar:
@@ -1989,14 +1991,17 @@ es-PY:
edit: Editar
footer:
cc_by_license: Con licencia Creative Commons
+ current_organization_img: "%{organization} (Ir a la página principal)"
data_consent_settings: Configuración de cookies
decidim_logo: Logo Decidim
decidim_title: Decidim
download_open_data: Descargar ficheros de datos abiertos
+ help: Ayuda
log_in: Entra
made_with_open_source: Sitio web creado con software libre.
resources: Recursos
sign_up: Crea una cuenta
+ social_media: Redes Sociales
terms_of_service: Términos y condiciones de uso
header:
log_in: Entra
@@ -2036,6 +2041,8 @@ es-PY:
profile: Mi cuenta
public_profile: Mi perfil público
title: Enlaces de perfil
+ unread_conversations: Tienes conversaciones sin leer
+ unread_notifications: Tienes notificaciones sin leer
user_profile:
account: Cuenta
authorizations: Autorizaciones
diff --git a/decidim-core/config/locales/es.yml b/decidim-core/config/locales/es.yml
index ab123078148b7..e57950e1a1fd7 100644
--- a/decidim-core/config/locales/es.yml
+++ b/decidim-core/config/locales/es.yml
@@ -1267,11 +1267,12 @@ es:
main_image: Imagen principal
newsletters:
unsubscribe:
- check_subscription: Si quieres cambiar tus preferencias, puedes hacerlo en la página de configuración.
+ check_subscription_html: Si quieres volver a recibirlos, puedes volver a activar tu suscripción en cualquier momento desde la página de configuración.
error: Se ha producido un error al cancelar la suscripción.
+ subscription_preferences: Hemos actualizado tus preferencias de suscripción y ya no recibirás boletines informativos de %{organization_name}.
success: Has cancelado la subscripción correctamente.
token_error: El enlace ha caducado.
- unsubscribe: Anula la subscripción
+ unsubscribe: Cancelar la suscripción al boletín informativo
newsletters_opt_in:
unauthorized: Lo sentimos, este enlace ya no está disponible.
update:
@@ -1279,7 +1280,7 @@ es:
success: La configuración del boletín de noticias se ha actualizado correctamente.
newsletters_opt_in_mailer:
notify:
- body_1: El procesamiento de datos personales y su protección es cada vez más importante para todas nosotras. Con el nuevo Reglamento General de Protección de Datos (RGPD) del 25 de mayo de 2018, las personas tienen un mayor control sobre sus datos personales. Por este motivo, necesitamos tu autorización para seguir enviándote información relevante sobre las actividades del %{organization_name}.
+ body_1: El procesamiento de datos personales y su protección es cada vez más importante para todas nosotras. Con el Reglamento General de Protección de Datos (RGPD) del 25 de mayo de 2018, las personas tienen un mayor control sobre sus datos personales. Por este motivo, necesitamos tu autorización para seguir enviándote información relevante sobre las actividades del %{organization_name}.
body_2: '¿Cómo puedes darnos tu consentimiento? Simplemente haz clic en el siguiente botón:'
body_3: Con este consentimiento, podrás continuar recibiendo información sobre los servicios de la plataforma. Si, por el contrario, no recibimos una confirmación positiva de tu parte, dejaremos de enviarte nuestros mensajes. Si confirmas que deseas mantenerte informada, siempre tendrás la opción de cancelar en cualquier momento.
button: Sí, quiero continuar recibiendo información relevante
@@ -1523,6 +1524,7 @@ es:
close_modal: Cerrar el modal
ok: De acuerdo
title: Confirmar
+ confirm_unload: Esta página contiene cambios sin guardar. ¿Seguro que quieres abandonar esta página?
embed:
title: Contenido de vídeo incrustado
extended_navigation_bar:
@@ -1986,14 +1988,17 @@ es:
edit: Edita
footer:
cc_by_license: Con licencia Creative Commons
+ current_organization_img: "%{organization} (Ir a la página principal)"
data_consent_settings: Configuración de cookies
decidim_logo: Logo Decidim
decidim_title: Decidim
download_open_data: Descargar ficheros de datos abiertos
+ help: Ayuda
log_in: Entra
made_with_open_source: Web creada con software libre.
resources: Recursos
sign_up: Crea una cuenta
+ social_media: Redes Sociales
terms_of_service: Términos y condiciones de uso
header:
log_in: Entra
@@ -2033,6 +2038,8 @@ es:
profile: Mi cuenta
public_profile: Mi perfil público
title: Enlaces de perfil
+ unread_conversations: Tienes conversaciones sin leer
+ unread_notifications: Tienes notificaciones sin leer
user_profile:
account: Cuenta
authorizations: Autorizaciones
diff --git a/decidim-core/config/locales/eu.yml b/decidim-core/config/locales/eu.yml
index 0799a1b0beaa7..9418fa3c4e2e4 100644
--- a/decidim-core/config/locales/eu.yml
+++ b/decidim-core/config/locales/eu.yml
@@ -171,10 +171,10 @@ eu:
accessibility:
external_link: Kanpoko esteka
front_page_link: Zoaz orri nagusira
- logo: "%{organization} aren logo ofiziala"
+ logo: "%{organization} erakundaren logo ofiziala"
opens_in_new_tab: Ireki beste fitxa batean
secondary_menu: Bigarren mailako menua
- skip_button: Joan eduki nagusira
+ skip_button: Eduki nagusira joan
account:
blocked: Kontu hau blokeatu egin da erabilera-terminoak eta -baldintzak urratu direlako
delete:
@@ -182,7 +182,7 @@ eu:
confirm:
close: Itxi leihoa
ok: Bai, nire kontua ezabatu nahi dut
- question: Ziur zure kontua ezabatu nahi duzula?
+ question: Ziur zaude zure kontua ezabatu nahi duzula?
title: Ezabatu nire kontua
explanation: Mesedez, azaldu arrazoia zure kontua ezabatu nahi izateko (aukerakoa).
leaving_authorizations_behind: Egiaztatze-prozesu honetako hainbat datu gorde egingo dira segurtasunagatik. Beste kontu bat sortu eta, berriz ere, egiaztatzeko prozesuari ekin nahi badiozu, datu horiek berreskuratu egingo dira.
@@ -191,9 +191,9 @@ eu:
success: Zure kontua ezabatu egin da.
download_your_data_export:
file_no_exists: Fitxategia ez dago
- notice: Zure datuen deskarga aurrera doa. Posta elektroniko bat jasoko duzu osorik dagoenean.
+ notice: Une honetan zure datuak deskargatzen ari dira. Mezu elektroniko bat jasoko duzu amaitutakoan.
email_change:
- body1: Mezu elektroniko bat bidali dugu %{unconfirmed_email} postara zure helbide elektroniko berria egiaztatzeko.
+ body1: Mezu elektroniko bat bidali dizugu %{unconfirmed_email} helbidera zure helbide elektroniko berria egiaztatzeko.
body2: Birbidali behar dizugu egiaztatzeko helbide elektronikoa? %{resend_link} edo %{cancel_link}.
cancel: ezeztatu
cancel_error: Ezin izan da ezeztatu helbide elektronikoaren aldaketa.
@@ -216,7 +216,7 @@ eu:
actions:
cancel: Ezeztatu
password_change:
- alert: Pasahitza aldatu behar duzu aurrera jarraitu ahal izateko.
+ alert: Aurrera jarraitu ahal izateko pasahitza aldatu behar duzu.
notification: Administratzaile rola duten parte-hartzaileek pasahitza aldatu behar dute %{days} egunik behin.
admin_log:
area:
@@ -318,7 +318,7 @@ eu:
amendable:
button: Zuzendu %{model_name}
error: Errore bat egon da baliabide hau aldatzean.
- promote_button: '%{model_name}suspertzea'
+ promote_button: Sustatu %{model_name} (e) ra
promote_confirm_text: Ziur al zaude zuzenketa hau sustatu nahi duzula?
promote_help_text: Zuzenketa hau sustatu eta %{model_name} independiente gisa argitara dezakezu.
amendments:
@@ -365,7 +365,7 @@ eu:
success: Zuzenketa zuzen argitaratu da beste proposamen bat gisa.
publish_draft:
error: Arazo bat egon da zuzenketa argitaratzean.
- success: Zuzenketa zuzen argitaratu da.
+ success: Zuzenketa behar bezala argitaratu da.
rejected:
error: Arazo bat egon da zuzenketa hau ukatzean. Mesedez, saiatu berriro geroago.
success: Zuzenketa behar bezala ukatu da.
@@ -434,8 +434,8 @@ eu:
foo_authorization:
fields:
bar: Bar
- foo: foo
- name: foo baimena
+ foo: Foo
+ name: Foo baimena
granted_at: Onartua %{timestamp}
sms:
explanation: Bidali zure telefono mugikorraren zenbakia zure identitatea egiaztatzeko.
@@ -444,7 +444,7 @@ eu:
authorization_modals:
content:
expired:
- authorize: Errebokatu "%{authorization}" rekin
+ authorize: Baimendu berriro "%{authorization}" sakatuta
explanation: Zure baimena iraungi da. Ekintza hau burutzeko, "%{authorization}" berrantolatu behar duzu.
title: Baimena iraungi egin da
incomplete:
@@ -462,7 +462,7 @@ eu:
pending:
explanation: Ekintza hau burutzeko, "%{authorization}" baimena eduki behar duzu, baina zure baimena oraindik garatzen ari da.
resume: Egiaztatu zure %{authorization} baimenaren garapena.
- title: Baimena oraindik ere egiten ari da
+ title: Baimena oraindik gaizatzen ari da
unauthorized:
explanation: Sentitzen dugu, baina ezin diozu heldu ekintza honi, zure baimen-datuetako batzuk ez datozelako bat.
invalid_field: "%{field} datu-eremuaren balioa %{value} ez da baliozkoa."
@@ -479,12 +479,12 @@ eu:
body_2: 'Arrazoia: %{justification}'
greetings: Agur, %{organization_name} %{organization_url}
hello: Kaixo,
- subject: '%{organization_name} k zure kontua blokeatu du'
+ subject: '%{organization_name}-eko administrazaileak zure kontua blokeatu du'
collapsible_list:
hidden_elements_count:
one: eta bat gehiago
other: eta %{count} gehiago
- see_less: "(ikusi gutxiago)"
+ see_less: "(gutxiago ikusi)"
components:
component_order_selector:
no_content: Ezin izan dugu aurkitu irizpide hau duen edukirik.
@@ -502,8 +502,8 @@ eu:
title: 'Erakutsi:'
dummy:
actions:
- bar: Bar
- foo: foo
+ bar: Barra
+ foo: Foo
name: Balizko osagaia
settings:
global:
@@ -523,9 +523,9 @@ eu:
amendment_reaction_enabled: Zuzenketaren erreakzioa aktibatuta
amendments_visibility: Zuzenketaren ikusgarritasuna
comments_blocked: Iruzkinak blokeatuta
- dummy_step_attribute1: Balizko Faseko atributua 1
- dummy_step_attribute2: Balizko Faseko atributua 2
- dummy_step_translatable_text: Itzul daitekeen testuaren balizko fasea
+ dummy_step_attribute1: Proba-fasearen 1 atributua
+ dummy_step_attribute2: Proba-fasearen 2 atributua
+ dummy_step_translatable_text: Frogazko fasearen testua
pagination:
page_title: "%{component_name} - %{total_pages} tik %{current_page} orrialde"
contact: Harremanetarako
@@ -540,7 +540,7 @@ eu:
button_url: Ekintzaren botoiaren URLa
description: Deskribapena
footer_sub_hero:
- name: Oinaren azpi-heroiaren pankarta
+ name: Azpi-heroko bannerra orri-oinean
global_menu:
name: Menu globala
hero:
@@ -621,7 +621,7 @@ eu:
create:
error: Arazo bat izan da kontua sortzean.
new:
- already_have_an_account?: Baduzu kontu bat?
+ already_have_an_account?: Ba al duzu konturen bat?
log_in: Hasi saioa
newsletter: Jaso nahi dut informazio garrantzitsua biltzen duen aldizkako buletina
newsletter_title: Harremanetarako baimena
@@ -636,7 +636,7 @@ eu:
are_you_new?: Berria zara plataforman?
register: Sortu zure kontua
sign_in_disabled: Kanpoko kontu batez sartu ahal zara.
- sign_up_disabled: Kontuak sortzea desgaituta dago, sartzeko lehendik dagoen kontu bat erabil dezakezu.
+ sign_up_disabled: Kontu-sorkuntza desgaituta dago. Ohar bat erabil dezakezu atzipenerako.
user:
timed_out: Denbora luzeegi egon zara jarduerarik gabe, eta zure saioa automatikoki itxi da. Parte hartzen jarraitu nahi baduzu, hasi saioa berriro.
shared:
@@ -706,13 +706,13 @@ eu:
not_inside_organization: Fitxategia ez dago erakunde batekin erlazionatuta
internal_server_error:
copied: Testua kopiatuta!
- copy_error_message_clarification: Errore-mezua arbelean kopiatuta
+ copy_error_message_clarification: Kopiatu errore-mezua arbelean
copy_to_clipboard: Kopiatu arbelera
date_and_time: Data eta ordua
reference: Erreferentzia
request_method: Eskaera-metodoa
- title: Arazo bat egon da gure serbidorearekin
- try_later: Mesedez, saiatu berriro geroago. Erroreak jarraitzen badu, mesedez, kopiatu ondoko informazio hau eta bidali plataformaren mantentzaileei partekatu nahi duzun bestelako informazioarekin batera.
+ title: Arazo bat egon da gure zerbitzarian
+ try_later: Mesedez, geroago saiatu berriro. Erroreak jarraitzen badu, mesedez, kopiatu ondoko informazio hau eta bidali plataformaren mantentzaileei partekatu nahi duzun bestelako informazioarekin batera.
unknown: Ezezaguna
url: URL
user: Parte-hartzailearen ID
@@ -892,7 +892,7 @@ eu:
fingerprint:
check: Egiaztatu hatz-marka
explanation: Beheko testu-zatia eduki honen irudikapen laburtua da. Baliagarria da edukia ez dela aldatu ziurtatzeko, eraldaketa bakar batek balio guztiz ezberdina emango bailuke.
- online_calculator_name: MD5 kalkulagailua linean
+ online_calculator_name: MD5 on-line kalkulagailua
replicate_help: Hatz-marka hori SHA256 hashing algoritmo baten bidez kalkulatzen da. Zeure buruari errepikatu ahal izateko, %{online_calculator_link} erabil dezakezu eta kopiatu iturriaren datuak itsatsi.
source: Jatorria
title: Hatz-marka
@@ -901,7 +901,7 @@ eu:
followers_count:
one: "Jarraitzaile %{count}"
other: "%{count} jarraitzaile"
- no_followers: Ez da jarraitzailerik oraindik.
+ no_followers: Oraindik ez dago jarraitzailerik.
following:
following_count:
one: "batek jarraitzaitzen du"
@@ -933,7 +933,7 @@ eu:
message_1: Irudi bat edo dokumentu bat izan behar da.
message_2: Irudietarako, erabili batez ere irudi etzanak; zerbitzuak irudia mozten du.
icon:
- explanation: 'Jarraibideak irudirako:'
+ explanation: 'Irudirako jarraibideak:'
message_1: Irudi karratua izan behar da.
message_2: Irudi honetarako gomendatzen den tamaina da 512x512.
image:
@@ -1031,7 +1031,7 @@ eu:
title_remove: Kendu kidea
confirm_promote_to_admin: Seguru zaude erabiltzaile hau administratzaile moduan gehitu nahi duzula?
confirm_remove_from_group: Ziur zaude talde honen erabiltzailea kendu nahi duzula?
- promote_to_admin: Egin administratzailea
+ promote_to_admin: Administratzaile egin
remove_from_group: Kendu parte-hartzailea
index:
current_members_without_admins: 'Uneko kideak (administratzaile gabe):'
@@ -1052,7 +1052,7 @@ eu:
error: Arazo bat egon da taldea sortzean.
success: Taldea zuzen sortua.
edit:
- edit_user_group: Editatu taldea
+ edit_user_group: Taldea editatu
update_user_group: Eguneratu taldea
form:
document_number_help: Ez erabili gidoirik ez espaziorik.
@@ -1213,7 +1213,7 @@ eu:
placeholder: Zure mezua...
send: Bidali
update:
- error: Mezua ez da bidali errore batengatik.
+ error: Mezua ez da bidali akats batengatik.
metadata:
progress:
active: Aktibo
@@ -1268,11 +1268,12 @@ eu:
main_image: Irudi nagusia
newsletters:
unsubscribe:
- check_subscription: 'Zure lehentasunak aldatu nahi badituzu, hemen egin dezakezu: ezarpenen orrialdea.'
+ check_subscription_html: ezarpenak orrialdean, berriz hasi nahi baduzu jasotzen, edozein unetan aktiba dezakezu harpidetza..
error: Arazo bat egon da harpidetza ezeztatzean.
+ subscription_preferences: Zure harpidetzaren hobespenak eguneratu ditugu, eta dagoeneko ez duzu %{organization_name}(r) en buletinik jasoko.
success: Harpidetza zuzen ezeztatua.
token_error: Esteka iraungi da.
- unsubscribe: Baja eman
+ unsubscribe: Buletinean baja ematea
newsletters_opt_in:
unauthorized: Sentitzen dut, esteka hau ez dago eskuragarri.
update:
@@ -1280,7 +1281,7 @@ eu:
success: Buletinaren ezarpenak zuzen eguneratuak.
newsletters_opt_in_mailer:
notify:
- body_1: Datu pertsonalen tratamendua eta babesak gero eta garrantzi handiagoa hartzen ari dira guztiontzat. 2018ko maiatzaren 25eko Datuen Babeserako Datu Orokor berriak (GDPR) datu pertsonalak hobeto kontrolatzen ditu. Horregatik, zure adostasuna behar dugu, %{organization_name} jardueren inguruko informazio garrantzitsua bidaltzen jarraitzeko.
+ body_1: Datu pertsonalen tratamendua eta babesa gero eta garrantzitsuagoa da guztiontzat. 2018ko maiatzaren 25eko Datuak Babesteko Erregelamendu Orokorrarekin (DBEO), pertsonek hobeto kontrolatzen dituzte beren datu pertsonalak. Hori dela eta, zure "adostasuna" behar dugu %{organization_name} jardueraren gaineko informazio garrantzitsua bidaltzen jarraitu ahal izateko.
body_2: 'Nola eman ahal diguzu baimena? Egin klik botoi honetan:'
body_3: Baimen honekin plataformako zerbitzuei buruzko informazioa jasotzen jarraitu ahal izango duzu. Aitzitik, zure baieztapena jasotzen ez badugu, gure mezuak bidaltzeari utziko diogu. Informatuta egon nahi duzula baieztatzen baduzu, edozein unetan ezeztatzeko aukera izango duzu.
button: Bai, informazio garrantzitsua jasotzen jarraitu nahi dut
@@ -1306,8 +1307,8 @@ eu:
weekly: Jakinarazpenen asteko laburpena
hello: Kaixo %{name},
intro:
- daily: 'Hauek dira azken eguneko jakinarazpenak, jarraitzen ari zaren jardueran oinarrituta:'
- real_time: 'Jarraitzen ari zaren jarduerari buruzko jakinarazpena dago:'
+ daily: 'Hona hemen aktibitatean oinarritutako azken egunetako jakinarazpenak:'
+ real_time: 'Hone hemen jarduera honen berri:'
weekly: 'Hauek dira azken asteko jakinarazpenak, jarraitzen ari zaren jardueran oinarrituta:'
outro: Jakinarazpen hau jaso duzu eduki hau edo bere egileak jarraitzen dituzulako. Jarraitzeari utzi ahal diozu euren orrialdeetan.
see_more: Ikusi jakinarazpen gehiago
@@ -1318,7 +1319,7 @@ eu:
allow_public_contact: Baimendu edozein parte-hartzailek bidali diezadala mezu zuzena, nahiz eta nik jarraitu ez.
allow_push_notifications: Bidali mezuak plataforman ez zaudenean zer gertatzen den jakiteko. Nahi duzunean desgaitu ditzakezu.
direct_messages: Jaso edonoren mezu zuzenak
- email_on_moderations: Mezu elektroniko bat jaso nahi dut zerbait neurriz erreportatzen den bakoitzean.
+ email_on_moderations: Mezu elektroniko bat jaso nahi dut, edozein ordutan, edo bat moderaziorako bidaltzen da.
everything_followed: Jarraitzen dudan guztia
newsletter_notifications: Buletinak jaso nahi ditut
newsletters: Buletinak
@@ -1349,7 +1350,7 @@ eu:
pad_iframe:
disclaimer: Ohar-blok honen edukiak erregistratutako parte-hartzaileek idatzi dituzte eta euren iritziak adierazi dituzte. %{organization} erakundea ezin da bere edukien erantzule izan.
explanation: Erabili ohar-blok hau topaketan zehar oharrak modu kolaboratiboan hartzeko, gero akta idaztea errazagoa izan dadin.
- pad: pad
+ pad: Pad
pages:
home:
extended:
@@ -1372,8 +1373,8 @@ eu:
statistics:
headline: '%{organization} erakundearen egungo egoera'
sub_hero:
- register: Erregistroa
- register_title: Sortu kontu bat
+ register: Alta eman
+ register_title: Kontu bat sortu
index:
standalone_pages: Orrialdeak
subheading: Nabigatu %{name} gunearen laguntza-orrietan
@@ -1389,7 +1390,7 @@ eu:
success: Bikain! Onartu dituzu zerbitzuaren baldintzak.
form:
agreement: Ados nago baldintza hauekin
- legend: Adostu zerbitzuaren baldintzak
+ legend: Zerbitzuaren baldintzak onartzen ditut
refuse:
modal_body: Onartzen ez baduzu, ezin izango duzu plataforman parte hartu, zure datuak deskargatu ahal dituzu eta/edo zure kontua ezabatu.
modal_btn_continue: Onartu baldintzak eta jarraitu
@@ -1397,9 +1398,9 @@ eu:
modal_button: Ez onartu baldintzak
modal_title: Benetan ez dituzu onartzen zerbitzuaren baldintza eguneratuak?
required_review:
- alert: "Gure zerbitzu baldintzak eguneratu ditugu., berrikusi, mesedez.\n"
+ alert: Gure zerbitzu baldintzak eguneratu ditugu, berrikusi, mesedez.
body: Mesedez, hartu tarte bat erabilerarako gure baldintzak eta irizpideak berrikusteko. Bestela, ezin izango duzu plataforman parte hartu.
- title: 'Eskatuta: berrikusi eguneraketak gure zerbitzuaren baldintzetan'
+ title: 'Beharrezkoa: berrikusi eguneratzeak gure erabilera-baldintzetan'
passwords:
update:
error: Arazo bat egon da pasahitza eguneratzean.
@@ -1421,7 +1422,7 @@ eu:
groups: Taldeak
members: Bazkideek
officialized: Parte-hartzaile ofiziala
- send_private_message: Bidali mezu pribatua
+ send_private_message: Mezu pribatua bidali
user:
actions:
create_user_group: Sortu taldea
@@ -1452,8 +1453,8 @@ eu:
content: Erreportatutako edukia
details: Xehetasunak
hello: 'Kaixo, %{name}:'
- manage_moderations: Kudeatu moderazioak
- participatory_space: Espazio parte-hartzailea
+ manage_moderations: Moderazioak kudeatu
+ participatory_space: Partaidetza espazioa
reason: Arrazoia
report_html:
subject: '%{moderator} -k baliabidea ezkutatu du'
@@ -1501,6 +1502,7 @@ eu:
searches:
filters:
jump_to: 'Salto egin:'
+ resource: "%{label} %{collection} artean"
search: Bilatu
state:
active: Aktiboak
@@ -1508,7 +1510,7 @@ eu:
future: Etorkizuna
past: Iragana
filters_small_view:
- filter: Filter
+ filter: Iragazi
filter_and_search: Iragazi eta bilatu
filter_by: Iragazi arabera
results:
@@ -1523,6 +1525,7 @@ eu:
close_modal: Itxi leihoa
ok: Ados
title: Baieztatu
+ confirm_unload: Orrialde honetan gorde gabeko aldaketak daude. Ziur zaude orri hau utzi nahi duzula?
embed:
title: Bideo-eduki txertatuak
extended_navigation_bar:
@@ -1552,7 +1555,7 @@ eu:
offensive: Bertan badago arrazakeriarik, sexismorik, irainik, eraso pertsonalik, heriotza-mehatxurik, suizidio-eskaerarik edo beste edozein eratako gorroto-diskurtsorik.
report: Jakinarazi
spam: Bertan badago clickbait-ik, publizitaterik edo gidoi-robotik.
- title: Salatu erabiltzaile desegokia
+ title: Salatu parte-hartzaile desegokia
floating_help:
help: Laguntza
follow_button:
@@ -1713,7 +1716,7 @@ eu:
message: 'Zuregana jotzen dugu jakinarazteko zure posta elektronikoa aldatu dela honengatik: %{email}.'
subject: Helnbide elektronikoa aldatu da
invitation_instructions:
- accept: Onartu gonbita
+ accept: Gonbita onartu
accept_until: 'Gonbidapen hau data honetan iraungiko da: %{due_date}.'
decline: Deuseztatu gonbita
hello: Kaixo, %{email},
@@ -1726,29 +1729,29 @@ eu:
someone_invited_you_as_private_user: Norbaitek %{application} ko parte-hartzaile pribatu gisa gonbidatu zaitu, beheko estekan onar dezakezu.
subject: Gonbidapenaren argibideak
invite_admin:
- subject: Gonbita jaso duzu %{organization} kudeatzeko
+ subject: '%{organization} kudeatzeko gonbita jaso duzu'
invite_collaborator:
subject: 'Gonbita jaso duzu erakunde honekin lankidetzan aritzeko: %{organization}'
invite_private_user:
subject: Gonbidatu zaituzte partaidetza-prozesu pribatu batean %{organization} erakundean
organization_admin_invitation_instructions:
- subject: Gonbita jaso duzu %{organization} kudeatzeko
+ subject: '%{organization} erakundea kudeatzeko gonbita jaso duzu'
password_change:
greeting: Kaixo, %{recipient}!
- message: Zuregana jotzen dugu jakinarazteko zure pasahitza zuzen aldatu dela.
+ message: Zuregana jotzen dugu zure pasahitza zuzen aldatu dela jakinarazteko.
subject: Pasahitza aldatu da
reset_password_instructions:
- action: Aldatu nire pasahitza
+ action: Nire pasahitza aldatu
greeting: Kaixo %{recipient}!
instruction: Norbaitek zure pasahitza aldatzeko esteka eskatu du, eta beheko estekan egin dezakezu.
instruction_2: Ez baduzu hori eskatu, ez egin kasurik mezu honi.
instruction_3: Zure pasahitza ez da aldatuko aurreko estekara sartu eta beste bat sortu arte.
subject: Berrezarri pasahitzaren argibideak
unlock_instructions:
- action: Desblokeatu nire kontua
+ action: Nire kontua desbloqueatu
greeting: Kaixo %{recipient}!
instruction: 'Egin klik beheko estekan zure kontua desblokeatzeko:'
- message: Kontua blokeatu zaizu gehiegitan saitu zarelako, lortu gabe, saioa hasten.
+ message: Zure kontua blokeatu egin da saiakeretan izandako gehiegizko saio porrokatuengatik.
subject: Desblokeatu argibideak
omniauth_callbacks:
failure: Ezin izan da autentifikatu %{kind} "%{reason}" delako.
@@ -1765,7 +1768,7 @@ eu:
new:
forgot_your_password: Pasahitza ahaztu duzu?
send_me_reset_password_instructions: Bidali pasahitza berrezartzeko argibideak
- no_token: Ezin zara orrialde honetara sartu pasahitza berrezartzeko posta elektronikotik ez bazatoz. Pasahitza berrezartzeko mezu elektroniko batetik bazatoz, ziurtatu emandako URL osoa erabili duzula.
+ no_token: Ezin zara orri honetara sartu pasahitza berrezartzeko mezu elektroniko batetik etorri gabe. Pasahitza berrezartzeko mezu elektroniko batetik baldin badator, ziurtatu emandako URL osoa erabili duzula.
send_instructions: Mezu elektroniko bat jasoko duzu pasahitza berrezartzeko argibideekin minutu gutxian.
send_paranoid_instructions: Datu-basean zure helbide elektronikoa badugu, minutu gutxi barru pasahitza berreskuratzeko esteka bat jasoko duzu.
updated: Pasahitza ondo aldatu da. Saioa hasi duzu.
@@ -1839,15 +1842,15 @@ eu:
cancel: Ezeztatu
remove: Kendu
save: Gorde
- close: Itxi modala
+ close: Itxi leihoa
toolbar:
control:
- blockquote: Aipu blokea
+ blockquote: Aipamena
bold: Lodia
bulletList: Zerrenda desordenatua
codeBlock: Kode blokea
common:
- eraseStyles: Ezabatu estiloak
+ eraseStyles: Estiloak ezabatu
hardBreak: Lerro-jauzia
heading: Testu estiloa
image: Irudia
@@ -1909,7 +1912,7 @@ eu:
must_start_with_caps: letra larriz hasi behartu
nesting_too_deep: ezin da egon azpikategoria batean
not_found: ezin izan da aurkitu. Lehenago konturik sortu duzu?
- not_locked: ez zen blokeatuta
+ not_locked: ez dago itxita
not_saved:
one: 'Errore bat egon da zure eskaera prozesatzean:'
other: 'Errore batzuk egon dira zure eskaera prozesatzean:'
@@ -1961,11 +1964,11 @@ eu:
title: Informazioa webgunean erabiltzen diren cookiei buruz
modal:
accept_all: Onartu dena
- accept_only_essential: Funtsezkoak soiik onartu.
+ accept_only_essential: Funtsezkoak soiik onartu
analytics:
description: Cookie hauek erabiltzen dira webguneko ikusleak neurtzeko eta analizatzeko, webgunea hobetzen laguntzeko helburuaz.
title: Analitikak eta estatistikak
- description: Cookieak erabiltzen ditugu webgunearen oinarrizko funtzioak bermatzeko eta zure online esperientzia hobetzeko. Cookien erabilera konfiguratu eta onartu ahal duzu eta nahi duzunean aldatu haiek onesteko aukerak.
+ description: Cookieak erabiltzen ditugu webgunearen oinarrizko funtzioak bermatzeko eta zure on-line esperientzia hobetzeko. Cookien erabilera konfiguratu eta onartu ahal duzu eta nahi duzunean aldatu haiek onesteko aukerak.
essential:
description: Cookie horiek webgunearen funtsezko funtzionaltasuna ahalbidetzen dute eta parte-hartzaileak seguru mantentzen laguntzen dute. Automatikoki gordetzen dira nabigatzailean eta ezin dira desaktibatu.
title: Funtsezkoak
@@ -1981,19 +1984,22 @@ eu:
warning:
all_categories: cookie guztiak
change_settings: Aldatu cookien konfigurazioa
- consent_required: '%{categories} gaitu behar d(it) uzu eduki hau ikusi ahal izateko.'
+ consent_required: '%{categories} aktibatu behar duzu eduki hau ikusi ahal izateko.'
edit_link:
edit: Editatu
footer:
cc_by_license: Creative Commons lizentziaduna
+ current_organization_img: "%{organization} (joan orrialde nagusira)"
data_consent_settings: Cookien konfigurazioa
decidim_logo: Decidim-en logoa
decidim_title: Decidim
download_open_data: Deskargatu Open Data fitxategiak
+ help: Laguntza
log_in: Hasi saioa
made_with_open_source: Gune hau egiteko, software librea erabili da.
resources: Baliabideak
sign_up: Sortu kontu bat
+ social_media: Sare Sozialak
terms_of_service: Zerbitzuaren baldintzak
header:
log_in: Hasi saioa
@@ -2009,9 +2015,9 @@ eu:
aria_label: '%{title} Nabigazio-menua'
notifications_dashboard:
mark_all_as_read: Markatu dena irakurritako gisa
- mark_as_read: Markatu irakurrita bezala
+ mark_as_read: Irakurrita bezala markatu
offline_banner:
- cache_version_page: Kontuz! Lineaz kanpo lan egiten ari zara. Bisitatzen ari zaren orriaren cache bertsioa da hau, agian edukia ez dago eguneratuta.
+ cache_version_page: Kontuz! Off-line lan egiten ari zara. Bisitatzen ari zaren orriaren cache bertsioa da hau, agian edukia ez dago eguneratuta.
social_media_links:
facebook: "%{organization} Facebooken"
github: "%{organization} GitHuben"
@@ -2020,7 +2026,7 @@ eu:
youtube: "%{organization} YouTuben"
timeout_modal:
body: Jarduerarik gabe egon zara %{minutes} minututan. Aktibatu gabe jarraitzen baduzu, deskonektatuko zaitugu zure segurtasunerako.
- continue_session: Jarraitu saioa
+ continue_session: Saioa jarraitu
log_out: Amaitu saioa
title: Saioan jarraitu nahi duzu?
user_menu:
@@ -2033,6 +2039,8 @@ eu:
profile: Nire kontua
public_profile: Nire profil publikoa
title: Profilaren estekak
+ unread_conversations: Irakurri gabe dituzu elkarrizketak
+ unread_notifications: Irakurri gabe dituzu jakinarazpenak
user_profile:
account: Kontua
authorizations: Baimenak
@@ -2109,7 +2117,7 @@ eu:
invitation_instructions:
accept_until_format: "%B %d, %Y %I:%M %p"
help:
- time_format: 'Formatua: hh:mm'
+ time_format: 'Formatua: oo:mm'
long: "%B, %d %Y %H:%M"
long_dashed: "%Y-%m-%d, %H:%M:%S"
long_with_particles: "%B%d, %Y% H:%M etan"
diff --git a/decidim-core/config/locales/fi-plain.yml b/decidim-core/config/locales/fi-plain.yml
index 267ac09b4de83..b8814c4160426 100644
--- a/decidim-core/config/locales/fi-plain.yml
+++ b/decidim-core/config/locales/fi-plain.yml
@@ -1267,11 +1267,12 @@ fi-pl:
main_image: Pääkuva
newsletters:
unsubscribe:
- check_subscription: Jos haluat muuttaa asetuksiasi, voit tehdä sen asetussivulla.
+ check_subscription_html: Mikäli haluat saada uutiskirjeitä jälleen tulevaisuudessa, voit tilata ne uudestaan profiilisi asetuksista.
error: Tilauksen peruuttaminen epäonnistui.
+ subscription_preferences: Olemme päivittäneet uutiskirjeitä koskevia asetuksiasi, etkä enää saa uutiskirjeitä palvelusta %{organization_name}.
success: Tilauksen peruuttaminen onnistui.
token_error: Linkki on vanhentunut.
- unsubscribe: Peruuta tilaus
+ unsubscribe: Peruuta uutiskirjeen tilaus
newsletters_opt_in:
unauthorized: Valitettavasti tämä linkki ei ole enää käytettävissä.
update:
@@ -1279,7 +1280,7 @@ fi-pl:
success: Uutiskirjeasetusten päivitys onnistui.
newsletters_opt_in_mailer:
notify:
- body_1: Henkilötietojen käsittely ja niiden suojaaminen ovat yhä tärkeämpiä meille kaikille. Uuden yleisen tietosuoja-asetuksen (GDPR) 25.5.2018 voimaan tultua yksilöillä on paremmat mahdollisuudet hallinnoida henkilötietojaan. Tästä syystä tarvitsemme suostumuksesi lähettääksemme sinulle olennaista tietoa koskien organisaatiota %{organization_name}.
+ body_1: Henkilötietojen käsittely ja niiden suojaaminen ovat yhä tärkeämpiä meille kaikille. Yleisen tietosuoja-asetuksen (GDPR) 25.5.2018 voimaan tultua yksilöillä on paremmat mahdollisuudet hallinnoida henkilötietojaan. Tästä syystä tarvitsemme suostumuksesi lähettääksemme sinulle olennaista tietoa koskien palvelua %{organization_name}.
body_2: 'Kuinka voit antaa meille suostumuksesi? Napsauta vain seuraavaa painiketta:'
body_3: Tämän suostumuksen avulla voit edelleen vastaanottaa tietoja palvelun mahdollisuuksista. Jos emme saa lupaasi, lopetamme viestien lähettämisen sinulle. Jos vahvistat, että haluat edelleen pysyä ajan tasalla palvelusta, sinulla on mahdollisuus peruuttaa tilaus milloin tahansa.
button: Kyllä, haluan jatkaa olennaisten tietojen vastaanottoa
@@ -1523,6 +1524,7 @@ fi-pl:
close_modal: Sulje ikkuna
ok: OK
title: Vahvista
+ confirm_unload: Sinulla on tallentamattomia muutoksia. Oletko varma, että haluat poistua tältä sivulta?
embed:
title: Upotettu videosisältö
extended_navigation_bar:
@@ -1987,14 +1989,17 @@ fi-pl:
edit: Muokkaa
footer:
cc_by_license: Creative Commons -lisenssi
+ current_organization_img: "%{organization} (Siirry etusivulle)"
data_consent_settings: Evästeasetukset
decidim_logo: Decidim-logo
decidim_title: Decidim
download_open_data: Lataa avoimet datatiedostot
+ help: Ohjeet
log_in: Kirjaudu sisään
made_with_open_source: Verkkosivusto luotu vapaan ohjelmiston avulla.
resources: Resurssit
sign_up: Luo tili
+ social_media: Sosiaalinen media
terms_of_service: Käyttöehdot
header:
log_in: Kirjaudu sisään
@@ -2034,6 +2039,8 @@ fi-pl:
profile: Oma käyttäjätili
public_profile: Oma julkinen profiili
title: Profiilin linkit
+ unread_conversations: Sinulla on lukemattomia keskusteluja
+ unread_notifications: Sinulla on lukemattomia ilmoituksia
user_profile:
account: Käyttäjätili
authorizations: Varmennukset
diff --git a/decidim-core/config/locales/fi.yml b/decidim-core/config/locales/fi.yml
index 639f204411e5a..59a9dc4419e81 100644
--- a/decidim-core/config/locales/fi.yml
+++ b/decidim-core/config/locales/fi.yml
@@ -964,7 +964,7 @@ fi:
validation_error: Virhe tiedoston tarkastamisessa! Varmista, että tiedostopääte ja tiedoston koko vastaavat palvelun asettamia rajoituksia.
select_file: Valitse tiedosto
upload_help:
- dropzone: Pudota tiedostot tähän tai paina viereistä nappia ladataksesi tiedostoja
+ dropzone: Pudota tiedostot tähän tai paina viereistä painiketta ladataksesi tiedostoja
explanation: Ohjeita %{attribute} varten
gamification:
all_badges_link: Kaikki saatavilla olevat kunniamerkit.
@@ -1267,11 +1267,12 @@ fi:
main_image: Pääkuva
newsletters:
unsubscribe:
- check_subscription: Jos haluat muuttaa asetuksiasi, voit tehdä sen asetussivulla.
+ check_subscription_html: Mikäli haluat saada uutiskirjeitä jälleen tulevaisuudessa, voit tilata ne uudestaan profiilisi asetuksista.
error: Tilauksen peruminen epäonnistui.
+ subscription_preferences: Olemme päivittäneet uutiskirjeitä koskevia asetuksiasi, etkä enää saa uutiskirjeitä palvelusta %{organization_name}.
success: Tilauksen peruminen onnistui.
token_error: Linkki on vanhentunut.
- unsubscribe: Peruuta tilaus
+ unsubscribe: Peruuta uutiskirjeen tilaus
newsletters_opt_in:
unauthorized: Valitettavasti tämä linkki ei ole enää käytettävissä.
update:
@@ -1279,7 +1280,7 @@ fi:
success: Uutiskirjeasetusten päivitys onnistui.
newsletters_opt_in_mailer:
notify:
- body_1: Henkilötietojen käsittely ja niiden suojaaminen ovat yhä tärkeämpiä meille kaikille. Uuden yleisen tietosuoja-asetuksen (GDPR) 25.5.2018 voimaan tultua yksilöillä on paremmat mahdollisuudet hallinnoida henkilötietojaan. Tästä syystä tarvitsemme suostumuksesi lähettääksemme sinulle olennaista tietoa koskien organisaatiota %{organization_name}.
+ body_1: Henkilötietojen käsittely ja niiden suojaaminen ovat yhä tärkeämpiä meille kaikille. Yleisen tietosuoja-asetuksen (GDPR) 25.5.2018 voimaan tultua yksilöillä on paremmat mahdollisuudet hallinnoida henkilötietojaan. Tästä syystä tarvitsemme suostumuksesi lähettääksemme sinulle olennaista tietoa koskien palvelua %{organization_name}.
body_2: 'Kuinka voit antaa meille suostumuksesi? Napsauta vain seuraavaa painiketta:'
body_3: Tämän suostumuksen avulla voit edelleen vastaanottaa tietoja palvelusta. Jos emme saa lupaasi, lopetamme viestien lähettämisen sinulle. Jos vahvistat, että haluat edelleen pysyä ajan tasalla palvelusta, sinulla on mahdollisuus perua tilaus milloin tahansa.
button: Kyllä, haluan jatkaa olennaisten tietojen vastaanottoa
@@ -1500,6 +1501,7 @@ fi:
searches:
filters:
jump_to: 'Siirry kohtaan:'
+ resource: "%{label} kohteesta %{collection}"
search: Hae
state:
active: Aktiiviset
@@ -1522,6 +1524,7 @@ fi:
close_modal: Sulje ikkuna
ok: OK
title: Vahvista
+ confirm_unload: Sinulla on tallentamattomia muutoksia. Oletko varma, että haluat poistua tältä sivulta?
embed:
title: Upotettu videosisältö
extended_navigation_bar:
@@ -1986,14 +1989,17 @@ fi:
edit: Muokkaa
footer:
cc_by_license: Creative Commons -lisenssi
+ current_organization_img: "%{organization} (Siirry etusivulle)"
data_consent_settings: Evästeasetukset
decidim_logo: Decidim-logo
decidim_title: Decidim
download_open_data: Lataa avoimet datatiedostot
+ help: Ohjeet
log_in: Kirjaudu sisään
made_with_open_source: Verkkosivusto luotu vapaan ohjelmiston avulla.
resources: Resurssit
sign_up: Luo tili
+ social_media: Sosiaalinen media
terms_of_service: Käyttöehdot
header:
log_in: Kirjaudu sisään
@@ -2033,6 +2039,8 @@ fi:
profile: Oma käyttäjätili
public_profile: Oma julkinen profiili
title: Profiilin linkit
+ unread_conversations: Sinulla on lukemattomia keskusteluja
+ unread_notifications: Sinulla on lukemattomia ilmoituksia
user_profile:
account: Käyttäjätili
authorizations: Vahvistukset
diff --git a/decidim-core/config/locales/fr-CA.yml b/decidim-core/config/locales/fr-CA.yml
index 2c01c1ccf64b3..07660743af40e 100644
--- a/decidim-core/config/locales/fr-CA.yml
+++ b/decidim-core/config/locales/fr-CA.yml
@@ -1269,11 +1269,12 @@ fr-CA:
main_image: Image principale
newsletters:
unsubscribe:
- check_subscription: Si vous souhaitez modifier vos préférences, vous pouvez le faire dans la page des paramètres des notifications.
+ check_subscription_html: Si vous souhaitez recommencer à les recevoir, vous pouvez réactiver votre abonnement à tout moment à partir de la page des paramètres.
error: Un problème est survenu lors de la désinscription.
+ subscription_preferences: Nous avons mis à jour vos préférences d'abonnement, et vous ne recevrez plus de newsletters de %{organization_name}.
success: Vous vous êtes désabonné avec succès.
token_error: Le lien a expiré.
- unsubscribe: Se désabonner
+ unsubscribe: Se désabonner de la newsletter
newsletters_opt_in:
unauthorized: Désolé, ce lien n'est plus disponible.
update:
@@ -1281,7 +1282,7 @@ fr-CA:
success: Les paramètres de la newsletter ont été mis à jour avec succès.
newsletters_opt_in_mailer:
notify:
- body_1: Le traitement des données personnelles et leur protection deviennent de plus en plus importants pour nous tous. Avec le nouveau règlement général sur la protection des données (RGPD) du 25 mai 2018, les individus contrôlent mieux leurs données personnelles. Pour cette raison, nous avons besoin de votre accord pour continuer à vous envoyer des informations pertinentes sur les activités de %{organization_name}.
+ body_1: Le traitement des données personnelles et leur protection deviennent de plus en plus importants pour nous tous. Avec le nouveau Règlement Général sur la Protection des Données (RGPD) du 25 mai 2018, les individus contrôlent mieux leurs données personnelles. Pour cette raison, nous avons besoin de votre consentement pour continuer à vous envoyer des informations pertinentes sur les activités de %{organization_name}.
body_2: 'Comment pouvez-vous nous donner votre consentement ? Cliquez simplement sur le bouton suivant :'
body_3: Avec votre consentement, vous serez en mesure de continuer à recevoir des informations sur les services de la plateforme. Si, au contraire, nous ne recevons pas une confirmation positive de votre part, nous cesserons de vous envoyer des messages. Si vous confirmez que vous souhaitez rester informé, vous aurez toujours la possibilité d'annuler ce choix par la suite.
button: Oui, je veux continuer à recevoir des informations pertinentes
@@ -1525,6 +1526,7 @@ fr-CA:
close_modal: Fermer la fenêtre modale
ok: Ok
title: Valider
+ confirm_unload: Cette page contient des modifications non enregistrées. Êtes-vous sûr(e) de vouloir quitter cette page ?
embed:
title: Contenu vidéo intégré
extended_navigation_bar:
@@ -1988,14 +1990,17 @@ fr-CA:
edit: Modifier
footer:
cc_by_license: Licence Creative Commons
+ current_organization_img: "%{organization} (Retour à l'accueil)"
data_consent_settings: Paramètres des cookies
decidim_logo: Logo Decidim
decidim_title: Decidim
download_open_data: Télécharger les fichiers Open Data
+ help: Aide
log_in: Se connecter
made_with_open_source: Site réalisé grâce au logiciel libre Decidim.
resources: Ressources
sign_up: Créer un compte
+ social_media: Réseaux sociaux
terms_of_service: Conditions d'utilisation
header:
log_in: Se connecter
@@ -2035,6 +2040,8 @@ fr-CA:
profile: Mon compte
public_profile: Mon profil public
title: Liens du profil
+ unread_conversations: Vous avez des conversations non lues
+ unread_notifications: Vous avez des notifications non lues
user_profile:
account: Compte
authorizations: Autorisations
diff --git a/decidim-core/config/locales/fr-LU.yml b/decidim-core/config/locales/fr-LU.yml
index 23d4ff326022e..82652ce427b9c 100644
--- a/decidim-core/config/locales/fr-LU.yml
+++ b/decidim-core/config/locales/fr-LU.yml
@@ -452,7 +452,7 @@ fr-LU:
newsletter: Recevoir une newsletter sur l'actualité de la plateforme
newsletter_title: Autorisation de contact
nickname_help: Cet identifiant est public et unique sur %{organization} ; il permet aux autres utilisateurs de vous suivre, de vous contacter ou de vous mentionner dans leurs commentaires. Il s’affichera précédé d’un « @ » ; il ne doit pas contenir d’espace ni de caractère spécial.
- password_help: "%{minimun_characters} caractères minimum, ne doit pas être trop commun (par exemple 123456) et doit être différent de votre pseudo et de votre email."
+ password_help: "%{minimum_characters} caractères minimum, ne doit pas être trop commun (par exemple 123456) et doit être différent de votre pseudo et de votre email."
sign_in: Se connecter
sign_up: S'inscrire
sign_up_as:
@@ -1455,7 +1455,7 @@ fr-LU:
change_your_password: changez votre mot de passe
confirm_new_password: Confirmer le nouveau mot de passe
new_password: Nouveau mot de passe
- password_help: "%{minimun_characters} caractères minimum, ne doit pas être trop commun (par exemple 123456) et doit être différent de votre pseudo et de votre email."
+ password_help: "%{minimum_characters} caractères minimum, ne doit pas être trop commun (par exemple 123456) et doit être différent de votre pseudo et de votre email."
new:
forgot_your_password: Mot de passe oublié?
send_me_reset_password_instructions: Envoyez-moi les instructions de réinitialisation du mot de passe
@@ -1472,7 +1472,7 @@ fr-LU:
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 ?
+ 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:
diff --git a/decidim-core/config/locales/fr.yml b/decidim-core/config/locales/fr.yml
index 8b66905729464..a6ddfe6d4e145 100644
--- a/decidim-core/config/locales/fr.yml
+++ b/decidim-core/config/locales/fr.yml
@@ -1269,11 +1269,12 @@ fr:
main_image: Image principale
newsletters:
unsubscribe:
- check_subscription: Si vous souhaitez modifier vos préférences, vous pouvez le faire dans la page des paramètres des notifications.
+ check_subscription_html: Si vous souhaitez recommencer à les recevoir, vous pouvez réactiver votre abonnement à tout moment à partir de la page des paramètres.
error: Un problème est survenu lors de la désinscription.
+ subscription_preferences: Nous avons mis à jour vos préférences d'abonnement, et vous ne recevrez plus de newsletters de %{organization_name}.
success: Vous vous êtes désabonné avec succès.
token_error: Le lien a expiré.
- unsubscribe: Se désabonner
+ unsubscribe: Se désabonner de la newsletter
newsletters_opt_in:
unauthorized: Désolé, ce lien n'est plus disponible.
update:
@@ -1281,7 +1282,7 @@ fr:
success: Les paramètres de la newsletter ont été mis à jour avec succès.
newsletters_opt_in_mailer:
notify:
- body_1: Le traitement des données personnelles et leur protection deviennent de plus en plus importants pour nous tous. Avec le nouveau règlement général sur la protection des données (RGPD) du 25 mai 2018, les individus contrôlent mieux leurs données personnelles. Pour cette raison, nous avons besoin de votre accord pour continuer à vous envoyer des informations pertinentes sur les activités de %{organization_name}.
+ body_1: Le traitement des données personnelles et leur protection deviennent de plus en plus importants pour nous tous. Avec le nouveau Règlement Général sur la Protection des Données (RGPD) du 25 mai 2018, les individus contrôlent mieux leurs données personnelles. Pour cette raison, nous avons besoin de votre consentement pour continuer à vous envoyer des informations pertinentes sur les activités de %{organization_name}.
body_2: 'Comment pouvez-vous nous donner votre consentement ? Cliquez simplement sur le bouton suivant :'
body_3: Avec votre consentement, vous serez en mesure de continuer à recevoir des informations sur les services de la plateforme. Si, au contraire, nous ne recevons pas une confirmation positive de votre part, nous cesserons de vous envoyer des messages. Si vous confirmez que vous souhaitez rester informé, vous aurez toujours la possibilité d'annuler ce choix par la suite.
button: Oui, je veux continuer à recevoir des informations pertinentes
@@ -1525,6 +1526,7 @@ fr:
close_modal: Fermer la fenêtre de dialogue
ok: Ok
title: Valider
+ confirm_unload: Cette page contient des modifications non enregistrées. Êtes-vous sûr(e) de vouloir quitter cette page ?
embed:
title: Contenu vidéo intégré
extended_navigation_bar:
@@ -1988,14 +1990,17 @@ fr:
edit: Modifier
footer:
cc_by_license: Licence Creative Commons
+ current_organization_img: "%{organization} (Retour à l'accueil)"
data_consent_settings: Paramètres des cookies
decidim_logo: Decidim.org (ouverture dans une nouvelle fenêtre)
decidim_title: Decidim
download_open_data: Télécharger les fichiers Open Data
+ help: Aide
log_in: Se connecter
made_with_open_source: Site réalisé grâce au logiciel libre Decidim.
resources: Ressources
sign_up: Créer un compte
+ social_media: Réseaux sociaux
terms_of_service: Conditions d'utilisation
header:
log_in: Se connecter
@@ -2035,6 +2040,8 @@ fr:
profile: Mon compte
public_profile: Mon profil public
title: Liens du profil
+ unread_conversations: Vous avez des conversations non lues
+ unread_notifications: Vous avez des notifications non lues
user_profile:
account: Compte
authorizations: Autorisations
diff --git a/decidim-core/config/locales/gl.yml b/decidim-core/config/locales/gl.yml
index 4c7c39534d16c..3a9b34cfff9bb 100644
--- a/decidim-core/config/locales/gl.yml
+++ b/decidim-core/config/locales/gl.yml
@@ -648,10 +648,8 @@ gl:
unsubscribe:
success: Estás desubscrito con éxito.
token_error: A ligazón caducou.
- unsubscribe: Anular a suscripción
newsletters_opt_in_mailer:
notify:
- body_1: O procesamento de datos persoais ea súa protección é cada vez máis importante para todos. Coa nova norma xeral de protección de datos (GDPR) do 25 de maio de 2018, os individuos teñen un mellor control sobre os seus datos persoais. Por este motivo necesitamos o "OK" para seguir enviando información relevante sobre as actividades do %{organization_name}.
body_2: 'Como nos pode dar o seu consentimento? Só tes que premer no seguinte botón:'
body_3: Con este consentimento poderás seguir recibindo información sobre os servizos da plataforma. Se, pola contra, non recibimos unha confirmación positiva da súa parte, deixaremos de enviarlle as nosas mensaxes. Se confirma que quere manter informado, sempre terá a opción de cancelar en calquera momento.
button: Si, quero seguir recibindo información relevante
diff --git a/decidim-core/config/locales/hu.yml b/decidim-core/config/locales/hu.yml
index b3625ea65b240..66d1e9465fdf6 100644
--- a/decidim-core/config/locales/hu.yml
+++ b/decidim-core/config/locales/hu.yml
@@ -1110,11 +1110,9 @@ hu:
main_image: Fő kép
newsletters:
unsubscribe:
- check_subscription: Ha szeretné módosítani a beállításokat, akkor a konfigurációs oldalon teheti meg.
error: Hiba történt a leiratkozás során.
success: A leiratkozásod sikeres volt.
token_error: A link sajnos lejárt.
- unsubscribe: Leiratkozás
newsletters_opt_in:
unauthorized: Sajnos ez a link már nem elérhető.
update:
@@ -1122,7 +1120,6 @@ hu:
success: Hírlevél beállításainak frissítése sikeres.
newsletters_opt_in_mailer:
notify:
- body_1: A személyes adatok védelme és feldolgozása egyre fontosabbá válik mindannyiunk számára. A 2018. május 25-én kiadott új általános adatvédelmi rendelet (GDPR) lehetővé teszi, hogy személyes adatainkat jobban ellenőrizhessük. Emiatt van szükségünk a jóváhagyásodra a %{organization_name} nevű szervezettel kapcsolatban.
body_2: 'Hogyan tudsz beleegyezni? Egyszerűen kattints erre a gombra:'
body_3: Amennyiben beleegyezel, akkor továbbra is elküldjük neked a platform szolgáltatásaival kapcsolatos fontos információkat. Ha nem értesz egyet, akkor többé nem küldünk ilyen üzeneteket. Jóllehet, miután megerősítetted a szándékod, hogy továbbra is szeretnél tájékoztatást kapni, bármikor visszavonhatod a döntésed.
button: Igen, továbbra is szeretnék fontos információkat kapni
diff --git a/decidim-core/config/locales/id-ID.yml b/decidim-core/config/locales/id-ID.yml
index 97a9b168228f8..49622d40079f7 100644
--- a/decidim-core/config/locales/id-ID.yml
+++ b/decidim-core/config/locales/id-ID.yml
@@ -595,10 +595,8 @@ id:
unsubscribe:
success: Anda berhasil berhenti berlangganan.
token_error: Tautan telah kedaluwarsa.
- unsubscribe: Berhenti berlangganan
newsletters_opt_in_mailer:
notify:
- body_1: Pengolahan data pribadi dan perlindungannya menjadi semakin penting bagi kita semua. Dengan Peraturan Perlindungan Data Umum yang baru (GDPR) 25 Mei 2018, individu memiliki kontrol yang lebih baik atas data pribadi mereka. Untuk alasan ini kami memerlukan "OK" Anda untuk terus mengirim informasi yang relevan tentang kegiatan %{organization_name}.
body_2: 'Bagaimana Anda bisa memberi kami persetujuan Anda? Cukup klik tombol berikut:'
body_3: Dengan persetujuan ini Anda akan dapat terus menerima informasi tentang layanan platform. Jika, sebaliknya, kami tidak menerima konfirmasi positif dari pihak Anda, kami akan berhenti mengirimi Anda pesan kami. Jika Anda mengonfirmasi bahwa Anda ingin terus mendapat informasi, Anda akan selalu memiliki opsi untuk membatalkan kapan saja.
button: Ya, saya ingin terus menerima informasi yang relevan
diff --git a/decidim-core/config/locales/is-IS.yml b/decidim-core/config/locales/is-IS.yml
index 97738ef10dacd..64a07d8f87221 100644
--- a/decidim-core/config/locales/is-IS.yml
+++ b/decidim-core/config/locales/is-IS.yml
@@ -251,7 +251,6 @@ is:
unsubscribe:
success: Þú ert með áskrift að góðum árangri.
token_error: Tengillinn er liðinn.
- unsubscribe: Afskráðu þig
notifications_settings:
show:
newsletter_notifications: Ég vil fá fréttabréf
diff --git a/decidim-core/config/locales/it.yml b/decidim-core/config/locales/it.yml
index 7cf189a5f70dd..1e5130cd03e71 100644
--- a/decidim-core/config/locales/it.yml
+++ b/decidim-core/config/locales/it.yml
@@ -4,10 +4,19 @@ it:
attributes:
account:
delete_reason: Motivo per il quale vuoi eliminare il tuo account
+ attachment:
+ documents: Documenti
+ image: Immagine
+ photos: Foto
common:
created_at: Creato il
+ content_block_attachment:
+ background_image: Immagine di sfondo
+ main_image: Immagine principale
conversation:
body: Testo
+ editor_image:
+ file: File
group:
about: Dettagli
avatar: Immagine del profilo
@@ -16,35 +25,56 @@ it:
name: Nome
nickname: Pseudonimo
phone: Telefono
+ import:
+ file: File
message:
body: Testo
report:
details: Ulteriori commenti
user:
about: Di
+ avatar: Immagine del profilo
email: La tua email
+ encrypted_password: Password
+ locale: Localizzazione
name: Nome utente
nickname: Nickname
+ old_password: Password corrente
password: Password
password_confirmation: Conferma la tua password
personal_url: Pagina personale
remove_avatar: Rimuovi avatar
+ tos_agreement: Condizioni contrattuali di servizio
user_group:
avatar: Immagine del profilo
+ errors:
+ models:
+ user:
+ attributes:
+ nickname:
+ format: Il nickname deve essere minuscolo e non contenere spazi
models:
decidim/attachment_created_event: Allegato
decidim/component_published_event: Componente attivo
decidim/demoted_membership: Non è più un amministratore di gruppo
decidim/gamification/badge_earned_event: Badge guadagnato
+ decidim/gamification/level_up_event: Hai raggiunto il livello
+ decidim/invited_to_group_event:
decidim/join_request_accepted_event: Richiesta di adesione accettata
decidim/join_request_rejected_event: Richiesta di adesione rifiutata
decidim/profile_updated_event: profilo aggiornato
decidim/promote_to_admin: Promosso ad amministratore del gruppo
+ decidim/promoted_to_admin_event: Promosso a amministratore di gruppo
decidim/removed_from_group: Rimosso dal gruppo
decidim/resource_endorsed_event: Risorsa approvata
+ decidim/resource_hidden_event: Risorsa nascosta
decidim/user_group_created_event: Gruppo utenti creato
+ decidim/welcome_notification_event: Messaggio di benvenuto
activerecord:
attributes:
+ decidim/action_log:
+ created_at: Ora
+ with_participatory_space: Spazio partecipativo
decidim/user:
current_password: Password attuale
email: Email
@@ -74,10 +104,32 @@ it:
select: Selezionare
formats:
decidim_short: "%d/%m/%Y"
+ decidim_short_dashed: "%d-%m-%Y"
decidim_short_with_month_name_short: "%d %b %Y"
decidim_with_day_and_month_name: "%A %d %b %Y"
decidim_with_month_name: "%d %B %Y"
decidim_with_month_name_short: "%d %b"
+ help:
+ date_format: 'Formato: gg/mm/aaaa'
+ order: d-m-y
+ separator: "/"
+ datetime:
+ distance_in_words:
+ about_x_hours:
+ one: circa 1 ora
+ other: circa %{count} ore
+ half_a_minute: mezzo minuto
+ short:
+ about_x_days: "%{count} giorni"
+ about_x_hours: "%{count} ore"
+ about_x_minutes: "%{count} minuti"
+ about_x_years: "%{count} anni"
+ almost_x_years: "%{count} anni"
+ half_a_minute: 1m
+ less_than_x_minutes: "%{count} minuti"
+ less_than_x_seconds: "%{count} secondi"
+ over_x_years: "%{count} anni"
+ x_days: "%{count} giorni"
decidim:
accessibility:
external_link: Collegamento esterno
@@ -110,11 +162,27 @@ it:
create: "%{user_name} ha creato l'area %{resource_name}"
delete: "%{user_name} ha eliminato l'area %{resource_name}"
update: "%{user_name} ha aggiornato l'area %{resource_name}"
+ attachment_collection:
+ delete: "%{user_name} ha eliminato la collezione di allegati %{resource_name}"
+ update: "%{user_name} ha aggiornato la collezione di allegati %{resource_name}"
+ category:
+ create: "%{user_name} ha aggiunto la categoria %{resource_name} allo spazio %{space_name}"
+ delete: "%{user_name} ha eliminato la categoria %{resource_name} dallo spazio %{space_name}"
+ update: "%{user_name} ha aggiornato la categoria %{resource_name} nello spazio %{space_name}"
component:
create: "%{user_name} ha aggiunto il componente %{resource_name} allo spazio %{space_name}"
delete: "%{user_name} rimosso il componente %{resource_name} dallo spazio %{space_name}"
+ export_component: "%{user_name} ha esportato l' %{resource_name} %{component_name} in %{space_name} come %{format_name}"
publish: "%{user_name} ha pubblicato il componente %{resource_name} nello spazio %{space_name}"
unpublish: "%{user_name} non pubblicato il componente %{resource_name} dallo spazio %{space_name}"
+ update_permissions_with_space: "%{user_name} ha aggiornato i permessi di %{resource_name} in %{space_name}"
+ contextual_help_section:
+ update: "%{user_name} ha aggiornato la sezione di aiuto %{resource_name}"
+ helpers:
+ answers: risposte
+ comments: commenti
+ projects: progetti
+ results: resultati
impersonation_log:
manage: "%{user_name} è stato moderato %{resource_name} perché %{reason}"
moderation:
@@ -131,6 +199,7 @@ it:
update: "%{user_name} ha aggiornato l'applicazione OAuth %{resource_name}"
organization:
update: "%{user_name} aggiornato le impostazioni dell'organizzazione"
+ update_external_domain: "%{user_name} ha aggiornato i domini esterni dell'organizzazione"
participatory_space_private_user:
create: "%{user_name} invitato %{resource_name} a essere un utente privato"
create_via_csv: "%{user_name} ha invitato %{resource_name} tramite csv a unirsi come partecipante privato"
@@ -142,6 +211,10 @@ it:
delete_with_parent: "%{user_name} eliminato l'ambito %{resource_name} all'interno dell'ambito %{parent_scope}"
update: "%{user_name} ha aggiornato l'ambito %{resource_name}"
update_with_parent: "%{user_name} ha aggiornato l'ambito %{resource_name} all'interno dell'ambito %{parent_scope}"
+ scope_type:
+ create: "%{user_name} ha creato il tipo d'ambito %{resource_name}"
+ delete: "%{user_name} ha eliminato il tipo di ambito %{resource_name}"
+ update: "%{user_name} ha aggiornato il tipo di ambito %{resource_name}"
static_page:
create: "%{user_name} creato il %{resource_name} pagina statica"
delete: "%{user_name} cancellato il %{resource_name} pagina statica"
@@ -157,11 +230,15 @@ it:
unblock: "%{user_name} ha sbloccato l'utente %{resource_name}"
unofficialize: "%{user_name} utente non ufficiale %{resource_name}"
user_group:
+ block: "%{user_name} ha bloccato il gruppo utente %{resource_name}"
reject: "%{user_name} respinto il %{resource_name} verifica del gruppo di utenti"
+ unblock: "%{user_name} ha bloccato il gruppo utente %{resource_name}"
verify: "%{user_name} verificato il %{resource_name} gruppo di utenti"
verify_via_csv: "%{user_name} verificato il %{resource_name} gruppo di utenti tramite un file CSV"
user_moderation:
unreport: "%{user_name} ha de-segnalato un %{resource_type} - %{unreported_user_name}"
+ admin_terms_of_service:
+ default_body: "
TERMINI DI UTILIZZO PER L'AMMINISTRATORE
Ci auguriamo che tu abbia ricevuto la usuale raccomandazione dall'amministratore di sistema. Solitamente si riduce a queste tre cose:
Rispetta la privacy degli altri.
Pensa prima di cliccare.
Da grande potenzialità derivano grandi responsabilità.
"
alert:
dismiss: Rimuovi notifica
amendments:
@@ -173,6 +250,7 @@ it:
error: Si è verificato un errore durante la modifica di questa risorsa.
promote_button: Promuovi a %{model_name}
promote_confirm_text: Sei sicuro di voler promuovere questa emendazione?
+ promote_help_text: Puoi promuovere questa modifica e pubblicarla come %{model_name} indipendente.
created:
error: Si è verificato un errore durante la creazione della proposta di emendamento.
success: La proposta di emendamento è stata creata con successo.
@@ -658,37 +736,70 @@ it:
group_admins:
actions:
demote_admin: Rimuovi l'amministratore
+ demote:
+ error: Si è verificato un errore durante la rimozione di questo utente dall'elenco degli amministratori.
+ success: Partecipante rimosso correttamente dall'elenco degli amministratori.
index:
current_admins: 'Amministratori attuali:'
manage_admins: Gestisci amministratori
group_invites:
+ accept:
+ error: Si è verificato un errore durante l'accettazione di questo invito.
+ success: Invito accettato con successo.
accept_invitation: Accettato
accept_or_reject_group_invitations: 'I seguenti gruppi ti hanno invitato a unirti a loro. Accetta o rifiuta le loro richieste:'
index:
invite: Invitare
invite_user: Invita un utente
+ invite:
+ error: Si è verificato un problema nell'invitare questo partecipante.
+ success: Partecipante invitato con successo.
+ pending_invitations: Richieste in sospeso
+ reject:
+ error: Si è verificato un errore nel rifiutare questo invito.
+ success: Invito rifiutato con successo.
reject_invitation: Rifiutato
group_members:
+ accept:
+ error: Si è verificato un errore accettando questa richiesta di iscrizione.
+ success: Richiesta di iscrizione accettata con successo.
actions:
promote_to_admin: Rendere amministratore
remove_from_group: Rimuovi utente
index:
current_members_without_admins: 'Membri attuali (senza amministratori):'
manage_members: Gestisci i membri
+ promote:
+ error: Si è verificato un errore nel promuovere questo partecipante.
+ success: Partecipante promosso con successo.
+ reject:
+ error: Si è verificato un problema rifiutando questa richiesta di iscrizione.
+ success: Richiesta di iscrizione rifiutata con successo.
+ remove:
+ error: Si è verificato un errore durante la rimozione di questo utente dal gruppo.
+ success: Partecipante rimosso con successo dal gruppo.
groups:
actions:
are_you_sure: Sei sicuro?
+ create:
+ error: Si è verificato un errore durante la creazione del gruppo.
+ success: Gruppo creato con successo.
edit:
edit_user_group: Modifica gruppo
update_user_group: Gruppo di aggiornamento
form:
+ document_number_help: Non usare trattini né spazi.
email_help: Email della tua organizzazione, associazione, collettivo, gruppo, ecc.
fill_in_for_verification: 'Compila questi campi se vuoi che il tuo gruppo sia verificato:'
name_help: Nome della tua organizzazione, associazione, collettivo, gruppo, ecc.
nickname_help: Nome utente della propria organizzazione, associazione, collettivo, gruppo, ecc. Non utilizzare spazi né accenti.
+ phone_help: Non usare trattini né spazi.
join:
+ error: Si è verificato un problema ad unirsi al gruppo.
success: Richiesta di unione creata con successo. Un amministratore esaminerà la tua richiesta prima di accettarti nel gruppo.
leave:
+ error: Si è verificato un problema lasciando il gruppo.
+ last_admin: Non puoi rimuovere te stesso da questo gruppo perché sei l'ultimo amministratore. Rendi un altro membro un amministratore per lasciare il gruppo.
success: Gruppo lasciato con successo.
members:
accept_or_reject_join_requests: 'I seguenti utenti hanno chiesto di unirsi a questo gruppo. Accetta o rifiuta le loro richieste:'
@@ -698,9 +809,13 @@ it:
create_user_group: Crea un gruppo
new_user_group: Nuovo gruppo
subtitle: Crea un gruppo e invita altri utenti a partecipare per partecipare a un livello collettivo.
+ no_user_groups: Non appartiene ancora a nessun gruppo.
roles:
admin: Amministratore
member: Membro
+ update:
+ error: Si è verificato un errore durante l'aggiornamento del gruppo.
+ success: Gruppo aggiornato con successo.
help:
main_topic:
default_page:
@@ -746,6 +861,8 @@ it:
static:
latlng_text: 'latitudine: %{latitude}, longitudine: %{longitude}'
map_service_brand: Mappa OpenStreet
+ members:
+ no_members: Questo gruppo non ha ancora membri.
menu:
help: Aiuto
home: Home
@@ -844,10 +961,8 @@ it:
unsubscribe:
success: Hai annullato l'iscrizione.
token_error: Il link è scaduto.
- unsubscribe: Annulla l'iscrizione
newsletters_opt_in_mailer:
notify:
- body_1: Il trattamento dei dati personali e la sua protezione stanno diventando sempre più importanti per tutti noi. Con il nuovo regolamento generale sulla protezione dei dati (GDPR) del 25 maggio 2018, gli individui hanno un migliore controllo sui propri dati personali. Per questo motivo abbiamo bisogno del tuo "OK" per continuare a inviare informazioni rilevanti sulle attività di %{organization_name}.
body_2: 'Come puoi darci il tuo consenso? Basta fare clic sul seguente pulsante:'
body_3: Con questo consenso sarai in grado di continuare a ricevere informazioni sui servizi della piattaforma. Se, al contrario, non riceviamo una conferma positiva da parte vostra, smetteremo di inviarti i nostri messaggi. Se confermi di voler essere informato, avrai sempre la possibilità di annullare in qualsiasi momento.
button: Sì, voglio continuare a ricevere informazioni pertinenti
@@ -913,6 +1028,7 @@ it:
profile:
deleted: Utente eliminato
profiles:
+ default_officialization_text_for_user_groups: Questo gruppo è verificato pubblicamente, il suo nome è stato verificato per corrispondere al suo vero nome.
show:
activity: Attività
badges: badge
@@ -933,9 +1049,12 @@ it:
invite_user: Invita utente
join_user_group: Richiesta di iscrizione al gruppo
leave_user_group: Lascia il gruppo
+ manage_user_group: Gestisci gruppo
manage_user_group_admins: Gestisci amministratori
manage_user_group_users: Gestisci i membri
resend_email_confirmation_instructions: Rispedire le istruzioni per la conferma dell'email
+ confirmation_instructions_sent: Istruzioni di conferma e-mail inviate.
+ fill_in_email_to_confirm_it: Per favore, inserisci l'email del tuo gruppo per confermarlo.
reported_mailer:
report:
authors: Autori
@@ -1063,6 +1182,7 @@ it:
user_contact_disabled: Questo partecipante non accetta messaggi diretti.
user_conversations:
create:
+ error: Impossibile creare il messaggio. Riprova più tardi.
existing_error: Il messaggio non può essere creato. La conversazione esiste già, riprova ora.
success: Conversazione iniziata con successo!
index:
@@ -1077,6 +1197,8 @@ it:
user_interests:
show:
my_interests: I miei interessi
+ no_scopes: Questa organizzazione non ha ancora alcun scopo!
+ select_your_interests: Seleziona gli argomenti a cui sei interessato per ricevere gli eventi correlati nella scheda Timeline del tuo profilo.
update_my_interests: Aggiorna i miei interessi
update:
error: Si è verificato un errore durante l'aggiornamento dei tuoi interessi.
diff --git a/decidim-core/config/locales/ja.yml b/decidim-core/config/locales/ja.yml
index 84da730ce3459..f5836a419e3de 100644
--- a/decidim-core/config/locales/ja.yml
+++ b/decidim-core/config/locales/ja.yml
@@ -1249,11 +1249,12 @@ ja:
main_image: メイン画像
newsletters:
unsubscribe:
- check_subscription: 設定を変更したい場合は、 設定ページ で設定できます。
+ check_subscription_html: 配信を再開したい場合は、設定ページからいつでもサブスクリプションを再開できます。
error: 購読解除中に問題が発生しました。
+ subscription_preferences: サブスクリプションの設定を更新しました。 %{organization_name} からニュースレターを受け取ることはできなくなりました。
success: 購読解除に成功しました。
token_error: リンクの有効期限が切れました。
- unsubscribe: 購読解除
+ unsubscribe: ニュースレターの購読を解除
newsletters_opt_in:
unauthorized: 申し訳ありませんが、このリンクは使用できなくなりました。
update:
@@ -1261,7 +1262,7 @@ ja:
success: ニュースレター設定を更新しました。
newsletters_opt_in_mailer:
notify:
- body_1: 個人データの処理とその保護は、私たち全員にとってますます重要になっています。 2018年5月25日の新しい一般データ保護規則(GDPR)により、個人は個人データをより良く管理できます。 このため、 %{organization_name} の活動に関する関連情報を送信し続けるには、お客様の "OK" が必要です。
+ body_1: 個人データの処理とその保護は、私たち全員にとってますます重要な課題となっています。2018年5月25日に施行された一般データ保護規則(GDPR)により、個人は自分の個人データに対する管理権限を強化しました。このため、%{organization_name}の活動に関する関連情報の提供を継続するため、お客様の「同意」が必要です。
body_2: 'どのように私たちにあなたの同意を与えることができますか? ただ、以下のボタンをクリックしてください:'
body_3: この同意があれば、プラットフォームのサービスに関する情報を引き続き受け取ることができます。 逆に、お客様の確認を受けていない場合、当社は当社のメッセージの送信を停止します。 通知を受け続けることを確認した場合は、いつでもキャンセルすることができます。
button: はい、関連情報を引き続き受信します。
@@ -1482,6 +1483,7 @@ ja:
searches:
filters:
jump_to: 'ジャンプ先:'
+ resource: "%{collection} の中の %{label}"
search: 検索
state:
active: アクティブ
@@ -1504,6 +1506,7 @@ ja:
close_modal: ウィンドウを閉じる
ok: OK
title: 確定
+ confirm_unload: このページには保存されていない変更が含まれています。このページから移動してもよいですか?
embed:
title: 埋め込み動画コンテンツ
extended_navigation_bar:
@@ -1964,14 +1967,17 @@ ja:
edit: 編集
footer:
cc_by_license: クリエイティブコモンズライセンス
+ current_organization_img: "%{organization} (Home)"
data_consent_settings: Cookieの設定
decidim_logo: Decidim ロゴ
decidim_title: Decidim
download_open_data: オープンデータファイルをダウンロード
+ help: ヘルプ
log_in: ログイン
made_with_open_source: このサイトは フリーソフトウェアで作られています。
resources: リソース
sign_up: アカウントを作成
+ social_media: ソーシャルメディア
terms_of_service: 利用規約
header:
log_in: ログイン
@@ -2011,6 +2017,8 @@ ja:
profile: マイアカウント
public_profile: 公開プロフィール
title: プロフィールリンク
+ unread_conversations: 未読の会話があります
+ unread_notifications: 未読の通知があります
user_profile:
account: アカウント
authorizations: 権限
diff --git a/decidim-core/config/locales/lb-LU.yml b/decidim-core/config/locales/lb-LU.yml
index 0995d6ed83599..20cd09e05ce7b 100644
--- a/decidim-core/config/locales/lb-LU.yml
+++ b/decidim-core/config/locales/lb-LU.yml
@@ -427,7 +427,7 @@ lb:
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 %{minimum_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:
@@ -1245,7 +1245,7 @@ lb:
change_your_password: Ändern Sie Ihr Passwort
confirm_new_password: Bestätige neues Passwort
new_password: Neues Passwort
- 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 %{minimum_characters} Zeichen, nicht zu gewöhnlich (z. B. 123456) und darf nicht Ihr Benutzername oder Ihre E-Mail-Adresse sein."
new:
forgot_your_password: Haben Sie Ihr Passwort vergessen?
send_me_reset_password_instructions: Senden Sie mir das Passwort zurück
diff --git a/decidim-core/config/locales/lb.yml b/decidim-core/config/locales/lb.yml
index b44e8d55c83de..56918adc6049e 100644
--- a/decidim-core/config/locales/lb.yml
+++ b/decidim-core/config/locales/lb.yml
@@ -826,10 +826,8 @@ lb:
unsubscribe:
success: Du bass ofgemellt.
token_error: De Link ass ofgelaf.
- unsubscribe: Ofbestellen
newsletters_opt_in_mailer:
notify:
- body_1: D'Verschaffen vun perséinlechen Daten an hire Schutz, ginn fir ons all ëmmer méi wichteg. Mat der neier RGPD Reglementatioun hunn Eenzelpersounen eng besser Kontroll iwwer hir perséinlech Daten. Aus dem Grond brauchen mir däin "OK" fir dir weiderhin relevant Informatiounen vun %{organization_name} zoukommen ze loossen.
body_2: 'Wéi kanns du zoustëmmen? Klick einfach op den Knäppchen hei:'
body_3: Mat denger Zoustëmmung erhëls du weiderhin Informatiounen iwwert Déngschter vun dëser Plattform. Sollten mir, am Géigenzuch, keng Zoustëmmung vun dir erhalen, wäerten mir dir och keng Noriichten méi schécken. Och am Fall vun enger Zoustëmmung, kanns du zu all Moment dës Optioun ofzewielen.
button: Ja, ich möchte weiterhin relevante Informationen erhalten
diff --git a/decidim-core/config/locales/lt.yml b/decidim-core/config/locales/lt.yml
index 05b72db940f4d..8bc7d0e24b329 100644
--- a/decidim-core/config/locales/lt.yml
+++ b/decidim-core/config/locales/lt.yml
@@ -1198,18 +1198,15 @@ lt:
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:
update:
error: Išsaugant naujienlaiškių nuostatas iškilo problema.
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ą
diff --git a/decidim-core/config/locales/lv.yml b/decidim-core/config/locales/lv.yml
index 3c6316312d8f6..c29f556fdcf1c 100644
--- a/decidim-core/config/locales/lv.yml
+++ b/decidim-core/config/locales/lv.yml
@@ -728,10 +728,8 @@ lv:
unsubscribe:
success: Jūsu abonements ir veiksmīgi anulēts.
token_error: Saitei ir beidzies derīguma termiņš.
- unsubscribe: Anulēt abonementu
newsletters_opt_in_mailer:
notify:
- body_1: Personas datu apstrāde un to aizsardzība kļūst arvien nozīmīgāka mums visiem. Ievērojot jauno Vispārīgo datu aizsardzības regulu (VDAR) (2018. gada 25. maijs), indivīdi var efektīvāk kontrolēt savu personas datu izmantošanu. Šī iemesla dēļ mums ir nepieciešams jūsu „OK”, lai turpinātu sūtīt būtisku informāciju par %{organisation_name} darbībām.
body_2: 'Kā jūs varat dot mums savu piekrišanu? Vienkārši noklikšķiniet uz šīs pogas:'
body_3: Piekrītot jūs varēsiet turpināt saņemt informāciju par platformas pakalpojumiem. Pretējā gadījumā, ja mēs nesaņemsim no jums pozitīvu apstiprinājumu, mēs pārtrauksim jums sūtīt ziņas. Ja jūs apstiprināsiet, ka vēlaties saņemt informāciju, jums vienmēr būs iespēja šo piekrišanu atcelt jebkurā laikā.
button: Jā, es vēlos turpināt saņemt būtisku informāciju
diff --git a/decidim-core/config/locales/nl.yml b/decidim-core/config/locales/nl.yml
index 2dec4a1dee384..9d98d8ac18e95 100644
--- a/decidim-core/config/locales/nl.yml
+++ b/decidim-core/config/locales/nl.yml
@@ -829,10 +829,8 @@ nl:
unsubscribe:
success: Je bent succesvol uitgeschreven.
token_error: De link is verlopen.
- unsubscribe: Uitschrijven
newsletters_opt_in_mailer:
notify:
- body_1: De verwerking van persoonlijke gegevens en de bescherming ervan worden steeds belangrijker voor ons allemaal. Met de nieuwe Algemene Verordening Gegevensbescherming (GDPR) van 25 mei 2018 hebben individuen betere controle over hun persoonlijke gegevens. Om deze reden hebben we uw "OK" nodig om relevante informatie over de activiteiten van de %{organization_name}te blijven verzenden.
body_2: 'Hoe kunt u ons uw toestemming geven? Klik gewoon op de volgende knop:'
body_3: Met deze toestemming kunt u doorgaan met het ontvangen van informatie over de diensten van het platform. Als we daarentegen geen positieve bevestiging van u ontvangen, zullen wij u niet langer onze berichten toesturen. Als u bevestigt dat u op de hoogte wilt blijven, heeft u altijd de mogelijkheid om op elk gewenst moment te annuleren.
button: Ja, ik wil relevante informatie blijven ontvangen
diff --git a/decidim-core/config/locales/no.yml b/decidim-core/config/locales/no.yml
index f914f0db9e8f4..c12d55eafc5fe 100644
--- a/decidim-core/config/locales/no.yml
+++ b/decidim-core/config/locales/no.yml
@@ -840,10 +840,8 @@
unsubscribe:
success: Du har avsluttet ditt abonnement.
token_error: Lenken er utløpt.
- unsubscribe: Avslutt abonnement
newsletters_opt_in_mailer:
notify:
- body_1: Behandlingen av personopplysninger og deres beskyttelse blir stadig viktigere for oss alle. Med den nye General Data Protection Regulation (GDPR) av 25. mai 2018, har enkeltpersoner bedre kontroll over personopplysningene sine. Av denne grunn trenger vi din "OK" for å fortsette å sende relevant informasjon om aktivitetene til %{organization_name}.
body_2: 'Hvordan kan du gi oss ditt samtykke? Bare klikk på følgende knapp:'
body_3: Med dette samtykket vil du kunne fortsette å motta informasjon om tjenestene til plattformen. Hvis vi ikke mottar en positiv bekreftelse fra din side, vil vi slutte å sende deg meldingene våre. Hvis du bekrefter at du ønsker å bli informert, har du alltid muligheten til å kansellere når som helst.
button: Ja, jeg vil fortsette å motta relevant informasjon
diff --git a/decidim-core/config/locales/pl.yml b/decidim-core/config/locales/pl.yml
index fa85a88dc1bb5..215e02bd5392c 100644
--- a/decidim-core/config/locales/pl.yml
+++ b/decidim-core/config/locales/pl.yml
@@ -1205,11 +1205,9 @@ pl:
main_image: Obraz główny
newsletters:
unsubscribe:
- check_subscription: Jeśli chcesz zmienić swoje preferencje, możesz to zrobić na stronie konfiguracji.
error: Wystąpił błąd podczas anulowania subskrypcji.
success: Subskrypcja została anulowana.
token_error: Link wygasł.
- unsubscribe: Anuluj subskrypcję
newsletters_opt_in:
unauthorized: Przepraszamy, ten link nie jest już dostępny.
update:
@@ -1217,7 +1215,6 @@ pl:
success: Ustawienia newslettera zostały pomyślnie zaktualizowane.
newsletters_opt_in_mailer:
notify:
- body_1: Przetwarzanie danych osobowych i ich ochrona stają się coraz ważniejsze dla nas wszystkich. Wraz z nowym ogólnym rozporządzeniem o ochronie danych (GDPR) z 25 maja 2018 r. Osoby fizyczne mają lepszą kontrolę nad swoimi danymi osobowymi. Z tego powodu potrzebujemy twojego "OK", aby kontynuować wysyłanie odpowiednich informacji o działaniach %{organization_name}.
body_2: 'Jak możesz wyrazić zgodę? Po prostu kliknij poniższy przycisk:'
body_3: Wyrażając zgodę będziesz mógł nadal otrzymywać informacje o usługach platformy. Jeśli jej jednak nie wyrazisz, przestaniemy wysyłać Ci wiadomości. Jeśli teraz potwierdzisz, że chcesz być na bieżąco informowany, wciąż w dowolnym będziesz mógł anulować zgodę.
button: Tak, chcę nadal otrzymywać istotne informacje
diff --git a/decidim-core/config/locales/pt-BR.yml b/decidim-core/config/locales/pt-BR.yml
index d998106977658..b5956b30726f4 100644
--- a/decidim-core/config/locales/pt-BR.yml
+++ b/decidim-core/config/locales/pt-BR.yml
@@ -1155,7 +1155,6 @@ pt-BR:
error: Ocorreu um erro ao se desinscrever.
success: Você está inscrito com sucesso.
token_error: O link expirou.
- unsubscribe: Cancelar subscrição
newsletters_opt_in:
unauthorized: Desculpe, este link não está mais disponível.
update:
@@ -1163,7 +1162,6 @@ pt-BR:
success: Configurações de boletim informativo atualizadas com sucesso.
newsletters_opt_in_mailer:
notify:
- body_1: O processamento de dados pessoais e sua proteção estão se tornando cada vez mais importantes para todos nós. Com o novo Regulamento Geral de Proteção de Dados (GDPR) de 25 de maio de 2018, os indivíduos têm melhor controle sobre seus dados pessoais. Por esse motivo, precisamos que seu "OK" continue enviando informações relevantes sobre as atividades do %{organization_name}.
body_2: 'Como você pode nos dar seu consentimento? Basta clicar no seguinte botão:'
body_3: Com esse consentimento, você poderá continuar recebendo informações sobre os serviços da plataforma. Se, pelo contrário, não recebermos uma confirmação positiva da sua parte, deixaremos de lhe enviar as nossas mensagens. Se você confirmar que deseja continuar sendo informado, sempre terá a opção de cancelar a qualquer momento.
button: Sim, quero continuar recebendo informações relevantes
@@ -1371,6 +1369,7 @@ pt-BR:
close_modal: Fechar modal
ok: OK
title: Confirmar
+ confirm_unload: Esta página contém alterações não salvas. Tem certeza que deseja sair desta página?
extended_navigation_bar:
more: Mais
unfold: Desdobrar
diff --git a/decidim-core/config/locales/pt.yml b/decidim-core/config/locales/pt.yml
index 9fdc4c479e631..4b0be05512ded 100644
--- a/decidim-core/config/locales/pt.yml
+++ b/decidim-core/config/locales/pt.yml
@@ -829,10 +829,8 @@ pt:
unsubscribe:
success: Subscrição cancelada corretamente.
token_error: A hiperligação expirou.
- unsubscribe: Cancelar subscrição
newsletters_opt_in_mailer:
notify:
- body_1: O processamento de dados pessoais e a sua proteção estão a tornar-se cada vez mais importantes para todos nós. Com o novo Regulamento Geral de Proteção de Dados (GDPR) de 25 de maio de 2018, os indivíduos têm melhor controlo sobre os seus dados pessoais. Por este motivo, precisamos do seu "OK" para continuar a enviar informações relevantes sobre as atividades de %{organization_name}.
body_2: 'Como pode dar-nos o seu consentimento? Basta clicar no seguinte botão:'
body_3: Com este consentimento, poderá continuar a receber informações sobre os serviços da plataforma. Se, pelo contrário, não recebermos uma confirmação positiva da sua parte, deixaremos de lhe enviar as nossas mensagens. Se confirmar que deseja continuar a ser informado, terá sempre a opção de cancelar a qualquer momento.
button: Sim, quero continuar a receber informações relevantes
diff --git a/decidim-core/config/locales/ro-RO.yml b/decidim-core/config/locales/ro-RO.yml
index 4ad488941d493..c39662732e53f 100644
--- a/decidim-core/config/locales/ro-RO.yml
+++ b/decidim-core/config/locales/ro-RO.yml
@@ -1161,17 +1161,14 @@ ro:
main_image: Imaginea principală
newsletters:
unsubscribe:
- check_subscription: Dacă doriți să vă schimbați preferințele, puteți face acest lucru în pagina de configurare.
error: A apărut o eroare la dezabonare.
success: Sunteți dezabonat cu succes.
token_error: Link-ul a expirat.
- unsubscribe: Dezabonare
newsletters_opt_in:
update:
error: A apărut o eroare la actualizarea acestui buletin informativ.
newsletters_opt_in_mailer:
notify:
- body_1: Prelucrarea datelor cu caracter personal şi protecţia acesteia devin din ce în ce mai importante pentru noi toţi. Prin noul Regulament general privind protecția datelor (RGDP) din 25 mai 2018, persoanele fizice dețin un control mai bun asupra datelor lor cu caracter personal. Din acest motiv avem nevoie de "OK-ul tău" pentru a continua să trimiți informații relevante despre activitățile %{organization_name}.
body_2: 'Cum ne puteți da acordul? Doar faceți clic pe următorul buton:'
body_3: Cu acest consimțământ veți putea primi în continuare informații despre serviciile platformei. Dacă, dimpotrivă, nu primim o confirmare pozitivă din partea dumneavoastră, vom înceta să vă trimitem mesajele. Dacă confirmați că doriți să fiți informat în continuare, veți avea întotdeauna opțiunea de a anula oricând.
button: Da, doresc să continui să primesc informații relevante
diff --git a/decidim-core/config/locales/ru.yml b/decidim-core/config/locales/ru.yml
index a4d79d0a7af7c..a3ce0c187299e 100644
--- a/decidim-core/config/locales/ru.yml
+++ b/decidim-core/config/locales/ru.yml
@@ -465,10 +465,8 @@ ru:
unsubscribe:
success: Вы успешно отменили подписку.
token_error: Срок действия ссылки истек.
- unsubscribe: Отписаться
newsletters_opt_in_mailer:
notify:
- body_1: Обработка персональных данных и их защита становятся все более важными для всех нас. По новому "Общему положению о защите данных" от 25 мая 2018 года люди получают возможность управлять своими личными данными. Поэтому нам нужно ваше согласие, чтобы продолжить отправлять вам свежие новости о деятельности %{organization_name}.
body_2: 'Как вы можете дать нам свое согласие? Просто нажмите следующую кнопку:'
body_3: Согласившись, вы сможете продолжить получать сведения об услугах площадки. Если же мы не получим вашего согласия, то мы прекратим отправку наших сообщений. Если вы подтвердите, что хотите получать новости, вы в любой момент потом сможете отказаться от их получения.
button: Да, я хочу продолжать получать свежие новости
diff --git a/decidim-core/config/locales/sk-SK.yml b/decidim-core/config/locales/sk-SK.yml
index 80be60edd4e43..97ef3c95be801 100644
--- a/decidim-core/config/locales/sk-SK.yml
+++ b/decidim-core/config/locales/sk-SK.yml
@@ -409,7 +409,7 @@ sk:
newsletter: Dostávajte príležitostný spravodajca s relevantnými informáciami
newsletter_title: Povolenie kontaktu
nickname_help: Vaša prezývka v %{organization}
- 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: "%{minimum_characters} 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:
@@ -1225,7 +1225,7 @@ sk:
change_your_password: Zmeňte si svoje heslo
confirm_new_password: Potvrďte nové heslo
new_password: Nové heslo
- 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."
+ password_help: "%{minimum_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."
new:
forgot_your_password: Zabudli ste heslo?
send_me_reset_password_instructions: Pošlite mi pokyny na resetovanie hesla
@@ -1408,7 +1408,7 @@ sk:
dropdown:
choose_diff_view_html: 'Mód zobrazenia HTML:'
choose_diff_view_mode: 'Mód srovnávacího zobrazení:'
- option_escaped: Nepoužívané
+ option_escaped: Nepoužívané
option_split: Vedle sebe (Sbs)
option_unescaped: Používané
option_unified: Sjednocené
diff --git a/decidim-core/config/locales/sk.yml b/decidim-core/config/locales/sk.yml
index d98f466dd5aef..f1aaec1c547c8 100644
--- a/decidim-core/config/locales/sk.yml
+++ b/decidim-core/config/locales/sk.yml
@@ -722,10 +722,8 @@ sk:
unsubscribe:
success: Úspešne ste odhlásení.
token_error: Platnosť odkazu vypršala.
- unsubscribe: Odhlásiť odber
newsletters_opt_in_mailer:
notify:
- body_1: Spracovanie osobných údajov a ich ochrana sú pre nás všetkých stále dôležitejšie. S novým všeobecným nariadením o ochrane osobných údajov (GDPR) z 25. mája 2018 majú jednotlivci lepšiu kontrolu nad svojimi osobnými údajmi. Z tohto dôvodu potrebujeme vaše "OK" pre pokračovanie v zasielanie relevantných informácií o aktivitách%{organization_name}.
body_2: 'Ako nám môžete dať svoj súhlas? Stačí kliknúť na nasledujúce tlačidlo: '
body_3: S týmto súhlasom budete môcť pokračovať v prijímaní informácií o službách platformy. Pokiaľ naopak nedostaneme pozitívne potvrdenie z vášho hľadiska, prestaneme vám posielať naše správy. Ak potvrdíte, že chcete byť stále informovaný, máte vždy možnosť kedykoľvek zrušiť.
button: Áno, chcem aj naďalej prijímať relevantné informácie
@@ -962,6 +960,8 @@ sk:
change_my_password: Zmeňte heslo
confirm_new_password: Potvrďte nové heslo
new_password: Nové heslo
+ password_help: "%{minimum_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."
+ password_help_admin: "%{minimum_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."
new:
forgot_your_password: Zabudli ste heslo?
send_me_reset_password_instructions: Pošlite mi pokyny na resetovanie hesla
diff --git a/decidim-core/config/locales/sv.yml b/decidim-core/config/locales/sv.yml
index 1d2998d83259d..75c52c69c65cf 100644
--- a/decidim-core/config/locales/sv.yml
+++ b/decidim-core/config/locales/sv.yml
@@ -1244,11 +1244,12 @@ sv:
main_image: Huvudbild
newsletters:
unsubscribe:
- check_subscription: Om du vill ändra dina inställningar kan du göra det på inställningssidan.
+ check_subscription_html: Om du vill börja ta emot dem igen, kan du återaktivera din prenumeration när som helst från inställningssidan.
error: Det gick inte att avsluta prenumerationen.
+ subscription_preferences: Vi har uppdaterat dina prenumerationsinställningar, och du får inte längre nyhetsbrev från %{organization_name}.
success: Prenumerationen har avslutats.
token_error: Länken är inte längre giltig.
- unsubscribe: Avprenumerera
+ unsubscribe: Avregistrera dig från nyhetsbrev
newsletters_opt_in:
unauthorized: Länken är tyvärr inte längre tillgänglig.
update:
@@ -1473,6 +1474,7 @@ sv:
searches:
filters:
jump_to: 'Gå till:'
+ resource: "%{label} bland %{collection}"
search: Sök
state:
active: Pågående
@@ -1495,6 +1497,7 @@ sv:
close_modal: Stäng fönster
ok: Ok
title: Bekräfta
+ confirm_unload: Denna sida innehåller osparade ändringar. Är du säker på att du vill lämna denna sida?
embed:
title: Inbäddat videoinnehåll
extended_navigation_bar:
@@ -1954,14 +1957,17 @@ sv:
edit: Redigera
footer:
cc_by_license: Creative Commons-licens
+ current_organization_img: "%{organization} (hemma)"
data_consent_settings: Inställningar för cookies
decidim_logo: Decidims logotyp
decidim_title: Decidim
download_open_data: Hämta öppna datafiler
+ help: Hjälp
log_in: Logga in
made_with_open_source: Webbplats skapad med fri programvara.
resources: Innehåll
sign_up: Skapa ett konto
+ social_media: Sociala medier
terms_of_service: Användarvillkor
header:
log_in: Logga in
@@ -1999,6 +2005,8 @@ sv:
profile: Mitt konto
public_profile: Min offentliga profil
title: Profillänkar
+ unread_conversations: Du har olästa konversationer
+ unread_notifications: Du har olästa meddelanden
user_profile:
account: Konto
authorizations: Auktoriseringar
diff --git a/decidim-core/config/locales/tr-TR.yml b/decidim-core/config/locales/tr-TR.yml
index 75454bc95442c..645c9db7daa01 100644
--- a/decidim-core/config/locales/tr-TR.yml
+++ b/decidim-core/config/locales/tr-TR.yml
@@ -838,10 +838,8 @@ tr:
unsubscribe:
success: Abonelikten başarıyla çıktınız.
token_error: Bağlantının süresi doldu.
- unsubscribe: Abonelikten ayrıl
newsletters_opt_in_mailer:
notify:
- body_1: Kişisel verilerin işlenmesi ve korunması, hepimiz için giderek daha önemli hale gelmektedir. 25 Mayıs 2018 tarihli yeni Genel Veri Koruma Yönetmeliği (GDPR) ile bireyler kişisel verileri üzerinde daha iyi bir kontrole sahiptir. Bu nedenle, %{organization_name}faaliyetleri hakkında ilgili bilgileri göndermeye devam etmek için "OK" e ihtiyacımız var.
body_2: 'Bize onayınızı nasıl verirsiniz? Aşağıdaki düğmeyi tıklamanız yeterlidir:'
body_3: Bu izinle, platformun hizmetleri hakkında bilgi almaya devam edebileceksiniz. Aksine, sizin tarafınızdan olumlu bir onay almazsak, size mesajlarımızı göndermeyi durduracağız. Bilgilendirilmeye devam etmek istediğinizi onaylarsanız, her zaman istediğiniz zaman iptal etme seçeneğiniz olacaktır.
button: Evet, alakalı bilgileri almaya devam etmek istiyorum
diff --git a/decidim-core/config/locales/uk.yml b/decidim-core/config/locales/uk.yml
index 1514ea8f00225..79b25b7c04c62 100644
--- a/decidim-core/config/locales/uk.yml
+++ b/decidim-core/config/locales/uk.yml
@@ -357,10 +357,8 @@ uk:
unsubscribe:
success: Ви успішно скасували підписку.
token_error: Строк дії посилання закінчився.
- unsubscribe: Скасувати підписку
newsletters_opt_in_mailer:
notify:
- body_1: Обробка особистих даних та їх захист стають дедалі важливішими для всіх нас. За новим "Загальним положенням про захист даних" (GDPR) від 25 травня 2018 року люди мають змогу керувати своїми особистими даними. Тому ми потребуємо вашої згоди, щоб продовжувати надсилати вам свіжі новини про діяльність %{organization_name}.
body_2: 'Як ви можете дати нам свою згоду? Просто натисніть цю кнопку:'
body_3: Погодившись, ви зможете продовжувати отримувати відомості про послуги нашого майданчику. Якщо ж ми не отримаємо вашої згоди, ми припинимо надсилати вам наші повідомлення. Якщо ви підтвердите, що хочете продовжувати отримувати новини, ви зможете потім в будь-який момент від них відмовитись.
button: Так, я хочу продовжувати отримувати новини
diff --git a/decidim-core/config/locales/zh-CN.yml b/decidim-core/config/locales/zh-CN.yml
index 1b636f66cefcf..14600e9faf6ea 100644
--- a/decidim-core/config/locales/zh-CN.yml
+++ b/decidim-core/config/locales/zh-CN.yml
@@ -749,10 +749,8 @@ zh-CN:
unsubscribe:
success: 您已成功取消订阅。
token_error: 链接已过期。
- unsubscribe: 取消订阅
newsletters_opt_in_mailer:
notify:
- body_1: 个人数据的处理和对数据的保护对我们大家都越来越重要。 根据2018年5月25日新的《一般数据保护条例》,个人可以更好地控制自己的个人数据。 为此原因,我们需要您的“确定”继续发送有关 %{organization_name} 活动的信息。
body_2: '你如何能够给予我们同意?只需点击下面的按钮:'
body_3: 如果您同意,您将能够继续接收有关平台服务的信息。 相反,如果我们没有得到你的肯定确认,我们将停止向你发送我们的信息。 如果您确认要随时收到通知,您将随时有取消的选项。
button: 是的,我想继续收到相关信息
diff --git a/decidim-core/config/locales/zh-TW.yml b/decidim-core/config/locales/zh-TW.yml
index 6da823e8831c8..d65b953af6652 100644
--- a/decidim-core/config/locales/zh-TW.yml
+++ b/decidim-core/config/locales/zh-TW.yml
@@ -1079,18 +1079,15 @@ zh-TW:
main_image: 主圖片
newsletters:
unsubscribe:
- check_subscription: 如果您想更改您的偏好設定,您可以在配置頁面進行更改。
error: 取消訂閱時發生問題.
success: 你已經成功取消訂閱
token_error: 該連結已過期。
- unsubscribe: 取消訂閱
newsletters_opt_in:
update:
error: 儲存通訊設定時出現問題。
success: 成功更新電子報設定.
newsletters_opt_in_mailer:
notify:
- body_1: 個人資料的處理和保護對我們所有人來說變得越來越重要。隨著2018年5月25日新的《通用數據保護條例》(GDPR)的出台,個人對其個人資料擁有更好的控制權。因此,我們需要您的「確認」,以繼續向您發送有關 %{organization_name} 活動的相關資訊。
body_2: '您如何給予我們您的同意?只需點擊下面的按鈕:'
body_3: 通過此同意,您將能夠繼續接收有關平台服務的資訊。如果您沒有給予積極的確認,我們將停止向您發送訊息。如果您確認希望繼續收到資訊,您隨時可以選擇取消訂閱。
button: 是的,我希望繼續接收相關資訊。
diff --git a/decidim-core/db/migrate/20240717093514_add_registered_only_to_decidim_share_tokens.rb b/decidim-core/db/migrate/20240717093514_add_registered_only_to_decidim_share_tokens.rb
new file mode 100644
index 0000000000000..11417bf8e1b46
--- /dev/null
+++ b/decidim-core/db/migrate/20240717093514_add_registered_only_to_decidim_share_tokens.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+class AddRegisteredOnlyToDecidimShareTokens < ActiveRecord::Migration[7.0]
+ def change
+ add_column :decidim_share_tokens, :registered_only, :boolean
+ end
+end
diff --git a/decidim-core/lib/decidim/asset_router/storage.rb b/decidim-core/lib/decidim/asset_router/storage.rb
index de35801eaedc4..014ba2c63fd30 100644
--- a/decidim-core/lib/decidim/asset_router/storage.rb
+++ b/decidim-core/lib/decidim/asset_router/storage.rb
@@ -44,20 +44,20 @@ def initialize(asset)
# @param options The options for the URL that are the normal route options
# Rails route helpers accept
# @return [String] The URL of the asset
- def url(**)
+ def url(**options)
case asset
when ActiveStorage::Attached
- ensure_current_host(asset.record, **)
- blob_url(**)
+ ensure_current_host(asset.record, **options)
+ blob_url(**options.except(:host))
when ActiveStorage::Blob
- blob_url(**)
+ blob_url(**options)
else # ActiveStorage::VariantWithRecord, ActiveStorage::Variant
if blob && blob.attachments.any?
- ensure_current_host(blob.attachments.first&.record, **)
- representation_url(**)
+ ensure_current_host(blob.attachments.first&.record, **options)
+ representation_url(**options.except(:host))
else
- ensure_current_host(nil, **)
- representation_url(**, only_path: true)
+ ensure_current_host(nil, **options)
+ representation_url(**options.except(:host), only_path: true)
end
end
end
diff --git a/decidim-core/lib/decidim/assets/tailwind/tailwind.config.js.erb b/decidim-core/lib/decidim/assets/tailwind/tailwind.config.js.erb
index 58aa02ee4bd02..b3dbf8a4b05db 100644
--- a/decidim-core/lib/decidim/assets/tailwind/tailwind.config.js.erb
+++ b/decidim-core/lib/decidim/assets/tailwind/tailwind.config.js.erb
@@ -5,7 +5,7 @@
// https://docs.decidim.org/en/develop/customize/styles
//
-const { inherit, current, transparent, white } = require("tailwindcss/colors")
+const { inherit, current, transparent, white, neutral } = require("tailwindcss/colors")
const withOpacity =
(variable) =>
@@ -33,6 +33,7 @@ module.exports = {
current,
transparent,
white,
+ neutral,
primary: withOpacity("--primary-rgb"),
secondary: withOpacity("--secondary-rgb"),
tertiary: withOpacity("--tertiary-rgb"),
diff --git a/decidim-core/lib/decidim/component_manifest.rb b/decidim-core/lib/decidim/component_manifest.rb
index 69604b84d5af6..9f0f6fa00b3eb 100644
--- a/decidim-core/lib/decidim/component_manifest.rb
+++ b/decidim-core/lib/decidim/component_manifest.rb
@@ -142,6 +142,13 @@ def seed!(participatory_space)
@seeds&.call(participatory_space)
end
+ # The name of the named Rails route to create the url to the resource.
+ #
+ # Returns a String.
+ def route_name
+ "component"
+ end
+
# Public: Adds configurable attributes for this component, scoped to a name. It
# uses the DSL specified under `Decidim::SettingsManifest`.
#
diff --git a/decidim-core/lib/decidim/core/test.rb b/decidim-core/lib/decidim/core/test.rb
index aa27dddd12ceb..99560aacd2995 100644
--- a/decidim-core/lib/decidim/core/test.rb
+++ b/decidim-core/lib/decidim/core/test.rb
@@ -59,8 +59,8 @@
require "decidim/core/test/shared_examples/permissions"
require "decidim/core/test/shared_examples/admin_resource_gallery_examples"
require "decidim/core/test/shared_examples/map_examples"
-require "decidim/core/test/shared_examples/preview_component_with_share_token_examples"
-require "decidim/core/test/shared_examples/manage_component_share_tokens"
+require "decidim/core/test/shared_examples/preview_with_share_token_examples"
+require "decidim/core/test/shared_examples/manage_share_tokens_examples"
require "decidim/core/test/shared_examples/metric_manage_shared_context"
require "decidim/core/test/shared_examples/resource_search_examples"
require "decidim/core/test/shared_examples/static_pages_examples"
diff --git a/decidim-core/lib/decidim/core/test/factories.rb b/decidim-core/lib/decidim/core/test/factories.rb
index 5d2110c2c93c8..146d669d6efe8 100644
--- a/decidim-core/lib/decidim/core/test/factories.rb
+++ b/decidim-core/lib/decidim/core/test/factories.rb
@@ -127,8 +127,8 @@ def generate_localized_title(field = nil, skip_injection: false)
sequence(:host) { |n| "#{n}.lvh.me" }
description { generate_localized_description(:organization_description, skip_injection:) }
favicon { Decidim::Dev.test_file("icon.png", "image/png") }
- default_locale { Decidim.default_locale }
- available_locales { Decidim.available_locales }
+ default_locale { "en" }
+ available_locales { %w(en ca es) }
users_registration_mode { :enabled }
official_img_footer { Decidim::Dev.test_file("avatar.jpg", "image/jpeg") }
official_url { Faker::Internet.url }
@@ -961,6 +961,10 @@ def generate_localized_title(field = nil, skip_injection: false)
object.organization ||= object.token_for.organization
end
+ trait :with_token do
+ token { SecureRandom.hex(32) }
+ end
+
trait :expired do
expires_at { 1.day.ago }
end
diff --git a/decidim-core/lib/decidim/core/test/shared_examples/manage_component_share_tokens.rb b/decidim-core/lib/decidim/core/test/shared_examples/manage_component_share_tokens.rb
deleted file mode 100644
index 4d6861669e4cf..0000000000000
--- a/decidim-core/lib/decidim/core/test/shared_examples/manage_component_share_tokens.rb
+++ /dev/null
@@ -1,83 +0,0 @@
-# frozen_string_literal: true
-
-RSpec.shared_examples "manage component share tokens" do
- let!(:components_path) { participatory_space_components_path(participatory_space) }
-
- context "when visiting the components page for the participatory space" do
- before do
- visit components_path
- end
-
- it "has a share button that opens the share url for the component" do
- share_window = window_opened_by { click_on "Share", wait: 2 }
-
- within_window share_window do
- expect(current_url).to include(component.share_tokens.reload.last.url)
- end
- end
- end
-
- context "when visiting the component configuration page" do
- context "when there are tokens" do
- let!(:share_tokens) { create_list(:share_token, 3, token_for: component, organization: component.organization) }
- let!(:share_token) { share_tokens.last }
-
- before do
- visit components_path
-
- within "tr", text: component.name["en"] do
- click_on "Configure"
- end
- end
-
- it "displays all tokens" do
- within ".share_tokens" do
- expect(page).to have_css("tbody tr", count: 3)
- end
- end
-
- it "displays relevant attributes for each token" do
- share_tokens.each do |share_token|
- within ".share_tokens tbody" do
- expect(page).to have_content share_token.token
- expect(page).to have_content share_token.user.name
- end
- end
- end
-
- it "has a share link for each token" do
- urls = share_tokens.map(&:url).map { |url| url.split("?").first }
- within ".share_tokens tbody tr:first-child" do
- share_window = window_opened_by { click_on "Share" }
-
- within_window share_window do
- expect(urls).to include(page.current_path)
- end
- end
- end
-
- it "has a link to delete tokens" do
- within ".share_tokens tbody tr:first-child" do
- accept_confirm { click_on "Delete" }
- end
-
- expect(page).to have_admin_callout("successfully")
- expect(page).to have_css("tbody tr", count: 2)
- end
- end
-
- context "when there are no tokens" do
- before do
- visit components_path
-
- within "tr", text: component.name["en"] do
- click_on "Configure"
- end
- end
-
- it "displays empty message" do
- expect(page).to have_content "There are no active tokens"
- end
- end
- end
-end
diff --git a/decidim-core/lib/decidim/core/test/shared_examples/manage_share_tokens_examples.rb b/decidim-core/lib/decidim/core/test/shared_examples/manage_share_tokens_examples.rb
new file mode 100644
index 0000000000000..964277a197dec
--- /dev/null
+++ b/decidim-core/lib/decidim/core/test/shared_examples/manage_share_tokens_examples.rb
@@ -0,0 +1,237 @@
+# frozen_string_literal: true
+
+shared_examples "manage resource share tokens" do
+ context "when there are no tokens" do
+ let(:last_token) { Decidim::ShareToken.last }
+ before do
+ visit_share_tokens_page
+ end
+
+ it "displays empty message" do
+ expect(page).to have_content "There are no active access links"
+ end
+
+ it "can create a new token with default options" do
+ click_on "New access link"
+
+ click_on "Create"
+
+ expect(page).to have_content("Access link created successfully")
+ expect(page).to have_css("tbody tr", count: 1)
+ within "tbody tr:last-child td", text: last_token.token do
+ expect(page).to have_content(last_token.token)
+ end
+ within "tbody tr:last-child td:nth-child(2)" do
+ expect(page).to have_content("Never")
+ end
+ within "tbody tr:last-child td:nth-child(3)" do
+ expect(page).to have_content("No")
+ end
+ end
+
+ it "can create a new token with custom options" do
+ click_on "New access link"
+
+ find_by_id("share_token_automatic_token_false").click
+ find_by_id("share_token_no_expiration_false").click
+ find_by_id("share_token_registered_only_true").click
+ click_on "Create"
+ expect(page).to have_content("cannot be blank", count: 2)
+
+ fill_in "share_token_token", with: " custom token "
+ fill_in_datepicker :share_token_expires_at_date, with: 1.day.from_now.strftime("%d/%m/%Y")
+ fill_in_timepicker :share_token_expires_at_time, with: "00:00"
+ click_on "Create"
+
+ expect(page).to have_content("Access link created successfully")
+ expect(page).to have_css("tbody tr", count: 1)
+ within "tbody tr:last-child td", text: last_token.token do
+ expect(page).to have_content("CUSTOM-TOKEN")
+ end
+ within "tbody tr:last-child td:nth-child(2)" do
+ expect(page).to have_content(1.day.from_now.strftime("%d/%m/%Y 00:00"))
+ end
+ within "tbody tr:last-child td:nth-child(3)" do
+ expect(page).to have_content("Yes")
+ end
+ end
+ end
+
+ context "when there are tokens" do
+ let!(:share_tokens) { create_list(:share_token, 3, :with_token, token_for: resource, organization:, registered_only: true) }
+ let(:last_token) { share_tokens.last }
+
+ before do
+ visit_share_tokens_page
+ end
+
+ it "displays all tokens" do
+ within ".share_tokens" do
+ expect(page).to have_css("tbody tr", count: 3)
+ end
+ end
+
+ it "displays relevant attributes for each token" do
+ share_tokens.each do |share_token|
+ within ".share_tokens tbody" do
+ expect(page).to have_content share_token.token
+ expect(page).to have_content share_token.expires_at.to_s
+ end
+ end
+ end
+
+ context "when ordering" do
+ let(:share_tokens) do
+ [
+ create(:share_token, :with_token, token_for: resource, organization:, token: "b", expires_at: 1.day.from_now, registered_only: true, times_used: 3),
+ create(:share_token, :with_token, token_for: resource, organization:, token: "a", expires_at: 3.days.from_now, registered_only: true, times_used: 2),
+ create(:share_token, :with_token, token_for: resource, organization:, token: "c", expires_at: 2.days.from_now, registered_only: false, times_used: 1)
+ ]
+ end
+
+ it "can be ordered by token and other attributes" do
+ within ".share_tokens" do
+ click_on "Access link" # order by token
+ expect(page).to have_css("tbody tr:first-child", text: "c")
+ click_on "Access link" # order by token
+ expect(page).to have_css("tbody tr:first-child", text: "a")
+ click_on "Expires at" # order by expires_at
+ expect(page).to have_css("tbody tr:first-child", text: share_tokens.second.expires_at.strftime("%d/%m/%Y %H:%M"))
+ click_on "Expires at" # order by expires_at
+ expect(page).to have_css("tbody tr:first-child", text: share_tokens.first.expires_at.strftime("%d/%m/%Y %H:%M"))
+ click_on "Registered only" # order by registered_only
+ expect(page).to have_css("tbody tr:first-child", text: "Yes")
+ click_on "Registered only" # order by registered_only
+ expect(page).to have_css("tbody tr:first-child", text: "No")
+ click_on "Times used" # order by times_used
+ expect(page).to have_css("tbody tr:first-child", text: "3")
+ click_on "Times used" # order by times_used
+ expect(page).to have_css("tbody tr:first-child", text: "1")
+ end
+ end
+ end
+
+ it "can edit a share token" do
+ within "tbody tr", text: last_token.token do
+ expect(page).to have_content("Yes")
+ end
+ within ".share_tokens tbody tr", text: last_token.token do
+ click_on "Edit"
+ end
+
+ expect(page).to have_content("Edit access links for: #{resource_name}")
+ find_by_id("share_token_no_expiration_false").click
+ find_by_id("share_token_registered_only_false").click
+ click_on "Update"
+ expect(page).to have_content("cannot be blank", count: 1)
+
+ fill_in_datepicker :share_token_expires_at_date, with: 1.day.from_now.strftime("%d/%m/%Y")
+ fill_in_timepicker :share_token_expires_at_time, with: "00:00"
+
+ click_on "Update"
+
+ expect(page).to have_content("Access link updated successfully")
+ expect(page).to have_css("tbody tr", count: 3)
+ within "tbody tr", text: last_token.token do
+ expect(page).to have_content(1.day.from_now.strftime("%d/%m/%Y 00:00"))
+ end
+ within "tbody tr", text: last_token.token do
+ expect(page).to have_content("No")
+ end
+ end
+
+ it "allows copying the share link from the share token" do
+ within ".share_tokens tbody tr", text: last_token.token do
+ click_on "Copy link"
+ expect(page).to have_content("Copied!")
+ expect(page).to have_css("[data-clipboard-copy-label]")
+ expect(page).to have_css("[data-clipboard-copy-message]")
+ expect(page).to have_css("[data-clipboard-content]")
+ end
+ end
+
+ it "has a share link for each token" do
+ urls = share_tokens.map(&:url)
+ within ".share_tokens tbody tr", text: last_token.token do
+ share_window = window_opened_by { click_on "Preview" }
+
+ within_window share_window do
+ expect(urls).to include(page.current_url)
+ end
+ end
+ end
+
+ it "has a share button that opens the share url for the resource" do
+ within ".share_tokens tbody tr", text: last_token.token do
+ share_window = window_opened_by { click_on "Preview", wait: 2 }
+
+ within_window share_window do
+ expect(current_url).to include(last_token.url)
+ end
+ end
+ end
+
+ it "can delete tokens" do
+ within ".share_tokens tbody tr", text: last_token.token do
+ accept_confirm { click_on "Delete" }
+ end
+
+ expect(page).to have_admin_callout("Access link successfully destroyed")
+ expect(page).to have_css("tbody tr", count: 2)
+ end
+ end
+
+ context "when there are many pages" do
+ let!(:share_tokens) { create_list(:share_token, 26, :with_token, token_for: resource, organization:) }
+
+ before do
+ visit_share_tokens_page
+ end
+
+ it "displays pagination" do
+ expect(page).to have_css("tbody tr", count: 25)
+ within '[aria-label="Pagination"]' do
+ click_on "Next"
+ end
+ expect(page).to have_css("tbody tr", count: 1)
+ end
+ end
+end
+
+shared_examples "manage component share tokens" do
+ let!(:components_path) { participatory_space_engine.components_path(participatory_space) }
+ let!(:component) { create(:component, participatory_space:, published_at: nil) }
+ let(:resource) { component }
+ let(:resource_name) { translated(component.name) }
+
+ before do
+ switch_to_host(organization.host)
+ login_as user, scope: :user
+ end
+
+ def visit_share_tokens_page
+ visit components_path
+ within ".table-list" do
+ click_on "Access links"
+ end
+ end
+
+ it_behaves_like "manage resource share tokens"
+end
+
+shared_examples "manage participatory space share tokens" do
+ let(:resource) { participatory_space }
+ let(:resource_name) { translated(resource.title) }
+
+ before do
+ switch_to_host(organization.host)
+ login_as user, scope: :user
+ end
+
+ def visit_share_tokens_page
+ visit participatory_spaces_path
+ click_on "Access links"
+ end
+
+ it_behaves_like "manage resource share tokens"
+end
diff --git a/decidim-core/lib/decidim/core/test/shared_examples/preview_component_with_share_token_examples.rb b/decidim-core/lib/decidim/core/test/shared_examples/preview_component_with_share_token_examples.rb
deleted file mode 100644
index f4788daf7dd6a..0000000000000
--- a/decidim-core/lib/decidim/core/test/shared_examples/preview_component_with_share_token_examples.rb
+++ /dev/null
@@ -1,49 +0,0 @@
-# frozen_string_literal: true
-
-require "spec_helper"
-
-shared_examples_for "preview component with share_token" do
- context "when component is unpublished" do
- before do
- component.unpublish!
- end
-
- context "when no share_token is provided" do
- before do
- visit_component
- end
-
- it "does not allow visiting component" do
- expect(page).to have_content "You are not authorized"
- expect(page).to have_no_current_path(main_component_path(component), ignore_query: true)
- end
- end
-
- context "when a share_token is provided" do
- let(:share_token) { create(:share_token, token_for: component) }
- let(:params) { { share_token: share_token.token } }
-
- before do
- uri = URI(main_component_path(component))
- uri.query = URI.encode_www_form(params.to_a)
- visit uri
- end
-
- context "when a valid share_token is provided" do
- it "allows visiting component" do
- expect(page).to have_no_content "You are not authorized"
- expect(page).to have_current_path(main_component_path(component), ignore_query: true)
- end
- end
-
- context "when an invalid share_token is provided" do
- let(:share_token) { create(:share_token, :expired, token_for: component) }
-
- it "does not allow visiting component" do
- expect(page).to have_content "You are not authorized"
- expect(page).to have_no_current_path(main_component_path(component), ignore_query: true)
- end
- end
- end
- end
-end
diff --git a/decidim-core/lib/decidim/core/test/shared_examples/preview_with_share_token_examples.rb b/decidim-core/lib/decidim/core/test/shared_examples/preview_with_share_token_examples.rb
new file mode 100644
index 0000000000000..a2e8fb4c831ed
--- /dev/null
+++ b/decidim-core/lib/decidim/core/test/shared_examples/preview_with_share_token_examples.rb
@@ -0,0 +1,94 @@
+# frozen_string_literal: true
+
+shared_examples "visit unpublished resource with a share token" do
+ context "when no share_token is provided" do
+ before do
+ visit_resource_page
+ end
+
+ it "does not allow visiting resource" do
+ expect(page).to have_content "You are not authorized"
+ expect(page).to have_no_current_path(resource_path, ignore_query: true)
+ end
+ end
+
+ context "when a share_token is provided" do
+ let(:share_token) { create(:share_token, token: "VALID_TOKEN", token_for: resource) }
+ let(:params) { { share_token: share_token.token } }
+
+ before do
+ uri = URI(resource_path)
+ uri.query = URI.encode_www_form(params.to_a)
+ visit uri
+ end
+
+ context "when a valid share_token is provided" do
+ it "allows visiting the resource" do
+ expect(page).to have_no_content "You are not authorized"
+ expect(current_url).to include(params[:share_token])
+ expect(page).to have_current_path(resource_path, ignore_query: true)
+
+ # repeat visit without the token in the params to check for the session
+ visit resource_path
+ expect(page).to have_no_content "You are not authorized"
+ expect(current_url).not_to include(params[:share_token])
+ expect(page).to have_current_path(resource_path, ignore_query: true)
+ end
+ end
+
+ context "when an invalid share_token is provided" do
+ let(:share_token) { create(:share_token, :expired, token: "INVALID_TOKEN_FOR_UNREGISTERED", token_for: resource) }
+
+ it "does not allow visiting resource" do
+ expect(page).to have_content "You are not authorized"
+ expect(page).to have_no_current_path(resource_path, ignore_query: true)
+ end
+ end
+
+ context "when the token requires the user to be registered" do
+ let!(:share_token) { create(:share_token, token: "VALID_TOKEN_FOR_REGISTERED", token_for: resource, registered_only: true) }
+ let!(:user) { create(:user, :confirmed, organization:) }
+
+ it "does not allow visiting resource" do
+ expect(page).to have_content "You are not authorized"
+ expect(page).to have_no_current_path(resource_path, ignore_query: true)
+ end
+
+ it "allows visiting resource to logged users" do
+ login_as user, scope: :user
+ sleep 0.5 # add a delay to ensure the user session cookie is set
+ uri = URI(resource_path)
+ uri.query = URI.encode_www_form(params.to_a)
+ visit uri
+ expect(page).to have_no_content "You are not authorized"
+ expect(page).to have_current_path(resource_path, ignore_query: true)
+ end
+ end
+ end
+end
+
+shared_examples "preview component with a share_token" do
+ let!(:component) { create(:component, manifest_name:, participatory_space:, published_at: nil) }
+ let(:resource) { component }
+ let(:resource_path) { main_component_path(component) }
+
+ def visit_resource_page
+ visit_component
+ end
+
+ it_behaves_like "visit unpublished resource with a share token"
+end
+
+shared_examples "preview participatory space with a share_token" do
+ let(:resource) { participatory_space }
+
+ before do
+ switch_to_host(organization.host)
+ end
+
+ def visit_resource_page
+ visit resource_path
+ end
+
+ it_behaves_like "visit unpublished resource with a share token"
+end
diff --git a/decidim-core/lib/decidim/core/version.rb b/decidim-core/lib/decidim/core/version.rb
index 51c4f51069f48..853aa3be77c3d 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.29.4"
+ "0.29.6"
end
end
end
diff --git a/decidim-core/lib/decidim/form_builder.rb b/decidim-core/lib/decidim/form_builder.rb
index 8cfabae14337c..1b7e9f2f10243 100644
--- a/decidim-core/lib/decidim/form_builder.rb
+++ b/decidim-core/lib/decidim/form_builder.rb
@@ -232,7 +232,7 @@ def editor(name, options = {})
disabled: options[:disabled],
options: editor_options[:editor]
}
- ) { content_tag(:div, nil, class: "editor-input", style: "height: #{lines}rem") }
+ ) { content_tag(:div, nil, class: "editor-input", style: "min-height: #{lines}rem") }
template += error_for(name, options) if error?(name)
template += editor_upload(editor_image, editor_options[:upload])
template.html_safe
diff --git a/decidim-core/spec/cells/decidim/address_cell_spec.rb b/decidim-core/spec/cells/decidim/address_cell_spec.rb
index 9cae2bdc83838..95d9fbba40803 100644
--- a/decidim-core/spec/cells/decidim/address_cell_spec.rb
+++ b/decidim-core/spec/cells/decidim/address_cell_spec.rb
@@ -37,6 +37,19 @@
end
end
+ context "when address is pending" do
+ let(:location) { { "ca" => "", "en" => "", "es" => "", "machine_translations" => { "es" => "Location" } } }
+
+ before do
+ allow(model).to receive(:location).and_return location
+ allow(model).to receive(:pending_location?).and_return(true)
+ end
+
+ it "renders pending address text" do
+ expect(subject.find(".address__location")).to have_content(I18n.t("show.pending_address", scope: "decidim.meetings.meetings"))
+ end
+ end
+
context "with an online meeting url" do
let(:my_cell) { cell("decidim/address", model, online: true) }
let(:model) { create(:dummy_resource) }
diff --git a/decidim-core/spec/cells/decidim/author_cell_spec.rb b/decidim-core/spec/cells/decidim/author_cell_spec.rb
index 2496acd3b41fe..d45d38041ca99 100644
--- a/decidim-core/spec/cells/decidim/author_cell_spec.rb
+++ b/decidim-core/spec/cells/decidim/author_cell_spec.rb
@@ -8,7 +8,7 @@
controller Decidim::PagesController
let(:my_cell) { cell("decidim/author", model) }
- let!(:organization) { create(:organization) }
+ let!(:organization) { build(:organization) }
let(:user) { create(:user, :confirmed, organization:) }
let(:user_group) { create(:user_group, :verified) }
let(:model) { Decidim::UserPresenter.new(user) }
@@ -17,6 +17,14 @@
it "renders a User author card" do
expect(subject).to have_css("[data-author]")
end
+
+ context "and when this user is officialized" do
+ let(:user) { create(:user, :confirmed, :officialized, organization:) }
+
+ it "shows the officialization badge" do
+ expect(subject).to have_xpath("//svg/use[contains(@href, 'ri-star-s-fill')]")
+ end
+ end
end
context "when rendering a user group" do
diff --git a/decidim-core/spec/cells/decidim/profile_cell_spec.rb b/decidim-core/spec/cells/decidim/profile_cell_spec.rb
index 0c3703714b193..1f78aeeb11133 100644
--- a/decidim-core/spec/cells/decidim/profile_cell_spec.rb
+++ b/decidim-core/spec/cells/decidim/profile_cell_spec.rb
@@ -7,8 +7,8 @@
subject { my_cell.call }
let(:organization) { create(:organization, user_groups_enabled: true) }
- let(:user) { create(:user, :managed, organization:, blocked: false) }
- let(:context) { { content_cell: "decidim/user_conversations", conversations: [] } }
+ let(:user) { build(:user, :managed, organization:, blocked: false) }
+ let(:context) { { content_cell: "decidim/badges" } }
let(:my_cell) { cell("decidim/profile", user, context:) }
context "when show is rendered" do
@@ -19,7 +19,7 @@
context "when the user displayed is blocked" do
context "and is an admin" do
- let(:user) { create(:user, :managed, organization:, blocked: true, admin: true) }
+ let(:user) { build(:user, :managed, organization:, blocked: true, admin: true) }
it "shows the user profile" do
expect(subject).to have_no_text("This profile is inaccessible due to terms of service violation!")
@@ -27,11 +27,23 @@
end
context "and is not an admin" do
- let(:user) { create(:user, :managed, organization:, blocked: true, admin: false) }
+ let(:user) { build(:user, :managed, organization:, blocked: true, admin: false) }
it "shows the inaccessible profile alert" do
expect(subject).to have_text("This profile is inaccessible due to terms of service violation!")
end
end
end
+
+ context "when the user displayed is officialized" do
+ let(:user) { build(:user, :officialized, organization:) }
+
+ it "shows the officialization badge" do
+ expect(subject).to have_xpath("//svg/use[contains(@href, 'ri-star-s-fill')]")
+ end
+
+ it "shows the officialization name" do
+ expect(subject).to have_content(decidim_sanitize_translated(user.officialized_as))
+ end
+ end
end
diff --git a/decidim-core/spec/cells/decidim/user_activity_cell_spec.rb b/decidim-core/spec/cells/decidim/user_activity_cell_spec.rb
index 57116de1cbcaa..40265cf18496b 100644
--- a/decidim-core/spec/cells/decidim/user_activity_cell_spec.rb
+++ b/decidim-core/spec/cells/decidim/user_activity_cell_spec.rb
@@ -89,6 +89,33 @@
end
end
+ context "when comment is deleted" do
+ let!(:logs) do
+ comments.first(14).map do |comment|
+ create(
+ :action_log,
+ action: "publish",
+ visibility: "all",
+ user: model,
+ resource: comment,
+ organization: component.organization,
+ participatory_space: component.participatory_space
+ )
+ end
+ end
+ let!(:log_one) { create(:action_log, action: "create", visibility: "all", user: model, resource: comments.last, organization: component.organization, participatory_space: component.participatory_space) }
+ let!(:log_two) { create(:action_log, action: "delete", visibility: "all", user: model, resource: comments.last, organization: component.organization, participatory_space: component.participatory_space) }
+
+ it "does not display the references to the comment on the first page if comment has been deleted" do
+ logs.last(2) do |log|
+ root_link = Decidim::ResourceLocatorPresenter.new(log.resource.root_commentable).path
+ comment_link = "#{root_link}?commentId=#{log.resource.id}#comment_#{log.resource.id}"
+ title = html_truncate(translated_attribute(log.resource.root_commentable.title), length: 80)
+ expect(subject).to have_no_link(title, href: comment_link)
+ end
+ end
+ end
+
context "when on the second page" do
let(:current_page) { 2 }
diff --git a/decidim-core/spec/controllers/amendments_controller_spec.rb b/decidim-core/spec/controllers/amendments_controller_spec.rb
index d5cb04e10153a..ad660a8a8f59c 100644
--- a/decidim-core/spec/controllers/amendments_controller_spec.rb
+++ b/decidim-core/spec/controllers/amendments_controller_spec.rb
@@ -234,5 +234,132 @@ module Decidim
end
end
end
+
+ describe "GET review" do
+ context "when the user is NOT the creator of the resource" do
+ let(:user) { other_user }
+
+ it "does not allow access" do
+ get(:review, params:)
+
+ expect(response).to have_http_status(:redirect)
+ expect(flash[:alert]).to eq("You are not authorized to perform this action.")
+ end
+ end
+
+ context "when the user is the creator of the resource" do
+ let(:user) { amendable.author }
+
+ it "allows access" do
+ get(:review, params:)
+
+ expect(response).to have_http_status(:ok)
+ end
+ end
+ end
+
+ describe "PATCH accept" do
+ let(:emendation_params) { { title: emendation.title, body: emendation.body } }
+
+ context "when the user is NOT the creator of the resource" do
+ let(:user) { other_user }
+
+ it "does not accept the amendment" do
+ patch :accept, params: params.merge(emendation_params:)
+
+ expect(response).to have_http_status(:redirect)
+ expect(flash[:alert]).to eq("You are not authorized to perform this action.")
+ end
+ end
+
+ context "when the user is the creator of the resource" do
+ let(:user) { amendable.author }
+
+ it "accepts the amendment" do
+ patch :accept, params: params.merge(emendation_params:)
+
+ expect(response).to have_http_status(:redirect)
+ expect(flash[:notice]).to eq("The amendment has been accepted successfully.")
+ end
+ end
+
+ context "when the resource is official" do
+ let!(:amendable) { create(:dummy_resource, component:, author: component.organization) }
+
+ context "and the user is NOT an admin" do
+ let(:user) { amendment.amender }
+
+ it "does not accept the amendment" do
+ patch :accept, params: params.merge(emendation_params:)
+
+ expect(response).to have_http_status(:redirect)
+ expect(flash[:alert]).to eq("You are not authorized to perform this action.")
+ end
+ end
+
+ context "and the user is an admin" do
+ let(:user) { create(:user, :confirmed, :admin, organization: component.organization) }
+
+ it "accepts the amendment" do
+ patch :accept, params: params.merge(emendation_params:)
+
+ expect(response).to have_http_status(:redirect)
+ expect(flash[:notice]).to eq("The amendment has been accepted successfully.")
+ end
+ end
+ end
+ end
+
+ describe "PATCH reject" do
+ let(:emendation_params) { { title: emendation.title, body: emendation.body } }
+
+ context "when the user is NOT the creator of the resource" do
+ let(:user) { other_user }
+
+ it "does not accept the amendment" do
+ patch :reject, params: params.merge(emendation_params:)
+
+ expect(response).to have_http_status(:redirect)
+ expect(flash[:alert]).to eq("You are not authorized to perform this action.")
+ end
+ end
+
+ context "when the user is the creator of the resource" do
+ let(:user) { amendable.author }
+
+ it "accepts the amendment" do
+ patch :reject, params: params.merge(emendation_params:)
+
+ expect(response).to have_http_status(:redirect)
+ expect(flash[:notice]).to eq("The amendment has been successfully rejected.")
+ end
+ end
+
+ context "when the resource is official" do
+ let!(:amendable) { create(:dummy_resource, component:, author: component.organization) }
+
+ context "and the user is NOT an admin" do
+ let(:user) { amendment.amender }
+
+ it "does not accept the amendment" do
+ patch :reject, params: params.merge(emendation_params:)
+
+ expect(response).to have_http_status(:redirect)
+ expect(flash[:alert]).to eq("You are not authorized to perform this action.")
+ end
+ end
+
+ context "and the user is an admin" do
+ let(:user) { create(:user, :confirmed, :admin, organization: component.organization) }
+
+ it "accepts the amendment" do
+ patch :reject, params: params.merge(emendation_params:)
+
+ expect(response).to have_http_status(:redirect)
+ expect(flash[:notice]).to eq("The amendment has been successfully rejected.")
+ end
+ end
+ end
+ end
end
end
diff --git a/decidim-core/spec/models/decidim/push_notification_message_spec.rb b/decidim-core/spec/models/decidim/push_notification_message_spec.rb
index 4f2960481ccb7..0cea5f52aab69 100644
--- a/decidim-core/spec/models/decidim/push_notification_message_spec.rb
+++ b/decidim-core/spec/models/decidim/push_notification_message_spec.rb
@@ -37,7 +37,7 @@ module Decidim
let(:favicon) { Decidim::Dev.test_file("icon.png", "image/png") }
it "returns the organization's favicon" do
- expect(subject.icon).to start_with("http://")
+ expect(subject.icon).to end_with("icon.png")
end
end
end
diff --git a/decidim-core/spec/models/decidim/share_token_spec.rb b/decidim-core/spec/models/decidim/share_token_spec.rb
index 0a1ba0cb07392..1bab12c94a91f 100644
--- a/decidim-core/spec/models/decidim/share_token_spec.rb
+++ b/decidim-core/spec/models/decidim/share_token_spec.rb
@@ -11,12 +11,14 @@ module Decidim
let(:attributes) do
{
+ token:,
token_for:,
user:,
organization:
}
end
+ let(:token) { "SOME-TOKEN" }
let(:user) { create(:user) }
let(:token_for) { create(:component) }
let(:organization) { token_for.organization }
@@ -42,15 +44,84 @@ module Decidim
it { is_expected.not_to be_valid }
end
+
+ context "when token is not present" do
+ # FactoryBot does not run the after_initializer block when building if token is defined
+ let(:share_token) { build(:share_token, token_for:, organization:) }
+
+ it { is_expected.to be_valid }
+
+ it "generates a token" do
+ expect(subject.token).to be_present
+ end
+ end
+
+ context "when token is already taken" do
+ let(:token) { "taken" }
+
+ before do
+ create(:share_token, token:, token_for:, organization:)
+ end
+
+ it { is_expected.not_to be_valid }
+ end
+
+ context "when token is already taken by another component" do
+ let(:token) { "taken" }
+
+ before do
+ create(:share_token, token:, organization:)
+ end
+
+ it { is_expected.to be_valid }
+ end
+
+ context "when token has strange characters" do
+ let(:token) { "bon cop de falç" }
+
+ it { is_expected.to be_invalid }
+ end
end
describe "defaults" do
+ let(:share_token) { build(:share_token, token_for:, organization:) }
+
it "generates an alphanumeric 64-character token string" do
expect(subject.token).to match(/^[a-zA-Z0-9]{64}$/)
end
- it "sets expires_at attribute to one day from current time" do
- expect(subject.expires_at).to be_within(1.second).of 1.day.from_now
+ it "sets expires_at attribute to never expire" do
+ expect(subject.expires_at).to be_nil
+ end
+ end
+
+ describe "participatory space and components" do
+ let(:space) { token_for.participatory_space }
+ let(:component) { token_for }
+
+ it "returns participatory space and component" do
+ expect(subject.participatory_space).to eq(space)
+ expect(subject.component).to eq(component)
+ end
+
+ context "when token is for a participatory space" do
+ let(:space) { create(:participatory_process) }
+ let(:token_for) { space }
+
+ it "returns the participatory space as the component" do
+ expect(subject.participatory_space).to eq(space)
+ expect(subject.component).to be_nil
+ end
+ end
+
+ context "when resource does not respond to participatory_space" do
+ let(:organization) { create(:organization) }
+ let(:token_for) { organization }
+
+ it "returns the component" do
+ expect(subject.participatory_space).to be_nil
+ expect(subject.component).to be_nil
+ end
end
end
@@ -94,7 +165,7 @@ module Decidim
describe "#expired?" do
context "when share_token has not expired" do
it "returns true" do
- expect(subject.expired?).to be false
+ expect(subject.expired?).to be_nil
end
end
diff --git a/decidim-core/spec/permissions/decidim/permissions_spec.rb b/decidim-core/spec/permissions/decidim/permissions_spec.rb
index 5adaf6c65779f..01e9387e9f8fe 100644
--- a/decidim-core/spec/permissions/decidim/permissions_spec.rb
+++ b/decidim-core/spec/permissions/decidim/permissions_spec.rb
@@ -197,9 +197,11 @@
context "when an amend action" do
let(:component) { create(:component, :published, organization: user.organization, settings:) }
let(:settings) { { amendments_enabled: } }
- let(:amendment) { create(:amendment) }
- let(:user) { amendment.amender }
- let(:context) { { current_component: component } }
+ let(:amendable) { build(:dummy_resource, component:) }
+ let(:emendation) { build(:dummy_resource, component:) }
+ let(:amendment) { create(:amendment, emendation:, amendable:, amender: user) }
+ let(:user) { create(:user) }
+ let(:context) { { amendable: amendment.amendable, current_component: component } }
let(:action_name) { nil }
let(:action) do
{ scope: :public, action: action_name, subject: :amendment }
@@ -217,13 +219,49 @@
context "with a accept action" do
let(:action_name) { :accept }
- it { is_expected.to be true }
+ it { is_expected.to be false }
+
+ context "when the amendable is authored by the user" do
+ before { amendment.amendable.update!(author: user) }
+
+ it { is_expected.to be true }
+ end
+
+ context "with an official amendable" do
+ let(:amendable) { build(:dummy_resource, component:, author: component.organization) }
+
+ it { is_expected.to be false }
+
+ context "and the user is an admin" do
+ let(:user) { create(:user, :confirmed, :admin) }
+
+ it { is_expected.to be true }
+ end
+ end
end
context "with a reject action" do
let(:action_name) { :reject }
- it { is_expected.to be true }
+ it { is_expected.to be false }
+
+ context "when the amendable is authored by the user" do
+ before { amendment.amendable.update!(author: user) }
+
+ it { is_expected.to be true }
+ end
+
+ context "with an official amendable" do
+ let(:amendable) { build(:dummy_resource, component:, author: component.organization) }
+
+ it { is_expected.to be false }
+
+ context "and the user is an admin" do
+ let(:user) { create(:user, :confirmed, :admin) }
+
+ it { is_expected.to be true }
+ end
+ end
end
context "with a promote action" do
diff --git a/decidim-core/spec/system/editor_spec.rb b/decidim-core/spec/system/editor_spec.rb
index 894cf59f64b16..2c19941287164 100644
--- a/decidim-core/spec/system/editor_spec.rb
+++ b/decidim-core/spec/system/editor_spec.rb
@@ -1249,7 +1249,7 @@ def protect_against_forgery?
find(".editor-suggestions-item", text: "nature").click
- expect_value(%(
#nature a
))
+ expect_value(%(
#nature
))
end
it "allows selecting mentions" do
@@ -1261,7 +1261,7 @@ def protect_against_forgery?
find(".editor-suggestions-item", text: "@doe_john (John Doe)").click
- expect_value(%(
@doe_john (John Doe) e
))
+ expect_value(%(
@doe_john (John Doe)
))
end
it "allows selecting emojis" do
diff --git a/decidim-core/spec/system/user_group_creation_spec.rb b/decidim-core/spec/system/user_group_creation_spec.rb
index 0c326d756e421..c049c795530e1 100644
--- a/decidim-core/spec/system/user_group_creation_spec.rb
+++ b/decidim-core/spec/system/user_group_creation_spec.rb
@@ -36,4 +36,40 @@
expect(page).to have_content(user.name)
end
end
+
+ context "when nickname has invalid format" do
+ it "shows validation error in the form instead of raising exception" do
+ click_on "Create group"
+
+ fill_in "Name", with: "Valid Group Name"
+ fill_in "Nickname", with: "Invalid Nickname"
+ fill_in "Email", with: "user_group@decidim.org"
+ fill_in "Document number", with: "12345678X"
+ fill_in "Phone", with: "12345678"
+
+ click_on "Create group"
+
+ expect(page).to have_content("There was a problem creating the group")
+ expect(page).to have_css("small.form-error.is-visible", text: "is invalid")
+ expect(page).to have_css(".is-invalid-input#group_nickname")
+ end
+ end
+
+ context "when name has invalid format" do
+ it "shows validation error in the form instead of raising exception" do
+ click_on "Create group"
+
+ fill_in "Name", with: ""
+ fill_in "Nickname", with: "valid_nickname"
+ fill_in "Email", with: "user_group@decidim.org"
+ fill_in "Document number", with: "12345678X"
+ fill_in "Phone", with: "12345678"
+
+ click_on "Create group"
+
+ expect(page).to have_content("There was a problem creating the group")
+ expect(page).to have_css("small.form-error.is-visible", text: "is invalid")
+ expect(page).to have_css(".is-invalid-input#group_name")
+ end
+ end
end
diff --git a/decidim-core/spec/validators/password_validator_spec.rb b/decidim-core/spec/validators/password_validator_spec.rb
index eb4f8add5de56..47930c39f7387 100644
--- a/decidim-core/spec/validators/password_validator_spec.rb
+++ b/decidim-core/spec/validators/password_validator_spec.rb
@@ -5,7 +5,8 @@
describe PasswordValidator do
describe "#validate_each" do
let(:organization) { create(:organization) }
- let(:validator) { described_class.new(options).validate_each(record, attribute, value) }
+ let(:validator_instance) { described_class.new(options) }
+ let(:validator) { validator_instance.validate_each(record, attribute, value) }
let(:errors) { ActiveModel::Errors.new(attribute.to_s => []) }
let(:record) do
@@ -284,5 +285,34 @@
end
end
end
+
+ # This could happen in case the validator is customized.
+ describe "missing validator translation" do
+ let(:value) { "password" }
+
+ around do |example|
+ methods = described_class.const_get(:VALIDATION_METHODS)
+ described_class.class_eval do
+ remove_const(:VALIDATION_METHODS)
+ const_set(:VALIDATION_METHODS, [:speakeasy?])
+ end
+
+ example.run
+
+ described_class.class_eval do
+ remove_const(:VALIDATION_METHODS)
+ const_set(:VALIDATION_METHODS, methods)
+ end
+ end
+
+ before do
+ allow(validator_instance).to receive(:speakeasy?).and_return(true)
+ end
+
+ it "shows the fallback error" do
+ expect(validator).to be(false)
+ expect(record.errors[attribute]).to include("is not valid")
+ end
+ end
end
end
diff --git a/decidim-debates/config/locales/ca-IT.yml b/decidim-debates/config/locales/ca-IT.yml
index 215bb32ebebc0..872418ca3d21d 100644
--- a/decidim-debates/config/locales/ca-IT.yml
+++ b/decidim-debates/config/locales/ca-IT.yml
@@ -208,7 +208,7 @@ ca-IT:
commented_debates:
conditions:
- Tria un debat obert per participar
- description: Aquest distintiu es desbloqueja quan participes activament en els diferents debats deixant els teus comentaris.
+ description: Aquesta ensenya es desbloqueja quan participes activament en els diferents debats deixant els teus comentaris.
description_another: Aquesta participant ha pres part en %{score} debats.
description_own: Has participat en %{score} debats.
name: Debats
diff --git a/decidim-debates/config/locales/ca.yml b/decidim-debates/config/locales/ca.yml
index bcc039a1d8e3a..0c99b5eb18eed 100644
--- a/decidim-debates/config/locales/ca.yml
+++ b/decidim-debates/config/locales/ca.yml
@@ -208,7 +208,7 @@ ca:
commented_debates:
conditions:
- Tria un debat obert per participar
- description: Aquest distintiu es desbloqueja quan participes activament en els diferents debats deixant els teus comentaris.
+ description: Aquesta ensenya es desbloqueja quan participes activament en els diferents debats deixant els teus comentaris.
description_another: Aquesta participant ha pres part en %{score} debats.
description_own: Has participat en %{score} debats.
name: Debats
diff --git a/decidim-debates/config/locales/eu.yml b/decidim-debates/config/locales/eu.yml
index 3dcb618b850db..d0138a7688af1 100644
--- a/decidim-debates/config/locales/eu.yml
+++ b/decidim-debates/config/locales/eu.yml
@@ -115,7 +115,7 @@ eu:
activity: Nire jarduera
all: Guztiak
category: Kategoria
- category_prompt: Aukeratu kategoria bat
+ category_prompt: Kategoria bat aukeratu
commented: Iruzkina eginda
my_debates: Nire eztabaidak
official: Ofiziala
@@ -145,7 +145,7 @@ eu:
close_debate: Itxi eztabaida
debate_closed: Itxita
debate_conclusions_are: 'Eztabaida %{date} espazioan itxi da ondorio hauekin:'
- edit_conclusions: Editatu ondorioak
+ edit_conclusions: Ondorioak editatu
edit_debate: Editatu eztabaida
groups_count: Taldeak
open: Eztabaida irekita
diff --git a/decidim-debates/lib/decidim/debates/version.rb b/decidim-debates/lib/decidim/debates/version.rb
index 0629f91129294..9d955bb6cc100 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.29.4"
+ "0.29.6"
end
end
end
diff --git a/decidim-debates/spec/system/preview_debates_with_share_token_spec.rb b/decidim-debates/spec/system/preview_debates_with_share_token_spec.rb
index a6785e2c6ea28..7e9c1ff8a1d63 100644
--- a/decidim-debates/spec/system/preview_debates_with_share_token_spec.rb
+++ b/decidim-debates/spec/system/preview_debates_with_share_token_spec.rb
@@ -2,9 +2,9 @@
require "spec_helper"
-describe "Preview debates with share token" do
+describe "preview debates with a share token" do
let(:manifest_name) { "debates" }
include_context "with a component"
- it_behaves_like "preview component with share_token"
+ it_behaves_like "preview component with a share_token"
end
diff --git a/decidim-design/app/packs/stylesheets/design.scss b/decidim-design/app/packs/stylesheets/design.scss
index be594e8f01089..9b17596cb6e35 100644
--- a/decidim-design/app/packs/stylesheets/design.scss
+++ b/decidim-design/app/packs/stylesheets/design.scss
@@ -72,7 +72,8 @@
@apply pb-10 border-b border-background;
}
-.design__heading__description {
+.design__heading__description,
+.design__section {
@apply mt-10 text-gray-2 text-md font-normal [&>*+*]:mt-4 [&_a]:underline;
}
diff --git a/decidim-design/app/views/decidim/design/foundations/accessibility.html.erb b/decidim-design/app/views/decidim/design/foundations/accessibility.html.erb
index 027e4ae49fc2e..6e5c2e57dd6fc 100644
--- a/decidim-design/app/views/decidim/design/foundations/accessibility.html.erb
+++ b/decidim-design/app/views/decidim/design/foundations/accessibility.html.erb
@@ -3,7 +3,7 @@
<% end %>
<% content_for :description do %>
-
diff --git a/decidim-design/app/views/layouts/decidim/design/application.html.erb b/decidim-design/app/views/layouts/decidim/design/application.html.erb
index 1a0da4ea62371..03dcff9a66cc2 100644
--- a/decidim-design/app/views/layouts/decidim/design/application.html.erb
+++ b/decidim-design/app/views/layouts/decidim/design/application.html.erb
@@ -1,13 +1,17 @@
<% add_decidim_page_title(strip_tags(yield(:heading).lines.last).strip) if content_for?(:heading) %>
<% add_decidim_page_title("Decidim Design Guide") %>
-
+
<%= decidim_page_title %>
<%= render partial: "layouts/decidim/design/head" %>
+
+ <%= link_to t("skip_button", scope: "decidim.accessibility"), "#content", class: "layout-container__skip" %>
+
+
<%= render layout: "layouts/decidim/design/layout" do %>
<%= yield %>
<% end %>
diff --git a/decidim-design/config/locales/ar.yml b/decidim-design/config/locales/ar.yml
index ac0d6d93d6819..c257bc08a4aef 100644
--- a/decidim-design/config/locales/ar.yml
+++ b/decidim-design/config/locales/ar.yml
@@ -1,7 +1 @@
----
ar:
- decidim:
- design:
- foundations:
- accessibility:
- here_link: هنا
diff --git a/decidim-design/config/locales/bg.yml b/decidim-design/config/locales/bg.yml
index a987ae5701ddd..c01c6b028eb1f 100644
--- a/decidim-design/config/locales/bg.yml
+++ b/decidim-design/config/locales/bg.yml
@@ -87,21 +87,18 @@ bg:
adjacent_links_paragraph: Ако един и същ ресурс има множество съседни линкове, сочещи към него, за такива потребители е трудно да прегледат страницата, тъй като може да се наложи да преминат през множество връзки, за да стигнат до следващия ресурс.
color_contrast: Цветови контраст
color_contrast_paragraph: Когато създавате потребителски интерфейси или променяте цветовете, винаги се уверявайте, че не нарушавате достъпността с вашите промени. Можете да използвате инструмента за проверка на цветовия контраст, за да се уверите, че вашите цветове имат достатъчен контраст спрямо цвета на фона, на който се показват.
- decidim_follows_html: Civil Power следва Указанията за достъпност на уеб съдържанието (WCAG) 2.1
dynamic_changes_header: Динамичната функционалност променя контекста на страницата неинтуитивно
dynamic_changes_paragraph: Промените във формуляра не трябва автоматично да променят контекста на страницата.
elements_hidden: Елементите са скрити
elements_hidden_header: Елементи, скрити от API за достъпност
elements_hidden_paragraph: За да скриете елемент от помощни технологии, използвайте атрибута aria-hidden="true" върху него.
heading_on: Заглавие на важни раздели
- here_link: тук
illogical_heading_order: Нелогичен ред на заглавията
illogical_heading_paragraph: Всяка страница трябва да има логичен ред на заглавията, когато се използват елементите на заглавието
,
,
,
,
и
.
important_sections_heading: Заглавие на важни раздели
important_sections_paragraph: Изключително важно е всеки важен раздел на страницата да има заглавие, за да можете по-лесно да разберете какви важни раздели има на страницата, просто като разглеждате заглавията.
links_and_buttons: Линкове и бутони
links_and_buttons_paragraph: Елементите (anchor) за "закотвяне" (т.е. линкове) са предназначени да свързват към различни страници или да закотвят позиции в страницата. Ако елементът трябва да, например, отворите някакъв скрит елемент на тази страница, вместо това трябва да използвате елемента